Repository navigation
Undo reactivates closed assets; guard passes; slack-bot fixes; rooms survey - #45
Merged
jallers merged 4 commits intoNov 7, 2026
Merged
Conversation
Agility refuses to Delete a closed asset (Violation'AssetCannotDeleteClosed), so batch.reversible now reads the state of every asset its reverse deletes and puts a Reactivate before the Delete of each closed one (`reactivated`). That puts two commands on one asset, which a guarded batch could never send: both were stamped with the ChangeDate read before the batch, so the second always matched nothing and was silently skipped. The guard now sends an asset's later commands as later passes, each only if the previous one applied and guarded on the ChangeDate read just after it (sendPasses, passesOf); runBatch and sendGuarded use it. A failure after an earlier pass applied throws GuardedPassError / BatchSendError with what applied. Live (v1sdktesting): a batch-created Story, closed afterwards, is reactivated and deleted by its undo. Plan 001 records the finding, the multi-value-list-adds finding from the slack bot, and the agility-rooms survey (A7 requirements, Track D questions). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
Track B is done on the bot side. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
From the slack bot's B4: - resolve.numbers remembered roots an instance lacks per transport, so a server building a client per user paid the failed-then-retry round trip on every lookup. With a TypeCache (the client passes its schema's) the cache's own record of a missing type (null) is that memory, shared by every client of the instance. Without one, it stays per transport. - AssetState 200 (a template) arrives as the code "200". ASSET_STATE_CODES gains Template: 200, and assetStateOf reads any spelling by name; rest-1 and resolve use it. Live: TK-01001 on v1sdktesting is "Template". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
From the slack bot's live checks (2026-11-07): an update giving a multi-value relation a plain list adds its members rather than replacing the list, and Agility refuses to Delete a closed asset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
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.
Undo now reactivates a closed asset before deleting it. This needed a guard fix, plus two small fixes from the slack bot's B4.
batch.reversiblenow puts a Reactivate before the Delete of any asset that's closed, and lists those inreactivated.TypeCache, not per transport. AssetState200now reads as"Template".All 113 unit tests pass. On v1sdktesting, undoing a batch whose story was closed afterwards reactivates and deletes it, and TK-01001 resolves as
"Template".Generated by Claude Code