Commit graph

3 commits

Author SHA1 Message Date
Shay
b6d422834b
reconcile: restore eval proxy and remove unauthorized teaching proposal from #846 (#847)
- Restore evals/gsm8k_math/train_sample/v1/report.json to pre-#846 pin (6/44/0)
  The 30/20/0 committed in #846 was generated eval output, not a ratified rebaseline.
  Historical pin is required until a dedicated rebaseline PR is explicitly authorized.

- Delete teaching/proposals/comprehension_failures/34ce9254...json
  Newly added in #846 without authorization. File did not exist in first parent.
  HANDOFF claimed teaching paths were untouched — contradicted by the actual diff.
  Proposal must go through the reviewed teaching lifecycle, not committed PRs.

- Add docs/sessions/pr846-reconciliation-audit-2026-06-20.md
  Full audit note: what #846 was expected vs. what merged, authorization analysis,
  restoration rationale, what was preserved, remaining risk, next correct step.

Tests kept from #846:
- tests/test_problem_frame_builder.py (lint fix: _frame_names -> direct accessor)
- tests/test_problem_frame_skeleton.py (unused ProblemFrame import removed)
Both are valid narrow fixes unrelated to the unauthorized artifacts.

Forbidden paths not touched: algebra, field, vault, recall, identity, policy,
packs, generate/derivation, generate/math_candidate_graph.py, runtime/serving.
2026-06-20 19:40:12 -07:00
Shay
a145b7c3d6
feat(kernel): implement ProblemFrame proportional-change closure (#846)
* chore(kernel): update adequacy report, fix lint warnings, and record failure proposal

* chore(ci): refresh PR checks

* chore(ci): remove PR check refresh marker
2026-06-20 19:19:07 -07:00
Shay
5903cba08a feat(teaching): proposal-only failure-artifact emitter (N5)
core/comprehension_attempt/proposal.py: emit_proposal writes a content-addressed teaching/proposals/comprehension_failures/<hash>.json ONLY for growth-surface families (proposal_allowed). Deliberately toothless: status always proposal_only, mounted always false, requires_review always true (enforced in __post_init__); the problem text is hashed (sha256), never stored; filename = sha256(family:text_sha) so the same failure is idempotent.

No proposal for a correct wrong=0 boundary. Serving never reads the sink (scanned: generate/stream, field/propagate, vault/store, generate/derivation, core/reliability_gate). Routes through the existing proposal-only flywheel (ADR-0055/0056/0057), never a parallel correction path. README pins the contract. 6 tests.
2026-06-07 08:48:45 -07:00