project-tiny-context-harness 0.8.0 → 0.8.1

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.
Files changed (48) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +385 -383
  3. package/assets/README.md +559 -557
  4. package/assets/README.zh-CN.md +331 -329
  5. package/assets/agents/.gitkeep +1 -1
  6. package/assets/agents/AGENTS_CORE.md +68 -64
  7. package/assets/context_templates/architecture.md +33 -33
  8. package/assets/context_templates/area.md +39 -39
  9. package/assets/context_templates/context.toml +30 -30
  10. package/assets/context_templates/deployment.md +35 -35
  11. package/assets/context_templates/global.md +51 -51
  12. package/assets/context_templates/product-surface-contract.md +70 -70
  13. package/assets/context_templates/screen-contract.md +177 -177
  14. package/assets/context_templates/verification.md +32 -32
  15. package/assets/github/.gitkeep +1 -1
  16. package/assets/github/harness.yml +41 -41
  17. package/assets/make/.gitkeep +1 -1
  18. package/assets/make/ty-context.mk +48 -48
  19. package/assets/skills/context_development_engineer/SKILL.md +137 -135
  20. package/assets/skills/context_full_project_export/SKILL.md +70 -70
  21. package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
  22. package/assets/skills/context_product_plan/SKILL.md +88 -88
  23. package/assets/skills/context_surface_contract/SKILL.md +191 -191
  24. package/assets/skills/context_uiux_design/SKILL.md +167 -153
  25. package/assets/skills/design-resource-authoring/SKILL.md +78 -78
  26. package/assets/skills/design-resource-authoring/references/downstream-handoff.md +125 -125
  27. package/assets/skills/design-resource-authoring/references/open-design-provider.md +114 -114
  28. package/assets/skills/design-resource-authoring/references/resource-selection.md +170 -170
  29. package/assets/skills/design-system-authoring/SKILL.md +57 -57
  30. package/assets/skills/design-system-authoring/agents/openai.yaml +6 -6
  31. package/assets/skills/design-system-authoring/references/authority-adoption.md +48 -48
  32. package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -110
  33. package/assets/skills/long-task-workflow/SKILL.md +97 -97
  34. package/assets/skills/long-task-workflow/agents/openai.yaml +4 -4
  35. package/assets/skills/long-task-workflow/references/authority-lifecycle.md +76 -76
  36. package/assets/skills/long-task-workflow/references/contract-authoring.md +114 -114
  37. package/assets/skills/long-task-workflow/references/evidence-design.md +76 -76
  38. package/assets/skills/long-task-workflow/references/source-authoring.md +100 -100
  39. package/assets/skills/normal-long-task/SKILL.md +12 -12
  40. package/assets/skills/source-plan-authoring/SKILL.md +14 -14
  41. package/assets/tools/validate_context.py +442 -442
  42. package/dist/lib/design-md.js +5 -4
  43. package/dist/lib/design-resource-handoff-shape-primitives.js +1 -3
  44. package/dist/lib/doctor.js +2 -2
  45. package/dist/lib/long-task-counterfactual-sandbox.js +1 -2
  46. package/migrations/README.md +7 -7
  47. package/package.json +1 -1
  48. package/source-mappings.yaml +25 -25
