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.ts 9/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

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
spec Building Building Preview, Comment Jul 27, 2026 1:09am

Request Review

@github-actions github-actions Bot 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 main Jul 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 free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant