fix(daemon): preserve brief delivery state across task switches - #6778
Draft
open-design-crew[bot] wants to merge 1 commit into
Draft
fix(daemon): preserve brief delivery state across task switches#6778open-design-crew[bot] wants to merge 1 commit into
open-design-crew[bot] wants to merge 1 commit into
Conversation
Restore delivered and publication-retry UI state when Codex remounts the brief card, while keeping the server-issued confirmation as the business truth. Validated with focused brief tests, the daemon suite, daemon build/typecheck, workspace typecheck, and guard.
xxiaoxiong
approved these changes
Aug 12, 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.
Fixes #6777
Why
Use case: QA reproduced a confirmed and delivered Open Design brief returning to its initial state after switching away from a Codex task and back.
Pain: Showing Confirm requirements again implies the brief was not sent and lets the same confirmed payload be published repeatedly after each card remount.
What users will see
A delivered requirements brief remains locked and displays the sent state after switching Codex tasks. If publication failed after confirmation, the remounted card offers only Continue sending and does not confirm the brief again.
Surface area
apps/weborapps/desktop(including Electron menu bar)odsubcommand or flag, newtools-dev/tools-packflag, or newOD_*env var/api/*endpoint, new SSE event, or changed shape inpackages/contractsskills/,design-systems/,design-templates/, orcraft/, or change to the skills protocolTRANSLATIONS.mdfor the locale workflow)package.json(dependenciesordevDependencies); workspace-packagepackage.jsonfiles are out of scope. Include a paragraph on what we get vs. what bytes we ship (seeCONTRIBUTING.mdβ Code style)Screenshots
Not applicable.
Bug fix verification
apps/daemon/tests/mcp-brief-app.test.tsmain: yesValidation
Focused remount red spec on the pre-fix source: 2 failedFocused remount regression after the fix: 2 passedpnpm exec vitest run -c vitest.config.ts tests/mcp-brief-app.test.ts: 19 passedpnpm --filter @open-design/daemon test: 645 files passed, 8232 tests passedpnpm --filter @open-design/daemon typecheckpnpm --filter @open-design/daemon buildpnpm guardpnpm typecheckgit diff --check