Repository navigation
app: workstream pages read by version, restorable delete, Spec/Decisions read by jobs - #2290
Merged
Merged
Conversation
Schema 3 (unreleased) gains deleted_at and the delete that removed each page. Delete marks a subtree; restore brings back what that delete removed, placed last under a live parent or at the root. A page reads any saved version. Read-by-jobs defaults on for pages titled Spec or Decisions at creation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…a deleted page The wire handlers serve the wire contract's v0.1 page additions and apply the Spec/Decisions read-by-jobs default when page.create leaves it unset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AbirAbbas
force-pushed
the
workstreams/wpf1-pages
branch
from
November 3, 2026 07:32
1cbc814 to
1bcd3fe
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Page follow-ups from the Workstreams plan (WP-F1), engine side of the wire contract's v0.1 page additions:
page.getwithversion: reads a saved version, read only. Title, doc, version and attribution are that version's; other fields are the page's current ones; markdown renders that version's doc. The current version reads the same as no version. A version the page never had isnot_found; version 0 isbad_params.page.deletemarks the page and its live subtree deleted (one delete) instead of destroying rows. Deleted pages leavepage.list'spages;include_deleted: trueaddsdeleted(each delete root, newest first, withdeleted_at).page.getstill reads them; other writes andpage.historyanswernot_found.page.restorewith onlyidbrings a deleted page back with its last title, doc and version plus the pages that same delete removed under it, placed last under its live old parent or at the root. Version restore of a live page is unchanged (bothversionandbase_version); other combinations arebad_params.page.createwithoutread_by_jobsturns it on for a title of Spec or Decisions (trimmed, any case), off otherwise. Applied in the wire handler;workstream.PageCreateis unchanged.workstream_pagesgainsdeleted_atand the deleting page's id in place, with no migration. A collections.db written by an earlier build of this branch must be removed.Validation contract
internal/workstream/pages_test.go,cmd/codeaf/appworkstreams_pages_test.goTestPartAPageTreePlacementCyclesAndDeletecmd/codeaf/appworkstreams_pages_test.go,internal/workstream/pages_test.goappworkstreams_conformance_test.goprepares the three new example pairs and the new error doorsLeft / follow-ups
workstream.ReadByJobsDefaultwhen it leaves read_by_jobs unset.CI
Red only on baseline failures, all also red on
workstreams/main's own push run for 1870bce:internal/session(TestNoRoadInTheTaskEngineHasMoreEndingsThanItsLedgerRow,TestNoRoadInTheMemoryEngineHasMoreEndingsThanTheCeiling).TestAppChatRowsR2SavedTurnTime,TestAppChatStartupR3QuietRelease,TestRecipeDoorWritesTheWorktreeWhenOnlyTheCheckoutIsHeld, and the package-level 15-minute timeout (cmd/codeafnow runs at or past 900 s on the integration branch too). The new workstream tests incmd/codeafrun before the timeout point and report no failure.internal/appwire,internal/workspace,internal/workstream): pass.Contract
Contract change (additive, v0.1):
page.get.version,page.list.include_deleted/deleted,deleted_aton page nodes and pages,page.restoreversion/base_versionnow optional (only id restores a deleted page), the read_by_jobs creation default.🤖 Generated with Claude Code