forensics analyze
Run analysis pipeline (change-point, drift, convergence, comparison).
forensics analyze [OPTIONS] COMMAND [ARGS]...Options
Section titled “Options”| Option | Description |
|---|---|
--changepoint | Run change-point detection (PELT/BOCPD) |
--timeseries | Run rolling statistics + STL decomposition |
--drift | Run embedding drift analysis (Phase 6) |
--convergence | Cross-validate pipelines and run hypothesis tests (Phase 7) |
--compare | Control author comparison only (Phase 7) |
--ai-baseline | Generate or refresh synthetic AI baseline articles |
--skip-generation | With —ai-baseline: re-embed existing JSON articles only |
--verify-corpus / --no-verify-corpus | Verify corpus fingerprint against data/analysis/corpus_custody.json. When omitted, use [chain_of_custody] verify_corpus_hash from config.toml. |
--verify-raw-archives / --no-verify-raw-archives | After scrape: verify raw yearly archives exist and are non-empty. When omitted, use [chain_of_custody] verify_raw_archives from config.toml. |
--log-all-generations / --no-log-all-generations | With —ai-baseline: log every synthetic generation to disk. When omitted, use [chain_of_custody] log_all_generations from config.toml. |
--baseline-model MODEL | With —ai-baseline: restrict to one configured Ollama model |
--articles-per-cell N | With —ai-baseline: override articles_per_cell (default from config) |
--author SLUG | Limit to one author slug |
--exploratory | Allow analysis without a matching pre-registration lock and record exploratory mode. |
--include-advertorial | Re-include advertorial / syndicated sections (sponsored, partner-content, crosspost) in feature extraction and survey qualification for this run; default OFF (Phase 15 J2). |
--residualize-sections | Toggle J5 section-residualized changepoints for this run (flips analysis.section_residualize_features). Default OFF matches the persisted config (Phase 15 J7). |
--include-shared-bylines | Re-enable analysis of shared-byline accounts (e.g. mediaite-staff, mediaite). Default OFF — matches the Phase 15 D survey gate, which disqualifies group bylines because single-author stylometry on aggregate accounts is meaningless. Mirrors forensics survey --include-shared-bylines. |
--max-workers N | Override analysis.max_workers for this run only. N=1 forces the legacy serial dispatch; N>1 fans the per-author loop out across a ProcessPoolExecutor (Phase 15 G1). |
--parallel-authors | Refresh configured author analysis artifacts via isolated per-author directories, then promote validated outputs and rebuild shared artifacts once. |
--compare-pair TARGET,CONTROL | Run a one-off target↔control comparison for the named slugs, bypassing the configured author roles. Example: ‘—compare-pair isaac-schorr,john-doe’. |
--allow-pre-phase16-embeddings | With —exploratory: load embedding batches whose manifest model_revision does not match analysis.embedding_model_revision, logging a WARNING instead of failing. Default OFF — confirmatory runs always require a matching revision. |
--help | Show this message and exit. |
Subcommands
Section titled “Subcommands”| Command | Description |
|---|---|
compare-only | Re-run target/control comparisons only (--compare without other stages). |
run | Explicit entrypoint (same flags as forensics analyze with no subcommand). |
section-contrast | Phase 15 J6: per-author section-contrast tests (Welch + MW + per-family BH). |
section-profile | Phase 15 J3: newsroom-wide section descriptive report and J5 gate verdict. |
Built by Abstract Data