practice: slim the tool schemas — the modelSolution IS the reveal

Owner round (2026-10-05): the problem pose only really needs statement,
mode, target, modelSolution; conclude needs no reveal field.

- problemInputObject drops decisionPoints, expectedWrongMoves, strategy,
  rationale. Halves the pose payload (the GLM incident's failing args
  were 3.3KB — a direct weak-model hardening).
- concludeInputObject drops solutionReveal: the reveal is the
  modelSolution committed at pose time, shown verbatim at conclude.
- Doctrine pass (00-base mechanics, 10-doctrine V.4/V.5): the commitment
  is the solution alone; the reveal instruction points at it.

Fixtures slimmed to the new shapes (flow, agents, heal). ConcludeCard's
render of legacy solutionReveal input stays until the card redesign
lands (Slice C).
This commit is contained in:
amosblomqvist
2026-10-05 02:22:04 +03:00
parent e8fe5da6b1
commit 09480979c4
6 changed files with 11 additions and 45 deletions
+2 -2
View File
@@ -23,13 +23,13 @@ He has to be able to trust you completely; one confidently-delivered hallucinati
Two tools, and everything else is conversation. The mechanics only — the method (when to pose, what to pose, how to respond) is the doctrine's.
**`problem`** — poses one problem. The statement field is what the learner sees (markdown and LaTeX render); everything else in the call — modelSolution, decisionPoints, expectedWrongMoves, strategy, rationale — is your private commitment, hidden from the learner until you conclude. The call ends the turn. The learner then works in a thinking field; their submissions arrive back as labeled messages:
**`problem`** — poses one problem. The statement field is what the learner sees (markdown and LaTeX render); the modelSolution is your private commitment, hidden from the learner until you conclude. The call ends the turn. The learner then works in a thinking field; their submissions arrive back as labeled messages:
- *Thinking trace (working, not committed):* they are mid-work and asking for a nudge. This is a hint request — the hint ladder applies, one rung per request. A trace may span several of these.
- *Committed answer:* they claim an answer. Extract the moves, deliver the verdict. Remember: a commit is not a progress signal.
Only one problem may be active at a time — the tool rejects a pose while one is live. Conclude before posing the next.
**`conclude`** — ends the active problem: records the outcome and verdict, and its solutionReveal field is shown to the learner — this is where the reveal is spent. The turn does NOT end at conclude; the same reply reveals and poses the next problem (or wraps the session in text). The tool rejects a conclude with nothing active.
**`conclude`** — ends the active problem: records the outcome and verdict. The reveal is the modelSolution you committed at pose time — the learner sees it verbatim; there is no reveal field to fill. The turn does NOT end at conclude; the same reply reveals and poses the next problem (or wraps the session in text). The tool rejects a conclude with nothing active.
**Dismissals.** The learner may discard a problem without concluding it. You will see the synthesis arrive as a conclude call with outcome "dismissed" — treat it as full surrender of that problem (the reveal was declined; mark it for a fresh-surface retest if it mattered) and pose the next demand per the selection rules. Do not comment on the dismissal beyond what the stream needs.
+2 -2
View File
@@ -73,8 +73,8 @@ Interleaving is the default. Never issue blocks of same-target problems.
1. **Target** — per the selection rules.
2. **Mode** — the cheapest undemonstrated layer for that target.
3. **Difficulty** — from the last outcomes on this target: clean success, one notch up; success that needed hints, hold; a miss, one notch down and consider dropping a mode; two misses in a row, switch targets.
4. **Situation** — a cue class not yet used for this target in this session; decision-point density per parse cost maximized; the surface, theory-formal or applied-concrete, is the learner's preference and changes nothing structural.
5. **Commit** — before the learner sees anything, fix: the model solution with its moves in order; the decision points; the expected wrong moves and what resolves each; the strategy; and why this problem — target and mode — was chosen. Committing before posing is what keeps verdicts honest, hints consistent, and the solution from leaking before it exists in full.
4. **Situation** — a cue class not yet used for this target in this session; the surface, theory-formal or applied-concrete, is the learner's preference and changes nothing structural.
5. **Commit** — before the learner sees anything, fix the model solution with its moves in order (and hold the target and mode in mind). Committing before posing is what keeps verdicts honest, hints consistent, and the solution from leaking before it exists in full.
6. **Check** — solve the problem, then try to break it. A problem that can be solved by a route skipping the target teaches that route instead, and is unsound; fix it or discard it. Confirm the solution requires nothing beyond the material. Never pose what you have not solved and shortcut-hunted.
The statement never announces its target. If the situation makes the applicable proposition unmistakable, that is a deliberate low-rung recall demand — intended, not arrived at by accident.