project-tiny-context-harness 0.8.16 → 0.8.17
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/README.md +31 -16
- package/assets/README.md +31 -16
- package/assets/README.zh-CN.md +29 -14
- package/assets/context_templates/screen-contract.md +16 -0
- package/assets/skills/context_development_engineer/SKILL.md +16 -30
- package/assets/skills/context_development_engineer/references/engineering-design-reasoning.md +93 -0
- package/assets/skills/context_surface_contract/SKILL.md +13 -2
- package/assets/skills/context_uiux_design/SKILL.md +7 -3
- package/assets/skills/context_uiux_design/references/task-uiux-analysis.md +82 -0
- package/assets/skills/design-resource-authoring/SKILL.md +14 -8
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +18 -6
- package/assets/skills/design-resource-authoring/references/formal-selected-web-app-handoff.md +26 -8
- package/assets/skills/design-resource-authoring/references/implementation-feasibility.md +111 -0
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +45 -7
- package/assets/skills/design-resource-authoring/references/recovery-and-writeback.md +7 -1
- package/assets/skills/design-resource-authoring/references/resource-selection.md +115 -3
- package/dist/commands/design-resource.js +9 -2
- package/dist/index.d.ts +1 -1
- package/dist/lib/design-resource-handoff-bundle.js +5 -0
- package/dist/lib/design-resource-handoff-input-types.d.ts +1 -1
- package/dist/lib/design-resource-handoff-manifest-projection.js +1 -0
- package/dist/lib/design-resource-handoff-set-integrity.js +1 -0
- package/dist/lib/design-resource-handoff-shape.js +6 -2
- package/dist/lib/design-resource-handoff-types.d.ts +5 -0
- package/dist/lib/design-resource-handoff-validation.js +12 -0
- package/dist/lib/design-resource-implementation-feasibility-model.d.ts +35 -0
- package/dist/lib/design-resource-implementation-feasibility-model.js +62 -0
- package/dist/lib/design-resource-implementation-feasibility-shape-sections.d.ts +43 -0
- package/dist/lib/design-resource-implementation-feasibility-shape-sections.js +142 -0
- package/dist/lib/design-resource-implementation-feasibility-shape.d.ts +4 -0
- package/dist/lib/design-resource-implementation-feasibility-shape.js +154 -0
- package/dist/lib/design-resource-implementation-feasibility-source-decision-projection.d.ts +24 -0
- package/dist/lib/design-resource-implementation-feasibility-source-decision-projection.js +106 -0
- package/dist/lib/design-resource-implementation-feasibility-source-decision.d.ts +21 -0
- package/dist/lib/design-resource-implementation-feasibility-source-decision.js +75 -0
- package/dist/lib/design-resource-implementation-feasibility-types.d.ts +135 -0
- package/dist/lib/design-resource-implementation-feasibility-types.js +37 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-cells.d.ts +5 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-cells.js +125 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-document.d.ts +4 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-document.js +167 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-facts.d.ts +3 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-facts.js +76 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-realizations.d.ts +8 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-realizations.js +76 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-support.d.ts +10 -0
- package/dist/lib/design-resource-implementation-feasibility-validation-support.js +75 -0
- package/dist/lib/design-resource-implementation-feasibility-validation.d.ts +3 -0
- package/dist/lib/design-resource-implementation-feasibility-validation.js +138 -0
- package/dist/lib/design-resource-symbolic-fact-shape.js +3 -1
- package/dist/lib/design-resource-symbolic-fact-types.d.ts +5 -0
- package/dist/lib/design-resource-symbolic-fact-validation.js +13 -0
- package/dist/lib/long-task-activation-validation.js +77 -7
- package/dist/lib/long-task-check-runner.js +3 -296
- package/dist/lib/long-task-command-process.d.ts +9 -0
- package/dist/lib/long-task-command-process.js +175 -0
- package/dist/lib/long-task-delivery-validation.d.ts +5 -2
- package/dist/lib/long-task-delivery-validation.js +4 -4
- package/dist/lib/long-task-design-feasibility-binding-owners.d.ts +6 -0
- package/dist/lib/long-task-design-feasibility-binding-owners.js +52 -0
- package/dist/lib/long-task-design-feasibility-binding.d.ts +13 -0
- package/dist/lib/long-task-design-feasibility-binding.js +114 -0
- package/dist/lib/long-task-design-feasibility-source-closure.d.ts +11 -0
- package/dist/lib/long-task-design-feasibility-source-closure.js +78 -0
- package/dist/lib/long-task-design-resource-handoff.d.ts +3 -3
- package/dist/lib/long-task-design-resource-handoff.js +39 -3
- package/dist/lib/long-task-design-resource-method-binding.js +8 -2
- package/dist/lib/long-task-freshness.js +1 -1
- package/dist/lib/long-task-process-table.d.ts +12 -0
- package/dist/lib/long-task-process-table.js +119 -0
- package/dist/lib/long-task-process-tree.d.ts +9 -0
- package/dist/lib/long-task-process-tree.js +138 -0
- package/dist/lib/long-task-protected-files.d.ts +1 -1
- package/dist/lib/long-task-protected-files.js +1 -1
- package/dist/lib/long-task-ui-surface-policy.d.ts +2 -1
- package/dist/lib/long-task-ui-surface-policy.js +7 -4
- package/dist/lib/long-task-ui-surface-validation.d.ts +3 -1
- package/dist/lib/long-task-ui-surface-validation.js +2 -2
- package/dist/lib/repository-path-safety.d.ts +2 -0
- package/dist/lib/repository-path-safety.js +36 -0
- package/dist/public-types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Task-Level UI/UX Analysis
|
|
2
|
+
|
|
3
|
+
Use this non-authoritative reference only for material UI/UX reasoning or audit. It helps the current Goal understand and compare candidates; it does not own product meaning, page duty, information/action/feedback placement, interaction topology, Design Authority, resources, implementation or acceptance. Product/Surface/Screen/Design Source remains controlling.
|
|
4
|
+
|
|
5
|
+
## 1. Recover the user and operating context
|
|
6
|
+
|
|
7
|
+
Read the available product and Surface/Screen Source before evaluating layout. Identify only what is authoritative or explicitly task-local:
|
|
8
|
+
|
|
9
|
+
- target user or role and usage context;
|
|
10
|
+
- primary task outcome and success feedback;
|
|
11
|
+
- client/host/platform, input mode, viewport/size class and environmental constraints;
|
|
12
|
+
- current page/surface duty and entry/exit context;
|
|
13
|
+
- permissions, data/state, recovery and accessibility constraints; and
|
|
14
|
+
- affected exact targets, constraints and inspirations.
|
|
15
|
+
|
|
16
|
+
Do not infer a user, task priority or product rule from a feature list, screenshot or current component tree. Missing meaning that changes the candidate remains `decision-required` or belongs in the stale owning Source.
|
|
17
|
+
|
|
18
|
+
## 2. Model the primary work object and task loop
|
|
19
|
+
|
|
20
|
+
Name the object the user is inspecting, creating, editing, moving or deciding about. Trace the shortest meaningful loop:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
orient -> inspect/select the work object -> act -> see local feedback -> recover or continue -> finish
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
For each material action, keep operation, affected object and feedback spatially and temporally understandable. Record which context must remain visible while acting, what state commits, how cancellation/retry works and where focus/selection returns. Secondary diagnostics or configuration must not displace the primary work object without an explicit Surface decision.
|
|
27
|
+
|
|
28
|
+
## 3. Test information hierarchy and topology
|
|
29
|
+
|
|
30
|
+
Evaluate semantic priority before visual polish:
|
|
31
|
+
|
|
32
|
+
- primary judgment, work object and action;
|
|
33
|
+
- critical context that must remain visible;
|
|
34
|
+
- supporting information and secondary actions;
|
|
35
|
+
- drilldown/evidence/diagnostic ownership; and
|
|
36
|
+
- loading, empty, partial, error, permission, offline and recovery states.
|
|
37
|
+
|
|
38
|
+
Compare the smallest material topology candidates: fixed versus scrolling regions; inline versus overlay; sidebar, sheet, modal or popover; split view; map/canvas/editor viewport; and navigation versus contextual reveal. For each candidate, explain what remains visible, what scrolls, who owns focus/back/cancel and how the primary loop changes across size classes.
|
|
39
|
+
|
|
40
|
+
Client-specific structure is allowed when host chrome, safe area, keyboard/input method, pointer/touch conventions, native navigation or viewport constraints materially differ. Do not treat a desktop layout shrunk to mobile width as mobile interaction design.
|
|
41
|
+
|
|
42
|
+
## 4. Walk the task and its counterfactuals
|
|
43
|
+
|
|
44
|
+
Run a concise cognitive walkthrough for the primary path and material failure/recovery path:
|
|
45
|
+
|
|
46
|
+
1. Can the user identify the current work object and next useful action?
|
|
47
|
+
2. Is the action discoverable and available at the moment it matters?
|
|
48
|
+
3. Is the affected object unambiguous before commit?
|
|
49
|
+
4. Is progress, success, failure or partial result visible near the action/object?
|
|
50
|
+
5. Can the user cancel, retry, undo, navigate back or recover without losing unexplained state?
|
|
51
|
+
6. Do keyboard, focus, touch target, screen-reader label/order, contrast and reduced-motion needs remain viable?
|
|
52
|
+
|
|
53
|
+
Challenge the leading candidate with long content, empty/error/permission states, narrow and wide size classes, localization/text scaling, keyboard or IME display, interrupted work and returning to the prior selection. Apply only conditions material to Source; do not invent a universal matrix.
|
|
54
|
+
|
|
55
|
+
## 5. Compare and select under authority
|
|
56
|
+
|
|
57
|
+
For each material candidate, state:
|
|
58
|
+
|
|
59
|
+
- which authoritative facts it satisfies;
|
|
60
|
+
- the primary-loop advantage and cognitive cost;
|
|
61
|
+
- repeated scroll, navigation or context-switch cost;
|
|
62
|
+
- state/recovery/accessibility consequences;
|
|
63
|
+
- client/size-class behavior; and
|
|
64
|
+
- what evidence or decision would change the choice.
|
|
65
|
+
|
|
66
|
+
The current Goal may select among implementation-equivalent candidates when Source delegates that freedom. If candidates change product meaning, page duty, main/drilldown placement or a durable interaction topology, update the smallest owning Product Surface/Screen Context only when writes are already authorized and `Context Delta: required`; otherwise return `decision-required`. If a candidate conflicts with an adopted exact target or Design Authority, repair/revise the owning authority first. Only then may explicit resource generation route to `design-resource-authoring`.
|
|
67
|
+
|
|
68
|
+
## Failure sentinels
|
|
69
|
+
|
|
70
|
+
Explicitly check for these common defects when relevant:
|
|
71
|
+
|
|
72
|
+
- repeated scrolling or cross-surface switching to compare information needed for one decision;
|
|
73
|
+
- a hidden, collapsed or displaced primary work object;
|
|
74
|
+
- critical actions detached from the object or hidden behind unrelated navigation;
|
|
75
|
+
- feedback that does not identify the operation and affected object;
|
|
76
|
+
- a keyboard or IME obscuring the editable object, commit/cancel actions or validation feedback;
|
|
77
|
+
- destructive, interrupted or failed work with no understandable recovery path; and
|
|
78
|
+
- mobile behavior produced only by shrinking desktop regions, with no touch/navigation/keyboard adaptation.
|
|
79
|
+
|
|
80
|
+
## Output
|
|
81
|
+
|
|
82
|
+
Return a concise task model, authoritative inputs and gaps, primary work object/loop, operation-object-feedback relationship, hierarchy/topology candidates, walkthrough/counterfactual findings, selected candidate or decision gap, owner/Context effect and verification suggestions. Do not create a required UI plan, matrix, lifecycle, resource pack, acceptance result or durable task-level UI/UX authority.
|
|
@@ -10,34 +10,40 @@ Commission the smallest sufficient resource set for the user's explicit output/d
|
|
|
10
10
|
## Hard boundaries
|
|
11
11
|
|
|
12
12
|
- A raw proposal, plan, brief, screenshot or existing resource is valid input. Never require or create a special intermediary planning format, and never rewrite caller-owned Source except for the one explicitly selected proposal reconciliation.
|
|
13
|
-
- The explicit output/development scope is a hard ceiling. Necessary surrounding context may orient the slice but cannot expand it.
|
|
13
|
+
- The explicit output/development scope is a hard ceiling. Necessary surrounding context may orient the slice but cannot expand it. Report an outside-ceiling effect as existing `decision-required` with reason `scope-expansion-required`; only explicit user expansion changes the ceiling.
|
|
14
14
|
- Candidates are ordinary external Source. They do not select themselves, become `exact-target`, update `DESIGN.md`/Context or prove implementation acceptance.
|
|
15
15
|
- Keep candidate effects in a task-local buffer. Only after explicit selection or explicitly delegated selection may accepted decisions be reconciled once and idempotently into the initial proposal; never write rejected/unresolved meaning as accepted.
|
|
16
16
|
- Never mutate `project_context/**`, `DESIGN.md`, a Delivery Contract, production code or tests as a resource-authoring side effect.
|
|
17
17
|
- Do not require a prototype, fidelity pair, provider-native file, fixed directory, variant count, resource pack or one artifact per control. Reuse selected component families and group repeated controls.
|
|
18
18
|
- Visual resources may express user-visible interaction/presentation but cannot invent or become sole owner of business, data, permission or algorithmic rules.
|
|
19
|
+
- A Web/App implementation resource must be feasible on the real project substrate. DRA may enumerate Source-backed feasible realizations and blockers, but it cannot select a production owner or required realization unless an exact current marked technical Source Item already makes that choice. Role labels, same-file prose and path-only claims are not authority.
|
|
20
|
+
- Before commissioning a page, flow or complex control, consume controlling Product/Surface/Screen Source for target user/context, client/host, page duty, primary task outcome, primary work object/task loop, operation-object-feedback and applicable state/recovery/accessibility meaning. Separately consume `DESIGN.md` and selected exact-target/constraint Source for visual-system and selected-design conditions. If the requested direction requires durable Product/Surface/Screen/Design meaning to change, route to and update the actual owner before resuming generation; do not design against stale Source.
|
|
21
|
+
- Non-authoritative task-level UI/UX analysis may inform candidate comparison but cannot supply missing product or surface meaning. A Provider must not infer that meaning from a feature list, screenshot, route tree, component inventory or analysis output.
|
|
19
22
|
- Do not install/configure MCP, plugins, authentication or disclosure paths without separate authorization. Create no provider registry, global workflow state, authority lifecycle, scheduler or acceptance record.
|
|
20
23
|
|
|
21
24
|
## Progressive references
|
|
22
25
|
|
|
23
|
-
1. Always read [resource-selection.md](references/resource-selection.md) to fix the scope ceiling, intent, input roles, style dependency and minimum commission.
|
|
26
|
+
1. Always read [resource-selection.md](references/resource-selection.md) to fix the scope ceiling, authoritative product/surface inputs, intent, input roles, style dependency and minimum commission.
|
|
24
27
|
2. Read [open-design-provider.md](references/open-design-provider.md) only before live capability discovery, provider execution, Design Authority binding, source acquisition or recovery.
|
|
25
28
|
3. Read [downstream-handoff.md](references/downstream-handoff.md) only when selection, proposal reconciliation or downstream handoff is material. A simple unselected preview may stop without it.
|
|
26
|
-
4. Read [
|
|
29
|
+
4. Read [implementation-feasibility.md](references/implementation-feasibility.md) before commissioning or publishing a Web/App implementation handoff against a real repository substrate. Reference-only and non-implementation resources never load it.
|
|
30
|
+
5. Read [formal-selected-web-app-handoff.md](references/formal-selected-web-app-handoff.md) completely only for an explicitly final selected Web/App implementation handoff. Exploration, unselected previews, reference-only resources and non-Web/App commissions never load this reference.
|
|
27
31
|
|
|
28
32
|
For simple-preview overhead accounting, the requested preview is neither additional Provider generation nor an added tool action.
|
|
29
33
|
|
|
30
34
|
## Workflow
|
|
31
35
|
|
|
32
|
-
1. Name in-scope surfaces/flows/regions/component families/unique controls, conditions, necessary context, exclusions and intent: `exploration`, `handoff` or `selected-source-preparation`.
|
|
36
|
+
1. Name in-scope surfaces/flows/regions/component families/unique controls, conditions, necessary context, exclusions and intent: `exploration`, `handoff` or `selected-source-preparation`. For a page, flow or complex control, first resolve controlling Product/Surface/Screen user/context, client/host, page-duty, primary-task, primary-work-object/task-loop, operation-object-feedback and applicable state/recovery/accessibility meaning; separately resolve `DESIGN.md` and selected-target visual conditions. Keep missing meaning unresolved, route a durable owner change before generation and keep outside-ceiling impact `decision-required` rather than filling it from task analysis or expanding scope.
|
|
33
37
|
2. Inventory every input as `exact-target`, `constraint`, `inspiration`, current-implementation evidence or background. Report unreadable/unused material.
|
|
34
38
|
3. Classify the commission `style-bearing` or `non-fidelity`. Style-bearing means high fidelity/brand/visual direction/typography/color/density/component treatment/production-style prototype. IA/flow topology, low-fidelity structure and semantics-only state studies are non-fidelity.
|
|
35
39
|
4. For style-bearing work, read configured Design Authority and its exact-value token source. If unconfigured, stop before provider project/run creation and route the user to explicit `$design-system-authoring`; never invoke it automatically. Non-fidelity work remains allowed.
|
|
36
40
|
A combined explicit request authorizes running `$design-system-authoring` first and then resuming this Skill.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
Before every style-bearing generation or material revision, use the always-read resource-selection reference to close every applicable current-slice style-application dimension as `existing-covered`, `projected`, `not-applicable` or the existing `decision-required`. No applicable dimension may be silently omitted; `decision-required`, an undispositioned dimension or Source conflict blocks the Provider run. Complete current input-bound coverage permits omitting `style_application`, while the actual envelope contains only `projected` fields; generic design-system identity or Tokens alone are not current-slice coverage. Repeat the judgment for each material revision. A simple preview performs it through the current Source/envelope action without another tool action, persistent state or fixed extra user turn.
|
|
42
|
+
5. For a Web/App implementation handoff, inspect current technical Source for platform, framework/runtime, UI system, token/theming adapter, component-owner roots and route-owner roots. Owner roots are current no-follow repository directories, not arbitrary identifiers. Treat every unavailable or decision-required observation as target-wide: an exact Source-backed blocker naming that observation must reach every material component-family × condition cell, and a target with no family carrier cannot hide the unresolved observation. Cover every material component-family × target × condition profile, including the complete transitive family subject closure, with at least one Source-backed feasible realization or an explicit blocker. A candidate-bearing cell requires observed non-empty component-owner roots; unresolved roots force blocker-only coverage. Exact planned-owner authorization, required realization and blocker authority use the marked-Source decision projection defined by the feasibility reference. Keep canonical design values in design resources; never put them into any feasibility prose field, while explicit technical build/test/runtime costs may retain their time units.
|
|
43
|
+
6. Discover only the live provider capabilities needed by the bounded commission. For a formal generation, major revision or critical regeneration, apply the provider reference's `highest_available_capability + highest_supported_reasoning_effort` policy and fail closed when eligible candidates cannot be authoritatively ranked; never infer rank from price, name, release date or list order, and never claim an effective model/effort the run cannot confirm. Give every considered resource one disposition—`selected`, `optional`, `not-needed`, `unavailable` or `decision-required`—with a reason. Ask only when a missing preference materially changes the result.
|
|
44
|
+
7. Bind style-bearing provider work to the adopted design-system identity, send only the scoped product/resource commission and keep provider execution, model-selection verification, Artifact readiness, Design suitability, human selection and authority adoption distinct.
|
|
45
|
+
8. Iterate within scope. Re-review applicable suitability checks after every material revision. A first render with no material Source, feasibility or suitability defect may be selected directly; never require a revision merely to satisfy process. Exploration returns a visible candidate after minimal sanity review. When direction review or selection is material, use the downstream owner's `Design Resource Review & Selection Stop`; it is not approval, acceptance, formal completeness or persistent state. Do not burden exploration with handoff schema, hashes, complete Fact closure or downstream validation.
|
|
46
|
+
9. After direction selection, preserve canonical immutable identity and editable-upstream provenance. For a selected formal Web/App handoff, complete the formal reference's closure first and return to the review stop if it exposes a new visible decision. Reconcile accepted proposal effects once only after stable formal closure; non-formal small requests retain their one-turn option.
|
|
41
47
|
|
|
42
48
|
## Conditional Design Authority stop
|
|
43
49
|
|
|
@@ -10,17 +10,29 @@ Generated resources remain ordinary external Source. Preserve enough identity an
|
|
|
10
10
|
|
|
11
11
|
This Skill may preserve an input already classified `exact-target`; it cannot promote its own candidate. Unknown coverage remains unknown. Resource hashes, provider success and previews establish neither selection nor production conformance.
|
|
12
12
|
|
|
13
|
+
A selection binds the canonical selected-source digest, target identity, declared conditions and controlling Source/Design-Authority identity. Preview URLs, names, PNGs, export archives and wrappers are derived artifacts, not the selection identity. A derived artifact proved equivalent to that canonical source under the bound target/conditions preserves selection; a visible or semantic difference requires fresh Design suitability review and another user choice.
|
|
14
|
+
|
|
13
15
|
## Development-scope coverage
|
|
14
16
|
|
|
15
17
|
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 context and explicit exclusions. One addressable artifact may cover several items; a static/default frame covers only what it actually shows.
|
|
16
18
|
|
|
17
19
|
Design resources may show user-visible triggers, transitions, states, feedback and rule presentation. Product/technical Source still owns business, data, permission and algorithmic rules.
|
|
18
20
|
|
|
21
|
+
For a Web/App implementation handoff, also return the separate implementation-feasibility Source described in [implementation-feasibility.md](implementation-feasibility.md): real substrate observations plus complete transitive component-family × target × condition candidates/blockers. Owner roots are current repository directories. Planned-owner authorization, required realization and blocker authority bind exact marked technical Source Items and strict decision projections. Exact selected design values remain canonical-resource owned and cannot appear in feasibility prose. Multiple feasible candidates remain allowed; DRA selects none unless current technical authority already requires one.
|
|
22
|
+
|
|
23
|
+
## Design Resource Review & Selection Stop
|
|
24
|
+
|
|
25
|
+
Use this explicit interaction point when direction review, correction or candidate selection is material. Show the addressable candidate plus the scope ceiling/necessary context/exclusions, selected existing and generated coverage, preservation obligations, Provider/Artifact qualifiers, Design suitability findings, unchecked conditions, outside-ceiling effects and unresolved choices.
|
|
26
|
+
|
|
27
|
+
The user may correct design execution, change a requirement, select/reject a candidate, leave a choice unresolved, explicitly expand scope or request a durable Product/Surface/Screen/Design owner change. Route durable meaning to its actual owner and reread it before DRA resumes. Design suitability never performs selection.
|
|
28
|
+
|
|
29
|
+
This stop is not an approval record, `review_set_id`, registry, persisted status, Gate, acceptance, readiness or formal-completeness claim. It is not a required extra turn when a small request can generate, review and select in one turn. Ordinary conversational selection creates no persistent state or deterministic cross-session promise and must be reconfirmed if lost. When deterministic cross-interruption recovery is required, load [recovery-and-writeback.md](recovery-and-writeback.md) and use only its existing marked-Source, authority, selected-source and conditional-checkpoint route.
|
|
30
|
+
|
|
19
31
|
## Reconcile the initial proposal once
|
|
20
32
|
|
|
21
33
|
During a simple iteration, keep a task-local buffer of selection basis, selected immutable/editable identities, accepted decisions, rejected alternatives, unresolved choices and affected product/surface/control/state/interaction/visual keys. This is reasoning, not a schema or required file. If the loop is material enough to require replayable Delta, a file writeback or interruption recovery, stop and read [recovery-and-writeback.md](recovery-and-writeback.md); do not approximate safe recovery/CAS from this lightweight reference.
|
|
22
34
|
|
|
23
|
-
After
|
|
35
|
+
After selection—and, for a formal Web/App handoff, only after its complete closure produces no new visible decision:
|
|
24
36
|
|
|
25
37
|
1. confirm the selection basis and immutable identity;
|
|
26
38
|
2. consolidate duplicate/intermediate notes;
|
|
@@ -30,9 +42,9 @@ After final selection:
|
|
|
30
42
|
6. make reruns idempotent by updating the existing decision/reference;
|
|
31
43
|
7. edit the authorized writable initial-proposal file, or return one complete revised proposal when it exists only in conversation.
|
|
32
44
|
|
|
33
|
-
Never mutate other caller-owned Source, Context, `DESIGN.md`, Contract, production code or tests. If no selection occurs, return candidates and the pending delta without changing the proposal.
|
|
45
|
+
Never mutate other caller-owned Source, Context, `DESIGN.md`, Contract, production code or tests. If no selection occurs, return candidates and the pending delta without changing the proposal. If formal closure exposes a new state, resource, condition, visible/semantic change or `decision-required` choice, return to the Review & Selection Stop before reconciliation.
|
|
34
46
|
|
|
35
|
-
|
|
47
|
+
Non-formal small requests may complete generation, selection and reconciliation in one turn; “once” describes the semantic writeback, not a required pause. Formal Web/App work defers its one reconciliation until direction selection plus stable formal closure.
|
|
36
48
|
|
|
37
49
|
## Intent-sized handoff
|
|
38
50
|
|
|
@@ -40,12 +52,12 @@ Exploration returns the visible candidate, scope, dispositions, obvious limitati
|
|
|
40
52
|
|
|
41
53
|
A non-formal selected-source handoff preserves target/resource classification, conditions, immutable identity, editable-upstream route, coverage/limitations and proposal identity in a project-native location authorized by the user. It remains ordinary Source.
|
|
42
54
|
|
|
43
|
-
For an explicitly selected Web/App implementation handoff, stop here and read [formal-selected-web-app-handoff.md](formal-selected-web-app-handoff.md). UI symbolic V2 is explicit opt-in; V1 remains the default.
|
|
55
|
+
For an explicitly selected Web/App implementation handoff, stop here and read [implementation-feasibility.md](implementation-feasibility.md) followed by [formal-selected-web-app-handoff.md](formal-selected-web-app-handoff.md). UI symbolic V2 is explicit opt-in; V1 remains the default. Those references own the real-substrate feasibility Source, strict manifest-backed V1/symbolic V2, Census/Fact/method and bundle/preflight rules. If closure exposes a new visible decision, return here for suitability review and the Review & Selection Stop; only stable closure returns for the one Proposal reconciliation. Do not approximate formal rules from this lightweight reference.
|
|
44
56
|
|
|
45
57
|
## Downstream routing
|
|
46
58
|
|
|
47
|
-
The default Workflow opens every affected selected `exact-target` or `constraint
|
|
59
|
+
The default Workflow opens every affected selected `exact-target` or `constraint` plus current feasibility Source, routes design meaning through owning surface/Design Authority, selects an allowed implementation strategy during Architecture Deliberation, implements through the real production entry, runs applicable current-candidate checks, and reports blockers or unestablished conditions. It does not require machine-unique binding selection. When no reliable project-native check observes a production claim, report it as `Unverified`; preflight or model judgment cannot promote it. It does not rebuild a per-Fact proof ledger.
|
|
48
60
|
|
|
49
|
-
An active Long-Task uses its one Source/Contract/Authority/Final Gate lifecycle. The resource handoff
|
|
61
|
+
An active Long-Task uses its one Source/Contract/Authority/Final Gate lifecycle. Existing component bindings must uniquely derive an allowed realization for every candidate-bearing cell and must all be attributed back to an allowing candidate-bearing cell; shared bindings are attributed across the complete surface, not forced onto each target. A surface with empty component refs is admitted only by complete Source-aware activation when every target is all-blocker-only; standalone structure validation, candidate/mixed/legacy targets and fake component bindings remain strict failures. Every `file`/`path_glob` target and carrier, every `verified` carrier and every non-empty planned carrier must be a proven subset of an observed component or route root; partial or unknown containment fails. Exact `path#source-item-key` Claims carry selected planned-owner/required-realization decisions, while every blocker is either `decision_required` or an open/closed target-blocking External Confirmation over affected current-target Claims. An open confirmation may project only its externally blocked design Assertions from machine execution and reaches `blocked_external`, never `machine_accepted`; it does not mutate the Contract or create a second Gate. The resource handoff, feasibility document and controlling technical authority are Source and bind only through existing Contract surfaces; this Skill creates no Contract Draft, Outcome, Progress, Evidence, Receipt, Check result or Gate. Historical Provider, preflight, DRA-audit or project-check results never replace current-candidate evidence in the existing Final Gate.
|
|
50
62
|
|
|
51
63
|
Never infer that a generated resource is selected/authoritative/accepted, covers undeclared states or targets, is native implementation because a preview renders, changed durable authority, or proves production fidelity, tests or release readiness.
|
package/assets/skills/design-resource-authoring/references/formal-selected-web-app-handoff.md
CHANGED
|
@@ -4,7 +4,7 @@ Read this reference only after a Web/App direction is final-selected for impleme
|
|
|
4
4
|
|
|
5
5
|
## Admission and invariant
|
|
6
6
|
|
|
7
|
-
The target needs one completely acquired machine-readable canonical entry, its exact locally resolvable dependency closure
|
|
7
|
+
The target needs one completely acquired machine-readable canonical entry, its exact locally resolvable dependency closure, one frozen-Inspector observable-Fact manifest and one separate real-substrate implementation-feasibility input. Derive the Expected Fact Universe and inspect current technical Source before generation; initially rendered output cannot define its own obligations or production architecture.
|
|
8
8
|
|
|
9
9
|
For every selected target, establish:
|
|
10
10
|
|
|
@@ -16,6 +16,10 @@ Expected Fact Universe
|
|
|
16
16
|
|
|
17
17
|
Product Controls and the eight reporting dimensions are roll-ups, not the Fact ceiling. Never sample, truncate, summarize a remainder, use pairwise coverage, infer an implicit default, broaden exclusions or let `all-states`/`complete` labels stand for atomic identities. File/model/parser/memory limits cannot weaken the universe; incompatible capacity fails closed.
|
|
18
18
|
|
|
19
|
+
## Review-return boundary
|
|
20
|
+
|
|
21
|
+
The prior direction selection authorizes formal preparation; it does not claim this closure is already complete. If complete universe derivation, canonical acquisition, dependency/Census inspection, implementation-feasibility inspection, manifest proof or preflight exposes a new state, component part, resource, condition, unavailable observation, visible/semantic design difference or `decision-required` choice, stop publication and return to the downstream `Design Resource Review & Selection Stop`. Re-run applicable Design suitability before asking for another selection. A technical choice among already allowed candidates stays with downstream Architecture Deliberation and does not force another visual selection. Only closure which introduces no new visible decision returns downstream for the one consolidated Proposal reconciliation.
|
|
22
|
+
|
|
19
23
|
## Derive the complete universe
|
|
20
24
|
|
|
21
25
|
Enumerate stable subjects and hierarchy for every in-scope Surface, flow, region, overlay/system UI, component family and instance, Control, Anatomy Part/slot, primitive, text, icon, media, asset and typed multi-subject relation. Preserve parent/instance/family/override/slot/portal/presence/population/Census lineage so a family or one instance cannot hide internal/repeated subjects.
|
|
@@ -30,7 +34,9 @@ The exact universe is every applicable `subject × target × condition × variat
|
|
|
30
34
|
|
|
31
35
|
Bind style-bearing work to the adopted design-system snapshot and verify the provider project reports the same identity. Commission the complete obligation universe through structured provider capability. If the provider cannot emit/read a required family, keep it blocking rather than narrowing scope.
|
|
32
36
|
|
|
33
|
-
Acquire every selected file without truncation, preserve exact bytes/digests and record `implementation_web` or `implementation_app` with `acquisition: complete`. The canonical entry and all local source, token, SVG, font, image, media, worker and asset dependencies must resolve inside the frozen set. A screenshot, URL, preview or prose spec is insufficient.
|
|
37
|
+
Acquire every selected file without truncation, preserve exact bytes/digests and record `implementation_web` or `implementation_app` with `acquisition: complete`. The canonical entry and all local source, token, SVG, font, image, media, worker and asset dependencies must resolve inside the frozen set. A screenshot, URL, preview or prose spec is insufficient. Technical Source and the feasibility document remain separate indexed inputs and never enter this canonical dependency set.
|
|
38
|
+
|
|
39
|
+
The selected identity is the canonical source digest plus target, declared conditions and controlling Source/Design-Authority identity. A PNG, archive, renamed copy or wrapper is a derived artifact: verified equivalence to the canonical source under those bindings preserves selection, while a visible or semantic difference activates the review-return boundary above.
|
|
34
40
|
|
|
35
41
|
The one per-target `design-resource-observable-fact-manifest-v1` freezes:
|
|
36
42
|
|
|
@@ -53,13 +59,21 @@ Each covered Fact has exactly one subject/target/condition/variation/property, o
|
|
|
53
59
|
|
|
54
60
|
Create a distinct proof obligation for every Fact × required verification method. Bind method-compatible evidence, comparator, exact/tolerance mode and parameters, optional mask located digest, a frozen executable or named external Oracle with the exact method capability, and a frozen render environment. A Fact needing token and pixel proof keeps both. Protected observations retain canonical ownership while downstream evidence is attributable digest-only/redacted and never persists raw sensitive values.
|
|
55
61
|
|
|
56
|
-
For every `exact_target` condition include one `full_target` `layout_geometry` Fact and one `full_target` `visual_pixel` Fact with exact-target evidence. If complete visible fidelity cannot be extracted or compared, classify the resource as a constraint or blocker instead.
|
|
62
|
+
For every `exact_target` condition include one `full_target` `layout_geometry` Fact and one `full_target` `visual_pixel` Fact with exact-target evidence. If complete visible fidelity cannot be extracted or compared, classify the resource as a constraint or blocker instead. Family feasibility coverage uses the complete transitive family subject closure, so nested Anatomy Parts, slot content, text, icons, media and assets cannot disappear merely because their own `family_ref` is null.
|
|
57
63
|
|
|
58
64
|
Asset bindings identify asset subject, immutable resource, target/condition Facts, consumer subjects and density/platform/theme/mode/locale variants plus crop/focal/mask/placeholder/error/decode/fallback behavior.
|
|
59
65
|
|
|
66
|
+
## Real-substrate implementation feasibility
|
|
67
|
+
|
|
68
|
+
Read [implementation-feasibility.md](implementation-feasibility.md) and author one `design-resource-implementation-feasibility-v1` JSON document per target before publication. Freeze repository-relative technical Source records for platform, framework/runtime, UI system, token/theming adapter, component-owner roots and route-owner roots. Treat every unavailable or decision-required observation as target-wide across every material family × condition cell, and require observed non-empty component roots before authoring any candidate-bearing cell. Keep canonical design values exclusively in the design resources and manifest.
|
|
69
|
+
|
|
70
|
+
For V1, partition the exact target condition set into non-overlapping explicit profiles. For V2, use reachable, pairwise-disjoint symbolic regions whose union equals the target's complete reachable region. Create exactly one cell for every material component family × condition profile, bind its matching V1 Facts or V2 Fact Rules, and supply at least one Source-backed feasible realization or an explicit Source-backed blocker. Every unresolved observation must be named by a blocker in every such cell; a target with no family carrier fails closed. Realizations may be composite and use several primitives; record ordered reuse/compose/extend/theme/create steps, existing or authorized planned owner candidates, supported customization surfaces, observed costs/risks and feasibility basis.
|
|
71
|
+
|
|
72
|
+
Leave `required_realization` unset when more than one design-compatible implementation remains allowed. Selecting it, authorizing a planned owner or carrying a blocker requires the exact current marked technical Source Item and strict feasibility-decision projection described by the feasibility reference; a blocker and projection carry the identical unique sorted `substrate_observation_refs`, with `[]` reserved for blockers unrelated to unresolved substrate observations. A role label or same-file prose is insufficient. DRA preference, Provider output and preflight cannot create that authority. A formal `implementation_web` or `implementation_app` target cannot use descriptive `reference` mode.
|
|
73
|
+
|
|
60
74
|
## Residual manifest-backed V1 publication
|
|
61
75
|
|
|
62
|
-
Keep the canonical manifest as the sole complete collection index. For each target, create one small project-native Markdown draft containing readable, uniquely keyed target-attributed `ty-source-item` facts and exactly one fenced `design-resource-handoff-v1` block with `representation: manifest_backed`. The block carries residual scope/provenance, resource identities, exactly one target/profile, `resource_fact_closure`, coverage and proposal binding; it never repeats manifest-owned arrays. A material resource cannot be hidden as `supporting_only`.
|
|
76
|
+
Keep the canonical manifest as the sole complete collection index for design Facts. For each target, create one small project-native Markdown draft containing readable, uniquely keyed target-attributed `ty-source-item` facts and exactly one fenced `design-resource-handoff-v1` block with `representation: manifest_backed`. The block carries residual scope/provenance, resource identities, exactly one target/profile, `resource_fact_closure`, one `technical_feasibility_inputs` index entry, coverage and proposal binding; it never repeats manifest-owned arrays. A material resource cannot be hidden as `supporting_only`.
|
|
63
77
|
|
|
64
78
|
Freeze the explicit manifest path set, target/scope identities, SHA-256 values and per-collection counts/identity digests. Choose a truthful UTF-8 byte ceiling before draft generation and ensure the authorized output parent exists. Then publish the entire target set:
|
|
65
79
|
|
|
@@ -71,7 +85,7 @@ ty-context design-resource bundle <draft-dir> <new-output-dir> \
|
|
|
71
85
|
|
|
72
86
|
The command must reject embedded/full-array or multi-target drafts, over-budget descriptors, missing/extra/duplicate targets, manifest/SHA or collection-digest drift and every normalized preflight failure. It processes one target at a time in a same-volume exclusive temporary directory and atomically renames the complete set to a previously nonexistent final directory. Failure cleans only command-owned temporary data; drafts and existing/adopted handoffs remain unchanged. Validation checks an already compact representation; it never post-hoc splits a semantic target.
|
|
73
87
|
|
|
74
|
-
Preflight hydrates omitted collections directly from the declared manifest bytes and runs the same full semantic validator. Unknown fields, missing/extra/duplicate Facts/proofs, unreadable resources, invalid locators, unresolved rows,
|
|
88
|
+
Preflight hydrates omitted collections directly from the declared manifest bytes and runs the same full semantic validator. It also reads the indexed feasibility document and current technical Source without following links, verifies exact Source Items/projections/digests, real no-follow repository-directory owner roots, observation-kind/value rules, target-wide per-cell unresolved-observation blockers, exact blocker/projection observation-ref sets, non-vacuous family coverage, transitive family target/condition Fact or Rule coverage, owner existence/authorization and required-realization authority, and rejects any mixing with canonical resources or exact design values in feasibility prose. Visual timing values remain forbidden, while explicitly technical build/test/runtime duration prose is allowed. Unknown fields, missing/extra/duplicate Facts/proofs, unreadable resources, invalid locators, unresolved rows, stale digests, unsupported methods or unequal sets fail closed. Current blockers remain honest valid Source inputs and are reported rather than mislabeled as production readiness. `ty-context design-resource preflight <handoff.md>` remains available for inspection and older embedded-V1 read compatibility; an omitted feasibility index normalizes to `[]` and is reported as a limitation. New V1 bundle authoring requires exactly one valid feasibility input for each implementation target.
|
|
75
89
|
|
|
76
90
|
## Optional symbolic V2
|
|
77
91
|
|
|
@@ -87,10 +101,14 @@ The V1 bundle remains V1-only; directly preflight explicit V2 until a separately
|
|
|
87
101
|
|
|
88
102
|
## Downstream proof boundary
|
|
89
103
|
|
|
90
|
-
Passing bundle/preflight proves input acquisition, integrity and exact declared-universe closure relative to the frozen Inspector/Oracle TCB—not production conformance.
|
|
104
|
+
Passing bundle/preflight proves input acquisition, integrity and exact declared-universe closure relative to the frozen Inspector/Oracle TCB—not production conformance. Its human wording is `preflight valid` / `Source bundle published`, with production conformance or readiness explicitly `not evaluated`; compatible JSON `status: ready` carries no broader meaning.
|
|
91
105
|
|
|
92
|
-
The default Workflow opens actual resources and conditions, routes
|
|
106
|
+
The default Workflow opens actual resources, feasibility Source and conditions, routes design meaning through surface/Design Authority, chooses among allowed realization candidates in Architecture Deliberation, implements on the real production owner and performs attributable visual/interaction/accessibility/runtime checks on the final candidate. It reports blockers and unestablished conditions without reconstructing retained per-Fact result rows.
|
|
93
107
|
|
|
94
|
-
An active Long-Task projects exact target Facts and Fact × method obligations into its existing Source/Claims/Assertions/bindings, `fact_expectations`, current typed `fact_results` and sole Final Gate; every result stores the actual observation and pass/fail verdict. Every marked handoff/resource/manifest
|
|
108
|
+
An active Long-Task projects exact target Facts and Fact × method obligations into its existing Source/Claims/Assertions/bindings, `fact_expectations`, current typed `fact_results` and sole Final Gate; every result stores the actual observation and pass/fail verdict. Every marked handoff/resource/manifest is in `task.source_paths` and the applicable Check `verification_inputs`; each feasibility input follows the same existing source/check path closure. Source Items map through `source_claims` to a root conformance Assertion, and each method × condition evidence cell binds the exact handoff `fact_refs`. For every candidate-bearing cell, current component bindings must uniquely derive one allowed realization (and exactly the required one when selected). Every component binding is reverse-attributed across its complete surface to at least one allowing candidate-bearing cell. Every actual `file`/`path_glob` target and carrier, every `verified` carrier and every required planned carrier is proven path-by-path inside an observed component root; route bindings receive the same proof against observed route roots, and `not_subset`/`unknown` both fail.
|
|
109
|
+
|
|
110
|
+
A standalone Contract still requires non-empty component refs. Only full activation may defer that one structural error, and Source-aware closure then admits empty refs solely when every target on the surface has all blocker-only cells, valid route closure and exact blocking authority. No feasibility, candidate/mixed/legacy targets or a fake component binding fails. Each selected planned-owner authorization, required-realization decision and blocker uses its exact current `path#source-item-key` Claim and digest rather than any same-file Claim. Blockers compile only as `decision_required` or an existing target-blocking External Confirmation covering an affected target Claim. Complete activation omits only the externally blocked design Assertions and matching Counterfactual members from machine execution; the original Contract and sole Final Gate remain authoritative, so an open confirmation reaches `blocked_external` and never `machine_accepted`. Missing, extra, ambiguous, unattributed, failed, stale or authority-drifted rows fail. This uses existing Contract fields and the sole Final Gate; it creates no feasibility Claim type, binding field or Gate.
|
|
95
111
|
|
|
96
112
|
Selected resources remain Context-reachable through existing owners. Adoption never overwrites an accepted baseline: create a new immutable version and update its canonical record. This Skill creates no Contract Draft, Outcome, Progress, Evidence, Receipt, Check result or Gate.
|
|
113
|
+
|
|
114
|
+
Passing closure does not itself reconcile the Proposal. Return the stable formal handoff, canonical resources and closure result to the downstream owner, which performs the sole consolidated idempotent reconciliation after confirming that no new visible decision remains.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Implementation Feasibility Source
|
|
2
|
+
|
|
3
|
+
Read this reference only when DRA will commission or publish a Web/App implementation handoff against a real repository substrate. It makes implementation intent concrete without turning DRA into production architecture authority.
|
|
4
|
+
|
|
5
|
+
## Boundary
|
|
6
|
+
|
|
7
|
+
The canonical design resources and observable-Fact manifest remain the sole owners of exact selected design values. A separate `design-resource-implementation-feasibility-v1` JSON document records only Source-backed implementation possibilities, costs, risks and blockers. It must not copy colors, geometry, typography, motion values, content or other canonical design facts.
|
|
8
|
+
|
|
9
|
+
This document is ordinary technical Source:
|
|
10
|
+
|
|
11
|
+
- DRA may observe the current substrate and enumerate feasible realizations;
|
|
12
|
+
- DRA may not select a production owner or require one realization from preference alone;
|
|
13
|
+
- a `required_realization` needs an exact current marked `technical_obligation` Source Item decision;
|
|
14
|
+
- a planned logical owner needs an exact current marked `technical_obligation` Source Item authorization;
|
|
15
|
+
- every blocker needs an exact current marked `decision` or `external_confirmation` Source Item decision;
|
|
16
|
+
- Default Workflow chooses among still-allowed candidates in its Architecture Deliberation and implements through the real owner;
|
|
17
|
+
- Long-Task projects the document only through existing `task.source_paths`, Source claims, technical/surface bindings, Checks and Assertions; and
|
|
18
|
+
- preflight validates input closure only. It never proves that production uses the candidate, renders correctly or passes acceptance.
|
|
19
|
+
|
|
20
|
+
Create no implementation registry, readiness flag, workflow state, second Design Authority, new Gate or production acceptance record.
|
|
21
|
+
|
|
22
|
+
## Inspect real technical Source
|
|
23
|
+
|
|
24
|
+
Read repository-owned Source and code/config owners before the formal Provider commission. Record safe repository-relative path, media type, SHA-256, a resolvable whole-resource/JSON-pointer/Markdown-anchor/source-anchor locator and one or more roles. Ordinary observations and capability bases may use those locators. Planned-owner authorization, required-realization authority and blocker authority must instead use `{"kind":"source_item","value":"<marked-item-key>","text_sha256":"<current-normalized-item-digest>"}`. One current file may expose several distinct bounded locators; those records share its media type and digest, while duplicate path-plus-locator identities fail closed. Inspect all six substrate questions:
|
|
25
|
+
|
|
26
|
+
1. `platform`;
|
|
27
|
+
2. `framework_runtime`;
|
|
28
|
+
3. `ui_system`;
|
|
29
|
+
4. `token_theming_adapter`;
|
|
30
|
+
5. `component_owner_roots`; and
|
|
31
|
+
6. `route_owner_roots`.
|
|
32
|
+
|
|
33
|
+
For a native or mapped implementation, each question appears exactly once as `observed`, `not_applicable`, `decision_required` or `unavailable`. An observed value needs matching role-bearing Source and carries no reason; every non-observed disposition carries a concrete non-empty reason and no value. `platform`, `framework_runtime` and `ui_system` use `identifier`; `component_owner_roots` and `route_owner_roots` use `repository_paths`; `token_theming_adapter` may use either. Every repository path is repository-relative, currently exists without following a symlink/junction, remains inside the repository and is a directory. Existing component owners must fall within observed component roots, and downstream route bindings must fall within observed route roots.
|
|
34
|
+
|
|
35
|
+
All six observations are target-wide. Every `decision_required` or `unavailable` observation must be named in `substrate_observation_refs` by at least one blocker in every material family × condition cell. Every non-empty blocker ref must still resolve to such a current unresolved observation; `not_applicable` cannot be cited. A target-wide unresolved observation with no component-family cell fails instead of passing vacuously. Any candidate-bearing cell requires `component_owner_roots` to be `observed` with at least one current valid directory; an unresolved component root forces the affected cell to be blocker-only. Missing or conflicting material Source stays unresolved; do not infer it from the visual resource or create a speculative owner.
|
|
36
|
+
|
|
37
|
+
## Exact marked technical decisions
|
|
38
|
+
|
|
39
|
+
Put each authoritative feasibility decision inside its real marked Source Item as strict JSON:
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<!-- ty-design-feasibility-decision-v1 {"schema_version":"design-resource-feasibility-decision-v1","mode":"required_realization","target_ref":"target.main","component_family_ref":"family.button","condition_scope_sha256":"<applicability-digest>","realization_ref":"reuse-project-button"} -->
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The one schema has three modes. `required_realization` carries `realization_ref`; `planned_owner_authorization` carries `owner_locator`; `feasibility_blocker` carries `blocker_ref` plus the required unique canonically sorted `substrate_observation_refs`. The feasibility document's blocker and its exact marked-Source projection carry identical observation-ref sets; an ordinary technical blocker uses `[]`. Every projection also carries exactly `schema_version`, `mode`, `target_ref`, `component_family_ref` and `condition_scope_sha256`, with no unknown or duplicate JSON fields. V1 hashes canonical JSON of sorted condition refs. V2 uses the current canonical compiled SHA-256 of the symbolic profile region. That binds the decision to actual applicability rather than a renameable profile key.
|
|
46
|
+
|
|
47
|
+
The projection is not a new Authority. Authority is the current marked Source Item, its admitted kind, current file digest, current normalized-text digest and—under Long-Task—its exact Source Claim. Multiple non-conflicting projections may share one item; each required match is unique. A role such as `technical_authority`, an unrelated item in the same file or an imprecise path-level claim cannot substitute.
|
|
48
|
+
|
|
49
|
+
Keep the feasibility document and its technical Source outside the canonical design-resource dependency set. Preflight rejects either one when mixed into `resources` or the canonical manifest closure.
|
|
50
|
+
|
|
51
|
+
## Realization modes and condition partition
|
|
52
|
+
|
|
53
|
+
- `native_substrate`: realizations use the project's current UI substrate and owners.
|
|
54
|
+
- `mapped_substrate`: realizations map the selected design to another already authorized project substrate or adapter boundary.
|
|
55
|
+
- `reference`: descriptive only. Formal `implementation_web` and `implementation_app` targets cannot use it.
|
|
56
|
+
|
|
57
|
+
Treat the observed target platform and the exact condition profile as hard candidate-applicability boundaries. Browser HTML/CSS capability alone cannot support a native-App or React Native realization. An independent HTML phone frame for such a target is at most a `mapped_substrate` candidate when current capability Source proves the complete mapping; otherwise the affected family cell carries a blocker. Never relabel a renderable Web artifact as `native_substrate`.
|
|
58
|
+
|
|
59
|
+
Do not force one realization across platforms or profiles. Different platform/condition profiles for the same component family may carry different candidate sets, primitives, costs, risks or blockers, provided every cell remains exact and Source-backed.
|
|
60
|
+
|
|
61
|
+
V1 uses `explicit_conditions_v1`: profiles are non-empty, non-overlapping sets whose union equals the target's declared conditions. V2 uses `symbolic_regions_v2`: profiles must be reachable, pairwise disjoint and exhaustive over the target's reachable region. Never sample representative conditions or silently collapse a remainder.
|
|
62
|
+
|
|
63
|
+
## Complete family coverage
|
|
64
|
+
|
|
65
|
+
For every material `component_family × target × condition_profile`, author exactly one cell. Derive the family subject closure from the family subject plus direct `family_ref`/`instance_of_ref` seeds, then repeatedly add subjects whose `parent_ref`, `instance_of_ref` or `override_of_ref` points into the set until stable. Use a visited set so malformed cycles terminate. This includes instances, variants/overrides, Anatomy Parts, slots, primitives, text, icons, media and assets even when their own `family_ref` is null. Bind the cell to the complete matching canonical V1 Fact set or intersecting V2 Fact Rule set for that closure × target × profile applicability; neither omissions nor extras are legal. V1 uses the profile conditions, while V2 includes every Rule whose region intersects the profile region. Each cell contains at least one feasible realization or at least one Source-backed blocker; both may be present when a partial candidate still has a known blocking dependency. A candidate cell is invalid unless component-owner roots are observed; a blocker-only cell may retain unresolved component roots honestly.
|
|
66
|
+
|
|
67
|
+
A feasible realization records:
|
|
68
|
+
|
|
69
|
+
- an ordered, non-empty strategy drawn from `reuse_existing`, `compose_existing`, `extend_shared_component`, `theme_with_tokens` and `create_shared_component`;
|
|
70
|
+
- the actual primitive/component candidates it uses;
|
|
71
|
+
- one or more existing repository owner paths, or explicitly authorized planned logical owners;
|
|
72
|
+
- the supported customization surfaces from `theme_tokens`, `component_variant`, `primitive_props`, `composition`, `content_slot`, `icon_slot`, `behavior_slot` and `style_api`;
|
|
73
|
+
- Source references carrying both feasibility-basis and substrate-capability evidence; and
|
|
74
|
+
- observed costs and risks without invented scores or universal ranking.
|
|
75
|
+
|
|
76
|
+
Do not force one primitive, owner or single-step strategy. Composition and multi-primitive realizations are valid. Reuse is preferred only when it is genuinely feasible; creating or extending a shared component remains allowed when Source and scope support it.
|
|
77
|
+
|
|
78
|
+
A blocker names the exact family, target and condition profile, carries the required unique canonically sorted `substrate_observation_refs`, cites at least one exact `source_item` record with a matching `feasibility_blocker` projection whose observation-ref set is exactly equal, and explains why no complete realization is presently supported. `[]` is valid for an ordinary technical blocker. Every non-empty ref resolves only to a current `decision_required` or `unavailable` observation, and every such target-wide observation is covered in every material cell. The Source Item kind is `decision` or `external_confirmation`. Every blocker must be referenced by its cell and every cell without a candidate must reference a blocker. A partial candidate never cancels a blocker; resolution updates technical Source and feasibility before rerunning preflight rather than adding a passing result to stale blocker Source.
|
|
79
|
+
|
|
80
|
+
Run one exact-value-carrier check over every human free-text field: each substrate-observation reason, each observed cost, each observed risk and each blocker description. Hex/RGB/HSL colors, visual dimensions/angles, CSS declarations/custom properties, typography, spacing, shadows and exact visual timing remain canonical-resource values and are forbidden here. A time literal is forbidden in motion/animation/transition/duration/delay/easing/timeline/keyframe/fade/spring/stagger/enter/exit/hover/press context and also when its context is ambiguous. It is allowed only in explicit technical build/compile/bundle/generation/CI/test/startup/initialization/latency/timeout/network/benchmark/runtime-cost/render-cost context. Digests, repository paths, Source Item keys, logical primitive IDs and JSON Pointers are identities rather than prose carriers.
|
|
81
|
+
|
|
82
|
+
## Required realization authority
|
|
83
|
+
|
|
84
|
+
Leave `required_realization.realization_ref` null when technical Source merely permits alternatives. If current technical authority requires a specific candidate, set the exact candidate key and cite the unique matching `required_realization` projection. Every referenced planned logical owner similarly cites its unique `planned_owner_authorization` projection. The downstream Default Workflow still performs Architecture Deliberation and conformance.
|
|
85
|
+
|
|
86
|
+
An active Long-Task derives the actual selection without a new Contract field. Current component bindings must uniquely derive one allowed realization for each candidate-bearing cell. Match every candidate against current `surface_binding.component_binding_refs`: an existing owner matches an `existing` file binding target or carrier path; a planned owner matches a `planned` binding key or target and its exact authorization. A required cell must derive only its required candidate. An unrequired candidate-bearing cell must derive exactly one candidate; zero is missing and more than one is ambiguous. Every component binding ref must still be consumed by at least one current-target candidate-bearing cell, while sharing remains legal where every consuming target on that surface allows the owner.
|
|
87
|
+
|
|
88
|
+
Prove the full path universe of every actual component and route Binding against observed owner roots with the shared repository-pattern subset theorem. For `file` and `path_glob`, prove the target and every carrier; for `verified`, prove every carrier but not its logical target. A `planned` Binding must declare at least one carrier and receives the same proof. Each path/pattern must be a `proven_subset` of at least one exact `<observed-root>/**`; `not_subset` and `unknown` fail, so an inside target or carrier cannot hide another outside or indeterminate path. Every Long-Task design surface requires observed non-empty route roots.
|
|
89
|
+
|
|
90
|
+
The standalone Contract structure validator remains strict and rejects empty `component_binding_refs`. Full activation may defer only that one structural error inside the same complete Source-aware call. It closes only when every target on the surface is backed by a feasibility document whose cells are all blocker-only, there are no component Bindings to attribute, route closure is valid and every blocker reaches its exact existing completion boundary. No feasibility document, a candidate-bearing or legacy target, a mixed surface that leaves a component Binding unattributed, or a fake component Binding fails closed.
|
|
91
|
+
|
|
92
|
+
Each selected planned-owner authorization and each required-realization decision has an exact current `path#source-item-key` Source Claim; its file is in `task.source_paths`, its item digest matches, and its disposition reaches the current Outcome Claim or a Global Constraint. Each blocker item maps either to `decision_required`, which blocks compile, or to its existing target-blocking External Confirmation whose impact claims include an affected current-target Claim. Complete activation projects only those externally blocked design Assertions and their matching Counterfactual members out of machine execution; the original Contract, Source Claims, confirmation and sole Final Gate remain unchanged. The open confirmation therefore reaches only external-pending/`blocked_external`, never `machine_accepted`. Same-file or path-only Claims never substitute.
|
|
93
|
+
|
|
94
|
+
## Handoff index and validation
|
|
95
|
+
|
|
96
|
+
Index one document per target in `technical_feasibility_inputs`:
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
technical_feasibility_inputs:
|
|
100
|
+
- key: dashboard-web-feasibility
|
|
101
|
+
target_ref: dashboard-web
|
|
102
|
+
path: design/handoffs/dashboard-web.feasibility.json
|
|
103
|
+
media_type: application/json
|
|
104
|
+
sha256: <sha256-of-current-bytes>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The JSON root uses `schema_version: design-resource-implementation-feasibility-v1` and contains `key`, `target_ref`, `realization_mode`, `source_records`, `substrate_observations`, `condition_model`, `component_family_cells` and `blockers`. Unknown fields, stale digests, unresolved locators, unsafe or non-directory owner roots, duplicate identities, wrong target/family/condition/Fact bindings, incomplete partitions, unresolved-observation omissions, bad/duplicate/mismatched blocker observation refs, vacuous unresolved-observation coverage, unauthorized planned owners, unauthorized required realizations or unprojected blockers fail closed.
|
|
108
|
+
|
|
109
|
+
New V1 bundle publication requires exactly one valid feasibility input for every `implementation_web` or `implementation_app` target. Direct preflight keeps older handoffs readable: a missing field normalizes to an empty array and reports the explicit limitation `technical feasibility not declared`. Explicit V2 remains direct-preflight only and validates the same feasibility semantics through symbolic regions.
|
|
110
|
+
|
|
111
|
+
Passing bundle or preflight establishes only that the declared technical Source is current, internally complete and compatible with the formal input identities. Human preflight output says `Design resource handoff preflight valid`, reports input closure/input-cell-blocker counts and ends with `Production conformance: not evaluated`. Bundle output says `Design resource Source bundle published` and `Production readiness: not evaluated`. The compatible JSON `status: ready` means only that validation completed. Limitations or blockers do not create another status and do not by themselves change the zero exit code for structurally valid input. Report production-owner selection and production conformance separately.
|
|
@@ -21,6 +21,8 @@ Discover rather than remember:
|
|
|
21
21
|
- specialist paths such as collaborative design platforms, image, video or 3D/WebGL;
|
|
22
22
|
- supported project creation, run, cancellation, file and artifact operations.
|
|
23
23
|
|
|
24
|
+
When live behavior or CLI/MCP semantics materially control the commission, retain the exact provider version and, when available, the released tag/commit plus authoritative documentation locator used for capability interpretation. A mutable default branch, remembered UI behavior or unpinned local checkout is not durable protocol evidence.
|
|
25
|
+
|
|
24
26
|
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
27
|
|
|
26
28
|
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.
|
|
@@ -56,6 +58,12 @@ Prefer, in order:
|
|
|
56
58
|
|
|
57
59
|
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.
|
|
58
60
|
|
|
61
|
+
### Resource-type capability matching
|
|
62
|
+
|
|
63
|
+
Match the requested artifact archetype to demonstrated live capability rather than a Skill name. Distinguish at least landing/brand pages, dashboards/data workbenches, dense tables/filters/forms, mobile multi-screen flows, component workbenches, complex interaction, formal Web/App handoff and icon/illustration/media work. For every considered capability, establish the target resource type, platform, surface count, state/interaction support, real-render support, bounded revision support, canonical-source retrieval and formal-handoff coverage.
|
|
64
|
+
|
|
65
|
+
A single-frame HTML phone mockup cannot claim a native mobile-App or multi-screen formal handoff. A visually strong capability without retrievable canonical Source may support exploration but not a formal implementation handoff. Give unsupported candidates `unavailable` or `not-needed`; do not wrap a partial output in a stronger profile. This matching is task-local provider adaptation, not a registry or durable ranking.
|
|
66
|
+
|
|
59
67
|
## Conditional Design Authority gate and binding
|
|
60
68
|
|
|
61
69
|
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.
|
|
@@ -73,11 +81,26 @@ For configured style-bearing work:
|
|
|
73
81
|
|
|
74
82
|
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`.
|
|
75
83
|
|
|
84
|
+
## Pre-run style-application closure
|
|
85
|
+
|
|
86
|
+
Before submitting a commission or calling `start_run` for any style-bearing generation or material revision, require the task-local closure defined by [resource-selection.md](resource-selection.md). Every applicable current-slice dimension must be `existing-covered`, `projected` or `not-applicable`. A `decision-required`, undispositioned dimension or Source conflict blocks the run before Provider execution; preserve the concrete diagnostic instead of launching a speculative candidate.
|
|
87
|
+
|
|
88
|
+
Validate each disposition at the adapter boundary:
|
|
89
|
+
|
|
90
|
+
- `existing-covered` meaning must arrive through the current commission's existing `inputs.exact_targets`, `inputs.constraints` or corresponding input binding and must match the exact target, slice and declared conditions;
|
|
91
|
+
- only `projected` meaning enters the existing `style_application` object;
|
|
92
|
+
- `not-applicable` stays a reasoned task-local judgment and creates no empty field; and
|
|
93
|
+
- `decision-required` stays unresolved and never becomes Provider-authored application meaning.
|
|
94
|
+
|
|
95
|
+
A verified `designSystemId`, exact-value Token lineage or generic instruction to follow the system proves system binding only. It cannot prove that the current slice's hierarchy, density, container, visible-versus-hit geometry, preservation or prohibited-pattern meaning reached the Provider. The Provider must not complete missing application meaning from a feature list, route tree, generic system, component inventory, screenshot, inspiration, background or task-level UI/UX analysis.
|
|
96
|
+
|
|
97
|
+
Repeat the closure immediately before each material-revision run, using the existing material-revision definition. After the resulting candidate is acquired, rerun the applicable Design suitability subchecks as the independent post-generation review. A packaging, rename or byte-only export proved equivalent to the same canonical source creates neither a new Provider run nor a new design decision. This is a fail-closed adapter precondition inside the existing commission action, not a schema, state, Authority, Gate, readiness result or Provider lifecycle.
|
|
98
|
+
|
|
76
99
|
## Structured commission sequence
|
|
77
100
|
|
|
78
101
|
1. Record provider version, selected agent/model, reasoning effort and service tier when exposed, functional capability, rendering template, adopted design system and relevant plugin/export readiness as reported live. For an applicable generation, retain the eligibility/ranking basis and the request-versus-effective comparison required by the highest-performance policy.
|
|
79
102
|
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.
|
|
80
|
-
3.
|
|
103
|
+
3. Only after the pre-run style-application closure allows execution, start a run with the product-specific commission envelope, including exactly its Source-bound `projected` `style_application` fields, archetype-specific `quality_commission`, provider-native capability identifier and—when the intent is a formal Web/App implementation handoff—the complete prederived authoring obligation universe plus current implementation-substrate observations and allowed realization boundaries from [implementation-feasibility.md](implementation-feasibility.md). Fully current input-bound `existing-covered` meaning permits the style object to be omitted; `not-applicable` and `decision-required` never become empty or invented fields. The quality commission states real-copy/data needs, primary challenges, desired/avoided character, reference roles and design-side shared-family reuse without claiming production reuse. That universe is based on requested scope, product semantics, adopted design system, real technical Source and target environments; it must not be inferred only from provider output. Both application and quality fields are commission content, not a separate persistent Projection, Authority, state, routing record or Provider score.
|
|
81
104
|
4. Poll with a bounded cadence. During a long run, report meaningful progress at least once per minute without flooding the user.
|
|
82
105
|
5. Preserve run IDs and the latest provider diagnostic. Support cancellation when the user requests it and the provider exposes it.
|
|
83
106
|
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.
|
|
@@ -96,10 +119,23 @@ Examples: missing, partial, corrupt, retrievable, rendered or snapshot-preserved
|
|
|
96
119
|
|
|
97
120
|
### Design suitability
|
|
98
121
|
|
|
99
|
-
|
|
122
|
+
Design suitability is one freshly derived umbrella review, not another state machine and never human selection. Review the applicable subchecks at intent-proportional depth:
|
|
123
|
+
|
|
124
|
+
- **scope and Source suitability:** the candidate stays within the hard ceiling and follows current controlling Product/Surface/Screen/Design Source; an outside effect is reported, not generated;
|
|
125
|
+
- **mechanical checks:** promised files/entries are readable, structurally usable and free of obvious corruption, broken references or intent-material runtime defects;
|
|
126
|
+
- **Design-System application checks:** the verified adopted identity, exact-value/token lineage and applicable component-family rules are used rather than merely named;
|
|
127
|
+
- **visual-language checks:** composition, hierarchy, typography, visual rhythm, density, container treatment, color, spacing, content realism, component treatment and other material relationships cohere with the selected Source-bound direction;
|
|
128
|
+
- **distinctiveness and component-authoring checks:** the result answers the product-specific challenges without unsupported template mannerisms, and repeated controls use a coherent design-side component family rather than unrelated per-instance styling;
|
|
129
|
+
- **state/condition coverage checks:** credit only demonstrated states, variations, interactions, viewports, input/accessibility conditions and assets; and
|
|
130
|
+
- **preservation checks:** explicitly preserved Source meaning, exact visual facts and unaffected bindings remain unchanged.
|
|
131
|
+
- **implementation-feasibility checks for formal Web/App handoff:** each material component-family × target × condition profile has at least one real-substrate realization or a Source-backed blocker, without copying exact design values into the technical feasibility document.
|
|
132
|
+
|
|
133
|
+
Report applicable checked and unchecked conditions. A grounded conflict blocks; an ungrounded aesthetic preference is a candidate-comparison observation, not a fabricated Source rule. Examples of derived suitability outcomes may include `unreviewed`, `scope-source-conflict`, `revision-required` or `suitable-for-user-review`; none means selected, formally complete or handoff-ready.
|
|
100
134
|
|
|
101
135
|
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.
|
|
102
136
|
|
|
137
|
+
After every material revision, rerun every applicable suitability subcheck against current Source and bytes. A material revision changes the selected visual direction or design system, cross-surface information architecture, primary interaction model, declared state/condition coverage, preservation obligation or enough canonical source/Fact meaning to invalidate the reviewed candidate. A byte-only packaging/export change proven equivalent to the same canonical source does not create a new design decision; a visible or semantic difference does. Always inspect the actual rendered candidate when the resource is renderable. If the first candidate has no material Source, feasibility, mechanical or suitability defect, it may proceed directly to user selection; never manufacture a revision quota. When repair is needed, request the smallest defect-localizing revision that preserves unaffected meaning, then reacquire and review the complete current candidate.
|
|
138
|
+
|
|
103
139
|
Use these qualifiers when needed:
|
|
104
140
|
|
|
105
141
|
- `artifact-ready/run-unreconciled`: a complete retrievable artifact exists, but the provider run remains nonterminal or inconsistent;
|
|
@@ -122,6 +158,8 @@ Open Design has demonstrated that a complex Web page can emit a machine-readable
|
|
|
122
158
|
9. exercise every property-required verification method against the canonical entry under each claimed condition. A Fact may require multiple independent methods—for example token plus pixel—and each obligation binds method-compatible evidence, comparator parameters, exact/tolerance mode, any narrow authoritative mask, Oracle identity/version/digest and frozen render environment. Compare repeated facts across code, specifications, tokens and asset manifests. Refine any mismatch; if it cannot be resolved, keep the exact Fact Cell `decision_required`/`unavailable` with a blocker;
|
|
123
159
|
10. mark protected observations before downstream use. Sensitive raw UI values must not be persisted in Contract/runtime evidence: the canonical source remains the value owner while later evidence carries an attributable digest-only or redacted representation and policy reference.
|
|
124
160
|
|
|
161
|
+
Alongside, author one separate `design-resource-implementation-feasibility-v1` input per target from real repository technical Source. It must use current no-follow repository directories for component/route owner roots, cover the complete transitive subject closure of every material component-family × condition profile with feasible multi-step/multi-primitive realizations or explicit blockers, and retain candidate costs/risks and customization surfaces without carrying any exact visual values in observation reasons, costs, risks or blocker prose. A decision-required/unavailable substrate observation reaches an affected cell through an exact Source-backed blocker. Leave the required realization unselected unless an exact current marked technical Source Item decision requires one; planned owners and blockers use their corresponding strict decision projections too. Provider output cannot invent any of those decisions. Never put this document or its technical Source records into the canonical resource closure.
|
|
162
|
+
|
|
125
163
|
The authoring Skill then projects the exact manifest identities into the residual handoff and shared preflight enforces `Expected Fact Universe = Canonical Resource Facts = Handoff Indexed Facts`. This is authoring source QA, never production acceptance. If the live Open Design capability cannot generate, expose or retrieve this profile, report the missing capability and keep the formal handoff blocked; provider success does not authorize a coarser replacement.
|
|
126
164
|
|
|
127
165
|
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.
|
|
@@ -140,15 +178,15 @@ A preview URL is mutable navigation, not immutable identity. It may be reported
|
|
|
140
178
|
|
|
141
179
|
## Review proportional to intent
|
|
142
180
|
|
|
143
|
-
- **Exploration:** open/render the requested entry, confirm artifact count/scope and obvious corruption, then show it. Do not launch a packaging or validator sequence.
|
|
144
|
-
- **Handoff:** additionally perform the method-proportional source QA above, including relevant structure, states/transitions, viewport behavior, accessibility semantics, assets, obvious console/runtime errors
|
|
145
|
-
- **Selected-source preparation:** require explicit human selection basis, preserve identity/snapshot
|
|
181
|
+
- **Exploration:** open/render the requested entry, confirm artifact count/scope and obvious corruption, perform only the decision-material suitability subchecks, then show it. Do not launch a packaging or validator sequence.
|
|
182
|
+
- **Handoff:** additionally perform the method-proportional source QA above, including relevant structure, states/transitions, viewport behavior, accessibility semantics, assets, obvious console/runtime errors, requested interaction hooks, Design-System application, visual language, preservation and real-substrate implementation feasibility. State exactly what was and was not checked.
|
|
183
|
+
- **Selected-source preparation:** require an independent explicit human selection basis, preserve identity/snapshot and prepare downstream metadata. Suitability informs that decision but never makes it, and still does not verify production behavior.
|
|
146
184
|
|
|
147
|
-
Provider self-checks, outer artifact sanity review and downstream project verification are separate evidence layers.
|
|
185
|
+
Provider self-checks, outer artifact sanity review, user selection, formal source closure and downstream project verification are separate evidence layers. A visual-language or mechanical pass cannot independently establish Artifact readiness, selection, formal completeness, handoff readiness, native rendering, accessibility, responsive coverage, product correctness or acceptance.
|
|
148
186
|
|
|
149
187
|
## Specialist paths
|
|
150
188
|
|
|
151
|
-
Figma, Penpot, OpenPencil, image, video, 3D/WebGL and other providers are optional upstream producers. Use
|
|
189
|
+
Figma, Penpot, OpenPencil, image, video, 3D/WebGL and other providers are optional upstream producers. A Direct Agent authoring the resource is also a legal other Provider when current evidence shows that it satisfies the same bounded archetype, render, revision, canonical-source and formal-handoff capabilities; it receives no exemption from Source, Design suitability or handoff closure. Use any provider 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.
|
|
152
190
|
|
|
153
191
|
## Failure and recovery
|
|
154
192
|
|