@rasensio/aidlc-content 1.33.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,16 +3,20 @@ questions:
3
3
  mechanism: AskUserQuestion
4
4
  directive: >-
5
5
  Render each question spec as one question in an AskUserQuestion call. The
6
- interrogative sentence is the question; each option's label is its choice and
7
- its consequence is the description; mark the recommendation by putting it
8
- first and appending "(Recommended)" to its label. At most four options per
9
- question and at least two — a spec with more must be split or narrowed. Never
10
- add an explicit "Other" option: the tool supplies one, and a second is a dead
11
- choice the user has to rule out. The header is a chip of at most 12
12
- characters, so it names the decision, not the question. Put "Why it matters",
13
- the citations and "If you say nothing" in the question file and name its path
14
- in one line of the message that carries the call — they do not fit an option
15
- description, and truncating them is what made questions unanswerable.
6
+ question text opens with the one-line what it is and its example, then the
7
+ interrogative sentence; each option's label is its choice and its description
8
+ is its observable effect on that example — who would see what, what would be
9
+ rejected — never the mechanism, because the description is all the user sees
10
+ of an option and schema terms there are what made prompts unreadable. Keep
11
+ mechanism terms and citations in the question file. Mark the recommendation by
12
+ putting it first and appending "(Recommended)" to its label. At most four
13
+ options per question and at least two — a spec with more must be split or
14
+ narrowed. Never add an explicit "Other" option: the tool supplies one, and a
15
+ second is a dead choice the user has to rule out. The header is a chip of at
16
+ most 12 characters, so it names the decision, not the question. Put "Why it
17
+ matters", the citations and "If you say nothing" in the question file and name
18
+ its path in one line of the message that carries the call — they do not fit an
19
+ option description, and truncating them is what made questions unanswerable.
16
20
  capabilities:
17
21
  plan-mode:
18
22
  phases: [ideation, requirements, design]
@@ -3,12 +3,13 @@ questions:
3
3
  mechanism: request_user_input
4
4
  directive: >-
5
5
  Render each question spec through the structured user-input request when the
6
- running Codex build exposes one — the interrogative as the prompt, one entry
7
- per option carrying its consequence, the recommendation named as such. When it
8
- is not available, fall back to numbered prose in the message and do not
9
- pretend a picker exists. Either way the question file is written first and its
10
- path named in one line, because a sandboxed turn can end before an answer
11
- arrives and the file is what survives it.
6
+ running Codex build exposes one — the one-line what it is with its example,
7
+ then the interrogative, as the prompt; one entry per option carrying its
8
+ observable effect; the recommendation named as such. When it is not available,
9
+ fall back to numbered prose in the message and do not pretend a picker exists.
10
+ Either way the question file is written first and its path named in one line,
11
+ because a sandboxed turn can end before an answer arrives and the file is what
12
+ survives it.
12
13
  capabilities:
13
14
  code-generation:
14
15
  phases: [implementation, testing]
@@ -3,12 +3,13 @@ questions:
3
3
  mechanism: null
4
4
  directive: >-
5
5
  Copilot Chat has no structured question prompt, so render each spec as
6
- numbered prose in the message: the interrogative as a bold line, then the
7
- options as a numbered list with the consequence on each, then the
8
- recommendation and the no-answer outcome. Restart option numbering at 1 for
9
- every question, whatever was numbered earlier in the message — a user
10
- answering "3" must be answering the third option of that question. Ask the
11
- user to reply with the option number or its label.
6
+ numbered prose in the message: the one-line what it is with its example, then
7
+ the interrogative as a bold line, then the options as a numbered list with the
8
+ consequence on each, then the recommendation and the no-answer outcome.
9
+ Restart option numbering at 1 for every question, whatever was numbered
10
+ earlier in the message — a user answering "3" must be answering the third
11
+ option of that question. Ask the user to reply with the option number or its
12
+ label.
12
13
  capabilities:
13
14
  plan-mode:
14
15
  phases: [ideation, requirements, design]
@@ -3,12 +3,13 @@ questions:
3
3
  mechanism: null
4
4
  directive: >-
5
5
  Cursor has no structured question prompt, so render each spec as numbered
6
- prose in the chat: the interrogative as a bold line, then the options as a
7
- numbered list with the consequence on each, then the recommendation and the
8
- no-answer outcome. Restart option numbering at 1 for every question, whatever
9
- was numbered earlier in the message. Name the question file by path so the
10
- user can open it in the editor — Cursor puts the file a click away, which is
11
- what makes the longer questions cheap to route there.
6
+ prose in the chat: the one-line what it is with its example, then the
7
+ interrogative as a bold line, then the options as a numbered list with the
8
+ consequence on each, then the recommendation and the no-answer outcome.
9
+ Restart option numbering at 1 for every question, whatever was numbered
10
+ earlier in the message. Name the question file by path so the user can open it
11
+ in the editor — Cursor puts the file a click away, which is what makes the
12
+ longer questions cheap to route there.
12
13
  capabilities:
13
14
  composer:
14
15
  phases: [design, implementation]
@@ -3,12 +3,12 @@ questions:
3
3
  mechanism: null
