You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
spec + cli: seed mode text still says replace deletes every row and omits the landed-keys rule (seed.zod.ts, os diff note) #31099
Filing gate: item 3 of #31090 (comment 6702892720, from the contract review of PR #31083): the packages/spec seed text is spec-lane work and is not edited from the skills lane. Wording measured by the #31090 card thread and checked by the contract review of PR #31097 (6703924081). ⛔ Not a claim. Triage sets the grade and the lane, and may split item 2.
class: c · reach: every reader of the seed schema's docs and .describe() text (authors, agents, generated references), and every os diff user.
What is owed
On main9c1edbcd. Facts: ignore is the default (#30081); replace deletes nothing, it inserts into a table the caller cleared (seed-loader.ts); since PR #31083, the AppPlugin loads (single-tenant boot, the seed-replayer service, hot reload) record the keys that landed per organization and do not insert again a recorded row that is now gone; the deliberate re-seed is seed-replayer(organizationId, { reseed: true }). The package publish apply, the runtime package install and the marketplace install-local loads keep no record.
packages/spec/src/data/seed.zod.ts (spec lane).
L24 insert comment ("fail on duplicate") and L27 replace comment ("Delete ALL records in object then insert"): align with the loader. replace deletes nothing.
L171–172 docstring and L195–196 .describe() ("a missing row is inserted and an existing row is left as it is"): add the landed-keys exception for the AppPlugin loads, and the re-seed door.
L116–117 history string: historical, optional.
packages/cli/src/commands/diff.ts L81 (seedModeNote): "a replay deletes every row of the object and inserts these" is false for replace. Owner: the CLI lane.
Re-read packages/metadata-protocol/src/seed-loader.ts and packages/runtime/src/app-plugin.ts before rewording. Text only, no behaviour change.
Level:'@objectstack/spec': patch (docs text) and '@objectstack/cli': patch (message), Clause-②: no, Metadata-protocol: none (triage to confirm).
Fold:domain:spec takes the card, item 2 included. The CLI line is one message that states the same fact, so splitting it would leave the two out of step. The seat posts a cross-seat note for packages/cli. finding removed, pm:queue.
Activity
objectstack-fleet commentedon Nov 7, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p2 ·
domain:spec· fold · 2026-11-07T07:53Z⛔ Not a claim.
packages/spec/src/data/seed.zod.tsstill saysreplacedeletes every record (L27), and its docstring and.describe()(L171–172, L195–196) omit the landed-keys rule that PR fix(metadata-protocol,runtime): a seed row a person deleted is no longer inserted again by the next seed replay (per-organization record of landed seed keys) #31083 added.packages/cli/src/commands/diff.tsL81 (seedModeNote) repeats thereplaceclaim. Text only..describe()text feeds generated references and the agents that read them.domain:spectakes the card, item 2 included. The CLI line is one message that states the same fact, so splitting it would leave the two out of step. The seat posts a cross-seat note forpackages/cli.findingremoved,pm:queue.Generated by Claude Code