project-tiny-context-harness 0.7.8 → 0.8.0
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/LICENSE +21 -21
- package/README.md +393 -375
- package/assets/README.md +567 -552
- package/assets/README.zh-CN.md +339 -321
- package/assets/agents/.gitkeep +1 -1
- package/assets/agents/AGENTS_CORE.md +66 -58
- package/assets/context_templates/architecture.md +33 -33
- package/assets/context_templates/area.md +39 -39
- package/assets/context_templates/context.toml +30 -30
- package/assets/context_templates/deployment.md +35 -35
- package/assets/context_templates/global.md +52 -51
- package/assets/context_templates/product-surface-contract.md +70 -70
- package/assets/context_templates/screen-contract.md +186 -177
- package/assets/context_templates/verification.md +32 -32
- package/assets/github/.gitkeep +1 -1
- package/assets/github/harness.yml +41 -41
- package/assets/make/.gitkeep +1 -1
- package/assets/make/ty-context.mk +48 -48
- package/assets/skills/context_development_engineer/SKILL.md +135 -112
- package/assets/skills/context_full_project_export/SKILL.md +70 -70
- package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
- package/assets/skills/context_product_plan/SKILL.md +88 -87
- package/assets/skills/context_surface_contract/SKILL.md +191 -191
- package/assets/skills/context_uiux_design/SKILL.md +158 -154
- package/assets/skills/design-resource-authoring/SKILL.md +84 -79
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +136 -108
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +133 -127
- package/assets/skills/design-resource-authoring/references/resource-selection.md +173 -173
- package/assets/skills/design-system-authoring/SKILL.md +57 -57
- package/assets/skills/design-system-authoring/agents/openai.yaml +6 -6
- package/assets/skills/design-system-authoring/references/authority-adoption.md +48 -47
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -110
- package/assets/skills/long-task-workflow/SKILL.md +100 -87
- package/assets/skills/long-task-workflow/agents/openai.yaml +4 -4
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +76 -59
- package/assets/skills/long-task-workflow/references/contract-authoring.md +116 -103
- package/assets/skills/long-task-workflow/references/evidence-design.md +78 -75
- package/assets/skills/long-task-workflow/references/source-authoring.md +101 -98
- package/assets/skills/normal-long-task/SKILL.md +12 -12
- package/assets/skills/source-plan-authoring/SKILL.md +14 -14
- package/assets/tools/validate_context.py +442 -442
- package/dist/commands/design-resource.d.ts +1 -0
- package/dist/commands/design-resource.js +32 -0
- package/dist/commands/index.js +4 -0
- package/dist/commands/long-task-command-args.d.ts +1 -0
- package/dist/commands/long-task-command-args.js +6 -0
- package/dist/commands/long-task-revision.js +16 -4
- package/dist/commands/long-task.js +12 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/lib/design-md.js +3 -1
- package/dist/lib/design-resource-handoff-file-primitives.d.ts +4 -0
- package/dist/lib/design-resource-handoff-file-primitives.js +14 -0
- package/dist/lib/design-resource-handoff-file-validation.d.ts +2 -0
- package/dist/lib/design-resource-handoff-file-validation.js +142 -0
- package/dist/lib/design-resource-handoff-parser.d.ts +3 -0
- package/dist/lib/design-resource-handoff-parser.js +29 -0
- package/dist/lib/design-resource-handoff-policy.d.ts +3 -0
- package/dist/lib/design-resource-handoff-policy.js +36 -0
- package/dist/lib/design-resource-handoff-shape-evidence.d.ts +4 -0
- package/dist/lib/design-resource-handoff-shape-evidence.js +84 -0
- package/dist/lib/design-resource-handoff-shape-primitives.d.ts +9 -0
- package/dist/lib/design-resource-handoff-shape-primitives.js +44 -0
- package/dist/lib/design-resource-handoff-shape-structure.d.ts +5 -0
- package/dist/lib/design-resource-handoff-shape-structure.js +118 -0
- package/dist/lib/design-resource-handoff-shape.d.ts +2 -0
- package/dist/lib/design-resource-handoff-shape.js +75 -0
- package/dist/lib/design-resource-handoff-types.d.ts +139 -0
- package/dist/lib/design-resource-handoff-types.js +46 -0
- package/dist/lib/design-resource-handoff-validation-coverage.d.ts +4 -0
- package/dist/lib/design-resource-handoff-validation-coverage.js +168 -0
- package/dist/lib/design-resource-handoff-validation-primitives.d.ts +11 -0
- package/dist/lib/design-resource-handoff-validation-primitives.js +26 -0
- package/dist/lib/design-resource-handoff-validation-structure.d.ts +6 -0
- package/dist/lib/design-resource-handoff-validation-structure.js +93 -0
- package/dist/lib/design-resource-handoff-validation.d.ts +3 -0
- package/dist/lib/design-resource-handoff-validation.js +78 -0
- package/dist/lib/design-resource-handoff-web-dependency-validation.d.ts +3 -0
- package/dist/lib/design-resource-handoff-web-dependency-validation.js +70 -0
- package/dist/lib/long-task-activation-validation.js +14 -2
- package/dist/lib/long-task-authoring-preflight-diagnostics.js +7 -0
- package/dist/lib/long-task-authoring-preflight.js +39 -1
- package/dist/lib/long-task-authority-material-diff.js +14 -0
- package/dist/lib/long-task-authority-materials.js +21 -0
- package/dist/lib/long-task-authority-policy.d.ts +33 -0
- package/dist/lib/long-task-authority-policy.js +36 -0
- package/dist/lib/long-task-authority-revision-analysis.d.ts +1 -0
- package/dist/lib/long-task-authority-revision-analysis.js +30 -0
- package/dist/lib/long-task-authority-revision-brief.d.ts +3 -0
- package/dist/lib/long-task-authority-revision-brief.js +74 -0
- package/dist/lib/long-task-authority-revision-details.js +16 -16
- package/dist/lib/long-task-authority-revision-diagnosis.d.ts +1 -1
- package/dist/lib/long-task-authority-revision-diagnosis.js +8 -0
- package/dist/lib/long-task-authority-revision-enforcement.js +7 -3
- package/dist/lib/long-task-authority-revision-summary.d.ts +3 -0
- package/dist/lib/long-task-authority-revision-summary.js +133 -21
- package/dist/lib/long-task-authority-revision-types.d.ts +19 -1
- package/dist/lib/long-task-authority-revision.js +5 -0
- package/dist/lib/long-task-authority-types.d.ts +2 -0
- package/dist/lib/long-task-authority.js +10 -2
- package/dist/lib/long-task-check-execution-policy.js +2 -0
- package/dist/lib/long-task-claim-definitions.js +1 -5
- package/dist/lib/long-task-contract-types.d.ts +2 -0
- package/dist/lib/long-task-counterfactual-sandbox.d.ts +7 -0
- package/dist/lib/long-task-counterfactual-sandbox.js +27 -1
- package/dist/lib/long-task-delivery-compiler.js +26 -8
- package/dist/lib/long-task-delivery-types.d.ts +1 -0
- package/dist/lib/long-task-delivery-types.js +1 -0
- package/dist/lib/long-task-delivery-validation.js +3 -0
- package/dist/lib/long-task-design-resource-handoff.d.ts +2 -0
- package/dist/lib/long-task-design-resource-handoff.js +177 -0
- package/dist/lib/long-task-evidence-capability-codec.js +19 -0
- package/dist/lib/long-task-evidence-capability-policy.js +4 -0
- package/dist/lib/long-task-evidence-capability-runtime.js +25 -0
- package/dist/lib/long-task-evidence-capability-types.d.ts +9 -1
- package/dist/lib/long-task-outcome-parser.js +11 -1
- package/dist/lib/long-task-paths.d.ts +0 -1
- package/dist/lib/long-task-paths.js +0 -4
- package/dist/lib/long-task-playwright-case-evidence.d.ts +43 -0
- package/dist/lib/long-task-playwright-case-evidence.js +152 -0
- package/dist/lib/long-task-playwright-evidence.js +19 -152
- package/dist/lib/long-task-runner-freeze.d.ts +2 -2
- package/dist/lib/long-task-runner-freeze.js +2 -1
- package/dist/lib/long-task-runtime-types.d.ts +2 -0
- package/dist/lib/long-task-semantic-contract-types.d.ts +1 -1
- package/dist/lib/long-task-semantic-drift-migration.js +6 -1
- package/dist/lib/long-task-shape-primitives.d.ts +1 -1
- package/dist/lib/long-task-shape-primitives.js +1 -0
- package/dist/lib/long-task-status-v2.js +12 -7
- package/dist/lib/long-task-ui-design-policy.d.ts +17 -0
- package/dist/lib/long-task-ui-design-policy.js +128 -0
- package/dist/lib/long-task-ui-surface-policy.d.ts +4 -0
- package/dist/lib/long-task-ui-surface-policy.js +109 -0
- package/dist/lib/long-task-ui-surface-shape.d.ts +2 -0
- package/dist/lib/long-task-ui-surface-shape.js +94 -0
- package/dist/lib/long-task-ui-surface-types.d.ts +44 -0
- package/dist/lib/long-task-ui-surface-types.js +1 -0
- package/dist/lib/long-task-ui-surface-validation.d.ts +11 -0
- package/dist/lib/long-task-ui-surface-validation.js +62 -0
- package/dist/lib/long-task-verification-preview.d.ts +55 -0
- package/dist/lib/long-task-verification-preview.js +120 -0
- package/dist/lib/long-task-verifier-v2.js +11 -18
- package/dist/lib/long-task-workspace-scope.d.ts +38 -0
- package/dist/lib/long-task-workspace-scope.js +121 -0
- package/dist/lib/long-task-workspace.d.ts +1 -0
- package/dist/lib/long-task-workspace.js +73 -9
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +84 -2
- package/migrations/README.md +7 -7
- package/package.json +3 -3
- package/source-mappings.yaml +25 -25
|
@@ -1,129 +1,135 @@
|
|
|
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
|
-
- specialist paths such as
|
|
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
|
-
|
|
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
|
+
- 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
|
+
|
|
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
|
-
##
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
1.
|
|
96
|
-
2. enumerate
|
|
97
|
-
3.
|
|
98
|
-
4.
|
|
99
|
-
5.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
91
|
+
## Implementation-level output profile
|
|
92
|
+
|
|
93
|
+
Open Design has demonstrated that a complex Web page can emit a machine-readable implementation set such as `index.html`, component/design specifications, tokens and an asset manifest. Capability is not a per-run guarantee. When the selected resource will drive Web/App implementation, make this an explicit commission and retrieval invariant:
|
|
94
|
+
|
|
95
|
+
1. request a canonical machine-readable entry and implementation-readable state, interaction, responsive, motion, semantic/accessibility and asset facts for the declared conditions;
|
|
96
|
+
2. enumerate the complete output set and retrieve every selected entry/dependency without truncation;
|
|
97
|
+
3. preserve exact bytes, media types and SHA-256 digests in repository-local immutable files;
|
|
98
|
+
4. record `implementation_web` or `implementation_app`, the canonical entry, every dependency and `acquisition: complete`;
|
|
99
|
+
5. for Web output, require every local HTML/CSS/JS dependency discovered from the frozen source to be present in the declared target set;
|
|
100
|
+
6. use stable IDs/data attributes, Markdown anchors, JSON Pointers, CSS selectors/custom properties or bounded whole-file binary locators that shared preflight can resolve.
|
|
101
|
+
7. before emitting `ready`, exercise every declared verification method against the canonical entry under its claimed conditions and compare facts repeated across code, specifications, tokens and asset manifests. Refine any mismatch; if it cannot be resolved, keep the affected cell `decision_required`/`unavailable` with a blocker. Preserve the checked immutable hashes and report this only as authoring source QA, never production acceptance.
|
|
102
|
+
|
|
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
|
+
|
|
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
|
+
- **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
|
+
|
|
125
|
+
## Specialist paths
|
|
126
|
+
|
|
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.
|