Skip to content

test(dogfood): fixtures read permission sets from the security catalog (#15204 stage 6b-2, T2) - #22898

Draft
objectstack-fleet[bot] wants to merge 3 commits into
mainfrom
claude/issue-15204-s6b2-t2-fixtures
Draft

objectstack-fleet[bot] wants to merge 3 commits into
mainfrom
claude/issue-15204-s6b2-t2-fixtures

Conversation

@objectstack-fleet

@objectstack-fleet objectstack-fleet Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Part of #15204
Clause-②: no

T2 of stage 6b-2: tests only. Fixtures that looked up a permission set's seeded sys_permission_set row now read the set from the security catalog (ADR-0131 D3, the catalog is its one home). Fixtures that model an existing database write the legacy row themselves. It is split off the 6b-2 code PR (#22900) so that PR falls under 3,000 changed lines.

Landing, as sequenced by the seat: T1, T2 and the 6b-2 code PR (#22900) stay drafts until #22900's own gates clear (the #22865 pickers and objectui PR-4), then land back to back, T1 → T2 → #22900. That way the publish materializer and the seeders are never live on main with their pins gone. 6b-2a (#22899) is independent and goes to the maintainer separately. This branch is green on main as it is today, while the seeder still runs. No production file changes.

What changes

  • New packages/qa/dogfood/test/catalog-permission-set.ts:
    • catalogPermissionSet(ql, name) returns the set the catalog serves (via securityCatalogReaderOf; it throws if no reader is bound, so a missing catalog cannot pass as an absent set);
    • ensureLegacyPermissionSetRow(ql, name, { managedBy }) writes the organization-less legacy row with its full body from the catalog definition, for the suites whose data-door cases need a row.
  • About 30 dogfood suites move from findOne('sys_permission_set') preconditions to catalogPermissionSet.
  • showcase-permission-zoo, two-doors-permission, showcase-permission-projection, permission-set-write-through-package-binding and permission-set-lock-row-provenance write the legacy row where their cases edit one. two-doors-permission 块1 (a publish materializes a row) goes; the materializer is deleted in 6b-2.
  • armed.dogfood.test.ts: the seeded controls use signed-up members, not usr_system.
  • permission-set-clone-boot-unowned-warning.dogfood.test.ts is deleted (it pins the seeder's boot warning).
  • plugin-security: new src/__tests__/legacy-catalog-rows.testkit.ts (seedLegacyPlatformBucket). Eight suites that model an existing database call it before their bootstrap.

Size

51 files, +312 / −308 (620 changed lines).

Verification

On this branch, with the seeder still running: full build; dogfood typecheck green; the 8 plugin-security fixture suites, 8 files, 72 passed; the 40 migrated dogfood suites, 40 files, 447 passed, 1 skipped. The three double-contract gates, check:changeset-no-major, check:nul-bytes green. The same fixtures also pass with the seeder deleted: they are inside the 6b-2 branch's full dogfood run (248 files green).

Test-only: skip-changeset.


🤖 Generated with Claude Code

https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49

…t a seeded sys_permission_set row (#15204 stage 6b-2, T2)

Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
Co-authored-by: Claude <noreply@anthropic.com>
…places did (#15204 stage 6b-2, T2)

Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

Nothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs.

What this run could not see

Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 63739521d854d49dbb08dbc5370c99fde8a7555c → packageMentionDocs.

…ctly before the code they pin (#15204 stage 6b-2, T2)

bootstrap-platform-admin.test.ts and bootstrap-platform-admin-seeded-provenance.test.ts
pin bootstrapPlatformAdmin's seeding, which 6b-2 deletes; this PR lands directly
before 6b-2. Their double-contract ledger entries go with them.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/xl skip-changeset PR has no user-facing published change; bypasses the changeset gate tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants