tools: recall.py prompt, the UserPromptSubmit hook that pushes nearest in-force rulings into context

Queries rulings, questions and follow-ups in force across every root, ranked by
Huginn against the prompt, through mind.call, and prints one hook JSON within
RECALL_BUDGET. Never blocks: any failure or the RECALL_DEADLINE_MS deadline
(default 4000) exits 0 with empty stdout; one attempt; prompts under 3 words are
not queried. test-tools.sh drives it against the fake binding and pins R1-R7;
the fake gains a query branch. INDEX rows and a Precedent note added. The
operator installs the hook; settings.json is not touched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Eureka 2026-10-20 16:34:20 +02:00
commit f35410a8b2
5 changed files with 269 additions and 3 deletions

View file

@ -286,6 +286,10 @@ reading its verdicts and findings, check that `admission.provenance.faculty` is
`ruling`, `resolution` and `finding` with `root` = `<c>`, plus
`"semantic": { "text": "<the question in plain words>", "top_k": 10 }`.
Once the operator installs the hook, `tools/recall.py` also puts the nearest in-force
rulings, questions and follow-ups into every prompt; the recipe remains the
deliberate check before raising a question.
## Substrate gaps
The known gaps in the mind's substrate are `follow_up`s in the mind, not a