Skip to content

fix(prototype): align the LOOP.md paraphrase, and record the head read gotcha - #36

Merged
lozit merged 1 commit into
mainfrom
fix/prototype-paraphrase-and-head-gotcha
Oct 9, 2026
Merged

lozit merged 1 commit into
mainfrom
fix/prototype-paraphrase-and-head-gotcha

Conversation

@lozit

@lozit lozit commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Two findings from eval case 1, run as part of the 1.13.0 release check. Both post-release, so they go to the next [Unreleased].

The frozen prototype contradicted itself, and the contradiction was mine

On 2026-09-09 the verifier preamble's absolute nothing else was reworded to bar the maker's narration rather than the artifacts its own checks 5 and 7 require it to read. I applied that to docs/prototypes/loop/verifier.md — and not to the paraphrase in docs/prototypes/loop/LOOP.md, which still said handed only … never ….

So the prototype's two files disagreed about the scope of the bar. The paraphrase now matches.

ADR 0044 §6 freezes the prototype at its single-invocation shape; it does not freeze a self-contradiction, which is exactly why the wording fix belonged there in the first place. Case 1 also noted that the shipped LOOP.md was rewritten on the maker's side and no longer carries the list at all — only the prototype did.

head <file> can return a summary instead of the file

A subagent reported a signature line that did not match the file. Reproduced directly: head -1 on a 111-line file returns [111 more lines] — a placeholder, not the line. A token-optimising proxy sits in front of read commands here and can answer a read with its own summary.

Measured rather than guessed. On that file: sed -n '1p', grep -m1, awk 'NR==1', wc -l and piped cat … | head -1 are all exact. And bare head is not always summarised — head -30 on another file returned content the same day. That is worse than if it were consistently broken: a tool that usually works is one you stop checking.

So the rule recorded is head is not dependable for evidence, with sed/awk/Python/git show HEAD:<path> as the reliable reads, and head/tail reserved for trimming another command's output. A proxy that returns a plausible placeholder is more dangerous than one that errors — [111 more lines] reads like output, not like a failure, so nothing prompts a second look.

One thing is not reproduced and is marked open: the subagent reported a stale version string rather than a placeholder. Whether the proxy can also return outdated content is unknown.

…d gotcha

Two findings from eval case 1, run for the 1.13.0 release.

The frozen prototype contradicted itself, and the contradiction was
mine: September's rewording of the verifier preamble — the bar is on the
maker's narration, not on the artifacts checks 5 and 7 require — landed
in prototypes/loop/verifier.md but not in the paraphrase in its
LOOP.md, which still said 'handed only … never …'. ADR 0044's freeze
covers the prototype's single-invocation shape, not a
self-contradiction.

And head <file> can return a summary instead of the file: reproduced,
head -1 on a 111-line file yields '[111 more lines]'. sed, awk, grep, wc
and piped cat|head are exact. Bare head is not always summarised, which
is worse — a tool that usually works is one you stop checking. The
subagent's report of a stale version string was not reproduced and is
recorded as open.

See CHANGELOG [Unreleased].
@lozit
lozit merged commit 7e5bb34 into main Oct 9, 2026
2 checks passed
@lozit
lozit deleted the fix/prototype-paraphrase-and-head-gotcha branch October 9, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant