arborist/docs/TICKETS.md

23 KiB
Raw Blame History

Arborist tickets — index

Arborist uses a flat ticket-NNNNNN-<slug>.md convention for actionable proposals: defects with a known root cause, design proposals awaiting go/no-go, or scoped enhancements queued for future implementation.

Convention

  • Filename: docs/tickets/ticket-NNNNNN-<slug>.md. The ID is a six-digit zero-padded integer; the slug is hyphen-lowercase and short enough to stay readable on a 100-column terminal.
  • Numbering: monotonic, never reused. Pick the next free integer greater than every existing ticket. The current next ID is on the Next ID line below; bump it when you open a ticket and commit the bump in the same commit as the new ticket file.
  • Header: every ticket starts with
    # Ticket #NNNNNN — <short title>
    
    **Status:** open · awaiting go/no-go      (or "in progress", "closed")
    **Opened:** YYYY-MM-DD
    **Scope:** <one-liner — what this ticket is for>
    **Audience:** <who reads this>
    **Hard constraint:** <invariants this ticket commits to NOT break>
    
  • Body: problem statement, design choices with trade-offs, recommendation, implementation sketch, scope boundaries, status. See ticket-000001-retrieval-keywords-audit-gap.md for a worked template.
  • Closure: when a ticket lands, flip Status to closed · landed in commit <sha> and leave the file in place. Do not delete tickets; they are the design log.

Distinction from other docs

