Skip to content

Fix Slack continuation replies and Content provenance#2223

Merged
3mdistal merged 3 commits into
mainfrom
codex/slack-qa-followups
Jul 20, 2026
Merged

Fix Slack continuation replies and Content provenance#2223
3mdistal merged 3 commits into
mainfrom
codex/slack-qa-followups

Conversation

@3mdistal

Copy link
Copy Markdown
Contributor

Summary

  • suppress the framework unverified-artifact warning when a durable queued A2A continuation owns the final Slack response, without weakening artifact URL verification
  • carry validated Slack platform and thread provenance through authenticated A2A metadata and receiver-generated hidden context
  • teach Content intake to submit both the exact source thread and Submitted via = Slack only when the live form exposes unique enabled matches
  • preserve the successful-mutation and delivery-only-retry contract from Fix Slack reply recovery after successful mutations #2212

Verification

  • 233 focused tests across artifact guarding, A2A client and receiver validation, webhook suppression, continuation terminal delivery, and call-agent forwarding
  • pnpm --filter @agent-native/core run typecheck
  • pnpm changeset status
  • oxfmt on modified TypeScript
  • git diff --check
  • independent final code review: no blockers

Human QA

The real successful-user story requires the production Slack bot; there is no preview Slack environment. After merge and clean deployment, run the frozen story:

  1. Create one disposable Design Ask from Slack.
  2. Confirm there is no preliminary unverified-artifact warning, exactly one verified terminal reply, one Content row, and Submitted via = Slack when the live form option is enabled.
  3. Rename the row in Content.
  4. Correct an unrelated field in the same Slack thread.
  5. Confirm the same Content ID and live title remain, no duplicate appears, and Slack posts exactly one truthful confirmation.

No production mutation or live Slack reproduction was run in this PR.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 17, 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.

builder-io-integration[bot]

This comment was marked as outdated.

builder-io-integration[bot]

This comment was marked as outdated.

@3mdistal
3mdistal force-pushed the codex/slack-qa-followups branch from 40451be to d79a770 Compare July 20, 2026 16:11

@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 prior audience-binding issue by requiring __a2aAudienceVerified === true before resolving any opaque Slack integration reference. The new regression test covers a verified-but-audience-unbound token, and the stale blocking review thread has been resolved.

The current design now combines audience-bound A2A authentication with an opaque task reference, Dispatch-side owner/email and organization scoping, validated Slack URL extraction, and fail-closed resolver behavior. Async propagation, continuation delivery, artifact guarding, and the earlier parent-mutation preservation fix remain intact. Two parallel balanced reviews found no new confirmed bugs, security issues, or performance regressions.

Risk level: High, because the PR changes authenticated cross-app metadata and persisted provenance.

🧪 Browser testing: Skipped — the incremental changes are limited to backend/core and Dispatch integration logic, tests, and documentation; there is no browser UI impact.

@3mdistal
3mdistal merged commit 4060f2a into main Jul 20, 2026
91 checks passed
@3mdistal
3mdistal deleted the codex/slack-qa-followups branch July 20, 2026 17:21
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