agentii.converge
Append-only gap closure — the cadence engine of the research orchestration system (spec 046 Q26).
When to run
- After every
agentii.implementbatch (the system detects its own staleness). - On any cadence cycle (quarterly re-visits, post-earnings, post-constitution-bump).
- Before any IC review (the conflict list must be current).
What it does
- Evaluates current state — artifacts on disk, pins in frontmatter,
wrong_iffalsifiers inthesis.md. It never reads git history and never trusts[x]checkboxes (Q26 A+: the ledger may lie; the correction is deterministic and has a bounded expiry — the next converge). - Appends, never rewrites — the only write is a
## Phase N: Convergencesection at the end oftasks.md, withsrc:refs and content-derived finding IDs. Existing lines, including previous Convergence sections, are untouched. - Clean run = byte-identical — no gaps means no empty section header.
Gap types
| Type | Class | Cap |
|---|---|---|
stale (pins older than current) |
deterministic | uncapped |
invalidated (wrong_if metric+threshold triggered) |
deterministic | uncapped |
missing / partial / contradicts / unrequested |
judgment | Q40 cap (≈50) |
Invocation
python3 scripts/converge.py --thesis theses/001-ai-semiconductors \
--pins '{"assumption_pin": 1, "corpus_version": "2026-08", "as_of": "2026-09-08", "constitution_pin": "0.1.0", "skill_pin": "recent-quarter:abc"}'
Hard rules (Q26)
- Never modify
spec.mdorplan.md. - Never rewrite, renumber, reorder, or delete any existing task.
- Finding IDs are content-derived (
hash(entity+metric+period+gap_type)) — an unchanged re-run appends nothing.