Skip to content

feat: add local durable review journal to agent actions - #2470

Draft
groupthinking wants to merge 2 commits into
mainfrom
codex/relay-durable-review-integration
Draft

groupthinking wants to merge 2 commits into
mainfrom
codex/relay-durable-review-integration

Conversation

@groupthinking

@groupthinking groupthinking commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Canonical issue

Closes #2469

Outcome

Adds an off-by-default local durable journal to the agent actions review path. In local-review-only mode, trusted identity scopes persisted pending plans, exact artifact bytes are verified, and original actions remain unexecuted.

Scope and paths

  • scripts/relay_harness/: Python SQLite and artifact journal, local CLI, and adapter.
  • apps/web/src/lib/ and apps/web/src/app/api/agents/actions/route.ts: Node bridge and opt-in route integration.
  • tests/, apps/web/vitest.config.ts, .github/workflows/relay-review-journal.yml, and docs/relay-durable-review-journal.md: regression tests, focused CI, and local-only usage.
  • No hosted or live action adapter, production activation, Origin G.A.T.E. authority change, or live account action is included.

Risk and rollback

Risk: medium. An opt-in local host could return an incorrect receipt or permit an original action in review-only mode. Focused route, denial, byte-verification, and recovery tests cover these boundaries. Revert the two PR commits to roll back the integration and preview change. The feature remains off by default.

Verification

Exact PR head: e3de2ae2d6ccb34b12dc1e0c2266eaf5e08a4e50. The second commit removes the branch-specific preview exclusion; the application tree and local regression code are unchanged from the first commit.

  • Python journal: 25 passed — TMPDIR=/private/tmp python3 -m unittest discover -s tests -p test_relay_local_harness.py -v.
  • Node bridge and route: 9 passed — TMPDIR=/private/tmp node --test tests/relay-local-review.test.mjs tests/relay-review-route.test.mjs.
  • Web suite: 1,520 passed, 28 skipped; 170 files passed — TMPDIR=/private/tmp NEXT_TELEMETRY_DISABLED=1 npm --prefix apps/web test.
  • npm --prefix apps/web run type-check and npm --prefix apps/web run lint: passed.
  • Focused durable journal CI: passed.
  • CI: passed, including optimized Next web build, Docker production image build, Python and frontend tests, and lint.
  • E2E Preview pipeline: 16 passed against this PR's Vercel Preview.
  • Coverage, Secret Scan, Security Scan, CodeQL, Dependency Review, and issue-closer workflows: passed on this head. Dependabot Auto Merge: skipped.
  • Vercel deployment status: success for this head (deployment).

Handoff

This remains a draft PR for review. The preview is user-approved. Production has not been changed, the PR is unmerged, and no live action was executed.

@github-actions github-actions Bot added ci/cd documentation Improvements or additions to documentation javascript Pull requests that update javascript code python tests labels Oct 27, 2026
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

🔍 PR Validation

⚠️ Large PR detected (1489 lines changed)

@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
v0-uvai Ready Ready Preview, v0 Oct 27, 2026 1:45am UTC

@github-actions

Copy link
Copy Markdown
Contributor

✅ E2E Test Results: ALL TESTS PASSED

Metric Value
Status 🟢 GREEN
Total Tests
Passed 16
Failed
Deployment https://v0-uvai-imt635sxp-garv1.vercel.app
Test Output
ss on every request without persisting it�[32m 1�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mTemplate Gallery�[2m > �[22mhomepage returns 200 with HTML�[32m 112�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mTemplate Gallery�[2m > �[22mfeatures page contains template/workflow markup�[32m 91�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mTemplate Gallery�[2m > �[22mfeatures page surfaces at least 5 workflow/template indicators�[32m 116�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mVideo Pack Pipeline�[2m > �[22mPOST /api/video/pack accepts a YouTube URL without hanging�[33m 1804�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mVideo Pack Pipeline�[2m > �[22mGET /api/video/pack resolves to a ready pack with evidence lineage�[33m 1147�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mError Handling�[2m > �[22mmissing URL returns 400, not a hang�[32m 54�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mError Handling�[2m > �[22minvalid URL returns 400 quickly, not a hang�[32m 80�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mError Handling�[2m > �[22mPOST /api/video/pack with no body returns 400�[32m 61�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mDashboard�[2m > �[22m/dashboard returns 200�[32m 127�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mDashboard�[2m > �[22m/dashboard contains agent or pipeline visualization markup�[32m 91�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mAPI Health�[2m > �[22mGET /api returns a response (not 404)�[32m 244�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mAPI Health�[2m > �[22mretired /api/pipeline routes are gone (no pipeline served)�[32m 32�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mStatic Assets�[2m > �[22mhomepage has proper meta tags�[32m 70�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mStatic Assets�[2m > �[22m/features page returns 200�[32m 99�[2mms�[22m�[39m

�[2m Test Files �[22m �[1m�[32m1 passed�[39m�[22m�[90m (1)�[39m
�[2m      Tests �[22m �[1m�[32m16 passed�[39m�[22m�[90m (16)�[39m
�[2m   Start at �[22m 01:46:22
�[2m   Duration �[22m 5.76s�[2m (transform 52ms, setup 0ms, import 66ms, tests 5.56s, environment 0ms)�[22m


This branch was successfully deployed

1 active deployment
Preview — e3de2ae2 Deployed Oct 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd documentation Improvements or additions to documentation javascript Pull requests that update javascript code python tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add opt-in local durable review journal to agent actions

1 participant