Skip to content

Rendering slice 4: semantic collector with model-level guards - #427

Merged
Juliusolsson05 merged 1 commit into
integration/rendering-pipelinefrom
feat/rendering-slice4-semantic
Jul 6, 2026
Merged

Juliusolsson05 merged 1 commit into
integration/rendering-pipelinefrom
feat/rendering-slice4-semantic

Conversation

@Juliusolsson05

Copy link
Copy Markdown
Owner

Block-level semantic candidates; #345 compaction kill at model level; finalized-only text keys; invariant-14 dedupe. 36/36 green, tsc clean. Self-merging per loop authorization.

🤖 Generated with Claude Code

…odel-level guards

observations/semantic.ts — current + history turns into block candidates
(plan D2). Guards that lived as React null-returns become decisions:
compaction synthesis yields zero candidates regardless of how the flag
was detected (#345's model-level kill), empty thinking / empty
write_stdin rejected with reasons, history turn matching the current
turn id dropped (dump invariant 14). Text ownership keys only on
FINALIZED text so streaming blocks can't be suppressed mid-growth.
History orders by endedAt, current by startedAt (the D4 choice that
makes the ordering law work).

36/36 pipeline tests green; tsc node+web 0 errors on full integration
diff.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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