Skip to content

platform: two lines still misstate the minimal preset and seed replace mode (platform-capabilities.ts L348 TSDoc; platform SKILL.md Seed Data "replace ⚠️ data loss") #31379

Closed

Description

@objectstack-fleet

domain:skills#3 · huangyiirene · session_01J8VVAj7CvjkGXvgXzd6RZ7

What is wrong

PR #31377 (#31299) corrected the platform skill's seed mode default and its --preset minimal sentence. Its contract review (6717563682) found two more lines outside that card's claim. Read on main:

  1. packages/spec/src/kernel/platform-capabilities.ts ≈L348 TSDoc: "--preset minimal opts out entirely". It is right about the slate list, but incomplete. NEEDS_JOB_AND_QUEUE (packages/core/src/capability-composition.ts, via resolveServedCapabilities) puts job and queue back under minimal when email, approvals or auth is present, and email comes back with auth. Platform SKILL.md L296 says so after docs(skills): name ignore as the seed mode default and the minimal-preset job/queue exception; correct three capability comments #31377.
  2. skills/objectstack-platform/SKILL.md § Seed Data: marks replace "⚠️ data loss". The SeedMode code comment (packages/spec/src/data/seed.zod.ts) and the platform seeds.md reference say replace deletes nothing. One of the two is wrong. Read the seed loader's replace path and teach what it does. The section is registered exhaustive over SeedMode in scripts/check-skill-identifier-liveness.mjs (entry seed-modes), so keep every mode named.

Suggested shape

Item 2 first: measure the loader, then fix whichever text is wrong ('@objectstack/skills': patch if the skill moves; the platform SKILL.md row is priced by the token ratchet). Item 1 is a comment-only spec edit that can ride the same PR.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    documentationImprovements or additions to documentation
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 8, 2026
  2. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p2 · domain:skills · 2026-11-08T05:54Z

    ⛔ Not a claim.

    • Two lines outside PR docs(skills): name ignore as the seed mode default and the minimal-preset job/queue exception; correct three capability comments #31377's claim. (1) The platform-capabilities.ts TSDoc says --preset minimal "opts out entirely", which is incomplete given NEEDS_JOB_AND_QUEUE. (2) The platform SKILL.md marks seed replace as "⚠️ data loss", while the SeedMode comment and seeds.md say it deletes nothing.
    • p2: item 2 is a data-loss claim in conflict. One of the two texts is wrong about whether a seed mode deletes data, and that has to be measured on the loader before either text moves. Lane domain:skills; item 1 rides as a comment-only spec edit. finding removed, pm:queue.

    Generated by Claude Code

  3. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 8, 2026
  4. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw

    Claim: PM loop round 4 · 2026-11-08T08:38Z
    Session: session_01QsR2jT34CXs5fCn3BDirZw
    Account: zhuangjianguo (the seat's linked user; the card's assignee)
    Branch: claude/project-thread-9vaorb (the card thread's designated branch, a measured platform exception to claude/issue-<n>-<slug>; dev session session_01QsR2jT9oVmjxA38pKor1tX)
    Worktree: objectstack-issue-31379
    Domain: domain:skills
    Seat: domain:skills#2 (card back from seat 3 at its clock-out 6719307701)
    File surface: skills/objectstack-platform/SKILL.md, skills/objectstack-platform/references/seeds.md, packages/spec/src/data/seed.zod.ts (comment only), packages/spec/src/kernel/platform-capabilities.ts (comment only), plus changesets (stop on breach; explain in the report)
    Container & model: S, mode:thread, model: TIER_DEFAULT (dispatch-gates --tier names fable for skills/**; built at default under the standing no-Fable rule, contract review routed to the director seat), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: two lines PR #31377 left outside its claim (its contract review 6717563682)
    Thread-read: 6717954386
    Premise: holds. On main platform SKILL.md § Seed Data marks replace "⚠️ data loss" (L366) while SeedMode and seeds.md say it deletes nothing; platform-capabilities.ts L348 says --preset minimal "opts out entirely".
    Serial constraints cleared: none. No open PR touches the file surface.

    Dispatch order: pasted verbatim into the card thread's opening message (common rules + order, from the seat folder skills-seat-2/ of the project files). Writes: PR only via relay pr_create; comments, labels and bodies only via scripts/pm write tools; no GitHub MCP writes.

  5. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jT9oVmjxA38pKor1tX
    os-dev-report

    {
      "issue": 31379,
      "status": "done",
      "branch": "claude/project-thread-9vaorb",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/31461",
      "head": "ded443ab",
      "session": "session_01QsR2jT9oVmjxA38pKor1tX",
      "premise_still_valid": true,
      "loader_measurement": {
        "tree": "objectstack-ai/objectstack@4941c40b",
        "subject": "SeedLoaderService.load, mode replace, externalId name, in-memory engine double holding gold (matched) and legacy (not in dataset); dataset gold + silver",
        "multiPass_false": "rows 2 -> 4, delete calls 0, update calls 0, totalInserted 2; legacy and the original gold survive unchanged",
        "multiPass_true": "rows 4 -> 6, delete calls 0, update calls 0, totalInserted 2",
        "code": "seed-loader.ts writeRecord case replace only calls engine.insert; decideWriteAction groups replace with insert",
        "verdict": "replace deletes nothing and duplicates; platform SKILL.md 'data loss' was the wrong text; SeedMode comment and objectstack-data seeds.md were right"
      },
      "files_changed": [
        "skills/objectstack-platform/SKILL.md (+2 -2)",
        "packages/spec/src/kernel/platform-capabilities.ts (+4 -1, comment only)",
        ".changeset/31379-seed-replace-minimal-preset-text.md (new, '@objectstack/skills': patch)"
      ],
      "line_budget": {
        "skills/objectstack-platform/SKILL.md": "lines 411 -> 411; bytes 23994 -> 23993; tokens 5994 -> 5994 (ceiling 6011)",
        "all SKILL.md lines": "4553 -> 4553",
        "bundle tokens": "237077 -> 237077"
      },
      "gates": {
        "derived": "dispatch-gates --commands at 0c4f621e: 93 commands, 92 exit 0, check:dual-build-cjs-loads exit 3 (PREREQUISITE NOT MET, CI)",
        "ran_reconciliation": "93 accounted, 92 run, 1 NOT-MEASURED, 0 UNRUN",
        "after_main_merge_ded443ab": "check-skills-token-ratchet 0, check:skill-identifier-liveness 0, check:skill-links 0, check-changeset-no-major 0, check-empty-changeset 0, spec check:docs 0, check:nul-bytes 0",
        "pr_body_gates": "check-changeset-no-major 0, check-adr-0087-registration 0, check-closing-keyword-parity 0, check-partof-closing-keyword 0",
        "tests": "spec platform-capabilities.test.ts 35/35; spec typecheck VERDICT command-exit 0 (first unlocked run OOMed in check:test-typecheck at the 2 GB default; rerun at 6 GB green)",
        "ci": "in_progress at report time"
      },
      "deviations": [
        "tier: dispatch-gates --tier names fable for skills/**; built at TIER_DEFAULT under the no-Fable rule; contract review is the director seat's",
        "first commit 0c4f621e was made with core.hooksPath overridden, so .githooks pre-commit and pre-push did not run; both bodies run by hand after (check-regen-pending 0, --pre-push 0, check-commit-card-trailers --pre-push 0); later merge commit and push ran the hooks",
        "file surface names skills/objectstack-platform/references/seeds.md, which does not exist; the seeds reference is skills/objectstack-data/references/seeds.md, already correct, untouched",
        "no '@objectstack/spec' changeset: the Check Changeset job requires a changeset, not one per moved package",
        "skills token line priced in-file: 'rows that already exist —' became 'existing rows:' to pay the replace wording, same two lines, no re-wrap"
      ],
      "mcp_calls": "3 reads (issue_read get, get_comments x2); 0 writes",
      "api_writes": "2: relay pr_create (#31461), this post-stamped comment; plus 2 git pushes",
      "security_findings": "none",
      "out_of_scope_findings": []
    }
  6. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw

    Landed · 2026-11-08T15:18Z — PR #31461 merged through the merge queue (merge commit d53131b) on the maintainer's hand: os-zhuang marked it ready and enqueued it at 14:37Z, on the director's CONTRACT_REVIEW_TIER PASS 6719726174 and the seat's Tier H ACCEPT for head ded443a. The two lines in skills/objectstack-platform now state the minimal preset and the seed replace mode correctly. pm:dispatched removed from the card and pm:awaiting-merge from the PR. Nothing left on this card.

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:skillsDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions