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>
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>
Operator 2026-10-09 split the Self handoff by area; the rotation bullet now
names handoffs HANDOFF-eureka-self-<area>-<date>.md, one per Self area.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Targets the mutants that survived the first fix run: need arithmetic of cut
and full windows, the reserve for the not-expanded line at the budget edge,
the left-reserve >= 4 threshold with two windows, the exact more-lines
note, the blank line after the table, a non-sha base never echoed in the
header, and a spec without a base refused rather than crashing.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Real git repos in scratch: a src/[a] path beside src/a, pure deletions and
one-line replacements straddling either end of an anchor, edits on an
anchor's first and last line under --since, a --since commit with an
unreadable tree, thirteen wrong-typed spec variants with canaries, a
--max-lines below the table, --only truncation at the 7 and 6 line
thresholds and with a reserved not-expanded line, and the binding env block
with the caller's environment overriding it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- git() is the one git call and passes --literal-pathspecs, so a spec path
with [ ] * ? names that file and no sibling.
- spec_from_json validates base, file_changes and deletes; a wrong type is
Fail(4) naming the field and InvalidInput, never a traceback or the value.
- carry(): a deletion straddling an anchor start maps to c+1 and one
straddling its end to c; the d>0 clamp is no longer special-cased.
- The header prints a non-hex base as "unresolvable"; --max-lines is
documented as bounding windows, the table always listing every anchor.
- The fake eureka-state gains FAKE_MODE=needenv for the binding env test.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Survivors of the first mutmut run (200 of 688) drove these: replaced-block
and pure-deletion hunks, --since boundaries, NEW windows, 70-column change
text, the stdio handshake the fake server now validates, every error code.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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>
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>
Anchors resolve through git diff hunks from the spec's base (working tree
included) into a status table plus bounded windows; --since re-prints only
edited windows. Spec by id through the eureka-state stdio binding, or a
saved view. Fixture section in test-tools.sh; INDEX row.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Body facts, model page and rationale for the context-pack cuts in
eureka-substrate. The cut specs are the typed record in the mind.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
Truncating writers (`>`, Unity -logFile) rewrite below any offset, so an offset
turned a stale success into a silent hang. The option, the scan branch, its docs
and its fixtures are gone; the header states the fresh-log-path rule.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
F1: log form searches only bytes after WAIT_FROM, so a stale done line in a
reused log is ignored (also makes the per-check cost independent of log size).
F2: pid form prints GONE (no completion evidence). F4: invalid ERE is exit 3.
Mode 100755 recorded for wait-on.sh; other tools/ scripts are still 100644.
F5, F6, F7 recorded as known limitations in the header. Fixtures added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
whoami, view and query; no admit. Follow-up eureka-substrate:follow_up:gap-life-has-no-mind-tools.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
Same contract as ygg-verify.sh wait (270 s cap, bounded tail, RUNNING exit 99,
exit 98 for a thing gone with no completion evidence). Windows PIDs are found
through tasklist, since kill -0 only knows Git Bash's own. Fixtures in
tools/test-tools.sh; INDEX row added.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Agent frontmatter: hands, eyes and life default to model: sonnet, so an
omitted model can no longer spend the root's strong model. Soul and
Imagination keep inherit (operator 2026-10-03: "Soul and Imagination get the
smarter model, not Hands").
- Self output style: invoke the Eureka skill at session start and after every
/clear. A skill loads only when invoked; a session that never loaded it
dispatched every Hands on Opus.
- Rotation: the handoff carries only what the mind does not hold, and Self
rehydrates from the mind before briefing. A handoff that restated campaign
status hid that scenarios Cuts 2-4 had not landed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>