@qijenchen/design-system 0.1.0-beta.116 → 0.1.0-beta.117

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # `@qijenchen/design-system` package scope
2
2
 
3
- This file is a **scoped augmentation**, not a second repository or product-governance SSOT.
3
+ Scoped augmentation only never a second repository or product-governance SSOT.
4
4
 
5
- - Inside the design-system monorepo, inherit the repository-root `AGENTS.md`; do not restate or override it here. Author governance only in the canonical owners classified by `infra/governance/protected-root-classification.json`, then regenerate the declared build graph.
6
- - Inside an installed npm package, treat every file under `node_modules/@qijenchen/design-system` as immutable release material. Never patch it in place; fix the upstream DS source, publish an immutable exact version/BOM, and upgrade the consumer through its governed PR flow.
7
- - Consumer product governance comes from the authenticated `ds-canonical/fork/manifest.json` snapshot materialized into the consumer repository. This package-scoped file is navigation only and must never substitute for that snapshot, its lock, provider adapters, verifier, or protected CI.
8
- - Rules, hooks, skills, commands, and provider views under this package follow the same owner/output boundary: `ds-canonical/` is the shipped canonical corpus; generated `.claude`, `.codex`, and `.agents` views are rebuildable adapters and are not edit targets.
5
+ - In the monorepo, inherit the root `AGENTS.md`; never restate or override it here. Author governance only in the owners classified by `infra/governance/protected-root-classification.json`, then regenerate the declared build graph.
6
+ - In an installed package, everything under `node_modules/@qijenchen/design-system` is immutable release material: never patch in place; fix upstream, publish an immutable exact version/BOM, upgrade the consumer by governed PR.
7
+ - Consumer governance comes from the authenticated `ds-canonical/fork/manifest.json` snapshot materialized into the consumer repo. This file is navigation only and never substitutes for that snapshot, its lock, adapters, verifier, or protected CI.
8
+ - Same owner/output boundary for rules, hooks, skills, commands, and provider views: `ds-canonical/` is the shipped canonical corpus; generated `.claude`, `.codex`, `.agents` views are rebuildable adapters, not edit targets.
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { cva } from "class-variance-authority";
4
- import { lineClampClass, cn } from "../../lib/utils.js";
4
+ import { cn, lineClampClass } from "../../lib/utils.js";
5
5
  import { Avatar } from "../../components/Avatar/avatar.js";
6
6
  import { Tooltip, TooltipTrigger, TooltipContent } from "../../components/Tooltip/tooltip.js";
7
7
  import { useTruncated } from "../../hooks/use-truncated.js";
@@ -1,26 +1,24 @@
1
1
  # Product consumer AI governance (provider-neutral)
2
2
 
3
- > **Generated view**: upstream `build-fork-governance.mjs` publishes this role-specific source as
4
- > `AGENTS.md`. Do not edit the generated copy. Claude loads it through `CLAUDE.md`; Codex and other
5
- > AGENTS-compatible agents load it directly.
3
+ > **Generated view**: upstream `build-fork-governance.mjs` publishes this source as `AGENTS.md`; never
4
+ > edit the generated copy. Claude loads it via `CLAUDE.md`, Codex and other agents load it directly.
6
5
 
7
6
  ## Authority and trust boundary
8
7
 
9
- - This repository builds a product with exact versions of `@qijenchen/design-system` and
10
- `@qijenchen/storybook-config`; it does not author or publish those packages.
11
- - Merge enforcement comes from protected `main` requiring exactly one `Verify consumer` check. That
12
- check runs the locked install, typecheck, import lint, and build against the exact candidate head.
13
- - Native Claude/Codex hooks are fast feedback only; hookless operation is judged by the same
14
- hooks-off checker. Generated hook commands scrub inherited startup injection before repository
15
- launchers, and the running provider host stays an external trust boundary, so hooks never
16
- replace protected CI.
17
- - Run `npm run setup:all` in every fresh local checkout and hosted setup/cache-refresh lifecycle. It
18
- installs the committed lock, verifies signatures, and runs the exact checker; SessionStart only verifies.
8
+ - This repository builds a product against exact versions of `@qijenchen/design-system` and
9
+ `@qijenchen/storybook-config`; it never authors or publishes them.
10
+ - Merge enforcement is protected `main` requiring exactly one `Verify consumer` check, which runs the
11
+ locked install, typecheck, import lint, and build against the exact candidate head.
12
+ - Native Claude/Codex hooks are fast feedback only; hookless operation is judged by the same hooks-off
13
+ checker. Hook commands scrub inherited startup injection before repository launchers, and the provider
14
+ host stays an external trust boundary hooks never replace protected CI.
15
+ - Run `npm run setup:all` in every fresh local checkout and hosted setup/cache-refresh lifecycle: it
16
+ installs the committed lock, verifies signatures, and runs the exact checker. SessionStart only verifies.
19
17
  - `governance/lock.json`, managed provider adapters, and managed skills are generated upstream.
20
- Product-specific, provider-neutral policy belongs in `governance/overlay.md`; read it when present.
21
- It may add stricter product rules but must never replace or weaken upstream controls.
18
+ Product-specific, provider-neutral policy belongs in `governance/overlay.md` (read it when present);
19
+ it may add stricter product rules but never replaces or weakens upstream controls.
22
20
  - Never install a mutable tag or semver range for internal packages. Upgrades are reviewed pull
23
- requests that pin an exact version and include the regenerated lock/adapters.
21
+ requests pinning an exact version with the regenerated lock/adapters.
24
22
  <!-- canonical-decision-authority:start -->
25
23
  **Decision/Engineering Authority**:user 只拍板產品/UI/UX SSOT 真取捨及可感知/產品語意變更(behavior/interaction/IA/visual/token/layout/content/a11y/canonical rules);核准 = user 在對話中對 exact target + choice 說可(**「我說可以就是可以,就是授權」— user 2026-08-04 verbatim**;最新一則 user 訊息的明確 blanket 授權即核准當下 pending 的 exact 提案)。operation digest 為可選佐證——有引且相符可加強、有引但不符 fail-closed、未引不阻擋(強制引 digest 屬已拆除的 per-PR 簽章同族儀式,835b519e 先例)。引用/條件/舊 scope/跨 target 無效。其餘工程/external writes 皆 Standing Authorization AUTO,含已核准 UI/UX 實作/機械 generation/sync 與 source→commit/PR/merge→canonical `infra/governance/release-workflow.json` 的 `pr-checks → merge → publish → readback → consumer`;依 frozen scope、SSOT、required checks、security、least privilege、rollback/readback 收斂,不逐 milestone 重問。Deep Audit 必須在單一 branch/PR 完成 remediation 與 local/CI candidate validation,禁止把 immutable publish 當 iteration/test loop,每次 audit 最多一次 final release;只有另有 evidence ref 綁定 incident ID、failure class、published version 的 post-publish blocker 或 security incident 才可額外 release。Certification、rollout、staged rollout、preview/canary 與 independent review 是明確要求時的附加 assurance,不得進入標準 five-step release blocking graph;peer 不可用只阻擋明確要求的 independent-review claim。
26
24
 
@@ -31,30 +29,24 @@
31
29
 
32
30
  ## Six working principles
33
31
 
34
- 1. **World-class, no shortcuts**: visual and interaction decisions must be defensible against at
35
- least three relevant systems such as Polaris, Material, Atlassian, Ant, Carbon, or Apple HIG.
32
+ 1. **World-class, no shortcuts**: visual and interaction decisions must be defensible against at least
33
+ three relevant systems (Polaris, Material, Atlassian, Ant, Carbon, Apple HIG).
36
34
  2. **Consume before inventing**: search the installed public API, nearest component spec, token, and
37
35
  pattern before adding a value, wrapper, variant, or layout primitive.
38
- 3. **Change all affected surfaces**: product code, tests/stories, and product documentation move
39
- together. A DS defect is reported upstream with a minimal reproduction; never patch `node_modules`.
40
- 4. **Use real product scenarios**: examples must represent recognizable business work, not Option
41
- A/B/C placeholders or minimal mocks that conceal composition problems.
36
+ 3. **Change all affected surfaces**: product code, tests/stories, and docs move together. A DS defect is
37
+ reported upstream with a minimal reproduction; never patch `node_modules`.
38
+ 4. **Use real product scenarios**: examples show recognizable business work, not Option A/B/C
39
+ placeholders or minimal mocks that conceal composition problems.
42
40
  5. **Ask only for a genuine product decision**: first search current product usage and the nearest
43
- shipped DS spec. Stop only when the remaining choice changes product UX or canonical meaning.
44
- 6. **Fix the invariant, not one symptom**: search for sibling occurrences, add a regression proof,
45
- and route reusable DS/template defects to their canonical upstream owner.
41
+ shipped DS spec; stop only when the remaining choice changes product UX or canonical meaning.
42
+ 6. **Fix the invariant, not one symptom**: search sibling occurrences, add a regression proof, and route
43
+ reusable DS/template defects to their canonical upstream owner.
46
44
 
47
45
  ## Before changing product UI
48
46
 
49
- Record the canonical inputs you inspected:
50
-
51
- - public component/pattern exports from `@qijenchen/design-system`;
52
- - the nearest shipped `*.spec.md` under
53
- `node_modules/@qijenchen/design-system/src/`;
54
- - relevant token docs under
55
- `node_modules/@qijenchen/design-system/src/tokens/`;
56
- - a nearest shipped story or a real product precedent;
57
- - any product-specific exception and its concrete rationale.
47
+ Record the canonical inputs you inspected: public component/pattern exports; the nearest shipped
48
+ `*.spec.md` and token docs under `node_modules/@qijenchen/design-system/src/`; a nearest shipped story
49
+ or real product precedent; and any product-specific exception with its concrete rationale.
58
50
 
59
51
  Only import public package exports. Deep imports, copied DS source, raw primitive reimplementations,
60
52
  magic visual values, and undocumented escape markers are governance failures.
@@ -75,14 +67,10 @@ allowed only when the shipped spec makes it intentional and the exception is nar
75
67
 
76
68
  ## Verification contract
77
69
 
78
- For every change, run the checks that exist in this product and report their real outcome. The
79
- minimum repository-wide contract is:
80
-
81
- 1. `npm run governance:check` (exact installed, hooks-off authority);
82
- 2. `npm run typecheck`;
83
- 3. `npm run build`;
84
- 4. product lint/test/a11y scripts when present;
85
- 5. browser or Storybook visual verification for user-visible changes.
70
+ Run every check this product has and report its real outcome. The minimum repository-wide contract is
71
+ `npm run governance:check` (exact installed, hooks-off authority), `npm run typecheck`, `npm run build`,
72
+ product lint/test/a11y scripts when present, and browser or Storybook visual verification for
73
+ user-visible changes.
86
74
 
87
75
  Never replace a check with `true`, an empty script, a notice-only waiver, or an unverified claim.
88
76
  Missing required tooling is a failure, not a pass. Evidence must bind the checked source snapshot.
@@ -93,35 +81,30 @@ Missing required tooling is a failure, not a pass. Evidence must bind the checke
93
81
  - Native events enter one immutable hook corpus; unsupported events use the exact checker/protected-CI
94
82
  fallback and are never presented as native parity.
95
83
  - Future providers read `AGENTS.md` and use the same checks; adapters cannot redefine semantics.
96
- - When an independent-review deliverable is explicitly requested, it requires a distinct certified
97
- peer and immutable read-only evidence or reports that claim `REVIEW-BLOCKED`. Peer availability never
98
- blocks ordinary engineering or the standard five-step release. Product review cannot authorize
99
- DS/template/release changes; route reusable defects upstream.
84
+ - An explicitly requested independent-review deliverable needs a distinct certified peer and immutable
85
+ read-only evidence, or the report claims `REVIEW-BLOCKED`. Peer availability never blocks ordinary
86
+ engineering or the standard five-step release. Product review cannot authorize DS/template/release
87
+ changes; route reusable defects upstream.
100
88
 
101
89
  ## Git and release flow
102
90
 
103
91
  - The upstream design-system authority owns the machine-readable release SSOT at
104
- `infra/governance/release-workflow.json`: `pr-checks → merge → publish → readback → consumer`.
105
- Every engineering step is AUTO; only an unresolved product/UI/UX SSOT choice is ASK. Login,
106
- MFA, OAuth, or a missing credential reference pauses only the affected action, then execution resumes AUTO.
92
+ `infra/governance/release-workflow.json`: `pr-checks → merge → publish → readback → consumer`. Every
93
+ engineering step is AUTO; only an unresolved product/UI/UX SSOT choice is ASK. Login, MFA, OAuth, or a
94
+ missing credential reference pauses only the affected action, then execution resumes AUTO.
107
95
  - One task uses one working branch and one PR into protected `main`; never direct-push `main`.
108
- - The required `Verify consumer` check, conversations, and protected-main exact readback must be clear.
109
- Then merge and verify under Standing Authorization—no self-approval or chat trigger. Preview, a11y,
96
+ - The required `Verify consumer` check, conversations, and protected-main exact readback must be clear;
97
+ then merge and verify under Standing Authorization no self-approval or chat trigger. Preview, a11y,
110
98
  visual, canary, and independent-peer evidence are scheduled or optional unless the user explicitly
111
- requests them or an unresolved product/UI/UX SSOT choice requires a decision; they never block the
112
- standard release by default.
99
+ requests them, and never block the standard release by default.
113
100
  - Product repos never publish the DS; exact-version upgrade PRs merge after `Verify consumer` passes.
114
101
 
115
102
  ## Pilot and upstream feedback
116
103
 
117
- This product may serve as a canary for the DS/product template. When a failure is reusable:
118
-
119
- 1. preserve a minimal product reproduction and evidence;
120
- 2. classify the owner as product, DS, template, governance corpus, or deployment infrastructure;
121
- 3. fix the canonical owner first;
122
- 4. release an immutable upstream version;
123
- 5. upgrade this product by exact-version PR and rerun the required `Verify consumer` check;
124
- 6. remove any temporary product workaround after the upstream fix lands.
104
+ This product may serve as a canary for the DS/product template. When a failure is reusable: preserve a
105
+ minimal reproduction and evidence; classify the owner as product, DS, template, governance corpus, or
106
+ deployment infrastructure; fix the canonical owner first; release an immutable upstream version;
107
+ upgrade by exact-version PR and rerun `Verify consumer`; then remove any temporary workaround.
125
108
 
126
109
  WM is a pilot consumer, not an alternative governance authority. Its local checks may add product
127
110
  coverage but may not replace or weaken the shipped lock/checker/provider surfaces.
@@ -1,26 +1,24 @@
1
1
  # Product consumer AI governance (provider-neutral)
2
2
 
3
- > **Generated view**: upstream `build-fork-governance.mjs` publishes this role-specific source as
4
- > `AGENTS.md`. Do not edit the generated copy. Claude loads it through `CLAUDE.md`; Codex and other
5
- > AGENTS-compatible agents load it directly.
3
+ > **Generated view**: upstream `build-fork-governance.mjs` publishes this source as `AGENTS.md`; never
4
+ > edit the generated copy. Claude loads it via `CLAUDE.md`, Codex and other agents load it directly.
6
5
 
7
6
  ## Authority and trust boundary
8
7
 
9
- - This repository builds a product with exact versions of `@qijenchen/design-system` and
10
- `@qijenchen/storybook-config`; it does not author or publish those packages.
11
- - Merge enforcement comes from protected `main` requiring exactly one `Verify consumer` check. That
12
- check runs the locked install, typecheck, import lint, and build against the exact candidate head.
13
- - Native Claude/Codex hooks are fast feedback only; hookless operation is judged by the same
14
- hooks-off checker. Generated hook commands scrub inherited startup injection before repository
15
- launchers, and the running provider host stays an external trust boundary, so hooks never
16
- replace protected CI.
17
- - Run `npm run setup:all` in every fresh local checkout and hosted setup/cache-refresh lifecycle. It
18
- installs the committed lock, verifies signatures, and runs the exact checker; SessionStart only verifies.
8
+ - This repository builds a product against exact versions of `@qijenchen/design-system` and
9
+ `@qijenchen/storybook-config`; it never authors or publishes them.
10
+ - Merge enforcement is protected `main` requiring exactly one `Verify consumer` check, which runs the
11
+ locked install, typecheck, import lint, and build against the exact candidate head.
12
+ - Native Claude/Codex hooks are fast feedback only; hookless operation is judged by the same hooks-off
13
+ checker. Hook commands scrub inherited startup injection before repository launchers, and the provider
14
+ host stays an external trust boundary hooks never replace protected CI.
15
+ - Run `npm run setup:all` in every fresh local checkout and hosted setup/cache-refresh lifecycle: it
16
+ installs the committed lock, verifies signatures, and runs the exact checker. SessionStart only verifies.
19
17
  - `governance/lock.json`, managed provider adapters, and managed skills are generated upstream.
20
- Product-specific, provider-neutral policy belongs in `governance/overlay.md`; read it when present.
21
- It may add stricter product rules but must never replace or weaken upstream controls.
18
+ Product-specific, provider-neutral policy belongs in `governance/overlay.md` (read it when present);
19
+ it may add stricter product rules but never replaces or weakens upstream controls.
22
20
  - Never install a mutable tag or semver range for internal packages. Upgrades are reviewed pull
23
- requests that pin an exact version and include the regenerated lock/adapters.
21
+ requests pinning an exact version with the regenerated lock/adapters.
24
22
  <!-- canonical-decision-authority:start -->
25
23
  **Decision/Engineering Authority**:user 只拍板產品/UI/UX SSOT 真取捨及可感知/產品語意變更(behavior/interaction/IA/visual/token/layout/content/a11y/canonical rules);核准 = user 在對話中對 exact target + choice 說可(**「我說可以就是可以,就是授權」— user 2026-08-04 verbatim**;最新一則 user 訊息的明確 blanket 授權即核准當下 pending 的 exact 提案)。operation digest 為可選佐證——有引且相符可加強、有引但不符 fail-closed、未引不阻擋(強制引 digest 屬已拆除的 per-PR 簽章同族儀式,835b519e 先例)。引用/條件/舊 scope/跨 target 無效。其餘工程/external writes 皆 Standing Authorization AUTO,含已核准 UI/UX 實作/機械 generation/sync 與 source→commit/PR/merge→canonical `infra/governance/release-workflow.json` 的 `pr-checks → merge → publish → readback → consumer`;依 frozen scope、SSOT、required checks、security、least privilege、rollback/readback 收斂,不逐 milestone 重問。Deep Audit 必須在單一 branch/PR 完成 remediation 與 local/CI candidate validation,禁止把 immutable publish 當 iteration/test loop,每次 audit 最多一次 final release;只有另有 evidence ref 綁定 incident ID、failure class、published version 的 post-publish blocker 或 security incident 才可額外 release。Certification、rollout、staged rollout、preview/canary 與 independent review 是明確要求時的附加 assurance,不得進入標準 five-step release blocking graph;peer 不可用只阻擋明確要求的 independent-review claim。
26
24
 
@@ -31,30 +29,24 @@
31
29
 
32
30
  ## Six working principles
33
31
 
34
- 1. **World-class, no shortcuts**: visual and interaction decisions must be defensible against at
35
- least three relevant systems such as Polaris, Material, Atlassian, Ant, Carbon, or Apple HIG.
32
+ 1. **World-class, no shortcuts**: visual and interaction decisions must be defensible against at least
33
+ three relevant systems (Polaris, Material, Atlassian, Ant, Carbon, Apple HIG).
36
34
  2. **Consume before inventing**: search the installed public API, nearest component spec, token, and
37
35
  pattern before adding a value, wrapper, variant, or layout primitive.
38
- 3. **Change all affected surfaces**: product code, tests/stories, and product documentation move
39
- together. A DS defect is reported upstream with a minimal reproduction; never patch `node_modules`.
40
- 4. **Use real product scenarios**: examples must represent recognizable business work, not Option
41
- A/B/C placeholders or minimal mocks that conceal composition problems.
36
+ 3. **Change all affected surfaces**: product code, tests/stories, and docs move together. A DS defect is
37
+ reported upstream with a minimal reproduction; never patch `node_modules`.
38
+ 4. **Use real product scenarios**: examples show recognizable business work, not Option A/B/C
39
+ placeholders or minimal mocks that conceal composition problems.
42
40
  5. **Ask only for a genuine product decision**: first search current product usage and the nearest
43
- shipped DS spec. Stop only when the remaining choice changes product UX or canonical meaning.
44
- 6. **Fix the invariant, not one symptom**: search for sibling occurrences, add a regression proof,
45
- and route reusable DS/template defects to their canonical upstream owner.
41
+ shipped DS spec; stop only when the remaining choice changes product UX or canonical meaning.
42
+ 6. **Fix the invariant, not one symptom**: search sibling occurrences, add a regression proof, and route
43
+ reusable DS/template defects to their canonical upstream owner.
46
44
 
47
45
  ## Before changing product UI
48
46
 
49
- Record the canonical inputs you inspected:
50
-
51
- - public component/pattern exports from `@qijenchen/design-system`;
52
- - the nearest shipped `*.spec.md` under
53
- `node_modules/@qijenchen/design-system/src/`;
54
- - relevant token docs under
55
- `node_modules/@qijenchen/design-system/src/tokens/`;
56
- - a nearest shipped story or a real product precedent;
57
- - any product-specific exception and its concrete rationale.
47
+ Record the canonical inputs you inspected: public component/pattern exports; the nearest shipped
48
+ `*.spec.md` and token docs under `node_modules/@qijenchen/design-system/src/`; a nearest shipped story
49
+ or real product precedent; and any product-specific exception with its concrete rationale.
58
50
 
59
51
  Only import public package exports. Deep imports, copied DS source, raw primitive reimplementations,
60
52
  magic visual values, and undocumented escape markers are governance failures.
@@ -75,14 +67,10 @@ allowed only when the shipped spec makes it intentional and the exception is nar
75
67
 
76
68
  ## Verification contract
77
69
 
78
- For every change, run the checks that exist in this product and report their real outcome. The
79
- minimum repository-wide contract is:
80
-
81
- 1. `npm run governance:check` (exact installed, hooks-off authority);
82
- 2. `npm run typecheck`;
83
- 3. `npm run build`;
84
- 4. product lint/test/a11y scripts when present;
85
- 5. browser or Storybook visual verification for user-visible changes.
70
+ Run every check this product has and report its real outcome. The minimum repository-wide contract is
71
+ `npm run governance:check` (exact installed, hooks-off authority), `npm run typecheck`, `npm run build`,
72
+ product lint/test/a11y scripts when present, and browser or Storybook visual verification for
73
+ user-visible changes.
86
74
 
87
75
  Never replace a check with `true`, an empty script, a notice-only waiver, or an unverified claim.
88
76
  Missing required tooling is a failure, not a pass. Evidence must bind the checked source snapshot.
@@ -93,35 +81,30 @@ Missing required tooling is a failure, not a pass. Evidence must bind the checke
93
81
  - Native events enter one immutable hook corpus; unsupported events use the exact checker/protected-CI
94
82
  fallback and are never presented as native parity.
95
83
  - Future providers read `AGENTS.md` and use the same checks; adapters cannot redefine semantics.
96
- - When an independent-review deliverable is explicitly requested, it requires a distinct certified
97
- peer and immutable read-only evidence or reports that claim `REVIEW-BLOCKED`. Peer availability never
98
- blocks ordinary engineering or the standard five-step release. Product review cannot authorize
99
- DS/template/release changes; route reusable defects upstream.
84
+ - An explicitly requested independent-review deliverable needs a distinct certified peer and immutable
85
+ read-only evidence, or the report claims `REVIEW-BLOCKED`. Peer availability never blocks ordinary
86
+ engineering or the standard five-step release. Product review cannot authorize DS/template/release
87
+ changes; route reusable defects upstream.
100
88
 
101
89
  ## Git and release flow
102
90
 
103
91
  - The upstream design-system authority owns the machine-readable release SSOT at
104
- `infra/governance/release-workflow.json`: `pr-checks → merge → publish → readback → consumer`.
105
- Every engineering step is AUTO; only an unresolved product/UI/UX SSOT choice is ASK. Login,
106
- MFA, OAuth, or a missing credential reference pauses only the affected action, then execution resumes AUTO.
92
+ `infra/governance/release-workflow.json`: `pr-checks → merge → publish → readback → consumer`. Every
93
+ engineering step is AUTO; only an unresolved product/UI/UX SSOT choice is ASK. Login, MFA, OAuth, or a
94
+ missing credential reference pauses only the affected action, then execution resumes AUTO.
107
95
  - One task uses one working branch and one PR into protected `main`; never direct-push `main`.
108
- - The required `Verify consumer` check, conversations, and protected-main exact readback must be clear.
109
- Then merge and verify under Standing Authorization—no self-approval or chat trigger. Preview, a11y,
96
+ - The required `Verify consumer` check, conversations, and protected-main exact readback must be clear;
97
+ then merge and verify under Standing Authorization no self-approval or chat trigger. Preview, a11y,
110
98
  visual, canary, and independent-peer evidence are scheduled or optional unless the user explicitly
111
- requests them or an unresolved product/UI/UX SSOT choice requires a decision; they never block the
112
- standard release by default.
99
+ requests them, and never block the standard release by default.
113
100
  - Product repos never publish the DS; exact-version upgrade PRs merge after `Verify consumer` passes.
114
101
 
115
102
  ## Pilot and upstream feedback
116
103
 
117
- This product may serve as a canary for the DS/product template. When a failure is reusable:
118
-
119
- 1. preserve a minimal product reproduction and evidence;
120
- 2. classify the owner as product, DS, template, governance corpus, or deployment infrastructure;
121
- 3. fix the canonical owner first;
122
- 4. release an immutable upstream version;
123
- 5. upgrade this product by exact-version PR and rerun the required `Verify consumer` check;
124
- 6. remove any temporary product workaround after the upstream fix lands.
104
+ This product may serve as a canary for the DS/product template. When a failure is reusable: preserve a
105
+ minimal reproduction and evidence; classify the owner as product, DS, template, governance corpus, or
106
+ deployment infrastructure; fix the canonical owner first; release an immutable upstream version;
107
+ upgrade by exact-version PR and rerun `Verify consumer`; then remove any temporary workaround.
125
108
 
126
109
  WM is a pilot consumer, not an alternative governance authority. Its local checks may add product
127
110
  coverage but may not replace or weaken the shipped lock/checker/provider surfaces.
@@ -3,8 +3,8 @@
3
3
  "schemaVersion": 1,
4
4
  "role": "template-consumer",
5
5
  "release": {
6
- "designSystem": "0.1.0-beta.116",
7
- "storybookConfig": "0.1.0-beta.116"
6
+ "designSystem": "0.1.0-beta.117",
7
+ "storybookConfig": "0.1.0-beta.117"
8
8
  },
9
9
  "upgradeTrust": {
10
10
  "schemaVersion": 1,
@@ -42,13 +42,13 @@
42
42
  "implementationSha256": "98b74118fb5b410b77ad2994aa9105fa7609c7353822f8c5213cce54d94f0af4"
43
43
  },
44
44
  "payload": {
45
- "forkCorpusLockSha256": "a0212eb86af934f840c70eb858f0eded52f4f78e35e256b05ee47d056f051371",
45
+ "forkCorpusLockSha256": "92a7a449773f392fb29ef81c5709e240acd72c96b30343d656fdb63b01af730a",
46
46
  "discoveryPolicySha256": "fba289aeeb5a3f11139b9589f7ab08b5e8c8799c7bdf8f0ea57ebfeb8e7c9da6",
47
47
  "providerMaterializersSha256": "732e85b01a12e7dd19469e26e4427f0e0cfe5117a78fc9f69c2f0f89702f463a",
48
- "providerLifecycleSha256": "070e10807ce68a14f8bb01bf9ccfb6737bd77208f94178c220f1e7785230d5c7",
48
+ "providerLifecycleSha256": "9a9f921c2dc064d4cf3d0dd0b7fc45e3e322d373ff5c29222bde9e25f33a7223",
49
49
  "providerInventorySha256": "00adf1c4f6b3367055a9cc3fdfe658660771b4c9931f696e12761a95076ad92c",
50
50
  "executionRuntimeSha256": "d9377cc45308731f287d7b1711b7c38fc4e02ff8f84729bcbbf01bb52d136904",
51
- "commonInstructionSha256": "6b9aa8747d9ddc9bd9a78de88a0c3d65f5b100ea917c4dd69be4d889b8299438",
51
+ "commonInstructionSha256": "a72c51a412d6cdb3961d691744013c8362e826626a330cecf4a296a6f4d93a5c",
52
52
  "providerArtifactDigests": {
53
53
  "claude": {
54
54
  "instructionSha256": "f56a44c730506258cc7e2581dbdd31bfd1e6d13d60dc8a8ee8bcc398228453fb",
@@ -57,7 +57,7 @@
57
57
  "treeDigests": {}
58
58
  },
59
59
  "codex": {
60
- "instructionSha256": "6b9aa8747d9ddc9bd9a78de88a0c3d65f5b100ea917c4dd69be4d889b8299438",
60
+ "instructionSha256": "a72c51a412d6cdb3961d691744013c8362e826626a330cecf4a296a6f4d93a5c",
61
61
  "hookSha256": "de8b8a9739dc9736cfe28004cbbc462dae525485202c871af9265d4dd8049740",
62
62
  "skillsSha256": "6411ba088fd09f048caca23083e5ef5367887632dd3c604b11f6a1cab5060466",
63
63
  "treeDigests": {}
@@ -109,7 +109,7 @@
109
109
  "scripts/lib/closed-tool-execution.mjs": "eacd0cd92c5bff03e40ff4e82c02fae9bf2e6f543f157eef3d41c3ed8b7d3cb6",
110
110
  "scripts/lib/consumer-control-plane-policy.mjs": "ea8b11ddc5c964ea742ccba5e6a3bc2f215db5d165afe2cca96192812287750c",
111
111
  "scripts/lib/exact-workspace-dependencies.mjs": "3c9453e5228d7eaf1bfef3350585746e1aff1475411cb7cf8696bf9acdb048cf",
112
- "scripts/lib/governance-dependency-bootstrap.mjs": "79b84cd0a7a8f262d1445503528e1251bb510517efb56550aad659c53c6b3cec",
112
+ "scripts/lib/governance-dependency-bootstrap.mjs": "8b37cf68731810ad665e02b7ac4a2a5a4ad55b01c6d9e0cbb37f33f3b00118f3",
113
113
  "scripts/lib/provider-lifecycle.mjs": "9aabb2c98efc454b8555308a34830e6590b034b10a63f76f788fbd4cf37ce7e7",
114
114
  "scripts/lib/verified-exact-npm-runtime.mjs": "811ed3390a4ff6b4e818a5ce8b5c0ce34e10f48fb443b6177d6e4c8e14fa9670",
115
115
  "scripts/lib/workspace-post-create.mjs": "f3ddc6db740d5c4d48b1c6e16c55222325e4d1c16fe6644a455e7b7e5bea0a0d",
@@ -217,7 +217,13 @@ export function runClosedBootstrapStep(command, args, {
217
217
  cwd: root,
218
218
  env: environment,
219
219
  shell: false,
220
- stdio: 'inherit',
220
+ // npm progress lines are diagnostics, not program output. Callers such as
221
+ // `sync-all.mjs --json` promise a machine-readable stdout, and an inherited fd 1 would
222
+ // interleave npm chatter with that report (2026-08-06: a consumer upgrade applied
223
+ // cleanly yet its workflow died on `jq: Invalid numeric literal` because `npm warn` and
224
+ // `added 4 packages` landed in the report file). Route child stdout to this process's
225
+ // stderr so the logs stay visible while stdout stays a closed machine channel.
226
+ stdio: ['inherit', 2, 'inherit'],
221
227
  timeout: timeoutMs,
222
228
  windowsHide: true,
223
229
  })
@@ -7,7 +7,7 @@
7
7
  {
8
8
  "schemaVersion": 1,
9
9
  "file": "AGENTS.md",
10
- "sha256": "6b9aa8747d9ddc9bd9a78de88a0c3d65f5b100ea917c4dd69be4d889b8299438",
10
+ "sha256": "a72c51a412d6cdb3961d691744013c8362e826626a330cecf4a296a6f4d93a5c",
11
11
  "source": "common instruction compatibility alias",
12
12
  "classification": null,
13
13
  "destination": null
@@ -271,7 +271,7 @@
271
271
  {
272
272
  "schemaVersion": 1,
273
273
  "file": "common/instruction.md",
274
- "sha256": "6b9aa8747d9ddc9bd9a78de88a0c3d65f5b100ea917c4dd69be4d889b8299438",
274
+ "sha256": "a72c51a412d6cdb3961d691744013c8362e826626a330cecf4a296a6f4d93a5c",
275
275
  "source": "scripts/fork-role-sources/AGENTS.product.md + AGENTS.md#canonical-decision-authority",
276
276
  "classification": null,
277
277
  "destination": null
@@ -359,7 +359,7 @@
359
359
  {
360
360
  "schemaVersion": 1,
361
361
  "file": "consumer/managed-files/46f10bc55cdfdf834d0749eebff42ea0bb8576f361b36d2b6ba1851354c50150.blob",
362
- "sha256": "79b84cd0a7a8f262d1445503528e1251bb510517efb56550aad659c53c6b3cec",
362
+ "sha256": "8b37cf68731810ad665e02b7ac4a2a5a4ad55b01c6d9e0cbb37f33f3b00118f3",
363
363
  "source": "scripts/lib/governance-dependency-bootstrap.mjs",
364
364
  "classification": null,
365
365
  "destination": "scripts/lib/governance-dependency-bootstrap.mjs"
@@ -919,7 +919,7 @@
919
919
  {
920
920
  "schemaVersion": 1,
921
921
  "file": "manifest.json",
922
- "sha256": "5befcb9f70e70b550e8eeb902f65177cc161db2824ebaf36e137579991cbf586",
922
+ "sha256": "8927ec4334bdd1cbc4c7bc7d41b1153b83db245070e328c2433867270aa7c5ec",
923
923
  "source": null,
924
924
  "classification": null,
925
925
  "destination": null
@@ -104,20 +104,20 @@
104
104
  },
105
105
  "providerLifecycle": {
106
106
  "schemaVersion": 4,
107
- "releaseVersion": "0.1.0-beta.116",
107
+ "releaseVersion": "0.1.0-beta.117",
108
108
  "immutableHead": {
109
109
  "providerInventorySha256": "86e9d0668cb54ad1bf05c36e78b4aa80417d5f468c929dd3ddcf69c1afbf32e4",
110
- "releaseVersion": "0.1.0-beta.115",
111
- "snapshotSha256": "25bf1bb5c751623812af2c5b35b8c47bac9a93a718aa2b9222a6b3294296446d"
110
+ "releaseVersion": "0.1.0-beta.116",
111
+ "snapshotSha256": "f022897462d32b7e633c5f9d8e58ee9efe41e641ae42ab52668c4e3f360e2f9d"
112
112
  },
113
- "ledgerSha256": "08466811258527c6bdbcd042a06dbdd3eca6715111711e3e6d46b5ffd86c81a4",
114
- "previousSnapshotSha256": "25bf1bb5c751623812af2c5b35b8c47bac9a93a718aa2b9222a6b3294296446d",
115
- "currentSnapshotSha256": "f022897462d32b7e633c5f9d8e58ee9efe41e641ae42ab52668c4e3f360e2f9d",
113
+ "ledgerSha256": "a3d9e38cc1ed799f058ae771d35d951004158ac2874eba0fddb52b509de33dda",
114
+ "previousSnapshotSha256": "f022897462d32b7e633c5f9d8e58ee9efe41e641ae42ab52668c4e3f360e2f9d",
115
+ "currentSnapshotSha256": "e03b95342944512f9c084c0ac5fe5fba4b688924758ce725f16504eaec8af5a4",
116
116
  "currentProviderInventorySha256": "86e9d0668cb54ad1bf05c36e78b4aa80417d5f468c929dd3ddcf69c1afbf32e4",
117
117
  "retiredProviders": [],
118
118
  "currentSnapshot": {
119
- "releaseVersion": "0.1.0-beta.116",
120
- "previousSnapshotSha256": "25bf1bb5c751623812af2c5b35b8c47bac9a93a718aa2b9222a6b3294296446d",
119
+ "releaseVersion": "0.1.0-beta.117",
120
+ "previousSnapshotSha256": "f022897462d32b7e633c5f9d8e58ee9efe41e641ae42ab52668c4e3f360e2f9d",
121
121
  "providers": [
122
122
  {
123
123
  "id": "claude",
@@ -193,8 +193,8 @@
193
193
  "retiredProviders": []
194
194
  },
195
195
  "immutableHeadSnapshot": {
196
- "releaseVersion": "0.1.0-beta.115",
197
- "previousSnapshotSha256": "31cffe8b7659879bf2e04c6a624d6720d12330e50ba5c351bca4ca82699c79c4",
196
+ "releaseVersion": "0.1.0-beta.116",
197
+ "previousSnapshotSha256": "25bf1bb5c751623812af2c5b35b8c47bac9a93a718aa2b9222a6b3294296446d",
198
198
  "providers": [
199
199
  {
200
200
  "id": "claude",
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/ajenchen/design-system.git"
6
6
  },
7
- "version": "0.1.0-beta.116",
7
+ "version": "0.1.0-beta.117",
8
8
  "private": false,
9
9
  "description": "World-class design system — components, patterns, tokens, hooks (single source of truth for team distribution).",
10
10
  "type": "module",
@@ -26,7 +26,7 @@ export const UsageGuidance: Story = {
26
26
  </li>
27
27
  <li>
28
28
  • 需要右側詳情面板(議題詳情 / inspector / 成員資料)跟 main 並存——如 Linear 點選議題後右側展開詳情。開合行為見{' '}
29
- <LinkTo kind="Design System/Components/AppShell/設計規格" name="右側面板開合行為(兩種模式)"><span className="text-primary hover:text-primary-hover font-medium cursor-pointer">設計規格 → 右側面板開合行為</span></LinkTo>
29
+ <LinkTo kind="Design System/Components/AppShell/設計規格" name="狀態行為"><span className="text-primary hover:text-primary-hover font-medium cursor-pointer">設計規格 → 狀態行為(右側面板開合)</span></LinkTo>
30
30
  </li>
31
31
  </ul>
32
32
  </section>