project-tiny-context-harness 0.7.5 → 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +353 -345
- package/assets/README.md +537 -529
- package/assets/README.zh-CN.md +301 -293
- package/assets/agents/.gitkeep +1 -1
- package/assets/agents/AGENTS_CORE.md +52 -52
- package/assets/context_templates/architecture.md +33 -33
- package/assets/context_templates/area.md +39 -39
- package/assets/context_templates/context.toml +30 -30
- package/assets/context_templates/deployment.md +35 -35
- package/assets/context_templates/global.md +51 -51
- package/assets/context_templates/product-surface-contract.md +58 -58
- package/assets/context_templates/verification.md +32 -32
- package/assets/github/.gitkeep +1 -1
- package/assets/github/harness.yml +41 -41
- package/assets/make/.gitkeep +1 -1
- package/assets/make/ty-context.mk +48 -48
- package/assets/skills/context_development_engineer/SKILL.md +89 -89
- package/assets/skills/context_full_project_export/SKILL.md +70 -70
- package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
- package/assets/skills/context_product_plan/SKILL.md +74 -74
- package/assets/skills/context_surface_contract/SKILL.md +165 -165
- package/assets/skills/context_uiux_design/SKILL.md +92 -92
- package/assets/skills/design-resource-authoring/SKILL.md +68 -0
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +138 -0
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +112 -0
- package/assets/skills/design-resource-authoring/references/resource-selection.md +166 -0
- package/assets/skills/long-task-workflow/SKILL.md +82 -81
- package/assets/skills/long-task-workflow/agents/openai.yaml +4 -4
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +56 -56
- package/assets/skills/long-task-workflow/references/contract-authoring.md +88 -88
- package/assets/skills/long-task-workflow/references/evidence-design.md +69 -69
- package/assets/skills/normal-long-task/SKILL.md +12 -12
- package/assets/skills/source-plan-authoring/SKILL.md +291 -291
- package/dist/lib/profiles.js +1 -0
- package/migrations/README.md +15 -15
- package/package.json +1 -1
- package/source-mappings.yaml +25 -25
|
@@ -1,37 +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
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`.
|
|
30
|
+
- This Skill authors Source, not a Contract Draft.
|
|
31
|
+
- It does not replace Contract Draft authoring inside `long-task-workflow`.
|
|
32
32
|
- Its recommended structure is optional input guidance.
|
|
33
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
|
-
-
|
|
34
|
+
- `design-resource-authoring` may consume the same raw inputs independently or consume an existing Source Plan to commission low/high-fidelity targets, visual candidates, a conditional Figma handoff or an isolated interaction prototype. Neither Skill invokes the other. When explicitly requested after design selection, this Skill may instead consume both a separately revised initial proposal and selected immutable design resources as ordinary inputs; it still does not generate or select those resources.
|
|
35
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.
|
|
36
36
|
|
|
37
37
|
## Intake Modes And Source Coverage
|
|
@@ -63,9 +63,9 @@ Before comparative research or a material product, technical, architecture or pr
|
|
|
63
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.
|
|
64
64
|
|
|
65
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.
|
|
66
|
-
|
|
67
|
-
## Authoring Workflow
|
|
68
|
-
|
|
66
|
+
|
|
67
|
+
## Authoring Workflow
|
|
68
|
+
|
|
69
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.
|
|
70
70
|
2. Preserve direct requirements before reorganizing them. Never compress several distinct requirements into a broad capability statement that loses qualifiers.
|
|
71
71
|
3. Classify every material addition as `direct`, `derived`, `delegated`, evidence-backed repository/Context information, or `decision_required`.
|
|
@@ -75,24 +75,24 @@ Preference clarification determines what outcome to optimize. It does not approv
|
|
|
75
75
|
7. Write product requirements, applicable flows/states, controls, technical obligations, implementation hints and observable acceptance without hiding new semantics between types.
|
|
76
76
|
8. Trace every input to incorporated items or an explicit unused/unreadable disposition.
|
|
77
77
|
9. Run the completeness check, revise the same document and end with a compact readiness summary.
|
|
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
|
-
|
|
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
|
+
|
|
96
96
|
Do not disguise one possible product choice as a necessary derivation.
|
|
97
97
|
|
|
98
98
|
### Delegated elaboration
|
|
@@ -112,164 +112,164 @@ For every delegated item or tightly coupled group:
|
|
|
112
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.
|
|
113
113
|
|
|
114
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.
|
|
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
|
-
|
|
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
|
+
|
|
122
122
|
### New product semantics
|
|
123
123
|
|
|
124
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`.
|
|
125
125
|
|
|
126
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:
|
|
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;
|
|
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;
|
|
137
137
|
- a pricing, quota, budget or risk rule.
|
|
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
|
-
|
|
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
|
+
|
|
197
197
|
## Product Surfaces, Controls And States
|
|
198
198
|
|
|
199
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.
|
|
200
200
|
|
|
201
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.
|
|
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
|
-
|
|
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
|
+
|
|
209
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.
|
|
210
210
|
|
|
211
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.
|
|
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
|
-
|
|
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
|
+
|
|
219
219
|
For every important `REQ` and every material `CTRL` state, provide at least one of:
|
|
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
|
-
|
|
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
|
+
|
|
229
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.
|
|
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
|
-
|
|
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
|
+
|
|
268
268
|
## 2. Background, Current State And Problem
|
|
269
|
-
|
|
270
|
-
- Current situation
|
|
271
|
-
- Existing problem
|
|
272
|
-
- Why this delivery is needed
|
|
269
|
+
|
|
270
|
+
- Current situation
|
|
271
|
+
- Existing problem
|
|
272
|
+
- Why this delivery is needed
|
|
273
273
|
- Known constraints
|
|
274
274
|
|
|
275
275
|
## 3. Input Inventory And Interpretation
|
|
@@ -280,13 +280,13 @@ Write in the user's language unless requested otherwise.
|
|
|
280
280
|
- Unreadable or intentionally unused content
|
|
281
281
|
|
|
282
282
|
## 4. Delivery Scope
|
|
283
|
-
|
|
284
|
-
### In Scope
|
|
285
|
-
|
|
286
|
-
### Non-goals
|
|
287
|
-
|
|
288
|
-
### Forbidden Shortcuts
|
|
289
|
-
|
|
283
|
+
|
|
284
|
+
### In Scope
|
|
285
|
+
|
|
286
|
+
### Non-goals
|
|
287
|
+
|
|
288
|
+
### Forbidden Shortcuts
|
|
289
|
+
|
|
290
290
|
## 5. Product Surface Inventory
|
|
291
291
|
|
|
292
292
|
- Surface purpose
|
|
@@ -294,23 +294,23 @@ Write in the user's language unless requested otherwise.
|
|
|
294
294
|
- Regions, overlays and Control keys
|
|
295
295
|
|
|
296
296
|
## 6. Outcome Overview
|
|
297
|
-
|
|
298
|
-
- Outcome key
|
|
299
|
-
- Observable result
|
|
300
|
-
- Dependencies
|
|
301
|
-
|
|
297
|
+
|
|
298
|
+
- Outcome key
|
|
299
|
+
- Observable result
|
|
300
|
+
- Dependencies
|
|
301
|
+
|
|
302
302
|
## 7. Outcomes
|
|
303
|
-
|
|
304
|
-
<a id="outcome.<outcome-key>"></a>
|
|
305
|
-
|
|
306
|
-
### OUT `<outcome-key>`: <Outcome title>
|
|
307
|
-
|
|
308
|
-
#### Observable Result
|
|
309
|
-
|
|
303
|
+
|
|
304
|
+
<a id="outcome.<outcome-key>"></a>
|
|
305
|
+
|
|
306
|
+
### OUT `<outcome-key>`: <Outcome title>
|
|
307
|
+
|
|
308
|
+
#### Observable Result
|
|
309
|
+
|
|
310
310
|
#### Product Requirements
|
|
311
|
-
|
|
312
|
-
<a id="<outcome-key>.requirement.<requirement-key>"></a>
|
|
313
|
-
|
|
311
|
+
|
|
312
|
+
<a id="<outcome-key>.requirement.<requirement-key>"></a>
|
|
313
|
+
|
|
314
314
|
- **REQ `<requirement-key>`**
|
|
315
315
|
- Origin: direct | derived | delegated | evidence-backed
|
|
316
316
|
- Source basis:
|
|
@@ -323,18 +323,18 @@ Write in the user's language unless requested otherwise.
|
|
|
323
323
|
- Entry / exit:
|
|
324
324
|
- Regions / overlays:
|
|
325
325
|
- Included Control keys:
|
|
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
|
-
|
|
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
|
+
|
|
338
338
|
- **CTRL `<control-key>`**
|
|
339
339
|
- Origin: direct | derived | delegated | evidence-backed
|
|
340
340
|
- Source basis:
|
|
@@ -360,44 +360,44 @@ Write in the user's language unless requested otherwise.
|
|
|
360
360
|
- Permission:
|
|
361
361
|
- Feedback:
|
|
362
362
|
- Accessibility:
|
|
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
|
-
|
|
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
|
+
|
|
401
401
|
## 8. Cross-Outcome Constraints
|
|
402
402
|
|
|
403
403
|
## 9. External Confirmations
|
|
@@ -411,30 +411,30 @@ Write in the user's language unless requested otherwise.
|
|
|
411
411
|
- Changes product meaning: no for derived; yes or no for delegated
|
|
412
412
|
|
|
413
413
|
## 11. Decisions Required
|
|
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
|
-
|
|
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
|
+
|
|
424
424
|
## 12. Completeness Check
|
|
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.
|
|
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.
|
|
438
438
|
3. Every supplied artifact appears in the Input Inventory with complete coverage or an explicit gap/disposition.
|
|
439
439
|
4. Every material input statement maps to a keyed plan item or an explicit unused/conflict disposition.
|
|
440
440
|
5. Every `REQ` and material `CTRL` state has an `AC`, `EXT`, `DEC` or explicit exception.
|
|
@@ -458,10 +458,10 @@ Before returning the plan, verify:
|
|
|
458
458
|
23. Every `RISK` has one exact Fact, one Affected Outcome, Basis and Consequence; ambiguity is a `DEC`.
|
|
459
459
|
24. Every decided control field remains independently traceable instead of being compressed into an aggregate state sentence.
|
|
460
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.
|
|
461
|
-
|
|
462
|
-
Do not emit a matrix or machine gate. End with:
|
|
463
|
-
|
|
464
|
-
```text
|
|
461
|
+
|
|
462
|
+
Do not emit a matrix or machine gate. End with:
|
|
463
|
+
|
|
464
|
+
```text
|
|
465
465
|
Completeness status:
|
|
466
466
|
- Ready for Contract authoring: yes|no
|
|
467
467
|
- Input coverage gaps: none|...
|
|
@@ -469,17 +469,17 @@ Completeness status:
|
|
|
469
469
|
- Decisions required: DEC-...
|
|
470
470
|
- Advisory implementation hints: HINT-...
|
|
471
471
|
- Unbound project facts: ...
|
|
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;
|
|
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;
|
|
481
481
|
- a Delivery Contract, runner, verification input or Assertion observation;
|
|
482
482
|
- a low/high-fidelity artifact, visual candidate, Figma handoff or design prototype;
|
|
483
483
|
- a Context update, implementation, verification run or completion judgment.
|
|
484
|
-
|
|
485
|
-
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.
|