@@ -1,136 +1,136 @@
1
- # Design Resource Handoff And Proposal Reconciliation
2
-
3
- Generated resources remain ordinary external Source. Preserve enough identity and meaning for downstream work without creating a Tiny Context pack, registry or authority lifecycle.
4
-
5
- ## Candidate, selection and authority are separate
6
-
7
- - **Candidate:** provider output proposed for review; it authorizes no fidelity.
8
- - **Selection:** an explicit user/team choice, or explicit delegation with known criteria; it permits proposal reconciliation and selected-source preparation.
9
- - **Authority adoption:** a downstream development workflow reconciles selected Source with product/surface Context and `DESIGN.md` and binds implementation/verification to declared conditions.
10
-
11
- This Skill may preserve an input already classified as `exact-target`; it may not promote its own candidate to one. Unknown coverage remains unknown.
12
-
13
- ## Development-scope coverage
14
-
15
- For every material in-scope surface/flow/region/component/control condition, record selected existing Source, newly generated Source, `not-applicable`, `excluded-by-scope`, `decision-required` or `unavailable`. Include only necessary surrounding context and explicit exclusions. One larger addressable artifact may cover several items; a static frame covers only conditions it actually shows.
16
-
17
- Design resources may show user-visible triggers, transitions, states, feedback and product-rule presentation. Business, data, permission and algorithmic rules remain owned by product/technical Source and must not be invented by visuals.
18
-
1
+ # Design Resource Handoff And Proposal Reconciliation
2
+
3
+ Generated resources remain ordinary external Source. Preserve enough identity and meaning for downstream work without creating a Tiny Context pack, registry or authority lifecycle.
4
+
5
+ ## Candidate, selection and authority are separate
6
+
7
+ - **Candidate:** provider output proposed for review; it authorizes no fidelity.
8
+ - **Selection:** an explicit user/team choice, or explicit delegation with known criteria; it permits proposal reconciliation and selected-source preparation.
9
+ - **Authority adoption:** a downstream development workflow reconciles selected Source with product/surface Context and `DESIGN.md` and binds implementation/verification to declared conditions.
10
+
11
+ This Skill may preserve an input already classified as `exact-target`; it may not promote its own candidate to one. Unknown coverage remains unknown.
12
+
13
+ ## Development-scope coverage
14
+
15
+ For every material in-scope surface/flow/region/component/control condition, record selected existing Source, newly generated Source, `not-applicable`, `excluded-by-scope`, `decision-required` or `unavailable`. Include only necessary surrounding context and explicit exclusions. One larger addressable artifact may cover several items; a static frame covers only conditions it actually shows.
16
+
17
+ Design resources may show user-visible triggers, transitions, states, feedback and product-rule presentation. Business, data, permission and algorithmic rules remain owned by product/technical Source and must not be invented by visuals.
18
+
19
19
  Canonical implementation resources own exact code-expressible layout, visual, content, state, interaction, adaptation, motion, semantic and asset facts. The structured handoff is the residual semantic and index layer for scope, applicability and downstream binding: it indexes those facts through typed locators instead of manually duplicating their values, and it is not a second numeric/style source.
20
-
21
- ## Final proposal reconciliation
22
-
23
- Keep a task-local buffer during candidate iteration:
24
-
25
- ```yaml
26
- selection_basis: explicit user/team choice | explicit delegated selection
27
- selected_resources:
28
- - stable key, provider/project/run/entry, declared conditions, immutable digest/snapshot, editable upstream owner/locator/update method
29
- accepted:
30
- - decision, rationale and affected proposal section/stable keys
31
- rejected:
32
- - alternative and reason
33
- unresolved:
34
- - genuine remaining choice
35
- impacts:
36
- product_rules: []
37
- information_hierarchy: []
38
- surface_keys: []
39
- control_keys: []
40
- state_keys: []
41
- interaction_rules: []
42
- visual_constraints: []
43
- ```
44
-
45
- This is an explanatory shape, not a schema or required file. Do not write during iteration. Once the direction is final:
46
-
47
- 1. confirm the selection basis and immutable resource identity;
48
- 2. consolidate duplicate/intermediate notes;
49
- 3. apply accepted decisions once while preserving all unaffected original requirements and source provenance;
50
- 4. exclude rejected and unresolved choices from requirements, keeping unresolved items visibly unresolved;
51
- 5. record selected resource keys, conditions, immutable locators/digests and editable upstream owner/locator/update method in the proposal where downstream consumers can recover and later change them;
52
- 6. make reruns idempotent—update the existing decision/reference instead of appending it again;
53
- 7. if the initial proposal has an authorized writable path, edit that file; otherwise return the full revised proposal in the response.
54
-
55
- Never mutate a Source Plan, `project_context/**`, `DESIGN.md`, Delivery Contract, production code or tests. A small request may generate, select and reconcile in one turn; “once” describes final semantic writeback, not a required waiting phase.
56
-
57
- If no selection occurs, return candidates plus a consolidated pending delta and leave the proposal unchanged.
58
-
59
- ## Intent-sized handoff
60
-
61
- ### Exploration
62
-
63
- Return scope/intent, visible candidates, resource dispositions, obvious limitations, provider/artifact qualifiers and the sanity review performed. Do not require a pack, hash or validator for a throwaway unselected preview unless retrieval needs it.
64
-
65
- ### Implementation handoff
66
-
20
+
21
+ ## Final proposal reconciliation
22
+
23
+ Keep a task-local buffer during candidate iteration:
24
+
25
+ ```yaml
26
+ selection_basis: explicit user/team choice | explicit delegated selection
27
+ selected_resources:
28
+ - stable key, provider/project/run/entry, declared conditions, immutable digest/snapshot, editable upstream owner/locator/update method
29
+ accepted:
30
+ - decision, rationale and affected proposal section/stable keys
31
+ rejected:
32
+ - alternative and reason
33
+ unresolved:
34
+ - genuine remaining choice
35
+ impacts:
36
+ product_rules: []
37
+ information_hierarchy: []
38
+ surface_keys: []
39
+ control_keys: []
40
+ state_keys: []
41
+ interaction_rules: []
42
+ visual_constraints: []
43
+ ```
44
+
45
+ This is an explanatory shape, not a schema or required file. Do not write during iteration. Once the direction is final:
46
+
47
+ 1. confirm the selection basis and immutable resource identity;
48
+ 2. consolidate duplicate/intermediate notes;
49
+ 3. apply accepted decisions once while preserving all unaffected original requirements and source provenance;
50
+ 4. exclude rejected and unresolved choices from requirements, keeping unresolved items visibly unresolved;
51
+ 5. record selected resource keys, conditions, immutable locators/digests and editable upstream owner/locator/update method in the proposal where downstream consumers can recover and later change them;
52
+ 6. make reruns idempotent—update the existing decision/reference instead of appending it again;
53
+ 7. if the initial proposal has an authorized writable path, edit that file; otherwise return the full revised proposal in the response.
54
+
55
+ Never mutate a Source Plan, `project_context/**`, `DESIGN.md`, Delivery Contract, production code or tests. A small request may generate, select and reconcile in one turn; “once” describes final semantic writeback, not a required waiting phase.
56
+
57
+ If no selection occurs, return candidates plus a consolidated pending delta and leave the proposal unchanged.
58
+
59
+ ## Intent-sized handoff
60
+
61
+ ### Exploration
62
+
63
+ Return scope/intent, visible candidates, resource dispositions, obvious limitations, provider/artifact qualifiers and the sanity review performed. Do not require a pack, hash or validator for a throwaway unselected preview unless retrieval needs it.
64
+
65
+ ### Implementation handoff
66
+
67
67
  After final selection for implementation, add one project-native Markdown Source at an authorized repository path. It is ordinary Source, not a pack or Authority. Frozen canonical resources carry addressable implementation facts, while this residual handoff closes scope, applicability, uncovered meaning, product/technical semantics, blockers and downstream bindings. The file contains readable `ty-source-item:start/end` facts plus exactly one:
68
-
69
- ````markdown
70
- ```yaml design-resource-handoff-v1
71
- ...
72
- ```
73
- ````
74
-
75
- The strict block includes:
76
-
77
- - output/development scope, necessary context and exclusions;
78
- - stable resource, subject, surface/control/state and target keys;
79
- - selected exact-target/constraint/supporting classification; candidates and inspiration do not enter covered implementation rows;
80
- - provider version, project/run, capability/template, agent/model and live design-system binding;
81
- - each repository-local immutable resource path, media type and exact SHA-256;
68
+
69
+ ````markdown
70
+ ```yaml design-resource-handoff-v1
71
+ ...
72
+ ```
73
+ ````
74
+
75
+ The strict block includes:
76
+
77
+ - output/development scope, necessary context and exclusions;
78
+ - stable resource, subject, surface/control/state and target keys;
79
+ - selected exact-target/constraint/supporting classification; candidates and inspiration do not enter covered implementation rows;
80
+ - provider version, project/run, capability/template, agent/model and live design-system binding;
81
+ - each repository-local immutable resource path, media type and exact SHA-256;
82
82
  - for implementation Web/App targets, a canonical entry, complete declared dependency set and `acquisition: complete`; non-Web resources use `reference` and are not forced into HTML;
83
- - editable upstream owner, locator and update/export method, or an explicit manual/external-update boundary when unavailable;
84
- - declared platform, viewport, mode, state, content, input and full/reduced/not-applicable motion conditions;
83
+ - editable upstream owner, locator and update/export method, or an explicit manual/external-update boundary when unavailable;
84
+ - declared platform, viewport, mode, state, content, input and full/reduced/not-applicable motion conditions;
85
85
  - typed, locally resolvable evidence locators (`html_selector`, `markdown_anchor`, `json_pointer`, `css_selector`, `css_custom_property` or bounded `whole_resource`) whose kinds distinguish frame/component variant/prototype state or transition/motion/responsive/input/accessibility/semantic/token/asset/annotation meaning;
86
- - stable subjects grouped only when they truly share meaning;
87
- - every declared scope surface represented by one unambiguous surface subject, with no stable key owned by two subjects;
86
+ - stable subjects grouped only when they truly share meaning;
87
+ - every declared scope surface represented by one unambiguous surface subject, with no stable key owned by two subjects;
88
88
  - explicit target applicability for each subject and complete subject × target × condition × dimension coverage for `surface_flow`, `visual_content`, `component_control`, `state_interaction`, `motion`, `adaptation_input`, `accessibility` and `assets`;
89
89
  - exactly one disposition per applicable cell: `covered`, `not_applicable`, `excluded_by_scope`, `decision_required` or `unavailable`;
90
90
  - covered-cell same-target/same-condition evidence, Source-item refs and dimension-appropriate project verification methods; referenced design Source Items use `requirement`, `control` or `acceptance` markers;
91
- - source-backed rationales for non-applicable/excluded rows; unresolved rows remain visible and make preflight fail;
92
- - target-local acceptance blockers that downstream checks must bind rather than dismiss;
93
- - selection basis, proposal reconciliation path/status and known limitations;
94
- - outer review and separate provider/artifact/design qualifiers.
95
-
96
- Unknown fields fail closed. A static frame may support only visible layout/visual/component facts for its shown condition; it cannot cover unseen interaction, motion, adaptation/input or accessibility. Run:
97
-
98
- ```text
99
- ty-context design-resource preflight <handoff.md>
100
- ```
101
-
102
- Do not call the handoff ready until it passes. Exploration, candidates and unselected previews still require no file, schema, hash sequence or validator. There is no fixed directory or one-file-per-control requirement.
103
-
104
- ## Recommended downstream routing
105
-
106
- ```text
107
- initial proposal
108
- -> design-resource-authoring
109
- -> selected immutable resources
91
+ - source-backed rationales for non-applicable/excluded rows; unresolved rows remain visible and make preflight fail;
92
+ - target-local acceptance blockers that downstream checks must bind rather than dismiss;
93
+ - selection basis, proposal reconciliation path/status and known limitations;
94
+ - outer review and separate provider/artifact/design qualifiers.
95
+
96
+ Unknown fields fail closed. A static frame may support only visible layout/visual/component facts for its shown condition; it cannot cover unseen interaction, motion, adaptation/input or accessibility. Run:
97
+
98
+ ```text
99
+ ty-context design-resource preflight <handoff.md>
100
+ ```
101
+
102
+ Do not call the handoff ready until it passes. Exploration, candidates and unselected previews still require no file, schema, hash sequence or validator. There is no fixed directory or one-file-per-control requirement.
103
+
104
+ ## Recommended downstream routing
105
+
106
+ ```text
107
+ initial proposal
108
+ -> design-resource-authoring
109
+ -> selected immutable resources
110
110
  + complete canonical implementation resources
111
- + reconciled initial proposal
112
- -> validated residual design-resource-handoff-v1
113
- -> long-task-workflow (explicit long delivery)
114
- OR current native Goal + default Workflow Contract (non-long delivery)
115
- ```
116
-
117
- `source-plan-authoring` is not an intermediate stage. A legacy Source Plan remains valid ordinary Source if supplied, but design-resource authoring never creates or edits one.
118
-
119
- ### Default Workflow consumption
120
-
111
+ + reconciled initial proposal
112
+ -> validated residual design-resource-handoff-v1
113
+ -> long-task-workflow (explicit long delivery)
114
+ OR current native Goal + default Workflow Contract (non-long delivery)
115
+ ```
116
+
117
+ `source-plan-authoring` is not an intermediate stage. A legacy Source Plan remains valid ordinary Source if supplied, but design-resource authoring never creates or edits one.
118
+
119
+ ### Default Workflow consumption
120
+
121
121
  The consuming Goal brings the revised proposal, selected resources and residual handoff as ordinary Source. It reruns shared preflight before UI Authority Closure, opens affected exact/constraint resources before deciding, classifies coverage, decides `Context Delta`, and makes every adopted decision-relevant target Context-reachable through existing owners. It routes every covered Source Item and verification method through the production owner and real-entry checks. A later update creates a new immutable version rather than overwriting the adopted baseline.
122
-
123
- ### Long-Task consumption
124
-
122
+
123
+ ### Long-Task consumption
124
+
125
125
  The same revised proposal, selected resources and validated residual handoff enter `long-task-workflow`'s Source-bound Contract Draft loop immediately. The marked handoff is `task.source_paths`; each Contract design target's frozen `source_paths` and Check `verification_inputs` equal that handoff plus every declared resource path and condition. Covered Source Items map through `source_claims` to the root conformance Assertion. Every verification method maps to an independently failing Assertion carrying its relevant Source Claims; every blocker preserves its Source-item/method lineage into a target-local machine Claim or target-blocking External Confirmation. Authority Lock, Authority Revision and Final Gate remain the sole lifecycle. This Skill creates no Contract Draft, Outcome, Receipt, Check result or Gate.
126
-
127
- ## Forbidden inferences
128
-
129
- Unless independently proven downstream, never infer that a generated resource:
130
-
131
- - is selected, authoritative or accepted;
132
- - covers unlisted states, viewports, modes, platforms or accessibility;
133
- - is native implementation because an HTML/image preview renders;
126
+
127
+ ## Forbidden inferences
128
+
129
+ Unless independently proven downstream, never infer that a generated resource:
130
+
131
+ - is selected, authoritative or accepted;
132
+ - covers unlisted states, viewports, modes, platforms or accessibility;
133
+ - is native implementation because an HTML/image preview renders;
134
134
  - is complete because a preview, URL, metadata response, file hash or provider run exists; implementation handoff requires the declared entry/dependency closure and resolvable evidence;
135
- - changed Context, `DESIGN.md`, a Source Plan, code or Contract;
136
- - proves production fidelity, correctness, test completion or release readiness.
135
+ - changed Context, `DESIGN.md`, a Source Plan, code or Contract;
136
+ - proves production fidelity, correctness, test completion or release readiness.
@@ -1,91 +1,91 @@
1
- # Open Design Provider Orchestration
2
-
3
- Use Open Design as the generation engine. This Skill supplies a bounded product commission and retrieves results; it does not recreate the provider's prompts, template logic or catalogue.
4
-
5
- ## Execution priority
6
-
7
- 1. **Structured Open Design MCP** for discovery, project/run control and artifact retrieval.
8
- 2. **Open Design CLI or daemon API** when MCP is unavailable or cannot expose a required current capability but equivalent structured behavior is locally available.
9
- 3. **Browser/desktop interaction** only for bootstrap, unavoidable UI-only selection, signed-in provider interaction, visual preview inspection or recovery. Prefer browser-specific control over general Computer Use when both can operate the page.
10
-
11
- Do not silently install an MCP server/plugin, alter the user's global Open Design/Codex configuration, sign in, create a paid-provider dependency or expand data disclosure. Explain the exact setup need and obtain separate authorization when persistence or a new disclosure path is required.
12
-
13
- ## Live capability discovery
14
-
15
- Discover rather than remember:
16
-
17
- - configured agents and models, including whether Open Design's inner agent is Codex CLI;
18
- - functional skills and plugins;
19
- - rendering templates or project types;
20
- - design systems and their selected project binding;
1
+ # Open Design Provider Orchestration
2
+
3
+ Use Open Design as the generation engine. This Skill supplies a bounded product commission and retrieves results; it does not recreate the provider's prompts, template logic or catalogue.
4
+
5
+ ## Execution priority
6
+
7
+ 1. **Structured Open Design MCP** for discovery, project/run control and artifact retrieval.
8
+ 2. **Open Design CLI or daemon API** when MCP is unavailable or cannot expose a required current capability but equivalent structured behavior is locally available.
9
+ 3. **Browser/desktop interaction** only for bootstrap, unavoidable UI-only selection, signed-in provider interaction, visual preview inspection or recovery. Prefer browser-specific control over general Computer Use when both can operate the page.
10
+
11
+ Do not silently install an MCP server/plugin, alter the user's global Open Design/Codex configuration, sign in, create a paid-provider dependency or expand data disclosure. Explain the exact setup need and obtain separate authorization when persistence or a new disclosure path is required.
12
+
13
+ ## Live capability discovery
14
+
15
+ Discover rather than remember:
16
+
17
+ - configured agents and models, including whether Open Design's inner agent is Codex CLI;
18
+ - functional skills and plugins;
19
+ - rendering templates or project types;
20
+ - design systems and their selected project binding;
21
21
  - specialist paths such as collaborative design platforms, image, video or 3D/WebGL;
22
- - supported project creation, run, cancellation, file and artifact operations.
23
-
24
- Current structured tool names may include `list_agents`, `list_skills`, `list_plugins`, `create_project`, `get_project`, `get_active_context`, `start_run`, `get_run`, `cancel_run`, `list_files`, `get_file` and `get_artifact`. Feature-detect them; tool names and provider versions may evolve.
25
-
26
- Functional skills and rendering templates are different registries. Finding `frontend-design` does not prove that a `mobile-app` or `wireframe-mobile-flow` template is installed, and a remembered template ID is not live capability evidence.
27
-
28
- ### Rendering-template discovery compatibility
29
-
30
- Prefer, in order:
31
-
32
- 1. a live `list_design_templates`-style method/resource when the provider exposes one;
33
- 2. an explicit template ID supplied by the current project/user and validated by the provider;
34
- 3. a version-guarded structured daemon query that reads the provider's current registry;
35
- 4. provider UI inspection when no structured registry is exposed;
36
- 5. an honest `unavailable` or degraded-discovery result.
37
-
38
- Never vendor a fallback template catalogue or guess a template ID from prior runs. Do not implement a transport helper unless the live host truly lacks a safe structured path; any helper may normalize metadata and transport only.
39
-
40
- ## Conditional Design Authority gate and binding
41
-
42
- Before any style-bearing commission, read project `DESIGN.md` and its declared authored exact-value token source/generation direction. Style-bearing means the resource materially expresses visual fidelity, brand, typography/color/density, component visual treatment or a production-style prototype. Low-fidelity structure, IA/flow topology and semantics-only behavior/state studies are non-fidelity and do not require the gate.
43
-
44
- If authority is absent, explicitly `unconfigured`, still a starter, style-only/inspiration-only, or lacks one authored token source/generation direction, stop before creating a project or run. Direct the user to explicitly invoke `$design-system-authoring`; never auto-run it. A combined explicit request authorizes the sequence.
45
-
46
- For configured style-bearing work:
47
-
48
- 1. read the adopted Open Design design-system ID and digest/provenance from project Design Authority;
49
- 2. confirm `od://design-systems/<id>/DESIGN.md` is readable through MCP;
50
- 3. pass that ID as `designSystem` to `create_project`;
51
- 4. immediately call `get_project` and require `designSystemId` to match;
52
- 5. when reusing a project, check its binding before every new style-bearing run;
53
- 6. on missing/mismatch, prefer a new bounded project with the correct binding when MCP has no safe update method; otherwise feature-detect and verify the provider's structured update.
54
-
55
- Never silently use the provider's default or a different system. A provider-side mismatch is a synchronization/rebinding issue; it does not erase the canonical project `DESIGN.md`.
56
-
57
- ## Structured commission sequence
58
-
59
- 1. Record provider version, selected agent/model, functional capability, rendering template, adopted design system and relevant plugin/export readiness as reported live.
60
- 2. Reuse an existing task-local project only when its scope, prior inputs and required design-system binding match; otherwise create a bounded project. For style-bearing work, pass `designSystem` and verify `get_project.designSystemId` before the run.
61
- 3. Start a run with the product-specific commission envelope and the provider-native capability identifier.
62
- 4. Poll with a bounded cadence. During a long run, report meaningful progress at least once per minute without flooding the user.
63
- 5. Preserve run IDs and the latest provider diagnostic. Support cancellation when the user requests it and the provider exposes it.
64
- 6. Resolve the actual entry explicitly, retrieve the artifact/source, inspect it according to intent and preserve its immutable identity before later iterations or handoff.
65
-
66
- Open Design may launch Codex CLI as its configured inner agent. That is provider execution, not recursive invocation of this outer Skill. Do not hardcode a model when the provider can report the current configured model.
67
-
68
- ## Separate three kinds of state
69
-
70
- ### Provider execution state
71
-
72
- Examples: queued, running, succeeded, failed, cancelled, timed out or unknown.
73
-
74
- ### Artifact readiness
75
-
76
- Examples: missing, partial, corrupt, retrievable, rendered or snapshot-preserved.
77
-
78
- ### Design suitability
79
-
80
- Examples: unreviewed, scope-sane, handoff-checked, human-selected or rejected.
81
-
82
- Never collapse these into one “success.” A provider success does not prove a good design; a complete artifact can exist even when a provider run later fails.
83
-
84
- Use these qualifiers when needed:
85
-
86
- - `artifact-ready/run-unreconciled`: a complete retrievable artifact exists, but the provider run remains nonterminal or inconsistent;
87
- - `artifact-ready/provider-failed`: the artifact remains complete and retrievable, but the provider later reports failure/timeout.
88
-
22
+ - supported project creation, run, cancellation, file and artifact operations.
23
+
24
+ Current structured tool names may include `list_agents`, `list_skills`, `list_plugins`, `create_project`, `get_project`, `get_active_context`, `start_run`, `get_run`, `cancel_run`, `list_files`, `get_file` and `get_artifact`. Feature-detect them; tool names and provider versions may evolve.
25
+
26
+ Functional skills and rendering templates are different registries. Finding `frontend-design` does not prove that a `mobile-app` or `wireframe-mobile-flow` template is installed, and a remembered template ID is not live capability evidence.
27
+
28
+ ### Rendering-template discovery compatibility
29
+
30
+ Prefer, in order:
31
+
32
+ 1. a live `list_design_templates`-style method/resource when the provider exposes one;
33
+ 2. an explicit template ID supplied by the current project/user and validated by the provider;
34
+ 3. a version-guarded structured daemon query that reads the provider's current registry;
35
+ 4. provider UI inspection when no structured registry is exposed;
36
+ 5. an honest `unavailable` or degraded-discovery result.
37
+
38
+ Never vendor a fallback template catalogue or guess a template ID from prior runs. Do not implement a transport helper unless the live host truly lacks a safe structured path; any helper may normalize metadata and transport only.
39
+
40
+ ## Conditional Design Authority gate and binding
41
+
42
+ Before any style-bearing commission, read project `DESIGN.md` and its declared authored exact-value token source/generation direction. Style-bearing means the resource materially expresses visual fidelity, brand, typography/color/density, component visual treatment or a production-style prototype. Low-fidelity structure, IA/flow topology and semantics-only behavior/state studies are non-fidelity and do not require the gate.
43
+
44
+ If authority is absent, explicitly `unconfigured`, still a starter, style-only/inspiration-only, or lacks one authored token source/generation direction, stop before creating a project or run. Direct the user to explicitly invoke `$design-system-authoring`; never auto-run it. A combined explicit request authorizes the sequence.
45
+
46
+ For configured style-bearing work:
47
+
48
+ 1. read the adopted Open Design design-system ID and digest/provenance from project Design Authority;
49
+ 2. confirm `od://design-systems/<id>/DESIGN.md` is readable through MCP;
50
+ 3. pass that ID as `designSystem` to `create_project`;
51
+ 4. immediately call `get_project` and require `designSystemId` to match;
52
+ 5. when reusing a project, check its binding before every new style-bearing run;
53
+ 6. on missing/mismatch, prefer a new bounded project with the correct binding when MCP has no safe update method; otherwise feature-detect and verify the provider's structured update.
54
+
55
+ Never silently use the provider's default or a different system. A provider-side mismatch is a synchronization/rebinding issue; it does not erase the canonical project `DESIGN.md`.
56
+
57
+ ## Structured commission sequence
58
+
59
+ 1. Record provider version, selected agent/model, functional capability, rendering template, adopted design system and relevant plugin/export readiness as reported live.
60
+ 2. Reuse an existing task-local project only when its scope, prior inputs and required design-system binding match; otherwise create a bounded project. For style-bearing work, pass `designSystem` and verify `get_project.designSystemId` before the run.
61
+ 3. Start a run with the product-specific commission envelope and the provider-native capability identifier.
62
+ 4. Poll with a bounded cadence. During a long run, report meaningful progress at least once per minute without flooding the user.
63
+ 5. Preserve run IDs and the latest provider diagnostic. Support cancellation when the user requests it and the provider exposes it.
64
+ 6. Resolve the actual entry explicitly, retrieve the artifact/source, inspect it according to intent and preserve its immutable identity before later iterations or handoff.
65
+
66
+ Open Design may launch Codex CLI as its configured inner agent. That is provider execution, not recursive invocation of this outer Skill. Do not hardcode a model when the provider can report the current configured model.
67
+
68
+ ## Separate three kinds of state
69
+
70
+ ### Provider execution state
71
+
72
+ Examples: queued, running, succeeded, failed, cancelled, timed out or unknown.
73
+
74
+ ### Artifact readiness
75
+
76
+ Examples: missing, partial, corrupt, retrievable, rendered or snapshot-preserved.
77
+
78
+ ### Design suitability
79
+
80
+ Examples: unreviewed, scope-sane, handoff-checked, human-selected or rejected.
81
+
82
+ Never collapse these into one “success.” A provider success does not prove a good design; a complete artifact can exist even when a provider run later fails.
83
+
84
+ Use these qualifiers when needed:
85
+
86
+ - `artifact-ready/run-unreconciled`: a complete retrievable artifact exists, but the provider run remains nonterminal or inconsistent;
87
+ - `artifact-ready/provider-failed`: the artifact remains complete and retrievable, but the provider later reports failure/timeout.
88
+
89
89
  In both cases preserve the exact run locator, last update, failure diagnostic and artifact hash. Do not claim provider success or downstream acceptance. Retry only when the promised resource is incomplete/corrupt or the user requests another attempt; do not discard a useful independently inspected artifact merely because the terminal state differs.
90
90
 
91
91
  ## Implementation-level output profile
@@ -102,34 +102,34 @@ Open Design has demonstrated that a complex Web page can emit a machine-readable
102
102
 
103
103
  A PNG may be a useful derived visual baseline, but it cannot be the sole source for implementation-level state, interaction, adaptation, accessibility or motion facts. Non-Web resources use the `reference` profile; do not manufacture HTML merely to satisfy this profile.
104
104
 
105
- ## Explicit entry and immutable identity
106
-
107
- Provider project metadata may omit or stale its entry file. Resolve in this order:
108
-
109
- 1. validate an explicit project entry path when present;
110
- 2. enumerate project files;
111
- 3. identify the intended provider-native entry from the current run/output rather than guessing;
112
- 4. retrieve that exact file/artifact;
113
- 5. preserve an SHA-256 digest or immutable snapshot before selection/handoff.
114
-
115
- A preview URL is mutable navigation, not immutable identity. It may be reported for convenience only beside project/run/entry provenance and a digest. If the user explicitly selects the resource for durable use, export or snapshot it to a user-approved location; never silently choose a repository path.
116
-
117
- ## Review proportional to intent
118
-
119
- - **Exploration:** open/render the requested entry, confirm artifact count/scope and obvious corruption, then show it. Do not launch a packaging or validator sequence.
105
+ ## Explicit entry and immutable identity
106
+
107
+ Provider project metadata may omit or stale its entry file. Resolve in this order:
108
+
109
+ 1. validate an explicit project entry path when present;
110
+ 2. enumerate project files;
111
+ 3. identify the intended provider-native entry from the current run/output rather than guessing;
112
+ 4. retrieve that exact file/artifact;
113
+ 5. preserve an SHA-256 digest or immutable snapshot before selection/handoff.
114
+
115
+ A preview URL is mutable navigation, not immutable identity. It may be reported for convenience only beside project/run/entry provenance and a digest. If the user explicitly selects the resource for durable use, export or snapshot it to a user-approved location; never silently choose a repository path.
116
+
117
+ ## Review proportional to intent
118
+
119
+ - **Exploration:** open/render the requested entry, confirm artifact count/scope and obvious corruption, then show it. Do not launch a packaging or validator sequence.
120
120
  - **Handoff:** additionally perform the method-proportional source QA above, including relevant structure, states/transitions, viewport behavior, accessibility semantics, assets, obvious console/runtime errors and requested interaction hooks. State exactly what was and was not checked.
121
- - **Selected-source preparation:** require explicit human selection basis, preserve identity/snapshot, and prepare downstream metadata. It still does not verify production behavior.
122
-
123
- Provider self-checks, outer artifact sanity review and downstream project verification are separate evidence layers. Never claim native rendering, accessibility, responsive coverage, product correctness or acceptance unless the appropriate downstream project checks actually prove them.
124
-
121
+ - **Selected-source preparation:** require explicit human selection basis, preserve identity/snapshot, and prepare downstream metadata. It still does not verify production behavior.
122
+
123
+ Provider self-checks, outer artifact sanity review and downstream project verification are separate evidence layers. Never claim native rendering, accessibility, responsive coverage, product correctness or acceptance unless the appropriate downstream project checks actually prove them.
124
+
125
125
  ## Specialist paths
126
126
 
127
127
  Figma, Penpot, OpenPencil, image, video, 3D/WebGL and other providers are optional upstream producers. Use one only when its collaboration/editability or native inspection value is material and its connector/auth/read/export path is operational. A listed plugin, URL, thumbnail or metadata response is not proof of usable native input. If a requested provider is unavailable, report the missing capability precisely, offer another artifact only when it preserves the requested design decision, and never relabel an export as native editable design. Every selected provider still emits repository-readable immutable resources through the same provider-neutral handoff.
128
-
129
- ## Failure and recovery
130
-
131
- - Preserve provider diagnostics; do not replace failures with generated placeholders.
132
- - Avoid unbounded polling or repeated blind reruns.
133
- - Re-discover capability after provider upgrades or registry mismatches.
134
- - If structured paths fail but a UI artifact exists, UI inspection may recover it while retaining the degraded-provider qualifier.
135
- - If the provider is unavailable and no justified fallback exists, return `unavailable` with the minimum setup needed rather than generating with an unrelated image tool and calling it equivalent.
128
+
129
+ ## Failure and recovery
130
+
131
+ - Preserve provider diagnostics; do not replace failures with generated placeholders.
132
+ - Avoid unbounded polling or repeated blind reruns.
133
+ - Re-discover capability after provider upgrades or registry mismatches.
134
+ - If structured paths fail but a UI artifact exists, UI inspection may recover it while retaining the degraded-provider qualifier.
135
+ - If the provider is unavailable and no justified fallback exists, return `unavailable` with the minimum setup needed rather than generating with an unrelated image tool and calling it equivalent.