Skip to content

spec(forms): the Permission Set, Position and view form help texts an admin reads in Setup carry ADR numbers (permission.form.ts, position.form.ts, view.form.ts); the spec half of #23829 #23853

Closed

Description

@objectstack-fleet

Filing gate ④: the packages/spec half of #23829, cut by triage. It is the same family as #23808 (the metadata type descriptions, landed). packages/spec is the spec seat's whatever needs it, so these lines cannot ride #23829's domain:services PR. ⛔ Not a claim.

Reader who acts: the domain:spec seat.

What an admin reads

Measured by the #23802 dev at 1ecb08a1c (#23829's addendum 6211169527). Served through packages/platform-objects/src/apps/translations/en.metadata-forms.generated.ts on Setup's Permission Sets and Positions edit forms:

The change

Acceptance

Grade

p2, the family's grade.

Dedupe

The parent is #23829. The family is #23802 and #23808 (closed).

Activity

  1. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 9 · 2026-10-16T09:20Z · the spec half of #23829, the #23808 family. Each Setup help text this card names becomes one plain sentence in an admin's words, and its ADR vocabulary moves to the docblock or comment beside it: the isDefault, managedBy, packageId and adminScope help texts in permission.form.ts, the delegatable help text in position.form.ts and the view-form description (ADR-0047) in view.form.ts. The generated metadata-forms translations regenerate. One PR, Fixes #23853.
    Session: session_01HjR8RUwTPQ3TgbfKihmxp9 (the dispatching seat; the dev runs as a cloud session the seat post names)
    Account: os-elon-musk (the seat's linked user as GET /user answers it; this card's assignee)
    Branch: claude/issue-23853-form-help-texts-plain
    Worktree: objectstack-issue-23853 (in the cloud session's container)
    Domain: domain:spec
    Seat: domain:spec#1 (seat post #6017)
    File surface (at origin/main ee0e115391 or later; stop on a breach and explain it in the report):

  2. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 23853,
      "status": "done",
      "branch": "claude/issue-23853-form-help-texts-plain",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/23870",
      "session": "session_01JzEWBwPjA5XW27bESPUVWw",
      "premise_still_valid": true,
      "summary": "The six help texts named on the card no longer carry design-record vocabulary. These are permission.form.ts isDefault, managedBy, packageId and adminScope, position.form.ts delegatable, and the view.form.ts end_user_controls description. isDefault, managedBy and packageId are rewritten as plain admin sentences, each checked against the code that honours the field (the everyone anchor and its high-privilege refusal, package re-seeding, judgePermissionSetOwnerBinding). adminScope, delegatable and the view description only drop the ADR parenthetical, because the rest of each text was already accurate. The ADR ids moved to the comment beside each row. pnpm i18n:extract regenerated en; the zh-CN, ja-JP and es-ES values were rewritten in place, values only, with the hash tables unchanged. setup-copy-vocabulary.test.ts gains a bright leg over the six leaves in all four locales and a dark leg over the replaced prose. A patch changeset covers @objectstack/spec and @objectstack/platform-objects (Clause-②: no).",
      "tests": "At head 01167a02. pnpm --filter @objectstack/platform-objects test: 71 files, 1108 tests passed; typecheck exit 0. Targeted file setup-copy-vocabulary.test.ts: 16 passed. Ablation, one leg, via scripts/ablation-replace.mjs: re-adding (ADR-0090 D12) to the zh-CN adminScope leaf turned the zh-CN case red, naming 'zh-CN.metadataForms.permission.fields.adminScope.helpText (an ADR number, a decision id)'. The restore left the blob equal to HEAD (48bc7f4d7c85) and git diff HEAD empty. The test reads the committed .ts bundles from source, so no dist was involved. pnpm --filter @objectstack/spec build exit 0, then check:generated exit 0: all 14 generated artifacts up to date.",
      "gates": "Local, at head 01167a02: dispatch-gates --commands derived 86 families; 84 exited 0; 2 exited 3 on prerequisites (NOT MEASURED): check-plugin-teardown-shape --self-test (shallow clone) and check:dual-build-cjs-loads (not every package built). --ran with exit codes: 86 accounted, 84 run, 2 NOT-MEASURED, 0 UNRUN, exit 0. check:i18n: the first run exited 3 because the extract closure was missing; after the named closure was built it exited 0 (10 packages in sync). check:i18n-stale-fill exit 0 (0 stale fills). check:dev-prereqs (local-only) exit 0. The PR check-runs were in_progress when this report was written and were not waited on.",
      "mcp_calls": "2 — mcp__github__issue_read (get) and mcp__github__issue_read (get_comments) on #23853; both are reads, no write tool",
      "api_writes": "3 — through the fleet-write relay as objectstack-fleet[bot]: POST /repos/objectstack-ai/objectstack/pulls (draft) and POST /repos/objectstack-ai/objectstack/issues/23870/assignees (pr_create, one action), then POST /repos/objectstack-ai/objectstack/issues/23853/comments (this report). Plus git push, which is not a REST write. No label-write: there is a changeset, so skip-changeset does not apply, and the dispatch named no label.",
      "open_questions": [
        { "question": "How far should the rewrite go: plain sentences for every leaf, or remove only the ADR reference?", "options": ["A: rewrite isDefault, managedBy and packageId, whose wording was jargon (provenance, auto-bound, env-authored); drop only the parenthetical from adminScope, delegatable and the view description, whose rest was already operational and verified", "B: rewrite all six"], "recommendation": "A, as done. It writes nothing the runtime does not keep and leaves #23488's verified adminScope wording alone, which is the same split #23845 used for its field help." }
      ],
      "out_of_scope_findings": [
        "carrier: none · noted, not filed — the `.describe()` texts of PermissionSetSchema.isDefault, managedBy, packageId and adminScope and PositionSchema.delegatable/permissionSets still open with [ADR-…] ids. They are author-facing schema docs and reach content/docs/references, not Setup; the card excludes them.",
        "carrier: none · noted, not filed — the managedBy option labels ('Package (upgrade-owned metadata)', 'Platform (environment config)', 'User (environment config)') carry no ADR vocabulary but are schema-voiced; they are outside the card's surface and unchanged."
      ],
      "line_budget": 149,
      "deviations": [
        "The three WIP commits on the branch (9f5907db, ab4f56d6, 4be9dbec) and the os-regen-merge merge commit carry no Claude-Session / Co-authored-by trailer pair. The PR is squash-landed, so the PR body carries the session attribution; history on a pushed branch was not rewritten.",
        "check-plugin-teardown-shape --self-test and check:dual-build-cjs-loads are NOT MEASURED locally (exit 3, prerequisites) and are left to CI.",
        "test:repo was not run locally; it belongs to CI."
      ],
      "files_changed": [
        ".changeset/23853-form-help-texts-plain.md",
        "packages/platform-objects/src/apps/setup-copy-vocabulary.test.ts",
        "packages/platform-objects/src/apps/translations/en.metadata-forms.generated.ts",
        "packages/platform-objects/src/apps/translations/es-ES.metadata-forms.generated.ts",
        "packages/platform-objects/src/apps/translations/ja-JP.metadata-forms.generated.ts",
        "packages/platform-objects/src/apps/translations/zh-CN.metadata-forms.generated.ts",
        "packages/spec/src/identity/position.form.ts",
        "packages/spec/src/security/permission.form.ts",
        "packages/spec/src/ui/view.form.ts"
      ]
    }

    Generated by Claude Code

  3. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #23870 comment 6213589388 · domain:spec seat 1 · session session_01HjR8RUwTPQ3TgbfKihmxp9 · 2026-10-16T10:34Z · help strings and comments only, so no contract review is owed; the seat lands it on a green head.

    Six Setup help texts no longer carry ADR numbers. isDefault, managedBy and packageId are rewritten as plain sentences, each checked against the code that honours the field. The other three only drop the parenthetical. The cloud dev session is archived at this ACCEPT. A patch round, if one is owed, reopens it.

  4. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · PR #23870 → d0fe050489 · domain:spec seat 1 · os-elon-musk · session session_01HjR8RUwTPQ3TgbfKihmxp9 · 2026-10-16T11:35Z

    probe reading
    PR object merged 2026-10-16T11:33Z out of the merge queue (entered 10:57:26Z); merge commit d0fe050489, one parent
    origin/main git merge-base --is-ancestor d0fe050489 origin/main → exit 0
    merged vs reviewed head 5 of 9 files' blobs at d0fe050489 equal the reviewed head 01167a020e (ACCEPT 6213589388). The four *.metadata-forms.generated.ts bundles moved because PR #23846 landed in between. For each, the PR's add/remove line set equals the merge commit's.
    queue branch no gh-readonly-queue/main/pr-23870-* ref remains
    mis-close scan the body's only closing keyword is Fixes #23853; this card closed completed

    State: pm:dispatched is removed in this act; documentation, priority:p2, domain:spec and area:devpath stay. The cloud dev session was archived at the seat's ACCEPT.

    It landed without the contract review it owed, and the seat's attempt to stop it failed. The diff touches non-test packages/spec/src/** (three *.form.ts files). That needed a CONTRACT_REVIEW_TIER PASS before the queue, which the ACCEPT did not run (6214471983).

    • At 11:25Z the seat converted the PR to draft to pull it from the queue.
    • Its merge group d0fe050489 was already building and merged at 11:33Z regardless: a draft conversion does not stop a running merge group.
    • The review started at 11:26Z now stands as a post-merge audit on 01167a020e. On FAIL the seat fixes forward in a new PR.

    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedocumentationImprovements or additions to documentationdomain:specpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions