Commit graph Eureka/references/briefs.md
Author SHA1 Message Date
5a03635431 skill: agents reach the mind through the huginn CLI, not the eureka-state MCP
Ruling eureka-body:ruling:cli-over-mcp-agent-surface. Exact command forms in
campaign-state.md; MCP kept as the fallback for shell-less clients. persona_get
and persona_put have no CLI verb: recorded as a known gap. tools/mind.py and
tools/recall.py (MCP-bound scripts) are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 04:33:28 +01:00
91efdce0f0 Skill: re-entry triages reports with no verdict; second beating triggers the structural move; pushed heads build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 17:02:28 +01:00
13133bcb40 recall.py admit: a PreToolUse hook that holds an admit with rulings or questions once, listing in-force neighbours
Shares mind.call, line_of, inert, render and the hard stop with prompt mode;
render takes the header. Digest of tool_input plus agent_id in the session
scratchpad; fails open with a note naming only the failure kind.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 19:36:28 +02:00
f7aea15419 Doctrine and briefs: nothing that exists is sacred, the operator's words included
Deference now covers content, canon, data and her own words; rulings say
whether her words decide, illustrate or sketch; creative passes develop and
challenge their inputs. Ruling aetheria-fauna:ruling:fauna-bestiary-open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:35:54 +02:00
7877581e21 Briefs: no test run of any size on Starfire
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:59:07 +02:00
96ee66ff37 Skill: map only what is about to run; later cuts are lines in the prose map's cut sequence
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:37:56 +02:00
f8c61bf592 Briefs: Stryker offsets index the file in the job's checkout, whose line endings follow .gitattributes
cut-bls-input-field.s3: LF offsets on CultMath's eol=crlf sources missed the
code under test. Changelog entry records the evidence.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:28:28 +02:00
6d05feacf7 Skill: research is always kept
A prior-art or literature pass is committed to docs/research before the
fork goes to the operator (operator 2026-10-09: "Research should always
be kept"). SKILL.md step 2, the Eyes brief template, and the changelog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:36:32 +02:00
ec8fe51854 Briefs: Aetheria verify pins are git clones once the revision guard runs on Linux
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 15:36:18 +02:00
ccad40e43e Briefs: a scratch subdirectory is named per dispatch, not per faculty
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 15:11:31 +02:00
40e61f08ae Briefs: the --since sentence prints the full runnable command
Fixes Soul finding since-sentence-unrunnable: spec id and worktree are required positionals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:18:34 +02:00
ac3313b14b Briefs: Imagination writes file_changes as the context pack; Hands expands it first; Soul prints the sites
Replaces the sed -n anchor-range clause and the read-twice sentence in the Hands brief.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:07:11 +02:00
d7b748ca4a Briefs: Aetheria verify jobs pass both the CultLib and CultMath pins
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 02:48:37 +02:00
764ee3aba0 Briefs: Aetheria Stryker passes cost ~86 minutes; one pass, report to a file
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 01:48:07 +02:00
d1184f2147 Briefs: Aetheria /lfs is content-addressed; pass the CultLib pin
The by-path copy left LFS pointers in place and cost three failed runs in
each of two jobs on 2026-10-08.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 23:09:24 +02:00
0266de28cc Briefs: Aetheria verify jobs copy Settings.asset from /lfs too
With only the catalog copied, 204 tests failed on an LFS pointer during the
pirates-record merge (2026-10-08).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:59:11 +02:00
95d7f67c38 Imagination overlap check before fan-out; /pins mounts read-write
Two parallel Imagination passes made two owners of one decision twice on
2026-10-08. NuGet restore fails under a read-only /pins mount.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:18:00 +02:00
6ab91ead9c briefs: canonical wait block drops WAIT_FROM, states fresh log path and exit 3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:22:00 +02:00
de35a72fc3 briefs: one canonical wait block, fresh/offset log paths, pid-form caveat, consistent scratch paths
F1/F2: Hands block says prefer log+WAIT_PID, pid form means gone not succeeded,
fresh log per job or WAIT_FROM at launch. F3: exact Aetheria DOCKER_ARGS mounts.
F8: Soul points at the Hands block instead of rewording it; Imagination and
Eyes templates name wait-on.sh, <scratchpad>/<agent>/ and py -3; all examples
use <scratchpad>/<agent>/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:04:22 +02:00
18b160c44f Briefs: wait through wait-on.sh, py -3, and the 2026-10-07 lessons
Hands and Soul long jobs name tools/wait-on.sh for every non-Yggdrasil wait and
forbid bare true/echo/sleep polling (974 idle calls, 324 sleeps). py -3 is the
Python that works from Git Bash and PowerShell (65 Store-stub hits). Lessons:
own scratchpad subdirectory, wait protocol pasted verbatim, Stryker character
offsets from LF content, Aetheria DOCKER_ARGS mounts, rulings quote only the
operator.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 14:15:48 +02:00
f8dc3a5319 Hands template: admit the cut_report and no resolution; a fix batch names the commit it believes fixes each finding
On 2026-10-03 Self's briefs told Hands to admit Fixed resolutions, and the
template's admission line was silent, so nothing contradicted them. Verdict
variants:verdict:cut-c2a-declared-apply.s1 found one such closure only partly
fixed. The rule already stands in SKILL.md section 5 and campaign-state.md; this
puts it where briefs are written.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 15:05:35 +02:00
9f5b3bc191 Briefs: Hands reports every consuming test project with counts; Soul checks the list against the project files
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:57:12 +02:00
Meta Vens
246f740e56 Dispatch faculties by subagent_type; cut brief text the charters own
Every brief now names subagent_type (a general-purpose dispatch loads no
charter). Cut the You-are lead-ins, the Soul identity sentence and its
no-edit/restore bullets, and Eyes' read-only line, all owned by
~/.claude/agents/*.md. SKILL.md's dead litany pointer now names soul.md and
imagination.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 18:40:52 +02:00
Meta Vens
4bcd434828 mutation-table: name the mutated file from the workdir; briefs: wait calls take a 280000 ms Bash timeout
The pollution note listed nothing when the workdir was below the repo root
(ls-files ran from the root); the mock now runs from a subdirectory so that
regresses visibly. Every brief/INDEX line showing ygg-verify wait now says to
pass a Bash timeout of at least 280000 ms.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 16:43:26 +02:00
Meta Vens
506680c262 Briefs and skill: summary/wait verify, call budgets, range dump, Forgejo contributions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:09:08 +02:00
Meta Vens
e756733304 Skill: Life, typed key refusals, Deferred to a cut, depends_on by cut label, no stewardship step
Follows the eureka-substrate correctness core (cut skill-recipes).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 14:32:53 +02:00
Meta Vens
cf8e7e6a51 Tool-calling cut: foreground waits, rotation rule, tools/INDEX.md, stale Yggdrasil limits
Applies references/tool-calling-cut.md section 5 under the section 8 rulings
(Q1 A, Q3 C, Q4 B). Briefs: agents wait in the foreground in calls of at most
270 s and never end a turn before the report; commits from Git Bash; every
dispatch names its model; agents cap at about 300k context or 150 calls.
SKILL.md: Self rotation rule, notify-before-report defect, Shared tools
section, sizing by calls, Yggdrasil limits corrected to the script's 5 slots
and 6 GiB. tools/INDEX.md lists ygg-verify.sh. Changelog quotes the rulings.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 13:34:52 +02:00
Meta Vens
92bf6f717f Briefs: waiting costs no model calls (one event-driven background waiter, no timers under 60 s)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:08:48 +02:00
Meta Vens
094083566e Substrate gaps live under the standing campaign eureka-substrate
Operator ruling eureka-substrate:ruling:gap-home. The 19 gap-* follow-ups
moved from idunn-watchdog by superseding resolutions; the recipe and two
cited ids now name the new root.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:33:50 +02:00
Meta Vens
0a9b806f3b Soul brief: scope reruns, one full suite, batch verify jobs
Slot queueing, not compilation, dominates a Soul pass. Soul now reruns
the tests the cut touches while probing, runs the full suite once at the
end with its mutation run, batches probes, and mutates in parallel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:40:41 +02:00
Meta Vens
e96c482940 Substrate gaps live in the mind; Imagination owns the model page
The gap table in campaign-state.md duplicated eight typed follow-ups; it now
gives the query instead. The first campaign no longer admits the list; every
campaign runs the query. Imagination edits the model page when a probe
changes a row. Stewardship is universal (operator, 2026-09-30).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:39:37 +02:00
Meta Vens
f0ff4842c6 Cut 15 fix batch 2: operator directions reach Soul; fix batches and mutations
Self's triage of Soul pass 2 on 272f5ca:
- Soul's rehydrate runs rulings in force, so standing operator directions
  (including ones admitted after the spec) reach it, and it claims against
  them. A verdict claim has no ruling reference, so Soul starts the claim
  text with the ruling id; recorded as a substrate gap (epiphany-pipeline).
- Gaps table: a cold semantic embed exceeds the client's 15 s deadline
  (Huginn, with the embedder).
- Self does not TaskStop an agent halted on Unavailable; it holds the
  unadmitted record and is resumed when the organ answers.
- A fix batch's cut_report is the next attempt on the finding's in-force
  cut_spec, on that spec's branch; landing elsewhere needs a revised spec
  first (SKILL step 5, Hands brief).
- mutations holds survivors plus the kills Soul should rerun (at most 64);
  totals go in verification evidence.
- InvalidInput and TooLarge are caller-fixable and retried after fixing
  the call; only Unavailable after a retry and other errors stop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:41:08 +02:00
Meta Vens
272f5ca5d3 Cut 15 fix batch: Soul's claims are not bounded by Hands' promises
Self's triage of Soul's first pass on hands/cut15-typed-state:
- Soul views every ruling the cut_spec cites and makes one claim per
  ruling, beside the promises; Hands' self-report never bounds the pass.
- Only Self closes a finding Fixed, after a Soul pass on the fix holds.
  Finding and verdict reads filter faculty Soul; faculty being
  attribution-only joins a new substrate-gaps table in campaign-state.md.
- A fork before Hands' first commit ends the pass with the question
  alone; the blocked-spec check reads questions raised in a spec.
- One rule for an organ that does not answer: missing tools stop, one
  retry on Unavailable (admit replays are safe), then a resumable stop
  that never sends the record as prose.
- Survivor triage goes in deviations, one entry per survivor, because
  MutationRecord has no reason field (a recorded gap).
- The target document is written and committed before the campaign and
  target cite it; Self's checklist names working_branch and target_doc.
- Operator directions are rulings with no answers and the words verbatim.
- One Rehydrate definition with a no-campaign / unknown-slug branch;
  per-brief recipes; Eyes reads the mind read-only; the postmortem
  template sources from the mind.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:37:19 +02:00
Meta Vens
2a0e9f7a24 Wire the pipeline to typed campaign state
SKILL.md, briefs.md and README now route every faculty through the
instance's mind: Self calls whoami first and stops when the organ is
unreachable, admits stewardships, campaign, target and rulings;
Imagination admits questions and cut specs; Hands views its cut_spec and
admits a cut_report; Soul admits a verdict and its findings, staying
read-only on repos. Triage outcomes are resolutions and follow-ups, and
progress is a set of recipes instead of a status header. Briefs give ids
and recipe names and start with a Rehydrate block; they no longer paste
specs or rulings. "Record the substrate you needed and did not have" stays,
and its record is a follow_up. The errors-never-echo rule is unchanged.

Huginn Cut 15 (Epiphany notes/huginn-organ-cut.md at 74804d83), under Q-H6 A.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:37:46 +02:00
Meta Vens
59b99fed12 Hands brief: errors never echo an input value, pinned by a canary
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 13:47:27 +02:00
Meta Vens
17ce907ff0 Eureka: Soul checks git history before recommending a mechanism
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:36:16 +02:00
Meta Vens
19487f0f2e Hands brief: file-tool paths stay inside the named worktree
A Hands pass on Aetheria Cut 12.3 edited and built the main checkout by
using absolute Read/Edit paths, while its shell sat in the worktree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 18:38:54 +02:00
Meta Vens
4855e60599 Treat split authority as a defect on sight, in Hands and Soul briefs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 16:24:01 +02:00
Meta Vens
bd8dc2e4ed Rename the Mind Steward faculty to Life
Operator ruling, 2026-09-25: Epiphany and Aquarium call this organ Life
(role id `reorientation`), and it is "a much better fit as the actual
load-bearing organ". The eureka-site landing page already says Life.

SKILL.md (frontmatter description, faculty table, dispatch lines, step 6,
model allocation), README.md and briefs.md now say Life. The role itself is
unchanged. SKILL.md defers to global doctrine for the agent type, which the
operator owns and which still says mind-steward. Dated records keep the old
name: changelog entries as written, a note on the 2026-09-15 Epiphany
comparison, and "then called Mind Stewards" in the CultCache postmortem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:59:59 +02:00
Meta Vens
7e2f66a2c4 Make Self size each cut against Hands' context budget
Operator direction, 2026-09-25: moderate inference spend mainly by making
cuts smaller, so each Hands agent carries less context. Sonnet degrades at
about 0.5M tokens.

SKILL.md step 3 now owns cut sizing: Self estimates the brief, the source
Hands must read, one verification and one fix round, and the item count,
treats 0.5M as the danger line, splits when the estimate passes about half
of it, and checks the reported token total afterwards. The Self-owned
clauses ("Self sizes a cut", one fix batch per file) moved out of the Hands
brief template into step 3; the Imagination template's split clause names
the budget. Section 5 no longer frames the 2026-09-23 spend as misplaced:
the operator counts it as legitimate work, the regret being the model.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:58:51 +02:00
Meta Vens
82afae1afc Record quota sizing, per-file fix batches, and greens that ran nothing
From the StreamPixels transport campaign, 2026-09-23 to 2026-09-24:
- SKILL.md section 5: quota is spent through scope. One Soul gate per cut,
  fix batches only for critical-path findings, and narrow passes for
  small deltas.
- briefs.md: one fix batch per file (800k and 550k runs); require a
  non-zero test count for each named file; a failure called
  "pre-existing" still needs a one-line cause.
- changelog: the evidence, with StreamPixels commit refs.

Staged by path. The unrelated uncommitted Ghostlight hunks in briefs.md
and changelog.md are left in the working tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 16:09:38 +02:00
Meta Vens
181e819131 Name the inference, not the line
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 06:45:25 +02:00
Meta Vens
2e0ea97e27 A test's inputs come from the production path
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 19:56:52 +02:00
Meta Vens
37c80e4a06 Retire the hand-written mutation harness, with no fallback
Operator ruling 2026-09-22: better nothing than a harness that punishes
refactoring. Behavioural tests plus the ecosystem's mutation tools on a cut's
diff; Soul's hand mutants stay one-off probes. The stopgap image carries
cargo-mutants instead of pwsh and is tagged by its Dockerfile's hash.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 18:36:19 +02:00
Meta Vens
fd01545fb7 Hand mutations target the rule at the layer it protects
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 18:33:03 +02:00
Meta Vens
a0813f1110 Mutation testing moves to the ecosystem's tools; anchors become the fallback
Hands and Soul measure suites with Stryker.NET, cargo-mutants, StrykerJS or
mutmut scoped to the cut's diff, and triage every survivor by name. The
hand-written anchor harness is demoted to code no tool reaches. Evidence in
the changelog: Aetheria's 23 harnesses stranded on refactors and one anchor
silently re-targeted; a Stryker spike killed everything they defended and
found the splash-handedness bug they missed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 16:42:58 +02:00
Meta Vens
a84669739b Say that recording a ruling is not specifying it, and qualify hand-back
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 03:18:20 +02:00
Meta Vens
20ca736e29 Forbid amend and force-push on shared branches
A Ghostlight Hands agent amended and force-pushed a kernel commit while
Self pushed map commits to the same branch. The briefs and the scars
list now forbid it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 03:17:10 +02:00
Meta Vens
e83420df99 Settle identity, lifecycle and authority before mapping any cut
Re-cutting came from questions answerable on day one and asked on day three,
not from maps that lacked detail. A model table now precedes every cut map,
one row per persistent kind, and no cut is mapped while a cell is empty. The
operator's forks are gathered once rather than discovered across five cuts.

In the other direction, the per-file anchors are required only where the code
exists and they say what not to touch. Transcribing the body of code nobody
has written yet is a map at full scale, and the only spec complete enough
there is the code. Cutting faster means less prose per cut, not more code.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 22:57:22 +02:00
Meta Vens
89a1182961 Require loosening mutations from Hands, and shape the reports
Most later Soul passes found rules the suite could not see rather than
defects, because Hands proved each rule with a revert and Soul with a
loosening. Hands now does both. Reports carry findings, promises and
numbers and nothing else, and a second pass on a cut is scoped to the fix
batch. Operator-approved after a cost review of one day's campaigns.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 20:22:10 +02:00