Skip to content

Learning tier item 1: the mentor writes (record_teachback tool, trigger table on all six harnesses, scripted-learner proof) #38

Description

@NetDevAutomate

Why this is the MVP blocker

The mentor agent can read learning state on every harness but records nothing: no MCP teach-back writer exists (CLI only), the persona's only concrete "record progress" line points at a different tool, and no harness has a trigger table telling the mentor when to write. Measured result: zero writer calls in 143,973 historical messages. So the "single recommended next action" the README promises is fed by flashcard/quiz reviews and CLI writes — never by what happened in a mentor session. Owner verdict 2026-09-23: this is the failure that matters most in a stranger's hands.

Council-validated plan: docs/architecture/learning-tier/plan-2026-09-19.md (§3, item 1). Arbitration: docs/architecture/learning-tier/council/arbitration-plan-2026-09-19.md. Owner decisions 1–5 recorded in plan §7 (#34, PR #36).

Branch

feat/learning-tier-fed, cut from main when S1-0 starts (decision 1). Item 2 (the Jev measurement) is not on this branch and its branch is not cut until 0.5.x closes.

Stages (plan §3 — each has its own finish)

  • S1-0 Capability lock (½ day). Receipt docs/architecture/learning-tier/receipts/s1-0-capability-lock.md with file:line per harness: the grant grammar as it is; W_auto = log_topic, log_struggle, record_teachback (new), record_plan_learning — named in every definition, prompt-per-call everywhere, no new pre-approval (decision 2); W_srs stays prompt-per-call; OpenCode's wildcard recorded as known and out of scope.
  • S1-RED (1 day). Failing tests per the plan's §5 table: test_mcp_teachback.py (tool absent), test_adapter_parity.py (names absent; no new grants), test_docs_harness_tier_contract.py (trigger table absent; persona still routes "record progress" to tutor-checkpoint), test_writer_isolation.py (guard, not RED if it already passes), no-trigger/duplicate replay.
  • S1-GREEN (1–2 days). The record_teachback MCP tool validating exactly as cli/_teachback.py does; agents/shared/recording-protocol.md with the fenced YAML trigger table, projected byte-identically to all six harness definitions with manifest hashes; every definition names each W_auto tool (Claude's socratic-mentor.md tools: line names none today); persona's record-progress line repointed.
  • S1-SIM (1 day + harness logins — owner-gated). Scripted learner drives each installed harness through a teach-back episode; evidence bundle per harness; PR body lists which harnesses passed and names the skip reasons for the rest. Claim is exactly "pipe open on {passed}; plumbing proven for all six definitions; noticing observed once".
  • Noticing episode (observation, not gate — owner). By rule (decision 3): the first real study session after S1-GREEN reaches main, ten minutes, no logging asked for; date and adjudicated outcomes written into the S1-SIM receipt.

Definition of done (= plan §3 S1-SIM finish)

CI green (parity, contract, projection, isolation, replay); evidence bundles for the harnesses that ran; the claim stated as above; council implementation review (3 seats) before merge; full unit suite green; just lint; just typecheck. Closing this issue closes item 1 only; item 2 has its own issue on 0.6.0.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentImplementation-ready specification with settled requirements and test seams

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions