Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

spec(skills): three os:check fences in the objectui skill guides pass a BaseSchema to SchemaRenderer, which V1 (objectui#11466) refuses; annotate SchemaRendererProps['schema'] #11543

Closed

Description

@objectstack-fleet

This card is a preparation child of objectui#11466 (V1, PR #11512), filed with its domain:spec and priority:p2. objectui#11466 is Blocked-by: this card: its last red check is this one.

Filing-gate category: ① a named landing point with a measured reach.

The seat's ruling: route B (non-escalation: the order of and dependency between technical tasks)

Governed landing

Sequencing

Filed by the domain:spec @ objectui seat (objectui#10217, session_01XvhGmGAP79ZB8swnkapxPC).


Generated by Claude Code

Activity

  1. added
    domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lane
    and removed on Oct 3, 2026
  2. objectstack-fleet commented on Oct 3, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: director takeover round 1 (V1's blocker, the seat's route B)
    Session: session_016tKoy8NJa35Yih1FdzrVmn
    Account: hotlong (the session's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-11543-skill-fences-v1, cut from main
    Worktree: objectui-issue-11543
    Domain: domain:spec
    Seat: the director seat, summon #32. It takes over by the maintainer's order in the live director chat, verbatim 「objectui 11512红了,没人处理的话你也可以接手」. This card is PR #11512's only red, and it has sat in pm:queue with no claim since 2026-10-03T07:08Z (its filing). The filing seat (session_01XvhGmGAP79ZB8swnkapxPC) released objectui#11466 at shift end (5966648582).
    Lands on: main, as its own GOVERNED draft PR containing only the three fences (skills/**), per the card's "Governed landing".

    • The final 维护者速读 is a comment on that PR, and review is requested from os-zhuang and hotlong.
    • ⛔ This seat never approves or merges it. It lands through the queue after an authorized approval.
      File surface: exactly the card's ruling (route B).
    • skills/objectui/guides/auth-permissions.md, data-integration.md and schema-expressions.md.
    • Re-annotate the three os:check fences' schema: BaseSchema as SchemaRendererProps['schema'], imported as a type from @object-ui/react, line-neutral.

    ⛔ Not PR #11512's files. ⛔ Never remove an os:check marker (not C).
    Container & model: S, mode:subagent, model: opus
    Clause-②: no
    Why no: documentation fences in a skill guide, with no published package surface.
    Thread-read: none
    Serial constraints cleared: read 2026-10-03T14:40Z. objectui#11534 (domain:skills, p3) also edits schema-expressions.md, at a different bullet. Whichever lands second merges main. That card's lane is out of this seat's scope by the maintainer's order, so this PR does not fold it.

  3. objectstack-fleet commented on Oct 3, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
     "issue": 11543,
     "status": "done",
     "branch": "claude/issue-11543-skill-fences-v1",
     "pr": "https://github.com/objectstack-ai/objectui/pull/11558",
     "session": "session_016tKoy8NJa35Yih1FdzrVmn (the dispatching director seat's session; this run is its subagent)",
     "premise_still_valid": true,
     "summary": "Route B is implemented exactly and opened as governed draft PR #11558, which contains only the three fence edits (3 files, +6 / -6). In auth-permissions.md, data-integration.md and schema-expressions.md, each marked fence now declares `schema: SchemaRendererProps['schema']`, imported as a type from @object-ui/react. In all three fences the BaseSchema import from @object-ui/types became unused, so it was dropped. No os:check marker was removed or altered: the per-file counts read 6, 9 and 32 at both base and head. The card's premise held. On main 154075ab1 the gate reads 0 failed both before and after the change. On PR #11512's head fab635a2d it reads 3 failed unchanged, all three TS2322, and 0 failed with this change applied.",
     "tests": "Head 2f2205315, base 154075ab1. Both builds ran under os-verify-lock, and each VERDICT line read command-exit 0. (1) The build on main used the gate's own --build-filter: turbo 'Tasks: 29 successful, 29 total'. (2) Control, main unchanged: `node scripts/check-skill-examples.mjs` exit 0, 'Semantic phase: 18 of 18 ts fence(s) judged, 0 failed.' --self-test exit 0, '60 cases pass'. (3) After the change, at 2f2205315: exit 0, 'Semantic phase: 18 of 18 ts fence(s) judged, 0 failed.' --list shows auth-permissions.md:296, data-integration.md:166 and schema-expressions.md:112 each as 'marked  pass', and the RESOLUTION control resolved to packages/types/dist/index.d.ts. (4) The probe ran in a throwaway detached worktree at PR #11512's head fab635a2d, fetched into a private ref, with its own install and filtered build ('29 successful, 29 total'). The control leg, unchanged: exit 1, 'Semantic phase: 18 of 18 ts fence(s) judged, 3 failed.', the three TS2322 'BaseSchema' is not assignable to 'string | DeclaredNode | null | undefined' at auth-permissions.md:312, data-integration.md:184 and schema-expressions.md:129. Then this commit's patch was applied (git apply --check, then apply). On disk, BaseSchema read 0 and SchemaRendererProps['schema'] read 1 in each file. The gate: exit 0, 'Semantic phase: 18 of 18 ts fence(s) judged, 0 failed.' The probe was restored with `git checkout HEAD --` on the three paths (git diff HEAD 0 bytes, status 0 lines). The worktree was removed without --force, the private ref was deleted, and nothing was pushed from it. (5) The tests that read the three guides: `node scripts/markdown-test-inputs.mjs --changed` lists all three paths as test inputs, and its --list gives the readers. Those readers, plus two more that git grep found, ran from the repo root under the lock at 2f2205315: 'Test Files 14 passed (14)', 'Tests 394 passed (394)'. (6) Light gates at 2f2205315, all exit 0: check-skills-paths, check-control-bytes, check-shell-escape-residue, check-skill-eval-tokens, check-new-cross-file-line-citations ('0 new citation(s)'), check-changeset-presence ('no changeset is owed'), check-doc-fence-languages, check-doc-links. (7) Governed predicate: `node scripts/check-governed-queue-guard.mjs --test` on the three paths gave exit 3, 'GOVERNED — 3 of 3 path(s) are on a governed surface' (skills/**). The control path, packages/react/src/index.ts, gave exit 0, 'NOT GOVERNED'. (8) Skills line ratchet: objectui has none over skills/**, and objectstack's check-skill-line-ratchet.mjs covers only objectstack's own instruction files (its header says the published catalog is deliberately outside it). The readings, base to head: auth-permissions.md 409 to 409, data-integration.md 515 to 515, schema-expressions.md 639 to 639; all skills/**/SKILL.md (1 file) 142 to 142; all of skills/objectui/** 5418 to 5418. No ablation: this is a docs-fence edit, and the probe control leg (3 failed, then 0) is the two-direction proof.",
     "gates": {
      "head": "2f2205315 (base 154075ab1 = origin/main at cut)",
      "check-skill-examples (main, before)": "exit 0, 18 of 18 judged, 0 failed",
      "check-skill-examples (main, after)": "exit 0, 18 of 18 judged, 0 failed",
      "check-skill-examples (PR #11512 head fab635a2d, unchanged)": "exit 1, 18 of 18 judged, 3 failed",
      "check-skill-examples (PR #11512 head fab635a2d + this change)": "exit 0, 18 of 18 judged, 0 failed",
      "check-skill-examples --self-test": "exit 0, 60 cases pass",
      "vitest readers of the three guides": "14 files passed, 394 tests passed",
      "check-governed-queue-guard --test": "exit 3 GOVERNED (3 of 3, skills/**); control exit 0 NOT GOVERNED",
      "skills line ratchet": "none exists over objectui skills/**; readings line-neutral (above)",
      "CI at 2f2205315 (read once, not waited on)": "38 check-runs; Skill Example Check in_progress; Governed Surface Queue Guard success (the pull_request leg is warning-only by design); the three changeset checks success"
     },
     "mcp_calls": "0",
     "api_writes": "2, both through the fleet-write relay as objectstack-fleet[bot]. Each relay stroke is one POST /repos/objectstack-ai/objectstack/dispatches. (1) pr_create: POST repos/objectstack-ai/objectui/pulls, which opened draft #11558; read-back '6823 byte(s) sent, 6823 stored — identical'. (2) This os-dev-report: POST repos/objectstack-ai/objectui/issues/11543/comments, via post-stamped.mjs. Not REST writes: two git pushes (the empty-branch probe and 2f2205315). Reads: issue 11543, comments 5970147074 and 5966610615, pull 11558, and 2f2205315's check-runs.",
     "deviations": [
      "PR assignee not set. The standard clause asks for PR assignee = the card's assignee (hotlong). `node scripts/pm/label-write.mjs --repo objectstack-ai/objectui --issue 11558 --assign hotlong --dry-run` was refused by the auto-mode classifier with reason [External System Writes]. Per the contract I stopped and did not retry by another route. The seat may set it. The dispatch named only the pr_create write and the report write, so no labels were written either.",
      "Commit trailers are model-free (Claude-Session plus Co-authored-by: Claude), per objectui AGENTS.md. The harness reminder's model-named trailer was not followed.",
      "The PR body copies the claim's 'Clause-②: no' line at line 2. No objectui gate reads it; it is copied per the standard clause."
     ],
     "files_changed": [
      "skills/objectui/guides/auth-permissions.md (+2 / -2)",
      "skills/objectui/guides/data-integration.md (+2 / -2)",
      "skills/objectui/guides/schema-expressions.md (+2 / -2)"
     ],
     "line_budget": "skills/** touched, line-neutral. Per file, base to head: 409 to 409, 515 to 515, 639 to 639. Whole package: SKILL.md sum 142 to 142, skills/objectui/** 5418 to 5418. No content was added, so no budget was spent.",
     "cleanup": "Worktree /home/user/objectui-issue-11543 and probe worktree /home/user/objectui-issue-11543-probe: both removed clean (node_modules deleted first, no --force). The private ref refs/dev-11543/probe was deleted. No server or background process was started.",
     "open_questions": [],
     "out_of_scope_findings": [
      "carrier: the director seat · the container still holds worktree /home/user/objectui-issue-11466 on claude/issue-11466-node-slot-union-v1 at fab635a2d, although report 5966610615 says that worktree was removed. It is another actor's state, so it was not touched, only observed · noted, not filed"
     ]
    }

    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

domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions