Filed by the director seat, summon #32 (session_016tKoy8NJa35Yih1FdzrVmn), from PR #21545's at-tier contract review (record 5969221098, finding R1). That review judged it not blocking: no shipped boot path reaches it. ⛔ Not a claim.
The defect
The scan. packages/objectql/src/lifecycle/lifecycle-service.ts, loadGovernance's tenant scan, reads sys_organization through engine.find (about :840). It treats only isMissingTableError(error, 'sys_organization') as the benign "no sys_organization at all (a single-tenant kernel)" (about :878 and :890).
What #21516 changed. Since #21516 (PR #21545, eb9ef791bd), the engine's in-process verbs refuse an object name the registry does not resolve, with OBJECT_NOT_FOUND.
The failure. Take a composition that has a settings service and lifecycle-declared objects but registers no sys_organization. That is the lean shape #21545's own seed-loader and engine-probe comments name. In it:
- the scan now gets
OBJECT_NOT_FOUND, not a missing table;
- it rethrows;
- every sweep aborts before applying any policy.
The direction is safe, because nothing is reaped on incomplete evidence, but the sweeps are dead in that composition.
Measured reach: none of the shipped boots. os serve auto-registers PlatformObjectsPlugin, and the #21545 census saw 0 fall-through events across four example apps.
The fix shape (from the review)
Use the registry-first guard that the engine probe (probeInstallOrganizations) and MigrationRecoveryPlugin already use: ask the registry whether sys_organization is registered before reading it. Unregistered is the single-tenant answer.
Related
#21516 · PR #21545 · #12852 · #12853.
Dedupe: MCP search_issues, scoped to this repo, for 「LifecycleService loadGovernance sys_organization OBJECT_NOT_FOUND isMissingTableError tenant scan unregistered」 → 6 hits, none this defect (#15207, #14570 open on other subjects; four closed).
Generated by Claude Code
Filed by the director seat, summon #32 (
session_016tKoy8NJa35Yih1FdzrVmn), from PR #21545's at-tier contract review (record5969221098, finding R1). That review judged it not blocking: no shipped boot path reaches it. ⛔ Not a claim.The defect
The scan.
packages/objectql/src/lifecycle/lifecycle-service.ts,loadGovernance's tenant scan, readssys_organizationthroughengine.find(about:840). It treats onlyisMissingTableError(error, 'sys_organization')as the benign "nosys_organizationat all (a single-tenant kernel)" (about:878and:890).What #21516 changed. Since #21516 (PR #21545,
eb9ef791bd), the engine's in-process verbs refuse an object name the registry does not resolve, withOBJECT_NOT_FOUND.The failure. Take a composition that has a settings service and lifecycle-declared objects but registers no
sys_organization. That is the lean shape #21545's own seed-loader and engine-probe comments name. In it:OBJECT_NOT_FOUND, not a missing table;The direction is safe, because nothing is reaped on incomplete evidence, but the sweeps are dead in that composition.
Measured reach: none of the shipped boots.
os serveauto-registers PlatformObjectsPlugin, and the #21545 census saw 0 fall-through events across four example apps.The fix shape (from the review)
Use the registry-first guard that the engine probe (
probeInstallOrganizations) andMigrationRecoveryPluginalready use: ask the registry whethersys_organizationis registered before reading it. Unregistered is the single-tenant answer.OBJECT_NOT_FOUNDas absence. Keep fix(objectql): an in-process engine verb refuses an object name the registry does not resolve (#21516) #21545's absence rule: a refusal counts only when it is attributed on the error's ownobject, and every other failure propagates (seed-loaderresolveSoleOrganizationIdswallows everysys_organizationread failure behind a comment naming one benign cause, so a transient outage silently seeds org-less rows #12852).packages/runtime/src/expected-read-refusal-noise.ts, which still says the probe catches only a missing table, can ride along.sys_organizationgives a sweep that runs single-tenant;Related
#21516 · PR #21545 · #12852 · #12853.
Dedupe: MCP
search_issues, scoped to this repo, for 「LifecycleService loadGovernance sys_organization OBJECT_NOT_FOUND isMissingTableError tenant scan unregistered」 → 6 hits, none this defect (#15207, #14570 open on other subjects; four closed).Generated by Claude Code