Skip to content

test(dogfood): reclassify flow runAs as enforced in the authz conformance ledger (#1888) - #3506

Merged
os-zhuang merged 1 commit into
mainfrom
fix/authz-ledger-flow-runas
Jul 27, 2026
Merged

test(dogfood): reclassify flow runAs as enforced in the authz conformance ledger (#1888)#3506
os-zhuang merged 1 commit into
mainfrom
fix/authz-ledger-flow-runas

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Small correctness fix surfaced by the 2026-07 security-props recheck (#3503, umbrella #1878).

Problem

packages/qa/dogfood/test/authz-conformance.matrix.ts still filed flow-run-as under "Removed — by ADR-0049 (roadmap M2)" with note ADR-0049 → roadmap M2. That contradicts the live code: #1888 implemented flow runAs for data nodes — crud-nodes.ts runs create/update/delete/query under the run's effective identity (runAs:'system' → RLS-bypassing; runAs:'user' → the trigger user, RLS enforced as them), with the authorization envelope in the service-automation engine (runtime-identity.ts). It is proven by two dogfood tests (flow-runas.dogfood.test.ts, flow-runas-schedule.dogfood.test.ts).

Leaving it marked "removed/roadmap" is exactly the declared≠actual drift this ledger exists to prevent — here in the safe direction (understating enforcement), but still a stale entry.

Fix

Moved the entry to the "Enforced (unit-proven; e2e proof is a follow-on)" section with its runtime enforcement site + proof file, and a note recording the ADR-0049 → #1888 history. Its neighbor allow-transfer-restore-purge correctly stays removed/roadmap (those ops genuinely do not exist in ObjectQL yet).

Verification

authz-conformance.test.ts9/9 green — the reclassified entry satisfies the ledger invariants (enforced-has-site, proof-file-exists).

Refs #1878, #1888.

🤖 Generated with Claude Code

…ance ledger (#1888)
The authz-conformance ledger still filed `flow-run-as` under "Removed — by
ADR-0049 (roadmap M2)", contradicting the live enforcement: #1888 implemented
runAs for flow data nodes (crud-nodes.ts honors flow.runAs — system →
RLS-bypassing, user → trigger identity), proven by flow-runas.dogfood.test.ts
and flow-runas-schedule.dogfood.test.ts.
Moved the entry to the "Enforced (unit-proven; e2e proof is a follow-on)"
section with its runtime enforcement site + dogfood proof, satisfying the
ledger's enforced-has-site / proof-exists invariants (authz-conformance.test.ts
9/9 green). Surfaced by the 2026-07 security-props recheck (#1878).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercelBot commented Jul 27, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specBuildingBuildingPreview, CommentJul 27, 2026 1:09am

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation tooling size/s labels Jul 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): packages/qa.

2 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/permissions/authorization.mdx(via packages/qa)
  • content/docs/permissions/delegated-administration.mdx(via packages/qa)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@os-zhuang
os-zhuang merged commit 6c94288 into mainJul 27, 2026
16 of 17 checks passed
@os-zhuang
os-zhuang deleted the fix/authz-ledger-flow-runas branch July 27, 2026 01:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/stooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@os-zhuang