Skip to content

Calibrate INTERIM Perplexity-automation constants after Phase 4 aggregator collects ~20 runs #44

Description

@intellegix

Context

Three INTERIM constants in council-automation were tuned via single-anecdote extrapolation (the 2026-05-27 /extended-research audit verdict: STRUCTURAL-UNRESOLVABLE). They need empirical re-evaluation against real-world data, NOT another guess.

This issue lives outside the codebase so the inline # INTERIM PENDING PHASE 4 CALIBRATION comments don't silently rot if Phase 4 review slips.

INTERIM constants to calibrate

File Constant Current value Original value
council-automation/extended_research_runner.py ARTIFACT_TEXT_TOKEN_CAP 5000 (~20 KB) 8000 (~32 KB)
council-automation/council_browser.py _is_reasoning_trail_only char threshold 2500 1500
council-automation/extended_research_runner.py pre-flight oversize WARN 16 KB 18 KB

Kept-at-200 in this round (Step 8 critique reverted my proposed lowering): synthesis-mount wait_for_function threshold in council_browser.py.

Source-of-truth commits

  • d90e4cf — Phase 1-3 of empirical reassessment (instrument + parser provisions + cap relaxation)
  • 4c9ae9a — Phase 1 of follow-ups (keeper-core trio commit)
  • Phase 2-3 of follow-ups (commit pending) — calibration aggregator + per-query instrumentation

Pre-state recovery anchor: tag pre-perplexity-reassessment-20260529.

Trigger condition

After Phase 1 instrumentation accumulates ≥20 entries in ~/.claude/council-automation/calibration-summary.jsonl from real /extended-research runs, evaluate:

```bash
python ~/.claude/council-automation/calibration_log.py 20
```

Decision matrix

Signal Threshold Action
pct_retry_fired > 25% Investigate parser-vs-Perplexity attribution (Phase 2+3 confound documented)
pct_parse_failed > 10% Likely needs Phase 5 prompt-architecture refactor
mean_raw_response_chars < 1000 Caps may be too tight; consider raising ARTIFACT_TEXT_TOKEN_CAP
pct_partial_prefix_salvage > 5% Truncation issue is real; consider DECOMPOSE 1x → 1.25x (carefully)
chrome_path_used shows >5% local_* or cdp_busy Keeper architecture has a regression to chase

Banned rollback combination

Per Step 8 critique Q1: if Phase 2 wrapper-extraction parser provisions in extract_json are ever reverted, the reasoning-trail threshold MUST also revert to ≤1500 in the same change. The 2500 threshold widens the zone Phase 2 covers; without Phase 2, 2500 leaks valid wrapper-format responses past the heuristic.

Phase 5 (prompt-architecture refactor) trigger

If after 20+ runs, INCOMPLETE_RESPONSE rate > 15% on small artifacts (< 10 KB) where caps cannot be the cause → trigger Phase 5 plan synthesis.

Definition of done

  • Run python calibration_log.py 20 and paste the output here.
  • Apply the decision-matrix recommendation OR document why no change is warranted.
  • Update the INTERIM comments at the constant sites (either remove "INTERIM" qualifier if values confirmed, or update with the new tuned value + revision date).
  • Close this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions