Commit graph

2 commits

Author SHA1 Message Date
Shay
54e6bfc0d0
docs: reorganize docs landscape
Implements the 4-phase documentation reorganization master plan.

- Consolidation: Merged brief/, handoff/, planning/, and decisions/ into briefs/, handoffs/, plans/, and adr/ respectively (101 ADRs relocated)
- Root Cleanup: Relocated HANDOFF-gpt55-*.md and key top-level docs (runtime_contracts.md, etc.) to canonical folders. Added superseded alerts.
- Indices & Navigation: Created docs/README.md navigation document, docs/sessions/README.md index, docs/adr/README.md index
- Note: Also includes prior commit adding ADR-0200+ corpus hygiene governance (ADR-0225, dependency map, backfilled cross-references)
2026-06-30 16:59:36 -07:00
Shay
801287bba6 feat(ADR-0131.G.0): switch GSM8K coverage probe to candidate-graph pipeline
Zero behavior delta on the main baseline (both substrates produce
0/50 admission today) — but every subsequent ADR-0131.G.<n> iteration
now produces attributable admission deltas on the probe, instead of
silently extending a parser layer the probe wasn't measuring.

Background: ADR-0131.G's probe consulted run_lane → _score_one →
parse_problem (legacy first-match-wins parser, pre-ADR-0126). Every
G.<n> iteration extends the candidate-graph parser via
_score_one_candidate_graph → parse_and_solve. The mismatch was
discovered during G.3 development and explicitly reserved as this
follow-up.

Changes:
  - run_coverage_probe.py: switch import to _score_one_candidate_graph;
    new private _score_lane aggregator mirrors run_lane's output shape
    via per-case scoring; report root adds "substrate": "candidate_graph"
    for audit trail.
  - train_sample_coverage_report.json: regenerated. All metrics
    byte-identical to prior baseline (0/50 admission, wrong=0).
    refused_reasons_top text differs (candidate_graph: prefix instead
    of parser:) — expected and part of the substrate audit-trail shift.

Discipline: separate small PR per ADR-0131.G's "expansion that only
moves admission must be a standalone PR" principle. Substrate swap
attributable; future G.<n> deltas attributable.

Evidence:
  - python3 -m evals.gsm8k_math.train_sample.v1.run_coverage_probe
    → admission 0/50, wrong=0, safety_rail_intact=True, exit 0
  - pytest tests/test_adr_0131_G_gsm8k_coverage_probe.py
    → 8/8 pass in 0.18s (no test edits needed; tests pin invariants
    not numbers)
  - No changes to runner.py, no changes to any G.<n> work in flight.

Effect on in-flight iterations: each G.<n> PR (G.1 Gemini / G.2 #182 /
G.3 #183 / G.4 Opus#2) rebases after this lands and refreshes its
committed train_sample_coverage_report.json with the new substrate's
numbers. Rebase is mechanical.
2026-05-23 14:43:05 -07:00