4
4
  directive: >-
5
5
  Kiro has no structured question prompt, so render each spec as numbered prose
6
- in the chat: the interrogative as a bold line, then the options as a numbered
7
- list with the consequence on each, then the recommendation and the no-answer
8
- outcome. Restart option numbering at 1 for every question, whatever was
9
- numbered earlier in the message. The question file stays under `.aidlc/`, not
10
- `.kiro/specs/` — a spec session is where the answer lands, not where the
11
- question is recorded.
6
+ in the chat: the one-line what it is with its example, then the interrogative
7
+ as a bold line, then the options as a numbered list with the consequence on
8
+ each, then the recommendation and the no-answer outcome. Restart option
9
+ numbering at 1 for every question, whatever was numbered earlier in the
10
+ message. The question file stays under `.aidlc/`, not `.kiro/specs/` — a spec
11
+ session is where the answer lands, not where the question is recorded.
12
12
  capabilities:
13
13
  spec-driven-development:
14
14
  phases: [requirements, design, implementation]
@@ -3,13 +3,14 @@ questions:
3
3
  mechanism: null
4
4
  directive: >-
5
5
  Windsurf has no structured question prompt, so render each spec as numbered
6
- prose in Cascade: the interrogative as a bold line, then the options as a
7
- numbered list with the consequence on each, then the recommendation and the
8
- no-answer outcome. Restart option numbering at 1 for every question, whatever
9
- was numbered earlier in the message. Windsurf's context window is the tightest
10
- of the supported platforms, so route to the question file sooner here — keep
11
- the rendered prompt to the interrogative, the option labels and the file path,
12
- and leave the citations in the file.
6
+ prose in Cascade: the one-line what it is with its example, then the
7
+ interrogative as a bold line, then the options as a numbered list with the
8
+ consequence on each, then the recommendation and the no-answer outcome.
9
+ Restart option numbering at 1 for every question, whatever was numbered
10
+ earlier in the message. Windsurf's context window is the tightest of the
11
+ supported platforms, so route to the question file sooner here — keep the
12
+ rendered prompt to the what-it-is line, the interrogative, the option labels
13
+ and the file path, and leave the citations in the file.
13
14
  capabilities:
14
15
  cascade:
15
16
  phases: [implementation]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasensio/aidlc-content",
3
- "version": "1.33.0",
3
+ "version": "1.34.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -165,12 +165,17 @@ Ask the user something when **different answers would change an artifact, a desi
165
165
  Every question is written first as a **spec** — platform-neutral, and never printed into the conversation. It carries, at minimum:
166
166
 
167
167
  - **The decision**, as one interrogative sentence.
168
+ - **What it is** — what the thing being decided is and what it does, in plain words, shown on one concrete example with names, values or dates. Required on every question: the person answering owns the decision but was not in your research, and does not carry the vocabulary you just read. For an everyday concept this is one sentence; its length scales, its presence does not.
168
169
  - **Why it matters** — what it blocks, and what goes wrong if it is guessed.
169
- - **What the repo already says** — cited as `path:line`, or `path` when the whole file is the point. "Nothing found" is a valid citation; saying nothing is not.
170
- - **Two to four options**, each with its consequence spelled out.
170
+ - **What the repo already says** — cited as `path:line`, or `path` when the whole file is the point. "Nothing found" is a valid citation; saying nothing is not. Schema terms, mechanism names and citations belong here, not in the options.
171
+ - **Two to four options**, each defined by its observable effect — who sees what, what gets rejected, what gets flagged — with its consequence spelled out. Say what would happen, not how it would be built.
171
172
  - **A recommendation**, marked as such — exactly one, with the reason it wins.
172
173
  - **If you say nothing** — the outcome of no answer, so that not answering is a choice rather than a stall.
173
174
 
175
+ When several questions in one file share a concept, open the file with one shared primer that explains it, and have every question reuse the same running example rather than inventing a new one. The reader learns the example once and then sees each option applied to it.
176
+
177
+ The example shows what would really happen. One simplified until it changes the answer misleads as badly as jargon does, and it is harder to spot.
178
+
174
179
  Expand every identifier on first use, writing the thing out with the tag in parentheses — "the citation rule (AC-1)", not a bare `AC-1`, `FR3` or `unit-4`. A bare tag assumes the reader carries a mapping they do not have.
175
180
 
176
181
  ### Rendering the spec
@@ -145,6 +145,12 @@ Vision source: <path> (<n> statements added, <m> removed)
145
145
 
146
146
  ## Should NOT-2 still stand, now that the statement it cites is gone?
147
147
 
148
+ **What it is:** NOT-2 is one of this repo's "must never" rules, and each one
149
+ points at the vision sentence it came from. Say NOT-2 reads "never store
150
+ customer card numbers" and points at the vision line "we do not handle
151
+ payments". That line has now been deleted from the vision, so the rule points
152
+ at nothing.
153
+
148
154
  **Why it matters:** NOT-2 is a boundary this repo is held to. Left citing a
149
155
  statement the vision no longer carries, it is enforced without a source.
150
156