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.

Wizard view v1 — objectui alignment + pins for the ruled tightening (Card R, follows objectstack Card S) #6985

Closed

Description

@os-warren

Card R of the objectstack#13342 chain, filed by the domain:spec seat (session_01PBjwYLS6BciTQW3c9xQiD2) per the maintainer ruling of 2026-08-31 on objectstack#13622 (director batch #12, verbatim 「同意」). Contract-first: this card dispatches ONLY after Card S lands — never co-batched with it.

Blocked-by: objectstack-ai/objectstack#13704

Scope (re-price at dispatch against the tree — the proposal already measured the renderer as largely landed)

Closes the #13342 chain together with Card S; the parent stays the coordination node until both land.

Refs: objectstack#13622 (design + ruling of record) · objectstack#13704 (Card S) · #6237 (ruled type-split this upgrades).

Activity

  1. added
    domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lane
    and removed on Aug 31, 2026
  2. self-assigned this
    on Aug 31, 2026
  3. os-warren commented on Aug 31, 2026

    @os-warren
    CollaboratorAuthor

    Claim: session_01PBjwYLS6BciTQW3c9xQiD2 · branch claude/issue-6985-wizard-objectui-alignment · seat domain:spec (os-warren)

    解锁依据:Blocked-by: objectstack-ai/objectstack#13704 已兑现(Card S → PR objectstack#13733 MERGED 13:27Z,维护者词放行)。pm:blocked → pm:dispatched 同笔。

    Clause-②: 按实际 diff 申报,预判 yes(objectui 镜像若复述 wizard 收紧 = 本仓契约面接受集收窄)⇒ fable 派发;PR 创建时 draft + needs:contract-review 双载体停靠,放行走席内 contract review(objectstack#13795 新流程)。

    范围按卡体:re-price at dispatch(提案已测渲染器大体落地,预期残差 = 对齐 + pins);installability 门是硬的——断言 INSTALLED @objectstack/spec 拒绝收紧形状的测试必须门在已装版本上(lockfile 17.2.0 不带 Card S),PR 里写清取舍;⛔ 无教材(#13337/#13086 围栏两半落地后才解)。


    Generated by Claude Code

  4. os-warren commented on Aug 31, 2026

    @os-warren
    CollaboratorAuthor

    os-dev-report

    {
      "issue": 6985,
      "status": "done",
      "branch": "claude/issue-6985-wizard-objectui-alignment",
      "pr": "https://github.com/objectstack-ai/objectui/pull/7042",
      "premise_still_valid": true,
      "summary": "Premise verified: Card S is on objectstack origin/main (commit 4bc18e54, wizard refusal anchors grep-confirmed in view.zod.ts). Re-priced measurement at objectui main 7fc5c3c — already landed and only cited: WizardForm gate/progress/final full-set re-validation; D4 allowSkip semantics implemented AND pinned since 2959 (wizardSkipValidation.test.tsx); WizardStepConfig independent 7-key type with compile-time + family pins (6237/PR 6903); the visibleWhen drop-and-warn route (kept per the ruled disposition, wording untouched); type mirrors need NO accept-set change (form-spec.ts is spec-DERIVED; the ruled refusal is a runtime refinement invisible at type level). Residue landed in PR 7042: (1) metadata-admin view create emitted sections: [] for wizard — exactly the D7-refused shape; now seeds one starter step for wizard only, pinned with a tabbed boundary control; (2) TSDoc alignment in @object-ui/types (ObjectFormSection visibleWhen/collapsible/collapsed wizard boundary + spec-door refusal; sections ARE steps, array order is step order; allowSkip D4 wording); (3) consumer-side behaviour pins wizardRuledSemantics-6985.test.tsx (inert keys dropped never honoured, with affordance positive control; empty/absent-sections degradation to simple pinned as the door-refused shape; one-step wizard legal; array order with reversed-array control); (4) installed-spec door pins wizardSpecDoor-6985.test.ts, capability-gated (choice stated in the PR: behaviour probe, not version string) — post-Card-S half self-activates on the lockfile bump, pre-Card-S half records the 17.2.x accept-set today, steps-key refusal unconditional; (5) comment alignment in ObjectForm/sectionPredicateDiagnostic/WizardStepConfig docblocks. Installability gate honoured: no lockfile bump, no workspace link; the gated half was forward-executed against the real tightened spec build (17/17 PASS) so its activation is proven, not bet. Clause-② on actuals: NO accept-set narrowing in this repo (pre-read yes did not survive measurement — the wizard-specific type already refused these keys and there is no objectui zod door for form views); parked draft + needs:contract-review on both carriers per dispatch regardless. No teaching material; fences stand.",
      "tests": "All heavy runs via os-verify-lock, verdicts quoted from the gate. At head 397a40c: 7-file targeted union (both new pin files + sectionPredicateLayoutDiagnostic-6237 + tabbedFormSectionPredicate-6237 + wizardSkipValidation + WizardForm.regression + view-create-body) = 59 passed, 8 skipped (the gated post-Card-S half, off by design on installed spec 17.2.0), VERDICT command-exit 0. Whole plugin-form package: 80 files, 813 passed, 8 skipped, VERDICT command-exit 0. types package + all anchors-importing app-shell suites + createBody/clientValidation/viewItemSpec: 90 files, 1113 passed, VERDICT command-exit 0. turbo type-check for types+plugin-form+app-shell (deps built first; tsconfig.test.json include globs match the new test files — checked): 32 tasks successful, exit 0. turbo lint for the three packages: exit 0 (narrowing declared in PR: per-package eslint cannot move untouched packages). check-changeset-presence: 6 source files, 3 released packages, 1 changeset declared. check-changeset-no-major green; check:control-bytes/phantom-deps/self-import/vi-mock-specifiers green with their own verdict lines. Forward verification (the ablation-shaped leg): built @objectstack/spec in a detached objectstack worktree at origin/main containing Card S (build via lock, VERDICT command-exit 0; dist hash line printed by the build), then executed a 1:1 replication of the gated assertions against that build: 17/17 PASS including the regime flip (pre-half acceptance rows red there). Predicted-red leg for the anchors fix: the OLD sections-empty wizard ViewItem is refused at config.sections by the tightened ViewItemSchema (observed), the NEW seeded body parses on BOTH spec lines, tabbed empty stays accepted. No source mutation was involved in either leg (fixture-level red/green against a hash-verified fresh build), so no restore leg was owed.",
      "mcp_calls": "9 — PR create, PR body full read-back, issue 6985 labels read + union write + read-back, PR 7042 label read attempt (loud GraphQL failure, routed to payload read-back) + write, this report comment, plus one final label re-check",
      "open_questions": [],
      "out_of_scope_findings": []
    }

    REST channel note: this session's repo-scoped REST is gated (403 on probe), so label writes went the MCP read-union-write route with payload-channel read-backs; the PR-side label was confirmed present via the PR page data-name read alongside the auto labels (nothing stripped).

    Generated by Claude Code


    Generated by Claude Code

  5. os-warren commented on Aug 31, 2026

    @os-warren
    CollaboratorAuthor

    席内 contract review:PASS — PR #7042(head 397a40c),依 objectstack#13795 流程。

    契约判断清单:

    放行:剥 needs:contract-review(双载体)→ ready → auto-merge;MERGED 后双卡链(#13342 协调节点)两半齐,Card S+R 完成。


    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 lane

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions