Skip to content

Make archive-card proposals preview the real block outcome - #2410

Merged
Chris0Jeky merged 5 commits into
mainfrom
issue-2185/archive-card-residuals
Sep 3, 2026
Merged

Make archive-card proposals preview the real block outcome#2410
Chris0Jeky merged 5 commits into
mainfrom
issue-2185/archive-card-residuals

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Summary

  • seed planned create-card title and unblocked state so a later archive preview shows the real false -> true transition
  • record an already-blocked card's archive reason change in its audit summary instead of reporting no fields changed
  • explain that archive-card proposals apply by blocking the card with the generated archive reason
  • pin the intentionally different operation payloads emitted by MCP and internal chat producers

Implementation notes

  • readable preview state advances only after each operation is rendered, preserving ordered preview == apply semantics
  • MCP keeps { boardId, cardId }; the internal propose_archive_card executor keeps { cardId }
  • cards still have no separate archived state; Apply uses Block with Archived by an approved proposal. after explicit review and approval

Tests added or updated

  • planned create-card -> archive readable-diff regression
  • changed and unchanged block-reason audit regressions
  • MCP and internal producer payload-shape assertions
  • MCP and chat tool-description assertions

Verification

  • red first: corrected Application run had the three expected failures; API metadata run had the one expected wording failure
  • focused Application classes plus operation handler: 280 passed
  • focused API archive/MCP subset: 3 passed
  • full backend solution before the disjoint current-main merge: 8,716 passed, 5 skipped, 0 failed
  • current-main delta touches only Review frontend, canonical docs, and the active memory pointer; no backend path overlap
  • git diff --check origin/main...HEAD: passed

Docs

autodoc/interfaces/proposal-operation-vocabulary.md already states the selected Block semantics and remains unchanged. Canonical status/plan docs were not edited from this issue worktree.

NOT verified

  • no live external MCP client invocation or browser journey
  • the full backend solution was not repeated after the disjoint frontend/docs/memory base merge; the affected current-base subsets were repeated

Risks and follow-ups

  • an additional HTTP create-card -> archive diff fixture would be defense in depth; existing validator, handler, and readable-diff tests cover the deterministic planned-ID contract
  • the schema parameter retains the operation-language phrase card to archive; the top-level live tool description now states the exact persisted Block outcome

Closes #2185

Copilot AI lite review requested due to automatic review settings September 3, 2026 02:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T03:07:00.309175Z 6865670 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ebbe5fc96c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Chris0Jeky Chris0Jeky left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent fresh-context review of exact head ebbe5fc96cd85a3b9393aaf3f335a5db24dae43f against merge-base 2e56a043a336ff47dd79dbeeedfaaaeb73103225: 0 CRITICAL/HIGH findings; no review merge blocker.

The planned-card identity, archive block transition/reason, producer payload shapes, and apply target remain consistent. git diff --check passed. The current-main merge did not alter the nine owned paths.

Triage:

  • The connector's create -> rename -> archive stale-title observation is valid P2 presentation drift. It does not change the target GUID, block result, reason, or applied mutation, so it is non-blocking under the repository severity bar and is declined for this bounded review cycle.
  • A single HTTP planned-ID preview fixture would be defense-in-depth; the changed validator/rendering seam and existing sequential apply coverage already prove this slice.
  • The retained card_id parameter phrase is informational because both live outer tool descriptions state the Block-with-generated-reason behavior.

Hosted Windows backend/frontend and API integration jobs were still running at review completion. Merge remains contingent on exact-head CI finishing green and the normal aging/current-base preflight.

@Chris0Jeky Chris0Jeky left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-base interaction recheck of exact head 68656707376178c590ed6ee875bb64b7de6030ca against merge-base 4c6ce5f83e7e393c4d5790d7dd4afe9f2d97af15: 0 CRITICAL/HIGH findings; no new merge blocker.

The base advancement is exactly #2299's six frontend Inbox files. None of the nine #2410 backend paths changed during the merge. The current-base diff remains those nine files, git diff --check passed, and the affected Application and API subsets passed 280/280 and 3/3.

The previously triaged stale-title P2 remains non-blocking and is declined for this bounded cycle. Hosted exact-head CI is still running.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Backend][Proposals] Archive-card proposal operations apply as a silent no-op (IsBlocked=true with null BlockReason is ignored)

2 participants