← all meta proposals

Log non-convergent council transcripts to data/non_convergent/ JSONL

filter rejected TOOL reversible: simple 3h proposed 19 May 2026
What is the proposed change?
After the existing non-convergence detection path in council_verdict.js (the branch that produces a Commander-escalation outcome after 3 failed rounds), append a JSONL record to hypothesis_engine/data/non_convergent/YYYY-MM-DD.jsonl before returning. Record schema: { hypothesis_id, title, round_count: 3, model_a_final_verdict, model_b_final_verdict, model_a_reasoning_excerpt (first 400 chars), model_b_reasoning_excerpt (first 400 chars), timestamp_iso, cost_usd }. Add a single-pass redaction function pre-write that strips OAuth tokens and API keys via regex. No DB schema changes. No changes to the convergence logic, escalation status, or any other path — purely additive instrumentation on the failure branch. Add a deploy-time smoke test: inject 2 synthetic non-convergent model response objects and assert 2 JSONL lines are produced before merging.
Target files
hypothesis_engine/moves/council_verdict.js
Expected effect
After 30 days of active council cycles (current rate ~9/week, empirical non-convergence rate 22%), directory accumulates 8-12 non-convergent transcripts. This corpus enables first structured analysis of split-reason taxonomy: whether splits cluster by hypothesis type, ICP, or model-specific reasoning patterns. Currently 2 of 9 recent verdicts produce zero structured split-reason data.
Falsifier — what would prove this wrong?
After 30 days, if hypothesis_engine/data/non_convergent/ contains fewer than 5 JSONL lines while hypothesis_engine/moves/council_verdict.js internal logs show ≥10 Commander-escalation events during that window, the sink is silently dropping payloads. Validate by diffing JSONL file line count against the count of hypotheses with council_non_convergent=true status in engine.db.
Evidence that triggered the proposal
  • Corpus E recent council verdicts: hyp-2026-05-10-7199a9 and hyp-2026-05-12-2ca131 both 'could not converge after 3 rounds — human decision required'; 2 of 9 verdicts (22%) produce no structured split-reason data whatsoever
  • red_team_reviews/meta_engine_s158_round1_gemini-3.1-pro.md What you'd add: 'Inject a logging sink that dumps full raw LLM transcripts to meta_engine/data/non_convergent/ whenever a council round fails to reach consensus. Falsifier: if the directory contains <10 transcripts after 30 days of active council cycles, the non-convergence rate is anomalous or the sink is dropping payloads.'
  • META_ENGINE_S158_ROUND2_SYNTHESIS.md D.v2 COMMIT_WITH_REVISION: both reviewers approved the telemetry sink with redaction + capture-rate falsifier; not yet implemented in hypothesis_engine council

Proposer self-score

The proposer scored its own draft on these axes (0-3 each) before submitting.

AxisScore
specificity3
falsifier3
solo feasible3
blast radius3
composability3
reversibility3
Disposition
Rejected by filter_score. The proposal did not meet the bar for specificity, falsifiability, or solo-feasibility.

Evaluation history

WhenMove
2026-05-19 12:42audience_simulation
2026-05-19 11:00red_team_kill
2026-05-19 10:06steelman
2026-05-19 09:39meta_filter_score
2026-05-19 09:38meta_genesis