Skip to content

Release: recall 0.19.1 - #999

Merged
laynepenney merged 3 commits into
mainfrom
promote/v0.19.1
Aug 22, 2026
Merged

Release: recall 0.19.1#999
laynepenney merged 3 commits into
mainfrom
promote/v0.19.1

Conversation

@laynepenney

Copy link
Copy Markdown
Member

Promote dev to main for the recall 0.19.1 release.

Contents: the journal fix and the version bump to 0.19.1.

Closes #997

Promote-branch pattern: the head is promote/v0.19.1 (never dev), merged as a regular merge commit.

laynepenney and others added 3 commits August 22, 2026 10:57
Two defects in the journal store, both of which fail toward looking fine.

WRITE. The three journal fields were each split on ";", so a semicolon used
as ordinary punctuation fragmented a sentence and stripped its subject. The
result reads as a list of terse notes rather than as damage, which is why it
survived: nothing looks broken. Measured on a real entry, one field produced
seven items, six of which began mid-sentence, and one read in full as "the
fix on grip dev is 4d11834e" -- true, unattached, meaningless to the reader
it was written for.

Splitting now prefers newlines and falls back to semicolons only when the
text has none. That is how these fields are actually written -- one item per
line -- and it keeps every existing single-line caller working unchanged, so
`--done "a; b; c"` behaves exactly as before. A single-line field containing
prose semicolons is still ambiguous by construction; the fallback is what
preserves the documented CLI convention, and that trade is deliberate.

The split also existed in six places across two modules, which is its own
latent defect: fixing one path would have left the other mangling prose. It
is now one function, called from both.

READ. The session-start read is BOUNDED, and it rendered Done, then
Decisions, then Next -- so completed work consumed the window before open
threads were reached. Ordering is not a matter of taste on a truncated
surface; whatever leads is what survives. Open threads now lead. Completed
work is recoverable from git and the board; an unrecorded open question is
recoverable from nowhere.

The unbounded display is reordered to match. Nothing forces it there, but
two surfaces that teach different priorities are their own defect, and a
human reading a full entry also reads top-down and stops.

DOCUMENTATION. The author-facing text said "Semicolon-separated list" in six
places -- three in the MCP tool description and three in CLI help -- and after
this change that is wrong for the multi-line case and right for the
single-line one. A half-true rule is worse than the original defect, because
it is confidently wrong in one direction. Both surfaces now state the real
behaviour at the point of writing, along with the fact that the session-start
read is truncated and leads with next_steps, since that changes how an author
composes an entry. The two genuinely semicolon-delimited options elsewhere are
left alone.

Both witnesses assert what the READER RECEIVES rather than what was written,
which is the only form that catches this class -- the same move as verifying
a published artifact against what the server serves rather than against what
was uploaded. Each is killed by exactly one mutation: reversing the ordering
tuple reddens the ordering witness alone, and restoring the semicolon-only
split reddens the prose witness alone.

Co-Authored-By: Claude <noreply@anthropic.com>
fix(journal): keep prose whole on write, lead with open threads on read
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@laynepenney
laynepenney merged commit e9a9d78 into main Aug 22, 2026
9 of 12 checks passed
@laynepenney
laynepenney deleted the promote/v0.19.1 branch August 22, 2026 17:20
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

journal write splits prose on semicolons, and the bounded session-start read leads with completed work

1 participant