OptionalEnableEnable vectorization for this source. Default true
OptionalMaxMaximum cumulative cost (USD) the run may incur before pausing. NULL/unset = unlimited.
OptionalMaxMaximum number of content items the autotagger may PROCESS (hand to the LLM) per run before the run is paused via the existing CancellationRequested machinery. Does not include items skipped by change-detection — those are free. NULL/unset = unlimited.
Most intuitive "do at most N this run, do the rest next time" knob. When checking budgets after a batch, this is evaluated FIRST (before tag / token / cost caps) because it is the most user-facing and not tied to a specific model's pricing or tokenization.
Pause is graceful — the next invocation re-crawls, change-detection skips the items already tagged in DB, and the remaining items get processed.
OptionalMaxMaximum number of new tags the autotagger may auto-create for a single ContentItem.
Once reached, further free-text tags from that item are routed to MJ:Tag Suggestions
with Reason='MaxItemTagsExceeded' instead of being created. NULL/unset = unlimited.
OptionalMaxMaximum number of new tags the autotagger may auto-create across an entire run before
the run is paused via the existing CancellationRequested machinery. NULL/unset = unlimited.
Pause is graceful — the run resumes from LastProcessedOffset when restarted.
OptionalMaxMaximum cumulative LLM tokens (prompt + completion) the run may consume before pausing.
Reads from ContentProcessRunDetail.TotalTokensUsed rollup. NULL/unset = unlimited.
OptionalShareWhether to share existing tag taxonomy with the LLM during autotagging. Default true
OptionalSourceSource-type-specific configuration values. The keys here correspond to the RequiredFields[].Key values defined on the parent ContentSourceType's Configuration.
Examples:
OptionalSuggestLower confidence band (0.0-1.0) that routes a semantic match into the human-in-the-loop
MJ:Tag Suggestions queue instead of auto-applying or auto-creating. A score s is
routed as: s >= TagMatchThreshold → apply; SuggestThreshold <= s < TagMatchThreshold
→ enqueue suggestion (Reason='BelowThreshold'); s < SuggestThreshold → fall through to
handleNoMatch (governed by TagTaxonomyMode). When unset, defaults to
TagMatchThreshold - 0.05 at runtime.
OptionalTagSimilarity threshold (0.0-1.0) for matching ContentItemTags to formal Tags. Default 0.9
OptionalTagRoot Tag ID for constrained/auto-grow modes — limits taxonomy operations to this subtree
OptionalTagTag taxonomy matching mode: constrained (only match within subtree), auto-grow (match or create within subtree), free-flow (match or create anywhere)
OptionalWebsiteWebsite-crawler settings — only meaningful for content sources whose ContentSourceType is "Website". Replaces the legacy per-key ContentSourceParam rows; AutotagWebsite reads from this sub-object first and falls back to ContentSourceParam rows for sources configured before this field existed.
In the future, source-type-specific knobs like these may move to a pluggable per-source-type sub-interface scheme (one named property per source type). This is the first opt-in implementation; other source types will follow the same pattern as their knobs grow.
Per-source configuration for the Content Classification pipeline.
Settings here control how a single content source interacts with the tag taxonomy, the vectorization engine, and source-type-specific parameters. Every property is optional and falls back to a sensible default, so an empty
{}configuration is valid.The SourceSpecificConfiguration sub-object holds type-specific settings whose shape depends on the content source type (Entity, RSS, Website, Cloud Storage, etc.). The keys match the RequiredFields defined on the parent ContentSourceType's Configuration.