Repository navigation
test(dogfood): fixture-18.0.0 — the upgrade harness boots a database the published 18.0.0 created - #24911
Merged
Conversation
Generated with scripts/gen-upgrade-harness-fixture.mjs from the @objectstack/cli@18.0.0 tag (06cab48). The populator switches the declared webhook on through its activation door and authors an organization webhook when the release seeds no mirror row; the census leaves organization_id out of a deployment-level table that never had it; the generator's copy filter no longer skips fixture-manifest.ts. Claude-Session: https://claude.ai/code/session_01YaviApKPNAuQLZVQarNfxP Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YaviApKPNAuQLZVQarNfxP Co-authored-by: Claude <noreply@anthropic.com>
…header Claude-Session: https://claude.ai/code/session_01YaviApKPNAuQLZVQarNfxP Co-authored-by: Claude <noreply@anthropic.com>
Contributor
📓 Docs Drift CheckNothing 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): |
Contributor
Author
|
Seat ACCEPT · epic PM Seat check
|
This was referenced Oct 20, 2026
os-steve
pushed a commit
that referenced
this pull request
Oct 20, 2026
… into 7b-0 Conflicts in seven fixture files take #24893's resolution (4dadd7e): where 7a-2 now writes the grant with an organization the pre-18 relax goes; where main still lands an organization-less row the relax stays. sharing-rule-criteria-required takes main's version verbatim (both sides had added the organization key). plugin-webhooks' new real-SqlDriver case gets the lean engine's Default Organization. Claude-Session: https://claude.ai/code/session_018EszgtA3V2KXBX5tf59Hi4 Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #24884
Clause-②: no
What
fixture-18.0.0: a database the published@objectstack/*@18.0.0created, added to the 18.x upgrade harness, with one leg pinning that HEAD boots it.packages/qa/dogfood/test/upgrade-harness/fixture-18.0.0/). It was generated byscripts/gen-upgrade-harness-fixture.mjs --ref @objectstack/cli@18.0.0 --checkout CHECKOUT --out …/fixture-18.0.0, from a built checkout of the@objectstack/cli@18.0.0tag (06cab4849a). That checkout'spackages/cli/dist(660 files) andpackages/runtime/distare sha256-identical to the npm 18.0.0 tarballs. The populator and the dump are the onesfixture-18.0uses: the same showcase app and the same seed actions. Its 18.0.0 shape, read from the dump:{shapeGeneration: 1, platformVersion: "18.0.0"};sys_share_link.organization_id varchar(255));sys_secretandsys_flow_credentialcarry noorganization_id.The census covers all 14 reshaped tables.
upgrade-18x-harness.dogfood.test.ts, a newdescribe). It runs on a fresh copy of the fixture:os migrate plan --json(the real binary, in the showcase's directory) reports nodestructivechange;fixture-18.0is unchanged. It stays the pre-release shape, and its legs run as before.Why the populator and census changed
18.0.0 differs from the pre-release in two ways the shared populator did not handle:
sys_webhookmirror row for a declared webhook. So, when no mirror row exists, the populator switchesshowcase_task_changedon throughPOST /security/_activation/webhook/:name, which is the door the 18.0.0 showcase docblock names. It also authors an organization webhook (upgrade_harness_task_changed), sosys_webhookstill holds the row an 18.0.0 install holds. The pre-release path, which PATCHes the mirror row, is unchanged.sys_secretandsys_flow_credentialare deployment-level at birth in 18.0.0. A newdropsOrganizationflag on those two entries lets the census leaveorganization_idout of their key columns where the table never had it. Every other missing key column is still refused.There is also a generator fix. Its copy filter (anything whose name starts with
fixture-) also skippedfixture-manifest.ts, so a--checkoutrun used the checkout's own census, not HEAD's. It now skips only the fixture directories.Verification
npx vitest run test/upgrade-18x-harness.dogfood.test.ts: 12 passed (12), which is the 8 existingfixture-18.0cases plus the 4 new ones.npx vitest run test/audit-mail-bodies.dogfood.test.ts test/identity-mail-read-gate.dogfood.test.ts, the other suites that import the populator: 29 passed (29).{kind: unmapped_column, category: destructive, op: drop_column}, so the filter is not vacuous.pnpm --filter @objectstack/dogfood typecheckexits 0. eslint--no-inline-configon the changed files exits 0.check:cross-package-test-inputs,check:test-source-aliasandcheck:doc-authoringexit 0.Size and release
@objectstack/dogfoodis private andscripts/ships in no package. So there is no changeset, and the PR carriesskip-changeset.Acceptance notes
The published 18.0.0 verification (R1, R1b, R4, and R3 with the ceremony) is reported on #24884 and to the epic seat. Its two documentation findings are release-owned, so they need a docs-only change. They are not fixed here:
singleinstalls only" entry;content/docs/upgrading.mdxhas no v18 row and does not mention the ceremony.Generated by Claude Code