briefs.md: Eyes brief rewritten for typed research; known-first and ideas in the Imagination briefs; known in Rehydrate

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Eureka 2026-11-05 11:23:21 +01:00
commit 100b9b3537

View file

@ -52,6 +52,9 @@ Campaign state lives in the instance's mind, through the huginn CLI
2. Run the campaigns recipe. If there is no campaign, or <c> is not among
them, stop and report which.
3. Run <recipes>, with root = <c>, and view every id this brief names.
Eyes and Imagination also run `huginn known <the question in plain words>`
(research and ideas of every campaign, closed ones shown with their status)
before searching or probing. Eyes admits `research` and no other kind.
Admit as faculty <Faculty>, agent <your name>, session <session>. A refusal
names the rule that refused: fix the batch and admit again. InvalidInput and
TooLarge are the same: fix the call (or narrow it) and retry. Retrying an admit
@ -129,6 +132,8 @@ and probe through scripts, one call per question, output at most 150 lines.
Wait only through `tools/wait-on.sh` (never `true`, `echo` or `sleep`), write only
under `<scratchpad>/<agent>/`, and use `py -3` for Python.
Known-first and an idea per alternative considered: as in the map brief below.
Give one table, a row per persistent kind:
- Identity: what names it. Is the namespace stated? Is the name injective? Can
two different things collide? Is any part of it derived, and from what?
@ -155,8 +160,15 @@ sibling Self will run beside it> so Hands can go straight to the cut with
little reading. Map nothing further ahead (SKILL.md step 1, "Map only what is
about to run"): later cuts are one line each in the prose map's cut sequence.
Admit only cut_specs, their superseding resolutions, and questions. In the
prose map at <path>, edit body facts and rationale. Also edit the model page
Admit only cut_specs, their superseding resolutions, questions, and `idea`s.
Before probing, run `huginn known` on the design question and cite what it
returns in `rests_on`. Admit an `idea` for every real alternative you considered
that is not an option on a question you admit (those are the question's options),
labelled `<pass>.<label>` and `toward` the question, follow_up or cut it was made
for (empty is legal). An alternative you reject is admitted with its Recorded
resolution, with the reason, in the same batch; one left open stays an idea in
force for the decider to resolve. A transferable fact about the world, not this
cut, goes to an Eyes pass. In the prose map at <path>, edit body facts and rationale. Also edit the model page
whenever a probe changes a row's identity, lifecycle or authority. Imagination
wrote that page in 0b, and a model a cut contradicts is stale steering text.
Do not commit; the root agent commits. Do not change code in any repo. Scratch probes under
@ -166,8 +178,8 @@ output at most 150 lines. Wait only through `tools/wait-on.sh` (never `true`,
Python. Budget 40-80 calls and about 250k context.
Rehydrate (recipes: target in force, rulings in force, open questions and
follow-ups, specs with no report, one cut's record for <cuts that constrain
this one>).
follow-ups, specs with no report, known, one cut's record for <cuts that
constrain this one>).
Body facts to verify (not trust):
- <repo@SHA>
@ -631,19 +643,34 @@ what was missing and what it would have prevented.
Dispatch: `subagent_type: eyes`, model Sonnet.
```
Write findings to <scratchpad>/<agent>/<name>.md and return a
short summary. For a prior-art or literature pass, Self commits that file to
<repo>/docs/research/<topic>.md before the fork goes to the operator (SKILL.md
step 2, "Research is always kept"); write it to be read there. Budget at most 40 calls: transcripts by script, never whole
reads, waits only through `tools/wait-on.sh`, writes only under
`<scratchpad>/<agent>/`, Python as `py -3`, and fetches batched in parallel. You read the campaign's mind with query and view only, through
the Rehydrate block (recipes: <as needed>); you never admit.
Private: <yes: findings go to <path>, admit nothing | no>
Budget at most 40 calls: transcripts by script, never whole reads, waits only
through `tools/wait-on.sh`, writes only under `<scratchpad>/<agent>/`, Python as
`py -3`, and fetches batched in parallel.
Before searching, run `huginn known <the question in plain words>` and, for
legacy matter, `huginn sources`. Search the world only for what those do not
answer. Read the campaign's mind with the Rehydrate block (recipes: <as needed>).
Admit what you find as `research` notes through `huginn admit` (the strict door,
not the MCP tool), faculty Eyes: one document per claim, nothing else admitted.
Label each `<pass>.<label>`: the local part is 64 bytes in all, so the pass is at
most about 24 bytes and the label at most about 38. The first note is labelled
`scope`: your method and what you did not search. Every note has a source (a repo
pin, a web page, something you observed, or another document); `inferred: true`
names a claim you read from its sources rather than saw in them. A note is a fact,
never a recommendation. A batch is 1 to 64 documents; a larger pass spans batches
under one pass label. A wrong or superseded note is not edited: admit the new one
and leave the old to a steward. You resolve nothing. Raw output too long for a note
stays under `<scratchpad>/<agent>/` and the note cites it as an Observed capture.
If Private is yes, admit nothing and write to the file named. Report the pass label
and counts, not the findings again.
Sources:
- <repos and ranges>
- <transcripts> (grep with targeted patterns; never read whole)
- <docs>
Produce facts with evidence pointers (SHA, file:line, transcript line). Mark
anything inferred as "(inferred)".
Facts carry evidence pointers (SHA, file:line, transcript line).
```