fix(server): fail closed on relative rollback - #220
Merged
Conversation
Collaborator
Author
|
Hosted CI is green on exact head The PR remains draft only for before/after visual evidence; disposable browser use is awaiting explicit permission. |
Contributor
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
rynfar
marked this pull request as ready for review
August 31, 2026 18:58
This was referenced Aug 31, 2026
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.
Problem
Pylon treated a missing rollback capability as supported, exposed rollback for production providers, restored workspace state before proving provider state could reach the same target, and called relative turn-count rollback as if it were absolute. That could leave the filesystem, provider conversation, hidden refs, and projected thread history disagreeing.
Refs #200. This is the narrow capability-truth gate only; it does not claim the coordinated recovery saga is implemented.
Fix
relative; Cursor, Grok, Prime ACP, and Prime daemon areunsupported. No production adapter isabsolute.supportsConversationRollback: falsefrom every built-in provider presentation.absoluteclassification, before filesystem restore, workspace refresh, provider rollback, ref deletion, projection trimming, orthread.reverted.checkpoint.revert.failedactivity and document that coordinated rollback stays disabled until exact immutable filesystem/provider anchors, canonical server-writer fencing, postcondition proof, and restart recovery exist. External terminals, editors, and processes remain outside server lease coverage.Validation
CheckpointReactortests passedgit diff --checkVisual evidence
Both captures use the same synthetic checkpoint-backed thread in isolated worktrees and disposable databases. No live runtime state or private conversation data was used.
pylonat9ade80dd66220831d1bbfb155405af35e0d818fccea9e7b21e67ec41fa97c2c0e044d983b61275d4The before capture hovers the rollback control so its tooltip is visible. The after capture hovers the same user message; the rollback control is absent. Browser assertions found exactly one
Revert to this messagebutton before and zero after. Full-resolution evidence and fixture notes.Model:
openai-codex/gpt-5.6-solHarness: Prime Agent RLM
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.