⚠️ This post is the RECORD of state, not the state. Every fire re-reads the labels. ⛔ Never read a count here as current.
📌 Job description: .claude/skills/pm-dispatch/references/lanes/engine.md. ⛔ Not hand-copied per term. Seat 2 is #20966 .
Refreshed 2026-10-04T08:31Z (round 27, landing window): 🟢 os-project-manager · session_017ErfyP2Rx7XWHJA27QjyUi, seated by take-over at 2026-10-03T12:28Z. The open-round marker is 5969160928.
1. Current PM — 🟢 os-project-manager
2. Ledger (⛔ re-read the labels before acting)
Landed this term (each verified on origin/main; the records are on the cards):
card
PR
squash
#5930 T2's measurement · p2 (Part of; card → pm:on-hold, restart condition in its body)
#21600
b610eabf7
#21511 · p2
#21603
ec390ec00d
#21485 · p2
#21611
440cd329a9
#21571 · p1 security
#21612
5c9138b4b6
#21544 · p1 security (raised from p2 on the measured door gap; contract review PASS 5972169363)
#21619
5d0e4e2793
#20595 stage 11 driver-mongodb · p3 (Part of)
#21617
f97660cdd6
#20595 stage 12 formula · p3 (Part of)
#21635
0a0debbe96
#20595 stage 13 metadata-fs · p3 (Part of); card closed completed: this lane's census reads 0 on main
#21640
1e4ae087a2
#21558 · p3 (contract review PASS 5972275685)
#21618
e367002e11
#21597 · p3
#21628
a1ca156da5
#21595 · p3
#21629
5d095a00ad
#21613 · p1 security (the write half of #21571 's rule)
#21631
5b5e83f446
#21620 · p3 (triage's narrower fallback; patch round 1 on the prescription)
#21637
7b07749f05
#21639 + #21638 · p3 (the view-container family's closing predicate)
#21648
eea82af677
#21604 · p2 security (maintainer's ruling B; contract review FAIL on the old head, then PASS 5975571464 on the landed head)
#21653
98eb3b9b89
#21646 · p2 (a seed keeps its authored created_at on insert)
#21661
be55fd2934
#21516 · p1 security (the previous seat's, landed by its caretaker, the director seat)
#21545
eb9ef791bd
#21658 · p2 (the save door refuses a handler-only hook)
#21686
ced217ca30
#21665 · p2 (a per-organization seed replay gives each organization its own row ids)
#21688
ff167402cf
#21663 · p2 (a system write's readonly value is judged for its shape; patch round 1 for an ADR anchor)
#21695
8843505d91
In the merge queue: none.
Accepted, landing once CI is green on the head (the seat flips each one ready and enables auto-merge after its landing readings):
[finding] On a walled posture a create that names no organization_id answers droppedFields [organization_id: readonly], a field the caller never sent (the insert analogue of #8093) #21682 (p2, raised on the console reading) → PR fix(objectql): droppedFields on a create names only keys the caller sent, never a middleware fill (#21682) #21701 . ACCEPT 5977530316. The merge queue dequeued it at 2026-10-04T08:07Z: one of its pins fills a readonly datetime with 'stamp', which fix(objectql)!: a system write's readonly value is judged for its shape — a seed's malformed readonly datetime is refused, never stored (#21663) #21695 's shape check (landed first) now refuses. Patch round 1 is with the original dev, to fix the fixture value only.
The metadata save door answers 200 to a hook with neither body nor handler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689 (p2) → PR fix(metadata-protocol)!: the save door refuses every hook with no body, including one with neither a body nor a handler (#21689) #21706 at 15402d98f8: the save door refuses every hook with no body, as one predicate. ACCEPT 5978101296.
In flight (mode:subagent under this session; each card's claim is the record):
Queue (pm:queue, unclaimed, this lane): empty.
Filed this term (finding, for triage):
scripts/pm/git-history.mjs: a bare-date --since is passed to git verbatim and read at the current time of day, so the tool answers a narrower window than its receipt names, at exit 0 #21601 (git-history.mjs bare-date window);
A write response still serves ORPHANED columns no metadata declares: after the read narrowing, PATCH /api/v1/data/OBJECT/ID answers 200 with a retired field's column in record #21613 (graded p1, landed);
The runtime save door accepts a view container saved under a name ANOTHER container expands to; the object door then lists the second container's list in place of the first's default, and no door answers a view item under the saved name #21620 (graded p3, in flight);
analytics on PostgreSQL: a non-UTC timezone still echoes date_trunc(GRANULARITY, col), whose keys fall on the session zone's calendar and group rows differently from the face #21630 (the analytics SQL echo under a non-UTC zone on PostgreSQL, analytics on SQLite: a week-bucketed (or non-UTC zone) dimension still echoes date_trunc, which SQLite refuses; driver-sql has no SQLite week expression #21595 's foreseen follow-up);
The runtime save door accepts a view container saved under the name of a view item a package ships; package-less, the row is attributed to the shipping package and its bare list replaces that package's default view on both doors #21638 (a container saved under a packaged view item's name; triage folded it into Two stored view containers of one object still displace each other's views: a container bound elsewhere or unbound under a sibling's expanded name, and a second container's bare list taking the first's <object>.default, are accepted with no diagnostic #21639 );
Two stored view containers of one object still displace each other's views: a container bound elsewhere or unbound under a sibling's expanded name, and a second container's bare list taking the first's <object>.default, are accepted with no diagnostic #21639 (landed);
The metadata save door answers 200 to a hook with a handler name and no body, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658 (the metadata save door accepts a body-less handler hook, from [Decision] security(objectql): may a hook's handler name bind to a function another package registered (the engine-wide fallback HookSchema.handler declares), or does name resolution stay inside the hook's own package (#21585 option B) #21604 );
A system-context write skips value-shape validation for readonly fields: a seed's malformed readonly datetime ('yesterday', an unresolved cel envelope) is stored verbatim, while the same value on a non-readonly field is refused #21663 (a system write skips readonly value-shape validation, from A seed row's explicit created_at is overwritten with the boot instant on INSERT (seed context sets no preserveAudit), yet written on the upsert UPDATE of a later boot — seeds cannot backdate creation time consistently #21646 );
The metadata save door answers 200 to a hook with neither body nor handler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689 (the save door also accepts a hook with neither body nor handler, from The metadata save door answers 200 to a hook with a handler name and no body, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658 ; unlocked once The metadata save door answers 200 to a hook with a handler name and no body, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658 landed, now in flight);
[finding] dispatch-gates derives the symbol-anchor sweeps only from their corpus paths, so a change that removes an anchored symbol from a TARGET file passes every local gate and reds CI #21697 (dispatch-gates never derives the symbol-anchor sweeps for a change to an anchored TARGET file; it cost PR fix(objectql)!: a system write's readonly value is judged for its shape — a seed's malformed readonly datetime is refused, never stored (#21663) #21695 one CI cycle).
Blocked or on hold in this lane:
Blocked: platform-admin re-anchor follow-up (Choice 4B): config-anchor the single posture — first-user promotion becomes development-only fallback #11979 , [finding] After #12892 step 2 an artifact boot with an engine still holds a THIRD, un-parsed copy of permissions / capabilities / sharingRules in the ObjectQL SchemaRegistry (AppPlugin.init → manifest.register), and the plugin-security / plugin-sharing seeders read that copy FIRST #14491 , sys_business_unit_member is unadjudicated in PLATFORM_OBJECT_TENANCY, so seed-replayed and system-written membership rows land organization-less #14570 , feat(objectql,plugin-auth): the Default Organization is load-bearing under single; an unstamped write is derived there and refused everywhere else (ADR-0131 D3/D9/D11) #15195 , feat(core,objectql,plugin-security,plugin-sharing): the catalog is read from the registry; assignment tables reference it by name (ADR-0131 D2/D3/D4) #15196 , feat(metadata-core,metadata-protocol,objectql,plugin-security): the sys_metadata family goes tenant-less; the per-organization overlay axis retires; managed content is sealed (ADR-0131 D6/D7/D13) #15206 , feat(objectql,cli): inventory + migration — four fates per object, mirrors deleted only after the id→name rewrite is verified, per-table boot report (ADR-0131 D10) #15211 , feat(spec,drivers,objectql,plugin-security): organization_id NOT NULL per cleared table; one predicate for Layer 0 and every driver; both orWhereNull arms, the __global__ sentinel and the #13491 ledger retire (ADR-0131 D1/D8/D9) — protocol 18 #15212 , feat(spec,objectql,cli): the template install mode — a package copied once into the environment ledger, fully editable, refused on shared-database multi-tenant postures (ADR-0131 D6) #15213 and The driver-level tenant scope (DriverOptions.tenantId → applyTenantScope) does not honour the deployment's platformGlobalObjects carve-out (#12699): an exempted object stays walled at the driver while Layer 0 composes nothing #15831 . These ten wait on [gate] the v18 development line is not open — ADR-0131 execution cards are blocked on this card #15193 (the v18 gate) and refactor(plugin-security,platform-objects,spec): retire the catalog seeders, the per-organization catalog machinery and the four catalog objects; Setup creation is an environment write under single and refused under a wall (ADR-0131 D2/D3/D5/D13) #15204 , both still open at the 2026-10-03T20:13Z unlock scan.
On hold: [finding] 仓内存在 5 个独立的过滤器→谓词编译器,每次语义裁决成本 ×5 —— 值得立「谓词编译收敛」调查程序(#5298 成本清单副产品) #5930 , [finding] Realtime DataEvent.after carries the raw driver row — a fifth __search surface that #7868 deliberately did not strip #7877 and drivers(sql): upsert's empty-merge-set fallback is merge-ALL, which re-admits every insert-only column — currently unreachable, but it is the wrong shape for "nothing to merge" #8740 .
Open with no pm state: Implement soft delete (recycle bin): enable.trash / softDelete are spec-only with zero runtime readers #3146 and [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499 .
Decision box: empty. Batch #275 ruled both cards on 2026-10-03T23:13Z: #21599 (letter A) closed with no change, and #21604 (letter B) landed. The census for #21604 could not reach the cloud repository: NOT MEASURED, raised to the maintainer in the round report.
All dev runs stopped once on an account usage limit at about 2026-10-03T13:00Z. They were resumed after the 15:00Z reset, with their claims and pushed branches intact.
3. Hot-file serial queue (regions, ⛔ not files)
Held this round:
engine.ts's insert caller-key record ([finding] On a walled posture a create that names no organization_id answers droppedFields [organization_id: readonly], a field the caller never sent (the insert analogue of #8093) #21682 , PR fix(objectql): droppedFields on a create names only keys the caller sent, never a middleware fill (#21682) #21701 , patch round);
protocol.ts's runtimeHookWithoutBodyRefusal (The metadata save door answers 200 to a hook with neither body nor handler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689 , PR fix(metadata-protocol)!: the save door refuses every hook with no body, including one with neither a body nor a handler (#21689) #21706 );
protocol.ts's _lock gates, servedLockState and getMetaDiagnostics (finding(metadata-protocol): two lock reports the #21670 read fix left unaligned — a host-config kernel's _lock gate admits a save the read now calls non-editable, and getMetaDiagnostics().stats[type].locked counts declared _lock only #21694 ), a different region from The metadata save door answers 200 to a hook with neither body nor handler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689 's.
Landed this term:
the metadata-protocol save door: finding(metadata-protocol): the runtime save door accepts a view container saved under one of its own expanded names, and after #21510's rule no door answers a view item for that name #21558 , The runtime save door accepts a view container saved under a name ANOTHER container expands to; the object door then lists the second container's list in place of the first's default, and no door answers a view item under the saved name #21620 , Two stored view containers of one object still displace each other's views: a container bound elsewhere or unbound under a sibling's expanded name, and a second container's bare list taking the first's <object>.default, are accepted with no diagnostic #21639 , The metadata save door answers 200 to a hook with a handler name and no body, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658 ;
seed-loader.ts's per-organization replay ids ([finding] On a walled showcase deployment every organization/create replays fixed-id sys_business_unit seeds that collide on the global id: 9 SeedLoader errors and an unresolved parent reference per new organization #21665 );
record-validator.ts's readonly value-shape scope (A system-context write skips value-shape validation for readonly fields: a seed's malformed readonly datetime ('yesterday', an unresolved cel envelope) is stored verbatim, while the same value on a non-readonly field is refused #21663 ).
engine.ts: the read and write shaping (An unprojected REST data query returns ORPHANED columns that no metadata declares (fields retired in an upgrade), outside any field-level rule, until os migrate apply --allow-destructive #21571 , A write response still serves ORPHANED columns no metadata declares: after the read narrowing, PATCH /api/v1/data/OBJECT/ID answers 200 with a retired field's column in record #21613 ) and the function-registry reading ([Decision] security(objectql): may a hook's handler name bind to a function another package registered (the engine-wide fallback HookSchema.handler declares), or does name resolution stay inside the hook's own package (#21585 option B) #21604 );
hook-binder.ts ([Decision] security(objectql): may a hook's handler name bind to a function another package registered (the engine-wide fallback HookSchema.handler declares), or does name resolution stay inside the hook's own package (#21585 option B) #21604 );
plugin.ts's audit stamp (A seed row's explicit created_at is overwritten with the boot instant on INSERT (seed context sets no preserveAudit), yet written on the upsert UPDATE of a later boot — seeds cannot backdate creation time consistently #21646 );
driver-sql's buildDateBucketExpr (driver-sql on PostgreSQL: a month (or any) date bucket over a date column shifts by the server's timezone (::timestamptz AT TIME ZONE 'UTC'), so with a non-UTC server a calendar day lands in the previous bucket #21485 , analytics on SQLite: a week-bucketed (or non-UTC zone) dimension still echoes date_trunc, which SQLite refuses; driver-sql has no SQLite week expression #21595 ).
packages/platform-objects/src/pages/sys-user.page.ts: domain:spec's spec(ui): release 2 of the objectui#7450 convergence — element:text.variant's heading / subheading become named refusals through the value-level retirement mechanism #21015 edits four variant values (declaration 5970455584).
4. Notes
📌 Job description:
.claude/skills/pm-dispatch/references/lanes/engine.md. ⛔ Not hand-copied per term. Seat 2 is #20966.Refreshed 2026-10-04T08:31Z (round 27, landing window): 🟢
os-project-manager·session_017ErfyP2Rx7XWHJA27QjyUi, seated by take-over at 2026-10-03T12:28Z. The open-round marker is 5969160928.1. Current PM — 🟢
os-project-managersession_017ErfyP2Rx7XWHJA27QjyUi, seated on/pm-dispatch engine. The maintainer's words in chat, verbatim: 「前任没有 token 了, 你接班」.session_01DDZNkDVwPQnevTFcYE47H3(os-elon-musk).trig_011gAwG3Q6PEcguQ2BQp4zug(hourly at :28, self-bound to this session). PR subscriptions: fix(objectql): droppedFields on a create names only keys the caller sent, never a middleware fill (#21682) #21701 and fix(metadata-protocol)!: the save door refuses every hook with nobody, including one with neither abodynor ahandler(#21689) #21706 (each is unsubscribed once it merges).2. Ledger (⛔ re-read the labels before acting)
Landed this term (each verified on
origin/main; the records are on the cards):Part of; card →pm:on-hold, restart condition in its body)b610eabf7ec390ec00d440cd329a9security5c9138b4b6security(raised from p2 on the measured door gap; contract review PASS 5972169363)5d0e4e2793driver-mongodb· p3 (Part of)f97660cdd6formula· p3 (Part of)0a0debbe96metadata-fs· p3 (Part of); card closedcompleted: this lane's census reads 0 onmain1e4ae087a2e367002e11a1ca156da55d095a00adsecurity(the write half of #21571's rule)5b5e83f4467b07749f05eea82af677security(maintainer's ruling B; contract review FAIL on the old head, then PASS 5975571464 on the landed head)98eb3b9b89created_aton insert)be55fd2934security(the previous seat's, landed by its caretaker, the director seat)eb9ef791bdced217ca30ff167402cf8843505d91In the merge queue: none.
Accepted, landing once CI is green on the head (the seat flips each one ready and enables auto-merge after its landing readings):
datetimewith'stamp', which fix(objectql)!: a system write's readonly value is judged for its shape — a seed's malformed readonly datetime is refused, never stored (#21663) #21695's shape check (landed first) now refuses. Patch round 1 is with the original dev, to fix the fixture value only.bodynorhandler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689 (p2) → PR fix(metadata-protocol)!: the save door refuses every hook with nobody, including one with neither abodynor ahandler(#21689) #21706 at15402d98f8: the save door refuses every hook with nobody, as one predicate. ACCEPT 5978101296.In flight (
mode:subagentunder this session; each card's claim is the record):_lockgate admits a save the read now calls non-editable, andgetMetaDiagnostics().stats[type].lockedcounts declared_lockonly #21694 (p3): the_lockdoor and the read agree on host-config, and the diagnostics count readsservedLockState. Claim 5978125482, after triage's unlock 5977892938. H1 (why the gates skip host-config) decides the arm.Queue (
pm:queue, unclaimed, this lane): empty.fe1017287f.Filed this term (
finding, for triage):--sinceis passed to git verbatim and read at the current time of day, so the tool answers a narrower window than its receipt names, at exit 0 #21601 (git-history.mjsbare-date window);record#21613 (graded p1, landed);timezonestill echoesdate_trunc(GRANULARITY, col), whose keys fall on the session zone's calendar and group rows differently from the face #21630 (the analytics SQL echo under a non-UTC zone on PostgreSQL, analytics on SQLite: a week-bucketed (or non-UTC zone) dimension still echoes date_trunc, which SQLite refuses; driver-sql has no SQLite week expression #21595's foreseen follow-up);<object>.default, are accepted with no diagnostic #21639);<object>.default, are accepted with no diagnostic #21639 (landed);handlername and nobody, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658 (the metadata save door accepts a body-lesshandlerhook, from [Decision] security(objectql): may a hook'shandlername bind to a function another package registered (the engine-wide fallback HookSchema.handler declares), or does name resolution stay inside the hook's own package (#21585 option B) #21604);'yesterday', an unresolvedcelenvelope) is stored verbatim, while the same value on a non-readonly field is refused #21663 (a system write skips readonly value-shape validation, from A seed row's explicitcreated_atis overwritten with the boot instant on INSERT (seed context sets nopreserveAudit), yet written on the upsert UPDATE of a later boot — seeds cannot backdate creation time consistently #21646);bodynorhandler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689 (the save door also accepts a hook with neitherbodynorhandler, from The metadata save door answers 200 to a hook with ahandlername and nobody, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658; unlocked once The metadata save door answers 200 to a hook with ahandlername and nobody, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658 landed, now in flight);dispatch-gatesnever derives the symbol-anchor sweeps for a change to an anchored TARGET file; it cost PR fix(objectql)!: a system write's readonly value is judged for its shape — a seed's malformed readonly datetime is refused, never stored (#21663) #21695 one CI cycle).Blocked or on hold in this lane:
singleposture — first-user promotion becomes development-only fallback #11979, [finding] After #12892 step 2 an artifact boot with an engine still holds a THIRD, un-parsed copy ofpermissions/capabilities/sharingRulesin the ObjectQL SchemaRegistry (AppPlugin.init→manifest.register), and the plugin-security / plugin-sharing seeders read that copy FIRST #14491,sys_business_unit_memberis unadjudicated inPLATFORM_OBJECT_TENANCY, so seed-replayed and system-written membership rows land organization-less #14570, feat(objectql,plugin-auth): the Default Organization is load-bearing undersingle; an unstamped write is derived there and refused everywhere else (ADR-0131 D3/D9/D11) #15195, feat(core,objectql,plugin-security,plugin-sharing): the catalog is read from the registry; assignment tables reference it by name (ADR-0131 D2/D3/D4) #15196, feat(metadata-core,metadata-protocol,objectql,plugin-security): thesys_metadatafamily goes tenant-less; the per-organization overlay axis retires; managed content is sealed (ADR-0131 D6/D7/D13) #15206, feat(objectql,cli): inventory + migration — four fates per object, mirrors deleted only after the id→name rewrite is verified, per-table boot report (ADR-0131 D10) #15211, feat(spec,drivers,objectql,plugin-security):organization_idNOT NULL per cleared table; one predicate for Layer 0 and every driver; bothorWhereNullarms, the__global__sentinel and the #13491 ledger retire (ADR-0131 D1/D8/D9) — protocol 18 #15212, feat(spec,objectql,cli): the template install mode — a package copied once into the environment ledger, fully editable, refused on shared-database multi-tenant postures (ADR-0131 D6) #15213 and The driver-level tenant scope (DriverOptions.tenantId→applyTenantScope) does not honour the deployment'splatformGlobalObjectscarve-out (#12699): an exempted object stays walled at the driver while Layer 0 composes nothing #15831. These ten wait on [gate] the v18 development line is not open — ADR-0131 execution cards are blocked on this card #15193 (the v18 gate) and refactor(plugin-security,platform-objects,spec): retire the catalog seeders, the per-organization catalog machinery and the four catalog objects; Setup creation is an environment write undersingleand refused under a wall (ADR-0131 D2/D3/D5/D13) #15204, both still open at the 2026-10-03T20:13Z unlock scan.DataEvent.aftercarries the raw driver row — a fifth__searchsurface that #7868 deliberately did not strip #7877 and drivers(sql):upsert's empty-merge-set fallback is merge-ALL, which re-admits every insert-only column — currently unreachable, but it is the wrong shape for "nothing to merge" #8740.enable.trash/softDeleteare spec-only with zero runtime readers #3146 and [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499.Decision box: empty. Batch #275 ruled both cards on 2026-10-03T23:13Z: #21599 (letter A) closed with no change, and #21604 (letter B) landed. The census for #21604 could not reach the cloud repository: NOT MEASURED, raised to the maintainer in the round report.
All dev runs stopped once on an account usage limit at about 2026-10-03T13:00Z. They were resumed after the 15:00Z reset, with their claims and pushed branches intact.
3. Hot-file serial queue (regions, ⛔ not files)
engine.ts'sinsertcaller-key record ([finding] On a walled posture a create that names no organization_id answers droppedFields [organization_id: readonly], a field the caller never sent (the insert analogue of #8093) #21682, PR fix(objectql): droppedFields on a create names only keys the caller sent, never a middleware fill (#21682) #21701, patch round);protocol.ts'sruntimeHookWithoutBodyRefusal(The metadata save door answers 200 to a hook with neitherbodynorhandler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689, PR fix(metadata-protocol)!: the save door refuses every hook with nobody, including one with neither abodynor ahandler(#21689) #21706);protocol.ts's_lockgates,servedLockStateandgetMetaDiagnostics(finding(metadata-protocol): two lock reports the #21670 read fix left unaligned — a host-config kernel's_lockgate admits a save the read now calls non-editable, andgetMetaDiagnostics().stats[type].lockedcounts declared_lockonly #21694), a different region from The metadata save door answers 200 to a hook with neitherbodynorhandler, which the runtime skips at every re-sync ("unresolved handler"): the bare hook is stored, served by name, and never runs #21689's.metadata-protocolsave door: finding(metadata-protocol): the runtime save door accepts a view container saved under one of its own expanded names, and after #21510's rule no door answers a view item for that name #21558, The runtime save door accepts a view container saved under a name ANOTHER container expands to; the object door then lists the second container's list in place of the first's default, and no door answers a view item under the saved name #21620, Two stored view containers of one object still displace each other's views: a container bound elsewhere or unbound under a sibling's expanded name, and a second container's bare list taking the first's<object>.default, are accepted with no diagnostic #21639, The metadata save door answers 200 to a hook with ahandlername and nobody, which the runtime then refuses at bind: a runtime-authored hook holds no functions, so that form can never run #21658;seed-loader.ts's per-organization replay ids ([finding] On a walled showcase deployment every organization/create replays fixed-id sys_business_unit seeds that collide on the global id: 9 SeedLoader errors and an unresolved parent reference per new organization #21665);record-validator.ts's readonly value-shape scope (A system-context write skips value-shape validation for readonly fields: a seed's malformed readonly datetime ('yesterday', an unresolvedcelenvelope) is stored verbatim, while the same value on a non-readonly field is refused #21663).engine.ts: the read and write shaping (An unprojected REST data query returns ORPHANED columns that no metadata declares (fields retired in an upgrade), outside any field-level rule, untilos migrate apply --allow-destructive#21571, A write response still serves ORPHANED columns no metadata declares: after the read narrowing, PATCH /api/v1/data/OBJECT/ID answers 200 with a retired field's column inrecord#21613) and the function-registry reading ([Decision] security(objectql): may a hook'shandlername bind to a function another package registered (the engine-wide fallback HookSchema.handler declares), or does name resolution stay inside the hook's own package (#21585 option B) #21604);hook-binder.ts([Decision] security(objectql): may a hook'shandlername bind to a function another package registered (the engine-wide fallback HookSchema.handler declares), or does name resolution stay inside the hook's own package (#21585 option B) #21604);plugin.ts's audit stamp (A seed row's explicitcreated_atis overwritten with the boot instant on INSERT (seed context sets nopreserveAudit), yet written on the upsert UPDATE of a later boot — seeds cannot backdate creation time consistently #21646);driver-sql'sbuildDateBucketExpr(driver-sql on PostgreSQL: a month (or any) date bucket over adatecolumn shifts by the server's timezone (::timestamptz AT TIME ZONE 'UTC'), so with a non-UTC server a calendar day lands in the previous bucket #21485, analytics on SQLite: a week-bucketed (or non-UTC zone) dimension still echoes date_trunc, which SQLite refuses; driver-sql has no SQLite week expression #21595).packages/platform-objects/src/pages/sys-user.page.ts:domain:spec's spec(ui): release 2 of the objectui#7450 convergence —element:text.variant'sheading/subheadingbecome named refusals through the value-level retirement mechanism #21015 edits fourvariantvalues (declaration 5970455584).4. Notes
SKILL.mdandreferences/**read at touch9dae4752e;check-harness-current.mjsCURRENT atcc645f2385.yamllinked, because dev worktrees are removed at hand-back.Claim:naming the branch. The Closing-Target Claim Guard refuses otherwise, as it did on PR fix(metadata-protocol): one collision predicate at the save door — a stored view container never takes a name already served from elsewhere (#21639, #21638) #21648.