A cut window or caller list now reserves the lines its notes need, the
suggested --max-lines prints everything, and the 50-hit, 20-file, 160-character,
CR and --only bounds each have an assertion.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Read anchors resolve like file_changes (r<k> rows, MISSING when absent at
base), anchors with a symbol must hold it in the mapped window or gain
SYMBOL_MISSING, and one capped git-grep caller list per symbol follows the
windows within --max-lines. Specs without reads or symbols print what v1 did.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
mind.call spawns the eureka-state binding, does the stdio handshake and one
tool call within a deadline, and kills the child on every exit path.
context-pack's mcp_view_once is deleted; mcp_view delegates to mind with
retry_once. Messages, exit codes, retry and env rules are unchanged (all 228
context-pack checks pass).
Co-Authored-By: Claude Opus 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>
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>