Skip to content

Preserve current Content state in Slack corrections#2186

Merged
3mdistal merged 2 commits into
mainfrom
codex/slack-correction-state-receipts
Jul 17, 2026
Merged

Preserve current Content state in Slack corrections#2186
3mdistal merged 2 commits into
mainfrom
codex/slack-correction-state-receipts

Conversation

@3mdistal

Copy link
Copy Markdown
Contributor

Summary

  • treat persisted artifact titles as historical aliases and make Slack corrections sparse patches against live Content state
  • return an identity-only verified receipt when a mutation succeeds without a final integration summary
  • reject failed, incomplete, conflicted, and read-only actions from mutation receipts

Verification

  • vitest focused suite: 116 tests passed
  • pnpm --filter @agent-native/core typecheck
  • git diff --check

QA

Alice approved post-merge real Slack QA because this integration has no preview bot/environment. The frozen test is: rename a Slack-created record in Content, correct unrelated fields in the original Slack thread, and verify the same ID remains, the live title is preserved, no duplicate is created, and Slack posts one truthful confirmation.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

builder-io-integration[bot]

This comment was marked as outdated.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@builder-io-integration builder-io-integration Bot 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.

Builder reviewed your changes — looks good ✅

Review Details

Incremental Code Review Summary

The latest commit fixes the previously reported webhook metadata issue by preserving isError and completedSideEffect in collectToolResultSummaries, and it adds regression coverage proving failed/incomplete writes do not generate artifact links. It also updates the Content guidance to require pull-document before external corrections, resolving the stale collaborative-state concern.

The receipt and fallback paths remain sound: only completed, non-error mutation events feed verified receipts, conflicts are excluded, and nested A2A artifacts retain their target-app origin. Two independent incremental reviews found no new actionable defects. The prior conditional-write/CAS concern remains open and was intentionally not reposted because it is already visible on the PR.

Risk level: Standard.

🧪 Browser testing: Skipped — PR only modifies backend/integration logic, skills, and tests; no browser UI impact.

@netlify

This comment has been minimized.

@3mdistal
3mdistal merged commit 0b721a4 into main Jul 17, 2026
90 checks passed
@3mdistal
3mdistal deleted the codex/slack-correction-state-receipts branch July 17, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants