project-tiny-context-harness 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +355 -343
  3. package/assets/README.md +539 -527
  4. package/assets/README.zh-CN.md +300 -284
  5. package/assets/agents/.gitkeep +1 -1
  6. package/assets/agents/AGENTS_CORE.md +55 -53
  7. package/assets/context_templates/architecture.md +33 -33
  8. package/assets/context_templates/area.md +39 -39
  9. package/assets/context_templates/context.toml +30 -30
  10. package/assets/context_templates/deployment.md +35 -35
  11. package/assets/context_templates/global.md +51 -51
  12. package/assets/context_templates/product-surface-contract.md +64 -57
  13. package/assets/context_templates/screen-contract.md +180 -0
  14. package/assets/context_templates/verification.md +32 -32
  15. package/assets/github/.gitkeep +1 -1
  16. package/assets/github/harness.yml +41 -41
  17. package/assets/make/.gitkeep +1 -1
  18. package/assets/make/ty-context.mk +48 -48
  19. package/assets/skills/context_development_engineer/SKILL.md +92 -90
  20. package/assets/skills/context_full_project_export/SKILL.md +70 -70
  21. package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
  22. package/assets/skills/context_product_plan/SKILL.md +77 -76
  23. package/assets/skills/context_surface_contract/SKILL.md +177 -162
  24. package/assets/skills/context_uiux_design/SKILL.md +108 -91
  25. package/assets/skills/long-task-workflow/SKILL.md +83 -83
  26. package/assets/skills/long-task-workflow/agents/openai.yaml +4 -4
  27. package/assets/skills/long-task-workflow/references/authority-lifecycle.md +57 -55
  28. package/assets/skills/long-task-workflow/references/contract-authoring.md +95 -91
  29. package/assets/skills/long-task-workflow/references/evidence-design.md +71 -69
  30. package/assets/skills/normal-long-task/SKILL.md +12 -12
  31. package/assets/skills/source-plan-authoring/SKILL.md +293 -290
  32. package/dist/lib/design-md.d.ts +7 -0
  33. package/dist/lib/design-md.js +47 -6
  34. package/dist/lib/doctor.js +19 -4
  35. package/dist/lib/long-task-authority-material-diff.js +28 -0
  36. package/dist/lib/long-task-authority-materials.js +14 -0
  37. package/dist/lib/long-task-authority-policy.d.ts +14 -0
  38. package/dist/lib/long-task-authority-policy.js +14 -0
  39. package/dist/lib/long-task-authority-types.d.ts +14 -0
  40. package/dist/lib/long-task-claim-definitions.js +14 -0
  41. package/dist/lib/long-task-contract-types.d.ts +14 -0
  42. package/dist/lib/long-task-product-shape.js +28 -0
  43. package/dist/lib/long-task-source-target-index.js +14 -0
  44. package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +1 -1
  45. package/migrations/README.md +15 -15
  46. package/package.json +1 -1
  47. package/source-mappings.yaml +25 -25
@@ -1,35 +1,37 @@
1
- ---
1
+ ---
2
2
  name: source-plan-authoring
3
3
  description: Use only when the user explicitly asks for 初版方案、源方案、方案源稿、Source Plan, initial delivery plan, source draft, or asks to synthesize, refine or audit later implementation or Contract-authoring Source from one draft or mixed inputs such as notes, product/technical documents, screenshots, diagrams or other attachments. Produce one self-contained Markdown Source Plan with complete input coverage, traceable direct/derived/delegated content, control-level UI detail when applicable, stable semantic keys, acceptance scenarios, non-goals, risks and unresolved decisions. Do not trigger for ordinary product discussion, routine coding, implementation work, Delivery Contract authoring or long-task execution.
4
- ---
5
-
6
- # Source Plan Authoring
7
-
8
- ## Objective
9
-
4
+ ---
5
+
6
+ # Source Plan Authoring
7
+
8
+ ## Objective
9
+
10
10
  Produce one high-fidelity, self-contained Markdown Source Plan from either a nearly finished plan or a sparse brief plus mixed supplied artifacts. Preserve the user's real intent, expand it to the detail needed by later `long-task-workflow` Contract authoring and make every added inference or delegated choice traceable.
11
11
 
12
12
  Record every product, technical and acceptance meaning that later work must not omit, change or silently add. For an in-scope user interface, reach page, region, control, state and feedback granularity. Prefer semantic completeness over template completeness.
13
-
14
- ## Boundaries
15
-
16
- - Produce or revise one Markdown Source Plan. If it does not fit in one response, continue the same document instead of inventing extra Outcomes or plans.
13
+
14
+ ## Boundaries
15
+
16
+ - Produce or revise one Markdown Source Plan. If it does not fit in one response, continue the same document instead of inventing extra Outcomes or plans.
17
17
  - Preserve the original meaning and every material qualifier from the user's discussion, research and every supplied artifact.
18
18
  - Do not require the user to pre-normalize inputs or restate content already available in an attachment.
19
- - Do not update `project_context/**` or treat the Source Plan as durable project Context.
20
- - Do not independently turn current repository implementation into product intent. If supplied repository or Context evidence is relevant, cite it and distinguish durable constraints from incidental code shape.
19
+ - Do not update `project_context/**` or treat the Source Plan as durable project Context.
20
+ - Do not independently turn current repository implementation into product intent. If supplied repository or Context evidence is relevant, cite it and distinguish durable constraints from incidental code shape.
21
21
  - Do not bind owners, files, runners, verification inputs, proof surfaces or Assertion observations for a real repository. Later Contract authoring owns those bindings.
22
22
  - Do not generate Delivery Contract YAML, execute implementation, run Long-Task commands or declare work complete.
23
23
  - Keep plan meaning separate from action authorization. A delegated recommendation may define the intended product or technical default, but payment, contracting, production release, destructive production mutation, a real permission grant, sensitive-data transmission or required legal/security/human approval remains an external confirmation.
24
24
  - Do not make this recommended structure a mandatory input protocol for later work.
25
-
26
- ## Relationship To Other Skills
27
-
25
+
26
+ ## Relationship To Other Skills
27
+
28
28
  - Keep `source-plan-authoring` focused on high-fidelity Source expression and traceability.
29
- - This Skill authors Source, not a Contract Draft.
30
- - It does not replace Contract Draft authoring inside `long-task-workflow`.
29
+ - For material UI, preserve stable surface/control/target keys and enough independent Control meaning for later UI Authority Closure. Do not assume a coarse product flow, `DESIGN.md` configuration or inspiration reference already supplies missing visibility, availability, validation, recovery, permission or accessibility semantics.
30
+ - This Skill authors Source, not a Contract Draft.
31
+ - It does not replace Contract Draft authoring inside `long-task-workflow`.
31
32
  - Its recommended structure is optional input guidance.
32
33
  - Use `context_product_plan` separately when a Tiny Context project needs product decisions classified and written as durable facts in `project_context/**`. This Skill does not replace or invoke that responsibility.
34
+ - A dedicated external Product Design capability may consume the Source Plan to create low/high-fidelity targets, visual candidates, a Figma handoff or an isolated interaction prototype. This Skill neither invokes that capability nor generates design resources.
33
35
  - Use `long-task-workflow` later to read ordinary Source or a Source Plan with real Context/repository evidence, author one Delivery Contract, bind owners/paths/runners/proof, implement and run the Live Final Gate.
34
36
 
35
37
  ## Intake Modes And Source Coverage
@@ -61,9 +63,9 @@ Before comparative research or a material product, technical, architecture or pr
61
63
  5. Once the preference envelope is clear, decide whether research is needed and how much. When a choice depends on current external capabilities, pricing, quotas, licensing, compatibility, regional availability, security posture or support, use current authoritative or primary sources and add them to the Input Inventory with their scope and retrieval date.
62
64
 
63
65
  Preference clarification determines what outcome to optimize. It does not approve a purchase, contract, deployment, permission grant, data transfer or other real-world action.
64
-
65
- ## Authoring Workflow
66
-
66
+
67
+ ## Authoring Workflow
68
+
67
69
  1. Build the complete Input Inventory and extract every material statement, including constraints, exceptions, examples that change meaning and already-decided controls or recovery behavior.
68
70
  2. Preserve direct requirements before reorganizing them. Never compress several distinct requirements into a broad capability statement that loses qualifiers.
69
71
  3. Classify every material addition as `direct`, `derived`, `delegated`, evidence-backed repository/Context information, or `decision_required`.
@@ -73,24 +75,24 @@ Preference clarification determines what outcome to optimize. It does not approv
73
75
  7. Write product requirements, applicable flows/states, controls, technical obligations, implementation hints and observable acceptance without hiding new semantics between types.
74
76
  8. Trace every input to incorporated items or an explicit unused/unreadable disposition.
75
77
  9. Run the completeness check, revise the same document and end with a compact readiness summary.
76
-
77
- ## Expansion Boundary
78
-
79
- ### Direct requirements
80
-
81
- Preserve directly stated intent and qualifiers. Do not reduce a scoped or conditional requirement to a generic feature label. Retain a source reference, quoted source key or clear provenance when the inputs provide one.
82
-
83
- ### Necessary derivations
84
-
85
- Derive only what is unavoidable to make an explicit requirement complete, executable or falsifiable.
86
-
87
- For every derived item:
88
-
89
- - mark it `derived`;
90
- - identify the original Requirement or source statement under `Derived From`;
91
- - state why the derivation is necessary;
92
- - confirm that it does not change user capability, business rules or product scope.
93
-
78
+
79
+ ## Expansion Boundary
80
+
81
+ ### Direct requirements
82
+
83
+ Preserve directly stated intent and qualifiers. Do not reduce a scoped or conditional requirement to a generic feature label. Retain a source reference, quoted source key or clear provenance when the inputs provide one.
84
+
85
+ ### Necessary derivations
86
+
87
+ Derive only what is unavoidable to make an explicit requirement complete, executable or falsifiable.
88
+
89
+ For every derived item:
90
+
91
+ - mark it `derived`;
92
+ - identify the original Requirement or source statement under `Derived From`;
93
+ - state why the derivation is necessary;
94
+ - confirm that it does not change user capability, business rules or product scope.
95
+
94
96
  Do not disguise one possible product choice as a necessary derivation.
95
97
 
96
98
  ### Delegated elaboration
@@ -110,164 +112,164 @@ For every delegated item or tightly coupled group:
110
112
  For high-risk domains, prefer a conservative pre-authorization baseline when it still satisfies the stated goal: zero spend until approved, disabled production capability, least privilege, explicit opt-in, minimum justified retention, staging or POC before production, and no automated destructive behavior. Record the intended later capability separately from the gate that enables it. A conservative action gate does not substitute for an unknown preference that would change the intended product or technical choice.
111
113
 
112
114
  Delegation authorizes plan meaning only. It never authorizes payment or purchase, signature or contract acceptance, production deployment or public release, destructive mutation of production or user data, granting real permissions, transmitting sensitive data, bypassing legal/security review, or substituting a plan for required POC, field, accessibility or human validation. Declare each applicable real-world gate as an `EXT` external confirmation and continue authoring without asking for plan approval.
113
-
114
- ### Repository or Context evidence
115
-
116
- When supplied project evidence establishes an existing module boundary, state model, interface constraint, component system or verification entry, record the evidence and its source. Do not promote incidental current implementation into a product requirement.
117
-
118
- Leave real owner/path/binding/runner selection to later repository-aware Contract authoring.
119
-
115
+
116
+ ### Repository or Context evidence
117
+
118
+ When supplied project evidence establishes an existing module boundary, state model, interface constraint, component system or verification entry, record the evidence and its source. Do not promote incidental current implementation into a product requirement.
119
+
120
+ Leave real owner/path/binding/runner selection to later repository-aware Contract authoring.
121
+
120
122
  ### New product semantics
121
123
 
122
124
  Use a `DEC` item with status `decision_required` only when authoritative inputs conflict, the user explicitly reserves the choice, a material preference remains unknown after the targeted question, or no single defensible recommendation can be supported by the known preference envelope, available evidence, Context, established convention or a conservative no-effect default. Several possible options do not by themselves require a decision when the decision criteria are known: recommend one, record its delegated basis and keep any real high-risk action as `EXT`.
123
125
 
124
126
  The following choices require an explicit direct or recorded delegated basis and may require a corresponding `EXT`; they are not automatic `DEC` items when a defensible recommendation exists:
125
-
126
- - a new user capability or changed business rule;
127
- - a default, threshold, range or metric;
128
- - a permission or role;
129
- - deletion, overwrite or irreversible behavior;
130
- - an automation policy;
131
- - platform support scope;
132
- - data persistence or retention behavior;
133
- - a product recovery path after failure;
134
- - sample versus full-population coverage;
127
+
128
+ - a new user capability or changed business rule;
129
+ - a default, threshold, range or metric;
130
+ - a permission or role;
131
+ - deletion, overwrite or irreversible behavior;
132
+ - an automation policy;
133
+ - platform support scope;
134
+ - data persistence or retention behavior;
135
+ - a product recovery path after failure;
136
+ - sample versus full-population coverage;
135
137
  - a pricing, quota, budget or risk rule.
136
-
137
- ## Outcome Rules
138
-
139
- Create one or more Outcomes according to whether each observable result can be independently judged and later bound to its own Requirements and acceptance.
140
-
141
- Do not split an Outcome because of:
142
-
143
- - response or document length;
144
- - frontend/backend or other implementation layers;
145
- - file or module count;
146
- - desired parallelism;
147
- - Agent capacity;
148
- - a wish to distribute execution.
149
-
150
- Do not merge independently decidable results merely to make the document shorter.
151
-
152
- ## Stable Keys And Anchors
153
-
154
- Use stable semantic lowercase-kebab keys and explicit Markdown `id` anchors for important items.
155
-
156
- ```markdown
157
- <a id="<outcome-key>.requirement.<requirement-key>"></a>
158
-
159
- - **REQ `<requirement-key>`**
160
- ...
161
- ```
162
-
163
- Use the same pattern for controls, obligations, acceptance, decisions and other typed items. Describe meaning rather than implementation location.
164
-
165
- Key rules:
166
-
167
- - preserve a key when wording changes but meaning does not;
168
- - never renumber keys because ordering changes;
169
- - never reuse a deleted key for a different meaning;
170
- - when merging or splitting an item, record which new keys replace the old key;
171
- - avoid pure sequence keys such as `req-17`;
172
- - avoid implementation keys such as `map-hook-change` or `src-button`.
173
-
174
- ## Semantic Types
175
-
176
- Use only the types that apply.
177
-
178
- | Type | Meaning | Later use |
179
- |---|---|---|
180
- | `OUT` | Independently decidable observable result | Outcome |
181
- | `REQ` | Required product or system behavior | Requirement |
182
- | `CTRL` | Decided control task, placement or state | Control |
183
- | `OBL` | Mandatory technical obligation | Technical obligation |
184
- | `NCOMP` | Explicit result that must not be treated as completion | Non-completing Claim |
185
- | `AC` | Falsifiable observable acceptance scenario | Acceptance Assertion |
186
- | `NG` | Explicit non-goal | Non-goal |
187
- | `FS` | Forbidden shortcut or disallowed result | Forbidden shortcut |
188
- | `RISK` | Fact that changes design, verification or recovery | Risk fact |
189
- | `EXT` | Result requiring external confirmation | External confirmation |
190
- | `DEC` | Product decision that cannot be reliably inferred | Decision required |
191
- | `HINT` | Non-binding implementation suggestion | Advisory only |
192
-
193
- Keep `OBL` and `HINT` distinct: an `OBL` must be satisfied; a `HINT` may be replaced by another valid implementation.
194
-
138
+
139
+ ## Outcome Rules
140
+
141
+ Create one or more Outcomes according to whether each observable result can be independently judged and later bound to its own Requirements and acceptance.
142
+
143
+ Do not split an Outcome because of:
144
+
145
+ - response or document length;
146
+ - frontend/backend or other implementation layers;
147
+ - file or module count;
148
+ - desired parallelism;
149
+ - Agent capacity;
150
+ - a wish to distribute execution.
151
+
152
+ Do not merge independently decidable results merely to make the document shorter.
153
+
154
+ ## Stable Keys And Anchors
155
+
156
+ Use stable semantic lowercase-kebab keys and explicit Markdown `id` anchors for important items.
157
+
158
+ ```markdown
159
+ <a id="<outcome-key>.requirement.<requirement-key>"></a>
160
+
161
+ - **REQ `<requirement-key>`**
162
+ ...
163
+ ```
164
+
165
+ Use the same pattern for controls, obligations, acceptance, decisions and other typed items. Describe meaning rather than implementation location.
166
+
167
+ Key rules:
168
+
169
+ - preserve a key when wording changes but meaning does not;
170
+ - never renumber keys because ordering changes;
171
+ - never reuse a deleted key for a different meaning;
172
+ - when merging or splitting an item, record which new keys replace the old key;
173
+ - avoid pure sequence keys such as `req-17`;
174
+ - avoid implementation keys such as `map-hook-change` or `src-button`.
175
+
176
+ ## Semantic Types
177
+
178
+ Use only the types that apply.
179
+
180
+ | Type | Meaning | Later use |
181
+ |---|---|---|
182
+ | `OUT` | Independently decidable observable result | Outcome |
183
+ | `REQ` | Required product or system behavior | Requirement |
184
+ | `CTRL` | Decided control task, placement or state | Control |
185
+ | `OBL` | Mandatory technical obligation | Technical obligation |
186
+ | `NCOMP` | Explicit result that must not be treated as completion | Non-completing Claim |
187
+ | `AC` | Falsifiable observable acceptance scenario | Acceptance Assertion |
188
+ | `NG` | Explicit non-goal | Non-goal |
189
+ | `FS` | Forbidden shortcut or disallowed result | Forbidden shortcut |
190
+ | `RISK` | Fact that changes design, verification or recovery | Risk fact |
191
+ | `EXT` | Result requiring external confirmation | External confirmation |
192
+ | `DEC` | Product decision that cannot be reliably inferred | Decision required |
193
+ | `HINT` | Non-binding implementation suggestion | Advisory only |
194
+
195
+ Keep `OBL` and `HINT` distinct: an `OBL` must be satisfied; a `HINT` may be replaced by another valid implementation.
196
+
195
197
  ## Product Surfaces, Controls And States
196
198
 
197
199
  Do not force a non-interface Source Plan to invent controls. For an in-scope interactive product, however, enumerate every user-visible surface and every material interactive control at control level; a broad feature or screen name is not enough.
198
200
 
199
201
  For each surface, state its purpose, entry and exit, persistent navigation, major regions, overlays or transient layers, and the Control keys it contains. Treat buttons, links, fields, selectors, tabs, toggles, menus, list or card actions, map or canvas gestures and other actionable elements as controls. Treat material status, validation, permission and recovery feedback as Control fields or independently keyed Requirements rather than decorative prose.
200
-
201
- Include a `CTRL` when:
202
-
203
- - the user already discussed or decided it;
204
- - its location, task or state changes product meaning;
205
- - leaving it open would permit materially different product designs.
206
-
202
+
203
+ Include a `CTRL` when:
204
+
205
+ - the user already discussed or decided it;
206
+ - its location, task or state changes product meaning;
207
+ - leaving it open would permit materially different product designs.
208
+
207
209
  For each included control, state every independently decided field separately: `Surface`, `Region`, `Control type`, `Label/content`, `Location`, `User task`, `Visibility`, `Availability`, `Trigger`, `Input`, `Validation`, `Default`, `Interaction`, `Navigation/result`, `Loading`, `Empty`, `Success`, `Failure`, `Recovery`, `Permission`, `Feedback` and `Accessibility`. Use `not applicable` when a field was considered and genuinely does not apply; do not hide an undecided product choice behind that phrase.
208
210
 
209
211
  Give every decided Control field its own stable semantic meaning. Do not compress placement, behavior, state or feedback into one broad sentence when more than one field has been decided; later repository-aware authoring must be able to map each field independently. Do not claim exact visual styling, animation, copy or responsive behavior unless it is direct, evidence-backed or within recorded delegation. When exact non-textual comparison remains necessary, preserve the selected reference id/path/URI and its covered viewport/theme/state instead of replacing it with prose.
210
-
211
- ## Acceptance Scenarios
212
-
213
- Write `AC` items as observable behavior, not low-level test commands.
214
-
215
- Each `AC` represents exactly one acceptance scenario and explicitly names the `REQ`, `CTRL`, `OBL` and/or `NCOMP` keys it accepts. It contains one `Given`, one `When` and one `Then`; each may be multiline, but together they describe only one independently decidable scenario. Never label one AC as proof for several materially different success, failure, boundary or recovery scenarios; author separate ACs instead.
216
-
212
+
213
+ ## Acceptance Scenarios
214
+
215
+ Write `AC` items as observable behavior, not low-level test commands.
216
+
217
+ Each `AC` represents exactly one acceptance scenario and explicitly names the `REQ`, `CTRL`, `OBL` and/or `NCOMP` keys it accepts. It contains one `Given`, one `When` and one `Then`; each may be multiline, but together they describe only one independently decidable scenario. Never label one AC as proof for several materially different success, failure, boundary or recovery scenarios; author separate ACs instead.
218
+
217
219
  For every important `REQ` and every material `CTRL` state, provide at least one of:
218
-
219
- - a corresponding `AC`;
220
- - an `EXT`;
221
- - a `DEC`;
222
- - an explicit non-goal disposition;
223
- - a reason machine verification is not possible.
224
-
225
- Cover the scenarios that actually exist: success, failure, boundary, recovery, permission, empty state, sample/full-population scope and forbidden results. Do not mechanically generate a fixed scenario set.
226
-
220
+
221
+ - a corresponding `AC`;
222
+ - an `EXT`;
223
+ - a `DEC`;
224
+ - an explicit non-goal disposition;
225
+ - a reason machine verification is not possible.
226
+
227
+ Cover the scenarios that actually exist: success, failure, boundary, recovery, permission, empty state, sample/full-population scope and forbidden results. Do not mechanically generate a fixed scenario set.
228
+
227
229
  Never introduce a product requirement for the first time inside an `AC`. Move hidden behavior, defaults, retention periods or recovery policies into a direct or delegated source-backed `REQ`, or into `DEC` only when no defensible recommendation exists.
228
-
229
- ## Risk And Advisory Boundaries
230
-
231
- Each `RISK` states `Fact`, `Affected Outcome`, `Basis` and `Consequence`. `Fact` uses one exact name from the complete Runtime Risk Fact set:
232
-
233
- ```text
234
- public_api_or_schema_change
235
- persistent_data_change
236
- data_migration
237
- security_boundary_change
238
- permission_boundary_change
239
- irreversible_external_effect
240
- critical_user_path
241
- full_population_operation
242
- multi_repository_change
243
- weak_observability
244
- ```
245
-
246
- Do not invent or accept aliases. A data migration uses `data_migration`, never `migration`. A critical path with weak observability produces two independent `RISK` items with distinct stable keys: one `critical_user_path` and one `weak_observability`, both naming the affected Outcome. Preserve `multi_repository_change` in Source even though the current Runtime rejects multi-repository delivery; the Compiler owns that unsupported-delivery decision. Each risk item names one affected Outcome; repeat the item with a distinct stable key when the same fact affects multiple Outcomes. If Fact or Affected Outcome cannot be determined from Source, create a `DEC` with `decision_required` instead of guessing. Generic risk prose without an affected Outcome is not actionable Source. `HINT` remains advisory and is never a Material Source Item: promote it to `OBL` if the implementation constraint is mandatory.
247
-
248
- Use `NCOMP` for an explicit, source-authoritative statement that names an outcome or shortcut that must not count as completion. It is neither an ordinary Requirement nor a non-goal: later Contract authoring maps it to a non-completing Claim and must provide negative or Counterfactual proof.
249
-
250
- This Skill emits ordinary Markdown only. Do not emit `ty-source-item` markers; repository-aware `/long-task-workflow` inserts those non-rendering markers later without rewriting the selected Source text.
251
-
252
- ## Default Markdown Structure
253
-
254
- Write in the user's language unless requested otherwise.
255
-
256
- ```markdown
257
- # <Plan title>
258
-
259
- ## 1. Goal And Success Definition
260
-
261
- - Target users
262
- - Problem
263
- - Final observable results
264
- - Success boundary
265
-
230
+
231
+ ## Risk And Advisory Boundaries
232
+
233
+ Each `RISK` states `Fact`, `Affected Outcome`, `Basis` and `Consequence`. `Fact` uses one exact name from the complete Runtime Risk Fact set:
234
+
235
+ ```text
236
+ public_api_or_schema_change
237
+ persistent_data_change
238
+ data_migration
239
+ security_boundary_change
240
+ permission_boundary_change
241
+ irreversible_external_effect
242
+ critical_user_path
243
+ full_population_operation
244
+ multi_repository_change
245
+ weak_observability
246
+ ```
247
+
248
+ Do not invent or accept aliases. A data migration uses `data_migration`, never `migration`. A critical path with weak observability produces two independent `RISK` items with distinct stable keys: one `critical_user_path` and one `weak_observability`, both naming the affected Outcome. Preserve `multi_repository_change` in Source even though the current Runtime rejects multi-repository delivery; the Compiler owns that unsupported-delivery decision. Each risk item names one affected Outcome; repeat the item with a distinct stable key when the same fact affects multiple Outcomes. If Fact or Affected Outcome cannot be determined from Source, create a `DEC` with `decision_required` instead of guessing. Generic risk prose without an affected Outcome is not actionable Source. `HINT` remains advisory and is never a Material Source Item: promote it to `OBL` if the implementation constraint is mandatory.
249
+
250
+ Use `NCOMP` for an explicit, source-authoritative statement that names an outcome or shortcut that must not count as completion. It is neither an ordinary Requirement nor a non-goal: later Contract authoring maps it to a non-completing Claim and must provide negative or Counterfactual proof.
251
+
252
+ This Skill emits ordinary Markdown only. Do not emit `ty-source-item` markers; repository-aware `/long-task-workflow` inserts those non-rendering markers later without rewriting the selected Source text.
253
+
254
+ ## Default Markdown Structure
255
+
256
+ Write in the user's language unless requested otherwise.
257
+
258
+ ```markdown
259
+ # <Plan title>
260
+
261
+ ## 1. Goal And Success Definition
262
+
263
+ - Target users
264
+ - Problem
265
+ - Final observable results
266
+ - Success boundary
267
+
266
268
  ## 2. Background, Current State And Problem
267
-
268
- - Current situation
269
- - Existing problem
270
- - Why this delivery is needed
269
+
270
+ - Current situation
271
+ - Existing problem
272
+ - Why this delivery is needed
271
273
  - Known constraints
272
274
 
273
275
  ## 3. Input Inventory And Interpretation
@@ -278,13 +280,13 @@ Write in the user's language unless requested otherwise.
278
280
  - Unreadable or intentionally unused content
279
281
 
280
282
  ## 4. Delivery Scope
281
-
282
- ### In Scope
283
-
284
- ### Non-goals
285
-
286
- ### Forbidden Shortcuts
287
-
283
+
284
+ ### In Scope
285
+
286
+ ### Non-goals
287
+
288
+ ### Forbidden Shortcuts
289
+
288
290
  ## 5. Product Surface Inventory
289
291
 
290
292
  - Surface purpose
@@ -292,23 +294,23 @@ Write in the user's language unless requested otherwise.
292
294
  - Regions, overlays and Control keys
293
295
 
294
296
  ## 6. Outcome Overview
295
-
296
- - Outcome key
297
- - Observable result
298
- - Dependencies
299
-
297
+
298
+ - Outcome key
299
+ - Observable result
300
+ - Dependencies
301
+
300
302
  ## 7. Outcomes
301
-
302
- <a id="outcome.<outcome-key>"></a>
303
-
304
- ### OUT `<outcome-key>`: <Outcome title>
305
-
306
- #### Observable Result
307
-
303
+
304
+ <a id="outcome.<outcome-key>"></a>
305
+
306
+ ### OUT `<outcome-key>`: <Outcome title>
307
+
308
+ #### Observable Result
309
+
308
310
  #### Product Requirements
309
-
310
- <a id="<outcome-key>.requirement.<requirement-key>"></a>
311
-
311
+
312
+ <a id="<outcome-key>.requirement.<requirement-key>"></a>
313
+
312
314
  - **REQ `<requirement-key>`**
313
315
  - Origin: direct | derived | delegated | evidence-backed
314
316
  - Source basis:
@@ -321,18 +323,18 @@ Write in the user's language unless requested otherwise.
321
323
  - Entry / exit:
322
324
  - Regions / overlays:
323
325
  - Included Control keys:
324
-
325
- #### User Flow And States
326
-
327
- - Normal flow
328
- - Failure flow
329
- - Recovery flow
330
- - Boundary cases
331
-
332
- #### Controls And Product Feedback
333
-
334
- <a id="<outcome-key>.control.<control-key>"></a>
335
-
326
+
327
+ #### User Flow And States
328
+
329
+ - Normal flow
330
+ - Failure flow
331
+ - Recovery flow
332
+ - Boundary cases
333
+
334
+ #### Controls And Product Feedback
335
+
336
+ <a id="<outcome-key>.control.<control-key>"></a>
337
+
336
338
  - **CTRL `<control-key>`**
337
339
  - Origin: direct | derived | delegated | evidence-backed
338
340
  - Source basis:
@@ -358,44 +360,44 @@ Write in the user's language unless requested otherwise.
358
360
  - Permission:
359
361
  - Feedback:
360
362
  - Accessibility:
361
-
362
- #### Technical Obligations And Boundaries
363
-
364
- <a id="<outcome-key>.obligation.<obligation-key>"></a>
365
-
366
- - **OBL `<obligation-key>`**
367
- ...
368
-
369
- <a id="<outcome-key>.non-completing.<non-completing-key>"></a>
370
-
371
- - **NCOMP `<non-completing-key>`**
372
- ...
373
-
374
- #### Implementation Hints
375
-
376
- - **HINT `<hint-key>`**
377
- ...
378
-
379
- #### Acceptance Scenarios
380
-
381
- <a id="<outcome-key>.acceptance.<acceptance-key>"></a>
382
-
383
- - **AC `<acceptance-key>`**
384
- - Accepts: REQ `<key>`, CTRL `<key>`, OBL `<key>`, NCOMP `<key>`
385
- - Given:
386
- - When:
387
- - Then:
388
-
389
- #### Risks And Recovery
390
-
391
- <a id="<outcome-key>.risk.<risk-key>"></a>
392
-
393
- - **RISK `<risk-key>`**
394
- - Fact:
395
- - Affected Outcome:
396
- - Basis:
397
- - Consequence:
398
-
363
+
364
+ #### Technical Obligations And Boundaries
365
+
366
+ <a id="<outcome-key>.obligation.<obligation-key>"></a>
367
+
368
+ - **OBL `<obligation-key>`**
369
+ ...
370
+
371
+ <a id="<outcome-key>.non-completing.<non-completing-key>"></a>
372
+
373
+ - **NCOMP `<non-completing-key>`**
374
+ ...
375
+
376
+ #### Implementation Hints
377
+
378
+ - **HINT `<hint-key>`**
379
+ ...
380
+
381
+ #### Acceptance Scenarios
382
+
383
+ <a id="<outcome-key>.acceptance.<acceptance-key>"></a>
384
+
385
+ - **AC `<acceptance-key>`**
386
+ - Accepts: REQ `<key>`, CTRL `<key>`, OBL `<key>`, NCOMP `<key>`
387
+ - Given:
388
+ - When:
389
+ - Then:
390
+
391
+ #### Risks And Recovery
392
+
393
+ <a id="<outcome-key>.risk.<risk-key>"></a>
394
+
395
+ - **RISK `<risk-key>`**
396
+ - Fact:
397
+ - Affected Outcome:
398
+ - Basis:
399
+ - Consequence:
400
+
399
401
  ## 8. Cross-Outcome Constraints
400
402
 
401
403
  ## 9. External Confirmations
@@ -409,30 +411,30 @@ Write in the user's language unless requested otherwise.
409
411
  - Changes product meaning: no for derived; yes or no for delegated
410
412
 
411
413
  ## 11. Decisions Required
412
-
413
- <a id="decision.<decision-key>"></a>
414
-
415
- - **DEC `<decision-key>`**
416
- - Status: decision_required
417
- - Decision:
418
- - Options:
419
- - Why it cannot be reliably derived:
420
- - Affected REQ / AC:
421
-
414
+
415
+ <a id="decision.<decision-key>"></a>
416
+
417
+ - **DEC `<decision-key>`**
418
+ - Status: decision_required
419
+ - Decision:
420
+ - Options:
421
+ - Why it cannot be reliably derived:
422
+ - Affected REQ / AC:
423
+
422
424
  ## 12. Completeness Check
423
-
424
- - Covered core requirements
425
- - Unresolved product semantics
426
- - Unbound repository or verification facts
427
- - Explicitly out-of-scope items
428
- ```
429
-
430
- ## Completeness Check
431
-
432
- Before returning the plan, verify:
433
-
434
- 1. Every material original requirement is preserved.
435
- 2. Distinct requirements were not collapsed into one vague Outcome.
425
+
426
+ - Covered core requirements
427
+ - Unresolved product semantics
428
+ - Unbound repository or verification facts
429
+ - Explicitly out-of-scope items
430
+ ```
431
+
432
+ ## Completeness Check
433
+
434
+ Before returning the plan, verify:
435
+
436
+ 1. Every material original requirement is preserved.
437
+ 2. Distinct requirements were not collapsed into one vague Outcome.
436
438
  3. Every supplied artifact appears in the Input Inventory with complete coverage or an explicit gap/disposition.
437
439
  4. Every material input statement maps to a keyed plan item or an explicit unused/conflict disposition.
438
440
  5. Every `REQ` and material `CTRL` state has an `AC`, `EXT`, `DEC` or explicit exception.
@@ -456,10 +458,10 @@ Before returning the plan, verify:
456
458
  23. Every `RISK` has one exact Fact, one Affected Outcome, Basis and Consequence; ambiguity is a `DEC`.
457
459
  24. Every decided control field remains independently traceable instead of being compressed into an aggregate state sentence.
458
460
  25. The document contains enough incorporated meaning for later Contract authoring without requiring the original conversation; any still-required external artifact is named explicitly.
459
-
460
- Do not emit a matrix or machine gate. End with:
461
-
462
- ```text
461
+
462
+ Do not emit a matrix or machine gate. End with:
463
+
464
+ ```text
463
465
  Completeness status:
464
466
  - Ready for Contract authoring: yes|no
465
467
  - Input coverage gaps: none|...
@@ -467,16 +469,17 @@ Completeness status:
467
469
  - Decisions required: DEC-...
468
470
  - Advisory implementation hints: HINT-...
469
471
  - Unbound project facts: ...
470
- ```
471
-
472
- ## Non-Goals
473
-
474
- Do not create:
475
-
476
- - a Source Plan Schema or mandatory format validator;
477
- - a Source Plan CLI, Preflight or Compile step;
478
- - a Source Plan Receipt, Coverage Cache, Authority or state file;
472
+ ```
473
+
474
+ ## Non-Goals
475
+
476
+ Do not create:
477
+
478
+ - a Source Plan Schema or mandatory format validator;
479
+ - a Source Plan CLI, Preflight or Compile step;
480
+ - a Source Plan Receipt, Coverage Cache, Authority or state file;
479
481
  - a Delivery Contract, runner, verification input or Assertion observation;
482
+ - a low/high-fidelity artifact, visual candidate, Figma handoff or design prototype;
480
483
  - a Context update, implementation, verification run or completion judgment.
481
-
482
- The Source Plan improves the quality of declared Source. It cannot prove that the user has expressed every real requirement.
484
+
485
+ The Source Plan improves the quality of declared Source. It cannot prove that the user has expressed every real requirement.