docs/ also contains architecture references and bench journey notes that are NOT tickets — they describe state of the world rather than proposing change. Examples that stay un-numbered:

  • seven-point-program.md (north-star architectural directive distilled 2026-05-01; every new ticket / feature / prompt edit walks past this; bench harness reports per-mode directive coverage)
  • cti-architecture.md (architecture reference for the Clause Tree Intelligence claim-lattice-pointer mode)
  • mesh.md (mesh wire format + group-key state machine)
  • benchmarks.md (bench harness orientation — fixtures, signal floor, make targets, bench-row schema, addenda index; read first when running a bench)
  • bench-maxing.md (bench discipline — 5pp signal floor, n=3 default, avoid negation in prompts, honest verdicts over optimistic ones)
  • qa-modes-bench.md (rolling bench-journal addenda with cross-references to per-ticket bench data)
  • soft-hash-channel-analysis.md (analysis doc closing #000018 open questions §9.1 / §9.2 / §9.3; companion to soft-hash-channel-t3-bound.md)
  • soft-hash-channel-t3-bound.md (#000036 formal derivation of the per-window covert-channel budget; companion to the analysis doc, both feed the t3_bound_calculator)
  • tool-action-dag-design.md (research path for an action- provenance layer downstream of final_label. Captured pre-ticket per the 2026-05-07 arborist-vs-donto comparison; promotes to a ticket when an actual agent use case surfaces)
  • warrant-substrate-cookbook.md (architecture reference for the 18 open-licensed textbook substrates backing every claim-pack record, written 2026-05-10 after the 18/92 → 92/92 push under #000031. Per-pillar substrate map, ingest patterns, alias discipline, cascade tuning, honest tier breakdown.)
  • calculator-test-patterns.md (architecture reference for testing calculator / probe-style code. Twelve patterns split into two tiers: the original 9-item core (KAT regression, hand-computed formula assertions, monotonicity, closure / sum-of-parts invariants, parametrized invalid-input cones, CLI subprocess, doc parity, module-export shape) plus three domain-specific contract pins (projective-contract for one-way canonicalizers, dispatch-order pin for Python type-hierarchy gotchas, tie-breaking-rule pin for banker's rounding). Codified 2026-05-10 from the original three-module pattern bench across t3_bound_calculator / phi_alignment_probe / anchor_prg; extended same day with the four π* kernel exemplars (pi_star_arithmetic / _logic / _code / _time_series). Explicit "doesn't apply to verifier-style code" caveat.)
  • lexical-first-rationale.md (positioning/architecture reference for why lexical-first FTS5 + content-addressed Merkle proofs is arborist's default retrieval and dense-vector semantic search is an opt-in additive layer: arborist's per-document ingest is ~10-100× cheaper than building a vector representation — same SQLite substrate, different philosophy — which is the difference between "ingest + search runs on a phone" and an NPU hand-warmer. Generalizes the "soft hash vs hard hash" discipline; the numbers come from #000039 §14.6. Written 2026-05-12.)

If a doc proposes change AND awaits a decision AND has scoped implementation cost, it's a ticket. Otherwise it's reference.

Index

Newest first. Update on every open/close.

ID Title Status Opened Directive
#000051 Federated vecpack distribution (gossip the embedding backfill) open · awaiting go/no-go · doc-only scaffold. Makes chunk_vecs a distributable artifact: backfill once on any CPU box (cloud / Prometheus-Σ sweep — #000037 §3.1), publish a vecpack (shard_root, vec_backend_version, [(leaf_hash, embedding_blob)…]) over the mesh wire layer, every peer pulls + bulk-loads (sub-ms/chunk on the receiver — the laptop never runs the transformer). Keyed on leaf_hash (portable) not chunk_id (shard-local). Vecpacks are soft data — embeddings are UNGROUNDED, never proof path — so a cheap structural sanity gate (chunk exists locally w/ matching leaf_hash, right blob length for (dim,quant), finite norm, backend_version matches) suffices, no Merkle-proof-grade verification needed. Supplies #000050's prereq #1 ("a vecpack exists & is imported on the bench box", not "fox embedded the corpus locally"). GPU producer (the fast path): bge-small-en-v1.5 batched on a CUDA box (4090) ≈ 10³10⁴ chunks/s → full 6.24M-chunk corpus in minutes, not days — drop a CUDA Embedder into default_embedder(); CUDA stack lives only on the producer box, never in arborist's python+sqlite3 core. The mechanism behind whitepaper §1's "the embedding pass runs off the device". #000039 / #000050 sibling 2026-05-12
#000050 Vec RRF hybrid fusion (#000039 Phase 2) open · awaiting go/no-go · doc-only scaffold; design in #000039 §4.2 (RRF) + §8 (the gate). Wire VecBackend as a 5th retrieval route in query.py, RRF-merged (route provenance carried) with the 4 FTS5 routes; UNGROUNDED hits, additive not replacement. Phase-2 sub-items now explicit: accept-path-5 in _filter_by_title_relevance (low-title-overlap vec hits survive only via a stronger span-level warrant, never similarity-score alone — else the title gate drops exactly the semantic candidates vec exists for & the bench shows no lift); six vec config fields fold into governance_policy_hash (recipe-named quant int8sym) + a cache-write guard blocking providence_cache persistence for vec/hybrid runs until that's wired; run-DAG records the vec stage (backend version, six fields, top_k, query-embedding hash, candidate chunk_ids+distances). Gated on (a) a corpus backfill distributed via #000051 AND (b) a four-condition recall bench (A FTS5-only / B vec-only / C RRF hybrid / D candidate-union-no-RRF) clearing the 5pp floor incl. C-beats-D, on semantic-allusion + curated + adversarial-semantic-neighbor fixtures (else park, vec stays opt-in --backend vec; if C≈D ship the union, drop RRF). #000039 follow-up 2026-05-12
#000049 Attribution-aware grounding check (the recombination boundary) open · boundary accepted · production no-go · shadow-path approved (de novo review 2026-05-13 — ticket §7) · doc-only; the home for #000048's deferred §2.3 — closing the 2 recombination over-grounds in falsification-hard (hard-003 Mercury / hard-005 Einstein) needs an attribution / dependency-parse or mini-NLI check, which is not lexical (#000048 §5). Discipline question answered: a small fixed purpose-built NLI/entailment model may influence audit_mode only as an opt-in, hash-pinned, governance-hashed, demotion-only contradiction veto after shadow-mode evidence (never promotes — MODEL_ASSISTED_DEMOTION, never MODEL_ASSISTED_PROMOTION). Production verifier unchanged; falsification-hard stays 10/12 as an honest boundary marker. Roadmap: Phase 0 (this amendment) → Phase 1 (shadow design: NLI manifest, fetch/verify, nli_pair@v1 canonicalization, recombination-risk trigger) → Phase 2 (bench-only shadow impl, [nli] extra, make fetch-nli) → Phase 3 (demotion-only runtime, gated) → Phase 4 (mesh blob sync); §7 #12 six-condition bench gate required before Phases 24; if NLI ever affects audit_mode, nli_policy_hash folds into governance_policy_hash. #000048 follow-up 2026-05-12
#000048 Verifier upgrade — recombination-aware grounding + clause segmentation closed · 2026-05-12 — steps 2.1 + 2.4 landed 2026-05-11 (12 of 16 residual items: 4 HYBRID_ENTITY over-grounds + 8 Formulate mis-segments → formulate-hard 12/12, falsification-hard 10/12; each bench-gated, no STRICT-rate regression — 2.1's gate fired on 0 QA answers, 2.4's segmenter touched 7 of 450 lattice cells both verdict changes correct). Step 2.2 (single-clause-containment paraphrase check) attempted + reverted — catches the 2 recombination fixtures but also rejects legit cross-sentence summaries with no threshold separating the two; recombination-vs-summary isn't lexical (§5 "What we learned"). The attribution-aware path moved to #000049 (fox 2026-05-12). 2 live-pack expected_reason updated HYBRID_ENTITY→UNGROUNDED; 12+ tests; make bench-5f-falsification-hard / bench-5f-formulate-hard / bench-fork-baseline-hard. #000046 follow-up; #000047 closed 2026-05-11
#000047 ForkScore _delta_* aggregator (mean vs max vs sum) closed · 2026-05-11 — Option D: WeightSet.delta_aggregator ∈ {mean,max,sum} (default mean unchanged → no ESTIMATOR_VERSION bump), fork_score._delta_5{s,t,f} dispatch via _aggregate, recorded in ScoredFork.weights, per-sub HARD_REGRESSION_FLOOR flags aggregator-independent; bench data behind keeping mean in 5f-threshold-calibration-2026-05-11.md §5; 8+1 tests. #000012-revision / #000025 §10.14 follow-up 2026-05-11
#000046 Harder 5S/5T/5F fixture tier (below-ceiling baselines) closed · 2026-05-11 — Phase 1 falsification-hard-v1.jsonl (12 near-misses) + Phase 2 formulate-hard-v1.jsonl (12 mis-segments, rate 4/12) + Phase 3 verify_quotes paraphrase numeric-agreement gate (_numeric_signature; demotes a token-covering span asserting a digit-number the source lacks modulo thousands-comma) → falsification-hard rate 4/12 → 6/12 on a real change; bench-gated (make bench-qa n=3×75×3 before/after — no STRICT-rate regression on legit answers; only gate-caused QA shift was correctly demoting a fictional-year claim STRICT→HYBRID); fork_score γ·Δ5f went positive on it. Headroom now down to 2 falsification-hard over-grounds (#000048 step 2.1 closed the 4 entity over-grounds; step 2.4 closed the 8 Formulate mis-segments → that pack 12/12; step 2.2 attempted + reverted — the last 2 recombination fixtures need an attribution-aware verifier, now tracked as #000049, and stand as documented residue). make bench-5f-falsification-hard / bench-5f-formulate-hard / bench-fork-baseline-hard; 7+ tests. #000025 §10.14 follow-up; #000047 closed; #000048 closed 2026-05-11
#000045 Prometheus-Σ Phase 3 sleep-sweep scheduler (gating ticket) open · doc-only scaffold 2026-05-10; pins 8 governance parameters + 4 retrigger gates; opens implementation only after one retrigger fires 2026-05-10
#000044 AUTOCOUNT doc-drift discipline closed · landed across fc5ba50 / 03c0f6a / 6c6defb / f5dbfab / 3b30126 2026-05-10 (mechanism + 4 metrics + 54 tags across 7 doc files; harness catches drift at test time, refresh is 60-second turnaround) 2026-05-10
#000043 Empirical tightening of T3 bound constants (#000036 Phase 2) open · awaiting go/no-go (parks until v7 deployment surfaces measurement data) 2026-05-10
#000042 Term-aliases table (vocabulary-mismatch bridge) closed · 13 rows live across geometry + classical-physics + arithmetic domains by 2026-05-10 2026-05-09
#000041 Citation-aliases table (PD substitutes for proprietary cites) closed · 74 rows live as of 2026-05-10 (count grew 40 → 54 → 74; Goldstein/Newton, Mendelson/Enderton/Jech/Landau/Gödel→{Russell IMP, Russell PoM, De Morgan, Boole, Cantor, Peano, Dedekind, SF-LF}, Stanley/Brualdi/Knuth → Bogart+Levin+Keller-Trotter, Dummit-Foote/Barendregt/Böhm-Jacopini → Judson/PLFA/SF, Kolmogorov → Grinstead-Snell+Laplace) 2026-05-09
#000040 Phase 5 resolver fix — phrase + content-token cascade (Hilbert terminology mismatch surfaced) closed · cascade landed 2026-05-09; lift blocked by 1902-vs-modern vocab; follow-up #000042 2026-05-09
#000039 Optional sqlite-vec retrieval backend (A/B vs FTS5, hybrid not replacement) closed · 2026-05-12 — Phase 0 (doc) + Phase 1 landed 2026-05-11: arborist/search/vec.py (VecBackend, chunk_vecs vec0 + vec_meta sibling tables, embed_documents incremental/--rebuild, pluggable Embedder w/ fastembed bge-small-en-v1.5 default), CLI arborist embed [--limit/--batch-size/--quant/--rebuild] + search --backend vec + ingest --embed (eager opt-in), [vec] extra; --quant {float32,int8} with int8 head-to-head (3.8-4× smaller, recall ≈ float32 — int8 is the production config); 16 vec tests; ingest integration + idempotency (§14); embed-throughput measured (§14.6 — ~4/s contended, ~2.4 GB int8 full-corpus, full backfill abandoned as a days-long batch job, non-vec ingest unchanged). UNGROUNDED hits, never proof path; vec config folds into governance_policy_hash (noted, wired in Phase 2). Phase 2 (RRF hybrid fusion in query.py) → #000050 (gated on a corpus backfill + a ≥5pp recall bench). 2026-05-09
#000038 Phase 4 content acquisition — proprietary textbook license decisions for warrant coverage closed · obviated 2026-05-10 by alias-substitution sprint under #000031 (74 rows in #000041 + 13 rows in #000042); 92/92 records now resolve. Residue (multilingual PD, Hilbert-Ackermann OCR, Knuth permission, personal-copy path B) preserved as design log §8 2026-05-09
#000037 Prometheus-Σ recursive falsification controller (bicameral substrate) in progress · Phases 0 + 1 + 1.b + 1.c + 2 landed 2026-05-10; §12 Trigger 2 fired (divergence variance 0.575 / N=37); §22 Findings 2 + 3 RESOLVED (kernel/llm cost split + sweep_weights §15.4 + per-mode τ_qa); controller_events carries 4 event kinds (decision · difficulty · budget_allocation · falsification_proposal) feeding arborist controller-events inspector + live-harvest third bucket in bench/scripts/harvest_falsification_proposals.py; §12 Trigger 1 probe wired 2026-05-11 (trigger_1_branch_density reads fork_score_branches — measurable, not yet fired); Phase 3 sleep-sweep scheduler tracked under #000045 (gating ticket) 2026-05-09
#000036 T3 per-window covert-channel budget bound closed · 2026-05-11 · Phase 1 + dav1d review → Tier-1 + Tier-2 (Option B = b1_model=max_envelope default, in v1, no v2 fork) + KAT-regen tooling (scripts/generate_t3_bound_kat.py) all landed 2026-05-11; baseline 625.87 → 6183.02 (max_envelope), NOT_CERTIFIED_BY_BOUND at W=10000; 53 → 83 tests; 12-entry active KAT; both dav1d closure blockers cleared, all §5 acceptance criteria met. Continuation: empirical C_B* tightening under #000043 (parks on v7) 2026-05-09
#000035 PRG choice for φ_PRG (HMAC-SHA-512 expansion) closed · 2026-05-11 — Phase 1 (arborist/substrate/anchor_prg.py HMAC-SHA-512 counter-mode KDF, pure stdlib, PHI_PRG_VERSION = phi-prg-v1-hmac-sha512-le, dim_h ≤ 16·2^32 guard + bool-reject; 31 tests; 10 KATs) + Phase 2 (§ 9.10 + § 9.10.1 folded into the in-repo v7 substrate spec docs/_source/merkle-agi-dag-v7.rst — the v7 formal substrate was brought into the repo for this; supersedes the prior "edit upstream ~/Downloads/merkle-agi-dag_v7.txt" plan, and is now version-controlled with docs/_source/index.rst toctree entry). dav1d-reviewed-final 2026-05-11: little-endian per v7 §A1 (counter + uint32-word reads flipped, KATs regenerated), manifest field anchor_prg_seed, float-map prose "negligible mean 2^32" not "unbiased", seed-independence/single-purpose, M1-enablement-policy separation; HMAC-SHA-512 / 32-byte seed / SHALL-replace all LOCKED. #000018 §9.2 ("which PRG?") resolved → HMAC-SHA-512 + 32-byte committed seed. (Full upstream v7 spec revision stays exogenous; this lands the amendment into the tracked in-repo copy.) 2026-05-09
#000034 Hessian alignment under φ_linear in progress · Phase 1a landed 2026-05-10 (synthetic-ablation probe + KAT fixture); Phase 1b parks for v7 ramp-up 2026-05-09
#000033 Claim-pack pillar VII (combinatorics) closed · landed 2026-05-09 (live in shard 000.db; lift verified) 2026-05-09
#000032 combinatorics@v1 π* (integer counting kernel) closed · landed 2026-05-09 2026-05-09
#000031 Surface-ingest cited textbooks for claim-pack warrant promotion closed · Phase 1 + 2 + 2.5 (92/92) + 3 (verifier wiring) + B-1 (via_citation_alias attribution: 18 direct + 74 +alias) + B-2 (source-side title-from-author backfill) all landed 2026-05-09 / 2026-05-10 2026-05-09
#000030 Math π* expansion: SymPy substrate (algebra · calculus · linalg) closed · all 7 phases + 1b landed 2026-05-09 (abe5988) 2026-05-09
#000029 Claim-pack source (axiom/theorem JSON bundles) closed · landed 2026-05-09 2026-05-09
#000028 Multi-modality witness for canonical shapes closed · landed 2026-05-09 + follow-ups (capital ledger · sample rate) 2026-05-08
#000027 Canonical projections persist to providence_cache closed · landed 2026-05-09 2026-05-08
#000026 Real-shard workload baseline + search latency closed · Phase 1 + 2 + 3 landed 2026-05-09 (Phase 3 in 60b5748) 2026-05-08
#000025 5F battery (Function · Finetuning · Falsification · Formulate · Feedback Loop) closed · 2026-05-11 — Phase 1a1f landed 2026-05-09/10; Phase 1g (§10.13 feedback latency + persisted-footprint efficiency), 1h (§10.14 ForkScore threshold-calibration handoff → #000012 §8), 1i (§10.11 persistent SelfModel-chain lineage: bench-5f-selfmodel-snapshot grows the chain, run_finetuning shard-chain mode reads the 2 latest snapshots) all landed 2026-05-11. Every §10 closure criterion met 2026-05-07
#000024 5T Phase 1b + Dav1DPrometheus vocabulary alignment closed · landed 2026-05-08 2026-05-07
#000023 5S Phase 1b: Syllogism · Synthesis · Semiotics closed · landed 2026-05-08 2026-05-07
#000022 Adapter LossReport (PRD I9 analogue) closed · landed 2026-05-07 2026-05-07
#000021 5S/5T/5R benchmark fixtures + harness closed · Phase 1a + 2 landed 2026-05-08 2026-05-07
#000020 Capital-cost ledger (8-capital queues) closed · landed 2026-05-07 2026-05-07
#000019 Specification methodology for π* and V closed · landed 2026-05-07 2026-05-07
#000018 Adversarial soft-hash covert-channel analysis closed · landed 2026-05-09 (analysis doc) 2026-05-07
#000017 Memory-root: lifelong learning audit chain closed · landed 2026-05-07 2026-05-07
#000016 ZK Phase-2 frontier proof (concretize) parked · bench-plan + wire-protocol landed 2026-05-09 (sibling-repo measurement pending) 2026-05-07
#000015 π* domain library + cross-domain composition closed · landed 2026-05-07 2026-05-07
#000014 SelfModel: schema, falsification, integration closed · landed 2026-05-07 2026-05-07
#000013 Spatial-temporal substrate (Merkle-AGI v7-W) closed · landed 2026-05-09 (substrate paper + frontier catalog + namespace stub) 2026-05-07
#000012 Selection & consensus protocol (Merkle-AGI v8) in progress · Phase 1a (ForkScore) landed 2026-05-08; Phase 1b (consensus paper, docs/_source/merkle-agi-v8-consensus.rst 834 lines) landed 2026-05-10; Phase 1c (branch-set persistence — fork_score_branches sibling table, persist_branch_score + branch_set_density, 6 new CLI flags on arborist substrate score, default-off) landed 2026-05-10 — feeds #000037 §12 Trigger 1; Trigger 1 probe wired 2026-05-11 (trigger_1_branch_density reads fork_score_branches via branch_set_density() — measurable, not yet fired: no branch sets persisted) 2026-05-07
#000011 SOFT_PREFLIGHT_HINT model-assisted sidecar closed · landed 2026-05-04 (zero-shot full impl) 2026-05-04 D1 (preserves)
#000010 Meta-Cognition Preflight Guard (M0 / MCTL) closed · landed 2026-05-03 (Phases 14); DAG binding shipped via #000009 2026-05-03 D1, D3
#000009 Preflight run-DAG node binding (#000008+#000010) closed · re-landed 2026-05-04 (§8 corrections: reject-path DAG, nested CTI clauses) 2026-05-03 D3, D4
#000008 Broad-quantifier preflight guard closed · landed in 4f2b5a6; Phase 5 DAG binding split into #000009 2026-05-02
#000007 Query-layer hyphen folding closed · 2026-05-02 2026-05-02
#000006 Bench-emergent findings (rolling research log) open · rolling research log (verifier-ladder healthy at 134 cycles; emergent gems still being mined) 2026-05-02
#000005 Label ladder migration (POINTER-LINKED → …) closed · 2026-05-02 2026-05-01 D7
#000004 Directive coverage in bench summary closed · acd1f9c 2026-05-01 D8
#000003 Anchor-class warrant generalization (Module H+) closed · 2026-05-02 2026-05-01 D6
#000002 Reference-Frame Polarity Contract (Module L) closed · 2026-05-02 2026-05-01 D3
#000001 Retrieval-keywords audit gap closed · 2026-05-02 2026-05-01 D4

Next ID

000052