Commit graph

262 commits

Author SHA1 Message Date
Meta Vens
9aa3f156b0 Tell Soul to wait for long jobs before reporting
Two consecutive Soul passes on Cut 6b ended their turn while a mutation run
or a build was still going, delivering no findings until Self resumed them.
The Hands brief has carried this rule since the Ghostlight run; the Soul
brief now carries it too.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 14:35:00 +02:00
Meta Vens
12d1b9c0f8 Require a no-op control and byte-exact I/O in every mutation suite
A Soul pass ran a mutation that changed nothing and it killed a test. The
harness's text round-trip had collapsed a non-ASCII literal, so the
corruption alone failed the test and every mutation through that path would
have reported a kill. A working suite and a broken one look the same from
the verdicts; only a control tells them apart.

The audit that followed found every committed suite lossless and the
corrupting script inline and gone, which is the standing "no artifact on
disk" finding applied to Soul. So the rule binds Soul's harness as well as
Hands', and the Hands and Soul briefs both carry it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 13:40:28 +02:00
Meta Vens
e1fd2a1d66 Record the substrate you needed, and treat absence as the hardest claim
Both rules come from the Ghostlight L0 run, which hit the missing typed-state
primitive six ways and nearly lost the requirement each time, because every
workaround worked. Doctrine already says not to wait on a service that does not
exist; nothing said to leave evidence while working around it. Now it does.

The second is a verification defect, not a state one. A Mind Steward reported a
stale phrase gone because a line break had split it from its grep. Prose
reflows, so an exact search over it has the same limits as any other text
scanner, and a check that cannot see its target closes the question instead of
answering it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 12:33:45 +02:00
Meta Vens
82074a7ab5 Fold the Ghostlight L0 lessons into the briefs and the fork rule
The Soul template now attacks constructibility at sealed boundaries (a
derive is a public constructor, and on stable rustc a compile_fail test does
not pin its error code). It also asks for forgeries shaped like real values
and treats text scanners as tripwires with stated limits.

The Hands template now says to wait for long jobs instead of reporting a
to-do list, to restore mutations without git checkout, to measure warnings
from forced rebuilds, and to prefer semantic tools for semantic properties.

The fork rule now weighs proportion: a fork guarding only against the
project's own code gets a default and a recorded follow-up.

Evidence: Ghostlight's library extraction postmortem, recorded in the
changelog.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 12:26:08 +02:00
Meta Vens
54b05c3884 Name the Huginn organ, not voidbot, as the semantic search path
The skill's own changelog already carried the 2026-09-16 ruling that the organ
depends on Qdrant directly. The overview line still promised voidbot, which is
steering text an agent would read at the next cut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 11:28:04 +02:00
Meta Vens
96c98d5ceb Correct the anchor scar: no committed verdict was unearned
Soul checked the committed history. The script already threw on a missing
anchor, the affected mutation existed only in the working copy, and every
committed verdict was real. The rule stands, and gains the uniqueness check,
but the incident was narrower than first recorded.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 02:19:11 +02:00
Meta Vens
58cfc29b9e Add subtraction rules: deleted tests and unapplied mutations
Two rules from the Eureka campaign's own cuts. A deletion can take a live
rule's only test with it, so a cut that deletes must list every rule that lost
its test and either delete the rule or pin it in the same cut. And a mutation
whose anchor never matched is not a passing mutation: a multi-line anchor
matched nothing on a CRLF tree, reporting a verdict it had not earned.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 02:05:16 +02:00
Meta Vens
6ca78825f1 Record the ownership lesson: escalating guards mean a missing owner
The operator stopped a design in which a repo owned the pipeline store. Three
Soul passes had gone into a per-clone lease, git-directory resolution and
committed attribute checks, and the resolution still landed a store in an
unnamed directory. An instance owns its mind instead, and a service owns the
state.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 00:31:44 +02:00
Meta Vens
0109bf656c Make the session the operator channel, with swappable notification
Operator ruling: Eureka has no Persona. Self is the operator surface, and a
blocking question may be pushed through whatever notification MCP the user
configures, so Eureka owns no transport. Answering over a chat channel is a
later campaign.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:41:34 +02:00
Meta Vens
dcf4bd5091 Baseline shared build caches by path list, not counts
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 21:35:07 +02:00
Meta Vens
0d426e934d Tighten the Hands brief: defined mutations, base-commit proofs, started scripts
The rules come from the first Eureka pipeline-state cuts. Soul could not rerun
mutations that were only named. A digest captured from new code proved nothing
about the old code. A detached mutation script died silently on a parse error.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 21:16:11 +02:00
Meta Vens
eea514aa31 Publish Eureka, the Claude Code faculty pipeline skill
Eureka is extracted from the Aetheria CultCache migration and is the Claude
Code counterpart of Epiphany. It covers the faculty loop, brief templates,
the cut map shape, the postmortem template, the worked example, a dated
comparison with Epiphany, and a changelog tying each rule to its evidence.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 20:15:10 +02:00