Context — GPT R7 verdict on PR #60
The R7 review rejected "support capabilities on paper": missions declaring supportCapabilities whose caps are never routed. Lazy support is a dead declaration without a demand mechanism. Current state after the R7 wave: support caps exist with providesFunctions metadata (the substrate), but no mission declares them and nothing routes to them.
What to build
A demand-driven support path so comprehension substrate actually rehearses when learners need it:
- Evaluator signal: when a target task's evaluation fails, classify the miss — which
requiredFunctions were absent (missingFunctions on the evaluation object). Requires the function-checker to distinguish "wrong formulation" from "comprehension gap".
- Lookup:
missingFunctions ∩ support cap providesFunctions → candidate support caps.
SUPPORT_DEMAND intent in the planner: mints a probe/practice task for the support cap, scoped to the learner's actual miss — never free-running, never claim-bearing.
- Probe tasks per support cap (pre-authored, reusable across missions): short discrimination tasks (e.g. number-in-utterance, direction-term spot).
- Evidence semantics: support evidence is remediation — it helps the retry succeed; it never earns the target cap's milestones and never certifies the support cap independently.
- Gate additions: support caps may only receive
SUPPORT_DEMAND intents; skippedIntents backlog never counts them fatal; providesFunctions must cover a mission task's requiredFunctions to be declared.
Why not now
R7 fixed the immediate dead-declaration by dropping supportCapabilities from missions. The mechanism above is a real subsystem (evaluator + planner + task authoring) and deserves its own PR.
Depends on: #59 (merged). Pairs with: the planner's skipIntentFor machinery already distinguishes intent kinds per capability.
Context — GPT R7 verdict on PR #60
The R7 review rejected "support capabilities on paper": missions declaring
supportCapabilitieswhose caps are never routed. Lazy support is a dead declaration without a demand mechanism. Current state after the R7 wave: support caps exist withprovidesFunctionsmetadata (the substrate), but no mission declares them and nothing routes to them.What to build
A demand-driven support path so comprehension substrate actually rehearses when learners need it:
requiredFunctionswere absent (missingFunctionson the evaluation object). Requires the function-checker to distinguish "wrong formulation" from "comprehension gap".missingFunctions∩ support capprovidesFunctions→ candidate support caps.SUPPORT_DEMANDintent in the planner: mints a probe/practice task for the support cap, scoped to the learner's actual miss — never free-running, never claim-bearing.SUPPORT_DEMANDintents;skippedIntentsbacklog never counts them fatal;providesFunctionsmust cover a mission task'srequiredFunctionsto be declared.Why not now
R7 fixed the immediate dead-declaration by dropping
supportCapabilitiesfrom missions. The mechanism above is a real subsystem (evaluator + planner + task authoring) and deserves its own PR.Depends on: #59 (merged). Pairs with: the planner's
skipIntentFormachinery already distinguishes intent kinds per capability.