incitaciones 0.11.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content/distilled/documentation/references/review-documentation/SKILL.md +6 -3
- package/content/distilled/documentation/references/review-documentation/references/ai-readiness-criteria.md +1 -0
- package/content/distilled/issues/references/create-issues/SKILL.md +21 -6
- package/content/distilled/issues/references/create-issues/references/criteria.md +2 -1
- package/content/distilled/issues/references/create-issues/references/templates.md +5 -3
- package/content/distilled/issues/references/issue-review/SKILL.md +1 -1
- package/content/distilled/issues/references/issue-review/references/pass-5-executability.md +7 -0
- package/content/manifest.json +1 -1
- package/package.json +1 -1
- package/pi-package/skills/create-issues/SKILL.md +28 -10
- package/pi-package/skills/documentation/references/review-documentation/SKILL.md +6 -3
- package/pi-package/skills/documentation/references/review-documentation/references/ai-readiness-criteria.md +1 -0
- package/pi-package/skills/issue-review/SKILL.md +8 -1
- package/pi-package/skills/issues/references/create-issues/SKILL.md +21 -6
- package/pi-package/skills/issues/references/create-issues/references/criteria.md +2 -1
- package/pi-package/skills/issues/references/create-issues/references/templates.md +5 -3
- package/pi-package/skills/issues/references/issue-review/SKILL.md +1 -1
- package/pi-package/skills/issues/references/issue-review/references/pass-5-executability.md +7 -0
|
@@ -16,7 +16,7 @@ Goal: does this topic have a single, clear intent? Checks: is it a Tutorial, How
|
|
|
16
16
|
|
|
17
17
|
### Pass 2: EPPO & Standalone Utility
|
|
18
18
|
|
|
19
|
-
Goal: can a foraging reader land here and succeed? Checks: are context and prerequisites established in the first two sentences? Does it rely on "previous chapter" knowledge without links? Issue prefix: [EPPO-001].
|
|
19
|
+
Goal: can a foraging reader land here and succeed? Checks: are context and prerequisites established in the first two sentences? Does it rely on "previous chapter" knowledge without links? Is domain jargon defined at first use or via a glossary? (Jargon rule: `../research-documentation/references/checklist.md` and `../implement-documentation/references/anti-patterns.md` — cross-reference, do not duplicate here.) Issue prefix: [EPPO-001].
|
|
20
20
|
|
|
21
21
|
### Pass 3: Cognitive Scannability (Info Mapping)
|
|
22
22
|
|
|
@@ -24,11 +24,11 @@ Goal: can the reader scan the page in under 10 seconds and find the key answer?
|
|
|
24
24
|
|
|
25
25
|
### Pass 4: Accuracy, "Whole Game" & Fail-States
|
|
26
26
|
|
|
27
|
-
Goal: is the content technically sound and resilient? Checks: are code snippets verified? Does it show the complete result? Are common errors documented? In tutorials, is the Martini Glass pattern followed (guided context then open exploration)? Issue prefix: [ACC-001].
|
|
27
|
+
Goal: is the content technically sound and resilient? Checks: are code snippets verified? Does it show the complete result? Are common errors documented? In tutorials, is the Martini Glass pattern followed (guided context then open exploration)? If the subject is a runnable tool/API: spot-check documented claims against the artifact itself (the method statement goes in the Final Report provenance block). For entry-point pages (README / landing / quickstart): is there a quickstart reaching a first verified success in minutes (time-to-first-success; see `../research-documentation/references/metrics.md`)? Issue prefix: [ACC-001].
|
|
28
28
|
|
|
29
29
|
### Pass 5: Excellence & AI-Readiness
|
|
30
30
|
|
|
31
|
-
Goal: is it production-ready and optimized for AI agents? Checks: is there a TL;DR for LLMs? Are headers semantically unique for RAG? Is the Answer First (Pyramid Principle) in the TL;DR and first paragraph? Use `references/ai-readiness-criteria.md` for the deep AI-readiness checks (`llms.txt`, RAG chunking, dual-audience, schema sync). Issue prefix: [EXCL-001].
|
|
31
|
+
Goal: is it production-ready and optimized for AI agents? Checks: is there a TL;DR for LLMs? Are headers semantically unique for RAG? Is the Answer First (Pyramid Principle) in the TL;DR and first paragraph? Use `references/ai-readiness-criteria.md` for the deep AI-readiness checks (`llms.txt`, RAG chunking, dual-audience, schema sync). Are claims marked by status — documented / interpreted / proposed / unknown — with unverified claims not stated as fact? Issue prefix: [EXCL-001].
|
|
32
32
|
|
|
33
33
|
## Final Report
|
|
34
34
|
|
|
@@ -36,10 +36,13 @@ Goal: is it production-ready and optimized for AI agents? Checks: is there a TL;
|
|
|
36
36
|
- Top 3 Findings.
|
|
37
37
|
- Verdict: Ready, Needs Revision, or Needs Rework.
|
|
38
38
|
- Rationale.
|
|
39
|
+
- Provenance: which revision/commit of the subject was reviewed (mark UNKNOWN if unpinned — never guess) and the review method (runtime-verified vs read-only).
|
|
40
|
+
- Optional (entry-point pages: README / landing / quickstart): audience-barrier table (reader type × barriers × recommended approach).
|
|
39
41
|
|
|
40
42
|
## Rules
|
|
41
43
|
|
|
42
44
|
- Reference exact locations (file, section, paragraph).
|
|
45
|
+
- Cross-referenced criteria live in sibling mode references — do not copy them into this file; link instead.
|
|
43
46
|
- Validate issues exist; do not flag "potential" issues without evidence.
|
|
44
47
|
- The canonical theory lives in `content/research-documentation-frameworks.md`; `references/ai-readiness-criteria.md` is an operational excerpt that links back to it.
|
|
45
48
|
|
|
@@ -25,6 +25,7 @@ Deep checks for Pass 5. The basic pass (TL;DR present, headers unique, Answer Fi
|
|
|
25
25
|
- Is language precise enough for a machine? Natural-language ambiguity a human resolves from context is opaque to an agent.
|
|
26
26
|
- Are error conditions and their meanings explicit?
|
|
27
27
|
- Are capability boundaries stated (what the tool/API can and cannot do)?
|
|
28
|
+
- Are claims marked by status (documented / interpreted / proposed / unknown) rather than stated as fact when unverified?
|
|
28
29
|
|
|
29
30
|
## Schema and spec sync (reference pages)
|
|
30
31
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- skill: create-issues, version: 1.
|
|
1
|
+
<!-- skill: create-issues, version: 1.5.0, status: verified -->
|
|
2
2
|
# Tracer-Bullet Issue Creation from Plan
|
|
3
3
|
|
|
4
4
|
Break a reviewed plan into independently grabbable issues using tracer-bullet vertical slices.
|
|
@@ -22,9 +22,19 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
22
22
|
- Prefer **vertical slices** over phase-by-phase horizontal tickets.
|
|
23
23
|
- Each issue should cut through all necessary layers for one narrow capability: storage/schema, business logic, interface, tests, and observability/docs when relevant.
|
|
24
24
|
- A slice must be independently verifiable or demoable.
|
|
25
|
-
- Mark each slice
|
|
26
|
-
- **
|
|
27
|
-
|
|
25
|
+
- Mark each slice with a **lane** (execution mode) and a **complexity** grade:
|
|
26
|
+
- **Lane:**
|
|
27
|
+
- **AFK** — bounded, mechanically verifiable, mergeable without human intervention; the `afk` label means "safe to run autonomously", so it may only be applied when an objective gate exists (test suite, CI, or Meter command). Label: `afk`.
|
|
28
|
+
- **DESIGN** — needs an interactive design session before implementation: semantics decisions, API shape, concurrency models, trade-offs. A human works this with a strong-reasoning model, never autonomously. Label: `design`.
|
|
29
|
+
- **HITL** — pure human decision, approval, copy review, or policy signoff with little or no model work. Label: `hitl`.
|
|
30
|
+
- **REVIEW** — second-opinion pass over existing output (code review, spec audit, conformance check). Label: `review`.
|
|
31
|
+
- **Complexity (effort / model tier)** — graded by falsifiable criteria so a reviewer can gate a wrong tag:
|
|
32
|
+
- **S** — matches an existing pattern in the repo (same change shape already exists in code or a prior ticket); ≤3 files; no new public interface, dependency, or invariant; the Meter is an existing test command. Label: `complexity:s`.
|
|
33
|
+
- **M** — multi-file change within established patterns; new tests follow existing conventions; no new public API beyond the slice's own; no concurrency or protocol semantics. Label: `complexity:m`.
|
|
34
|
+
- **L** — introduces or changes an invariant, concurrency semantics, protocol conformance, or a public API; correctness requires reasoning the repo's existing tests do not already encode. Label: `complexity:l`.
|
|
35
|
+
- **XL** — unresolved semantics or cross-repo scope: two competent agents would disagree on what "done" means; do not schedule — decompose into S/M/L slices first. Label: `complexity:xl`.
|
|
36
|
+
- **Grade gate:** an S/M ticket that touches a public API, an invariant, or concurrency code is mis-tagged — retag L before publishing; an L ticket fully covered by an existing pattern plus an existing test command is mis-tagged — retag M or S.
|
|
37
|
+
- Classification signals: `decision`-type tickets or titles starting with Decide/Choose/Approve/Scope → DESIGN or HITL, never AFK; bounded bugs with a failing test or concrete repro in a repo with CI → AFK; verification/conformance sweeps → AFK; concurrency/security/semantics work → DESIGN unless a failing repro test exists; epics → XL. If the target repo has no CI or test suite, tag `no-gate` — never schedule AFK work without a gate.
|
|
28
38
|
- Avoid tickets like “build backend”, “add UI”, or “refactor models first” unless the work is genuinely standalone.
|
|
29
39
|
- **Title lint (hard rule — run on every drafted title before presenting):** a title must name a user-visible outcome (“CSV export works end-to-end”), not a layer. If a title names a layer or artifact — backend, frontend, API, route, button, serializer, schema, tests-only, docs-only, refactor-only — merge it into the outcome slice it serves. Layers differing is never sufficient reason to split: split by capability, never by layer.
|
|
30
40
|
|
|
@@ -33,11 +43,13 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
33
43
|
- Present a numbered list before creating anything.
|
|
34
44
|
- For each slice include:
|
|
35
45
|
- **Title**
|
|
36
|
-
- **
|
|
46
|
+
- **Lane:** AFK | DESIGN | HITL | REVIEW
|
|
47
|
+
- **Complexity:** S | M | L | XL
|
|
48
|
+
- **Gate:** Meter command or CI suite (required for AFK; `no-gate` otherwise)
|
|
37
49
|
- **Blocked by:** slice numbers or “None”
|
|
38
50
|
- **User stories covered**
|
|
39
51
|
- **Why this is a tracer bullet:** brief end-to-end justification
|
|
40
|
-
- Ask whether the granularity, dependency graph, and
|
|
52
|
+
- Ask whether the granularity, dependency graph, and lane/complexity split look right.
|
|
41
53
|
- Iterate until approved.
|
|
42
54
|
|
|
43
55
|
5. **Prepare issue bodies:**
|
|
@@ -90,6 +102,9 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
90
102
|
- **Name the cheats:** add anti-goals wherever the gate could be gamed (test edits, new deps, API breaks).
|
|
91
103
|
- **Anchor staleness:** always record `base_commit` metadata at creation; never publish a ticket anchored to nothing.
|
|
92
104
|
- **Stop and ask:** if the plan only supports horizontal decomposition, propose a vertical rewrite before publishing.
|
|
105
|
+
- **Lane and complexity are mandatory metadata:** every published slice carries both (`bd update <id> --label design --label complexity:m`). Route by them, not by preference: S/M AFK work defaults to the cheapest capable model tier; DESIGN and L work gets the strongest reasoning tier with elevated effort.
|
|
106
|
+
- **No gate, no AFK label:** in a repo without CI/tests, tag `no-gate` *instead of* `afk` — the ticket is not scheduled autonomously until a gate exists; when one does, replace `no-gate` with `afk`.
|
|
107
|
+
- **Escalation is a retag:** after two failed implementation attempts, raise complexity one grade (S→M→L); if the failure cause is semantic (unclear spec or design rather than implementation), switch the lane to `design`. Record the failure cause in the ticket either way.
|
|
93
108
|
|
|
94
109
|
## References
|
|
95
110
|
- **Templates:** `references/templates.md`
|
|
@@ -18,7 +18,8 @@ Use these criteria to evaluate whether a plan has been translated into strong tr
|
|
|
18
18
|
| **Baseline anchored** | Measurable claims record the pre-work value and the HEAD SHA as `base_commit` metadata for staleness detection. |
|
|
19
19
|
| **Dependency hygiene** | Only real blockers are encoded; parallel work is not serialized without reason. |
|
|
20
20
|
| **Workflow Mandate** | Includes the mandatory TDD and Tidy First block. |
|
|
21
|
-
| **Execution mode** | Slice is explicitly marked AFK or
|
|
21
|
+
| **Execution mode** | Slice is explicitly marked with a lane (AFK/DESIGN/HITL/REVIEW) and a complexity grade (S/M/L/XL); AFK slices carry an objective gate or `no-gate` tag. |
|
|
22
|
+
| **Complexity honesty** | Complexity matches the work, not the optimism: XL is used when semantics or scope are unresolved, not as a badge. |
|
|
22
23
|
|
|
23
24
|
## Tracer-Bullet Heuristics
|
|
24
25
|
|
|
@@ -6,7 +6,9 @@ Use these templates for proposed slice breakdowns, issue descriptions, and the f
|
|
|
6
6
|
|
|
7
7
|
```markdown
|
|
8
8
|
1. **[Title]**
|
|
9
|
-
- **
|
|
9
|
+
- **Lane:** [AFK|DESIGN|HITL|REVIEW]
|
|
10
|
+
- **Complexity:** [S|M|L|XL]
|
|
11
|
+
- **Gate:** [Meter command / CI suite — required for AFK]
|
|
10
12
|
- **Blocked by:** [None | Slice 1, Slice 2]
|
|
11
13
|
- **User stories covered:** [Story A, Story B]
|
|
12
14
|
- **Tracer-bullet rationale:** [Why this is a thin end-to-end slice]
|
|
@@ -71,8 +73,8 @@ Or: `None - can start immediately`
|
|
|
71
73
|
**Plan:** [path/to/plan.md]
|
|
72
74
|
|
|
73
75
|
### Approved Slice Set
|
|
74
|
-
1. **[Title]** — [AFK|HITL], blocked by [None|IDs]
|
|
75
|
-
2. **[Title]** — [AFK|HITL], blocked by [None|IDs]
|
|
76
|
+
1. **[Title]** — [AFK|DESIGN|HITL|REVIEW] [S|M|L|XL], blocked by [None|IDs]
|
|
77
|
+
2. **[Title]** — [AFK|DESIGN|HITL|REVIEW] [S|M|L|XL], blocked by [None|IDs]
|
|
76
78
|
|
|
77
79
|
### Summary
|
|
78
80
|
- **Total Issues Created:** [count]
|
|
@@ -26,7 +26,7 @@ Treat the best issue sets as:
|
|
|
26
26
|
- thin vertical slices rather than layer tickets
|
|
27
27
|
- independently verifiable or demoable
|
|
28
28
|
- minimal but sufficient dependency graphs
|
|
29
|
-
- explicit about AFK
|
|
29
|
+
- explicit about lane (AFK/DESIGN/HITL/REVIEW) and complexity (S/M/L/XL) work
|
|
30
30
|
- traceable back to stories, plans, or specs
|
|
31
31
|
- self-describing: tickets that create or reshape source files carry the file-header criterion (see `file-headers`) — undocumented files force agents to re-derive intent
|
|
32
32
|
- machine-verifiable value claims: quantified Must gate, runnable Meter, explicit anti-goals, and a `base_commit` anchor that reveals staleness
|
|
@@ -6,6 +6,9 @@ Focus on:
|
|
|
6
6
|
- Is there a machine-checkable Must gate (quantified, unit + number) backed by a runnable Meter command?
|
|
7
7
|
- Are touched code files self-describing — Purpose/Responsibilities/Rationale header present and current (see `file-headers`)?
|
|
8
8
|
- Are priorities and labels sensible?
|
|
9
|
+
- Does every ticket carry lane and complexity metadata (`afk`/`design`/`hitl`/`review` + `complexity:s/m/l/xl`)?
|
|
10
|
+
- Are lane/complexity tags consistent with the work (DESIGN or HITL work never tagged `afk`)?
|
|
11
|
+
- Are AFK tickets backed by an objective gate (CI/test suite/Meter), or tagged `no-gate` and kept out of autonomous scheduling?
|
|
9
12
|
- Are HITL handoff points explicit?
|
|
10
13
|
- Is it clear what demo, test, or observable behavior proves completion?
|
|
11
14
|
|
|
@@ -19,6 +22,10 @@ Watch for:
|
|
|
19
22
|
- Tickets that create or reshape source files with no file-header acceptance criterion — undocumented files force every implementing agent to re-derive intent
|
|
20
23
|
- No regression suite named (pass-to-pass coverage unspecified)
|
|
21
24
|
- HITL work masquerading as AFK
|
|
25
|
+
- DESIGN work (semantics decisions, API shape, concurrency models) tagged or scheduled as AFK — semantics need an interactive session, not an overnight run
|
|
26
|
+
- Tickets tagged `complexity:xl` (epic-sized or semantics-heavy) presented as schedulable work instead of decomposition candidates
|
|
27
|
+
- AFK tickets with no objective gate and no `no-gate` tag
|
|
28
|
+
- Complexity grades that fail the falsifiable criteria — an S/M ticket touching a public API, an invariant, or concurrency code is mis-tagged and must be retagged L before scheduling
|
|
22
29
|
- Tickets that cannot be closed without information from another issue not listed as a blocker
|
|
23
30
|
|
|
24
31
|
Prefix findings with `EXEC-`.
|
package/content/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@ disable-model-invocation: true
|
|
|
12
12
|
|
|
13
13
|
#### Core Instructions (content/distilled/issues/references/create-issues/SKILL.md)
|
|
14
14
|
|
|
15
|
-
<!-- skill: create-issues, version: 1.
|
|
15
|
+
<!-- skill: create-issues, version: 1.5.0, status: verified -->
|
|
16
16
|
# Tracer-Bullet Issue Creation from Plan
|
|
17
17
|
|
|
18
18
|
Break a reviewed plan into independently grabbable issues using tracer-bullet vertical slices.
|
|
@@ -36,9 +36,19 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
36
36
|
- Prefer **vertical slices** over phase-by-phase horizontal tickets.
|
|
37
37
|
- Each issue should cut through all necessary layers for one narrow capability: storage/schema, business logic, interface, tests, and observability/docs when relevant.
|
|
38
38
|
- A slice must be independently verifiable or demoable.
|
|
39
|
-
- Mark each slice
|
|
40
|
-
- **
|
|
41
|
-
|
|
39
|
+
- Mark each slice with a **lane** (execution mode) and a **complexity** grade:
|
|
40
|
+
- **Lane:**
|
|
41
|
+
- **AFK** — bounded, mechanically verifiable, mergeable without human intervention; the `afk` label means "safe to run autonomously", so it may only be applied when an objective gate exists (test suite, CI, or Meter command). Label: `afk`.
|
|
42
|
+
- **DESIGN** — needs an interactive design session before implementation: semantics decisions, API shape, concurrency models, trade-offs. A human works this with a strong-reasoning model, never autonomously. Label: `design`.
|
|
43
|
+
- **HITL** — pure human decision, approval, copy review, or policy signoff with little or no model work. Label: `hitl`.
|
|
44
|
+
- **REVIEW** — second-opinion pass over existing output (code review, spec audit, conformance check). Label: `review`.
|
|
45
|
+
- **Complexity (effort / model tier)** — graded by falsifiable criteria so a reviewer can gate a wrong tag:
|
|
46
|
+
- **S** — matches an existing pattern in the repo (same change shape already exists in code or a prior ticket); ≤3 files; no new public interface, dependency, or invariant; the Meter is an existing test command. Label: `complexity:s`.
|
|
47
|
+
- **M** — multi-file change within established patterns; new tests follow existing conventions; no new public API beyond the slice's own; no concurrency or protocol semantics. Label: `complexity:m`.
|
|
48
|
+
- **L** — introduces or changes an invariant, concurrency semantics, protocol conformance, or a public API; correctness requires reasoning the repo's existing tests do not already encode. Label: `complexity:l`.
|
|
49
|
+
- **XL** — unresolved semantics or cross-repo scope: two competent agents would disagree on what "done" means; do not schedule — decompose into S/M/L slices first. Label: `complexity:xl`.
|
|
50
|
+
- **Grade gate:** an S/M ticket that touches a public API, an invariant, or concurrency code is mis-tagged — retag L before publishing; an L ticket fully covered by an existing pattern plus an existing test command is mis-tagged — retag M or S.
|
|
51
|
+
- Classification signals: `decision`-type tickets or titles starting with Decide/Choose/Approve/Scope → DESIGN or HITL, never AFK; bounded bugs with a failing test or concrete repro in a repo with CI → AFK; verification/conformance sweeps → AFK; concurrency/security/semantics work → DESIGN unless a failing repro test exists; epics → XL. If the target repo has no CI or test suite, tag `no-gate` — never schedule AFK work without a gate.
|
|
42
52
|
- Avoid tickets like “build backend”, “add UI”, or “refactor models first” unless the work is genuinely standalone.
|
|
43
53
|
- **Title lint (hard rule — run on every drafted title before presenting):** a title must name a user-visible outcome (“CSV export works end-to-end”), not a layer. If a title names a layer or artifact — backend, frontend, API, route, button, serializer, schema, tests-only, docs-only, refactor-only — merge it into the outcome slice it serves. Layers differing is never sufficient reason to split: split by capability, never by layer.
|
|
44
54
|
|
|
@@ -47,11 +57,13 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
47
57
|
- Present a numbered list before creating anything.
|
|
48
58
|
- For each slice include:
|
|
49
59
|
- **Title**
|
|
50
|
-
- **
|
|
60
|
+
- **Lane:** AFK | DESIGN | HITL | REVIEW
|
|
61
|
+
- **Complexity:** S | M | L | XL
|
|
62
|
+
- **Gate:** Meter command or CI suite (required for AFK; `no-gate` otherwise)
|
|
51
63
|
- **Blocked by:** slice numbers or “None”
|
|
52
64
|
- **User stories covered**
|
|
53
65
|
- **Why this is a tracer bullet:** brief end-to-end justification
|
|
54
|
-
- Ask whether the granularity, dependency graph, and
|
|
66
|
+
- Ask whether the granularity, dependency graph, and lane/complexity split look right.
|
|
55
67
|
- Iterate until approved.
|
|
56
68
|
|
|
57
69
|
5. **Prepare issue bodies:**
|
|
@@ -104,6 +116,9 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
104
116
|
- **Name the cheats:** add anti-goals wherever the gate could be gamed (test edits, new deps, API breaks).
|
|
105
117
|
- **Anchor staleness:** always record `base_commit` metadata at creation; never publish a ticket anchored to nothing.
|
|
106
118
|
- **Stop and ask:** if the plan only supports horizontal decomposition, propose a vertical rewrite before publishing.
|
|
119
|
+
- **Lane and complexity are mandatory metadata:** every published slice carries both (`bd update <id> --label design --label complexity:m`). Route by them, not by preference: S/M AFK work defaults to the cheapest capable model tier; DESIGN and L work gets the strongest reasoning tier with elevated effort.
|
|
120
|
+
- **No gate, no AFK label:** in a repo without CI/tests, tag `no-gate` *instead of* `afk` — the ticket is not scheduled autonomously until a gate exists; when one does, replace `no-gate` with `afk`.
|
|
121
|
+
- **Escalation is a retag:** after two failed implementation attempts, raise complexity one grade (S→M→L); if the failure cause is semantic (unclear spec or design rather than implementation), switch the lane to `design`. Record the failure cause in the ticket either way.
|
|
107
122
|
|
|
108
123
|
## References
|
|
109
124
|
- **Templates:** `references/templates.md`
|
|
@@ -133,7 +148,8 @@ Use these criteria to evaluate whether a plan has been translated into strong tr
|
|
|
133
148
|
| **Baseline anchored** | Measurable claims record the pre-work value and the HEAD SHA as `base_commit` metadata for staleness detection. |
|
|
134
149
|
| **Dependency hygiene** | Only real blockers are encoded; parallel work is not serialized without reason. |
|
|
135
150
|
| **Workflow Mandate** | Includes the mandatory TDD and Tidy First block. |
|
|
136
|
-
| **Execution mode** | Slice is explicitly marked AFK or
|
|
151
|
+
| **Execution mode** | Slice is explicitly marked with a lane (AFK/DESIGN/HITL/REVIEW) and a complexity grade (S/M/L/XL); AFK slices carry an objective gate or `no-gate` tag. |
|
|
152
|
+
| **Complexity honesty** | Complexity matches the work, not the optimism: XL is used when semantics or scope are unresolved, not as a badge. |
|
|
137
153
|
|
|
138
154
|
## Tracer-Bullet Heuristics
|
|
139
155
|
|
|
@@ -175,7 +191,9 @@ Use these templates for proposed slice breakdowns, issue descriptions, and the f
|
|
|
175
191
|
|
|
176
192
|
```markdown
|
|
177
193
|
1. **[Title]**
|
|
178
|
-
- **
|
|
194
|
+
- **Lane:** [AFK|DESIGN|HITL|REVIEW]
|
|
195
|
+
- **Complexity:** [S|M|L|XL]
|
|
196
|
+
- **Gate:** [Meter command / CI suite — required for AFK]
|
|
179
197
|
- **Blocked by:** [None | Slice 1, Slice 2]
|
|
180
198
|
- **User stories covered:** [Story A, Story B]
|
|
181
199
|
- **Tracer-bullet rationale:** [Why this is a thin end-to-end slice]
|
|
@@ -240,8 +258,8 @@ Or: `None - can start immediately`
|
|
|
240
258
|
**Plan:** [path/to/plan.md]
|
|
241
259
|
|
|
242
260
|
### Approved Slice Set
|
|
243
|
-
1. **[Title]** — [AFK|HITL], blocked by [None|IDs]
|
|
244
|
-
2. **[Title]** — [AFK|HITL], blocked by [None|IDs]
|
|
261
|
+
1. **[Title]** — [AFK|DESIGN|HITL|REVIEW] [S|M|L|XL], blocked by [None|IDs]
|
|
262
|
+
2. **[Title]** — [AFK|DESIGN|HITL|REVIEW] [S|M|L|XL], blocked by [None|IDs]
|
|
245
263
|
|
|
246
264
|
### Summary
|
|
247
265
|
- **Total Issues Created:** [count]
|
|
@@ -16,7 +16,7 @@ Goal: does this topic have a single, clear intent? Checks: is it a Tutorial, How
|
|
|
16
16
|
|
|
17
17
|
### Pass 2: EPPO & Standalone Utility
|
|
18
18
|
|
|
19
|
-
Goal: can a foraging reader land here and succeed? Checks: are context and prerequisites established in the first two sentences? Does it rely on "previous chapter" knowledge without links? Issue prefix: [EPPO-001].
|
|
19
|
+
Goal: can a foraging reader land here and succeed? Checks: are context and prerequisites established in the first two sentences? Does it rely on "previous chapter" knowledge without links? Is domain jargon defined at first use or via a glossary? (Jargon rule: `../research-documentation/references/checklist.md` and `../implement-documentation/references/anti-patterns.md` — cross-reference, do not duplicate here.) Issue prefix: [EPPO-001].
|
|
20
20
|
|
|
21
21
|
### Pass 3: Cognitive Scannability (Info Mapping)
|
|
22
22
|
|
|
@@ -24,11 +24,11 @@ Goal: can the reader scan the page in under 10 seconds and find the key answer?
|
|
|
24
24
|
|
|
25
25
|
### Pass 4: Accuracy, "Whole Game" & Fail-States
|
|
26
26
|
|
|
27
|
-
Goal: is the content technically sound and resilient? Checks: are code snippets verified? Does it show the complete result? Are common errors documented? In tutorials, is the Martini Glass pattern followed (guided context then open exploration)? Issue prefix: [ACC-001].
|
|
27
|
+
Goal: is the content technically sound and resilient? Checks: are code snippets verified? Does it show the complete result? Are common errors documented? In tutorials, is the Martini Glass pattern followed (guided context then open exploration)? If the subject is a runnable tool/API: spot-check documented claims against the artifact itself (the method statement goes in the Final Report provenance block). For entry-point pages (README / landing / quickstart): is there a quickstart reaching a first verified success in minutes (time-to-first-success; see `../research-documentation/references/metrics.md`)? Issue prefix: [ACC-001].
|
|
28
28
|
|
|
29
29
|
### Pass 5: Excellence & AI-Readiness
|
|
30
30
|
|
|
31
|
-
Goal: is it production-ready and optimized for AI agents? Checks: is there a TL;DR for LLMs? Are headers semantically unique for RAG? Is the Answer First (Pyramid Principle) in the TL;DR and first paragraph? Use `references/ai-readiness-criteria.md` for the deep AI-readiness checks (`llms.txt`, RAG chunking, dual-audience, schema sync). Issue prefix: [EXCL-001].
|
|
31
|
+
Goal: is it production-ready and optimized for AI agents? Checks: is there a TL;DR for LLMs? Are headers semantically unique for RAG? Is the Answer First (Pyramid Principle) in the TL;DR and first paragraph? Use `references/ai-readiness-criteria.md` for the deep AI-readiness checks (`llms.txt`, RAG chunking, dual-audience, schema sync). Are claims marked by status — documented / interpreted / proposed / unknown — with unverified claims not stated as fact? Issue prefix: [EXCL-001].
|
|
32
32
|
|
|
33
33
|
## Final Report
|
|
34
34
|
|
|
@@ -36,10 +36,13 @@ Goal: is it production-ready and optimized for AI agents? Checks: is there a TL;
|
|
|
36
36
|
- Top 3 Findings.
|
|
37
37
|
- Verdict: Ready, Needs Revision, or Needs Rework.
|
|
38
38
|
- Rationale.
|
|
39
|
+
- Provenance: which revision/commit of the subject was reviewed (mark UNKNOWN if unpinned — never guess) and the review method (runtime-verified vs read-only).
|
|
40
|
+
- Optional (entry-point pages: README / landing / quickstart): audience-barrier table (reader type × barriers × recommended approach).
|
|
39
41
|
|
|
40
42
|
## Rules
|
|
41
43
|
|
|
42
44
|
- Reference exact locations (file, section, paragraph).
|
|
45
|
+
- Cross-referenced criteria live in sibling mode references — do not copy them into this file; link instead.
|
|
43
46
|
- Validate issues exist; do not flag "potential" issues without evidence.
|
|
44
47
|
- The canonical theory lives in `content/research-documentation-frameworks.md`; `references/ai-readiness-criteria.md` is an operational excerpt that links back to it.
|
|
45
48
|
|
|
@@ -25,6 +25,7 @@ Deep checks for Pass 5. The basic pass (TL;DR present, headers unique, Answer Fi
|
|
|
25
25
|
- Is language precise enough for a machine? Natural-language ambiguity a human resolves from context is opaque to an agent.
|
|
26
26
|
- Are error conditions and their meanings explicit?
|
|
27
27
|
- Are capability boundaries stated (what the tool/API can and cannot do)?
|
|
28
|
+
- Are claims marked by status (documented / interpreted / proposed / unknown) rather than stated as fact when unverified?
|
|
28
29
|
|
|
29
30
|
## Schema and spec sync (reference pages)
|
|
30
31
|
|
|
@@ -40,7 +40,7 @@ Treat the best issue sets as:
|
|
|
40
40
|
- thin vertical slices rather than layer tickets
|
|
41
41
|
- independently verifiable or demoable
|
|
42
42
|
- minimal but sufficient dependency graphs
|
|
43
|
-
- explicit about AFK
|
|
43
|
+
- explicit about lane (AFK/DESIGN/HITL/REVIEW) and complexity (S/M/L/XL) work
|
|
44
44
|
- traceable back to stories, plans, or specs
|
|
45
45
|
- self-describing: tickets that create or reshape source files carry the file-header criterion (see `file-headers`) — undocumented files force agents to re-derive intent
|
|
46
46
|
- machine-verifiable value claims: quantified Must gate, runnable Meter, explicit anti-goals, and a `base_commit` anchor that reveals staleness
|
|
@@ -340,6 +340,9 @@ Focus on:
|
|
|
340
340
|
- Is there a machine-checkable Must gate (quantified, unit + number) backed by a runnable Meter command?
|
|
341
341
|
- Are touched code files self-describing — Purpose/Responsibilities/Rationale header present and current (see `file-headers`)?
|
|
342
342
|
- Are priorities and labels sensible?
|
|
343
|
+
- Does every ticket carry lane and complexity metadata (`afk`/`design`/`hitl`/`review` + `complexity:s/m/l/xl`)?
|
|
344
|
+
- Are lane/complexity tags consistent with the work (DESIGN or HITL work never tagged `afk`)?
|
|
345
|
+
- Are AFK tickets backed by an objective gate (CI/test suite/Meter), or tagged `no-gate` and kept out of autonomous scheduling?
|
|
343
346
|
- Are HITL handoff points explicit?
|
|
344
347
|
- Is it clear what demo, test, or observable behavior proves completion?
|
|
345
348
|
|
|
@@ -353,6 +356,10 @@ Watch for:
|
|
|
353
356
|
- Tickets that create or reshape source files with no file-header acceptance criterion — undocumented files force every implementing agent to re-derive intent
|
|
354
357
|
- No regression suite named (pass-to-pass coverage unspecified)
|
|
355
358
|
- HITL work masquerading as AFK
|
|
359
|
+
- DESIGN work (semantics decisions, API shape, concurrency models) tagged or scheduled as AFK — semantics need an interactive session, not an overnight run
|
|
360
|
+
- Tickets tagged `complexity:xl` (epic-sized or semantics-heavy) presented as schedulable work instead of decomposition candidates
|
|
361
|
+
- AFK tickets with no objective gate and no `no-gate` tag
|
|
362
|
+
- Complexity grades that fail the falsifiable criteria — an S/M ticket touching a public API, an invariant, or concurrency code is mis-tagged and must be retagged L before scheduling
|
|
356
363
|
- Tickets that cannot be closed without information from another issue not listed as a blocker
|
|
357
364
|
|
|
358
365
|
Prefix findings with `EXEC-`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- skill: create-issues, version: 1.
|
|
1
|
+
<!-- skill: create-issues, version: 1.5.0, status: verified -->
|
|
2
2
|
# Tracer-Bullet Issue Creation from Plan
|
|
3
3
|
|
|
4
4
|
Break a reviewed plan into independently grabbable issues using tracer-bullet vertical slices.
|
|
@@ -22,9 +22,19 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
22
22
|
- Prefer **vertical slices** over phase-by-phase horizontal tickets.
|
|
23
23
|
- Each issue should cut through all necessary layers for one narrow capability: storage/schema, business logic, interface, tests, and observability/docs when relevant.
|
|
24
24
|
- A slice must be independently verifiable or demoable.
|
|
25
|
-
- Mark each slice
|
|
26
|
-
- **
|
|
27
|
-
|
|
25
|
+
- Mark each slice with a **lane** (execution mode) and a **complexity** grade:
|
|
26
|
+
- **Lane:**
|
|
27
|
+
- **AFK** — bounded, mechanically verifiable, mergeable without human intervention; the `afk` label means "safe to run autonomously", so it may only be applied when an objective gate exists (test suite, CI, or Meter command). Label: `afk`.
|
|
28
|
+
- **DESIGN** — needs an interactive design session before implementation: semantics decisions, API shape, concurrency models, trade-offs. A human works this with a strong-reasoning model, never autonomously. Label: `design`.
|
|
29
|
+
- **HITL** — pure human decision, approval, copy review, or policy signoff with little or no model work. Label: `hitl`.
|
|
30
|
+
- **REVIEW** — second-opinion pass over existing output (code review, spec audit, conformance check). Label: `review`.
|
|
31
|
+
- **Complexity (effort / model tier)** — graded by falsifiable criteria so a reviewer can gate a wrong tag:
|
|
32
|
+
- **S** — matches an existing pattern in the repo (same change shape already exists in code or a prior ticket); ≤3 files; no new public interface, dependency, or invariant; the Meter is an existing test command. Label: `complexity:s`.
|
|
33
|
+
- **M** — multi-file change within established patterns; new tests follow existing conventions; no new public API beyond the slice's own; no concurrency or protocol semantics. Label: `complexity:m`.
|
|
34
|
+
- **L** — introduces or changes an invariant, concurrency semantics, protocol conformance, or a public API; correctness requires reasoning the repo's existing tests do not already encode. Label: `complexity:l`.
|
|
35
|
+
- **XL** — unresolved semantics or cross-repo scope: two competent agents would disagree on what "done" means; do not schedule — decompose into S/M/L slices first. Label: `complexity:xl`.
|
|
36
|
+
- **Grade gate:** an S/M ticket that touches a public API, an invariant, or concurrency code is mis-tagged — retag L before publishing; an L ticket fully covered by an existing pattern plus an existing test command is mis-tagged — retag M or S.
|
|
37
|
+
- Classification signals: `decision`-type tickets or titles starting with Decide/Choose/Approve/Scope → DESIGN or HITL, never AFK; bounded bugs with a failing test or concrete repro in a repo with CI → AFK; verification/conformance sweeps → AFK; concurrency/security/semantics work → DESIGN unless a failing repro test exists; epics → XL. If the target repo has no CI or test suite, tag `no-gate` — never schedule AFK work without a gate.
|
|
28
38
|
- Avoid tickets like “build backend”, “add UI”, or “refactor models first” unless the work is genuinely standalone.
|
|
29
39
|
- **Title lint (hard rule — run on every drafted title before presenting):** a title must name a user-visible outcome (“CSV export works end-to-end”), not a layer. If a title names a layer or artifact — backend, frontend, API, route, button, serializer, schema, tests-only, docs-only, refactor-only — merge it into the outcome slice it serves. Layers differing is never sufficient reason to split: split by capability, never by layer.
|
|
30
40
|
|
|
@@ -33,11 +43,13 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
33
43
|
- Present a numbered list before creating anything.
|
|
34
44
|
- For each slice include:
|
|
35
45
|
- **Title**
|
|
36
|
-
- **
|
|
46
|
+
- **Lane:** AFK | DESIGN | HITL | REVIEW
|
|
47
|
+
- **Complexity:** S | M | L | XL
|
|
48
|
+
- **Gate:** Meter command or CI suite (required for AFK; `no-gate` otherwise)
|
|
37
49
|
- **Blocked by:** slice numbers or “None”
|
|
38
50
|
- **User stories covered**
|
|
39
51
|
- **Why this is a tracer bullet:** brief end-to-end justification
|
|
40
|
-
- Ask whether the granularity, dependency graph, and
|
|
52
|
+
- Ask whether the granularity, dependency graph, and lane/complexity split look right.
|
|
41
53
|
- Iterate until approved.
|
|
42
54
|
|
|
43
55
|
5. **Prepare issue bodies:**
|
|
@@ -90,6 +102,9 @@ You are a Technical Project Manager. Translate a plan, spec, or PRD into thin en
|
|
|
90
102
|
- **Name the cheats:** add anti-goals wherever the gate could be gamed (test edits, new deps, API breaks).
|
|
91
103
|
- **Anchor staleness:** always record `base_commit` metadata at creation; never publish a ticket anchored to nothing.
|
|
92
104
|
- **Stop and ask:** if the plan only supports horizontal decomposition, propose a vertical rewrite before publishing.
|
|
105
|
+
- **Lane and complexity are mandatory metadata:** every published slice carries both (`bd update <id> --label design --label complexity:m`). Route by them, not by preference: S/M AFK work defaults to the cheapest capable model tier; DESIGN and L work gets the strongest reasoning tier with elevated effort.
|
|
106
|
+
- **No gate, no AFK label:** in a repo without CI/tests, tag `no-gate` *instead of* `afk` — the ticket is not scheduled autonomously until a gate exists; when one does, replace `no-gate` with `afk`.
|
|
107
|
+
- **Escalation is a retag:** after two failed implementation attempts, raise complexity one grade (S→M→L); if the failure cause is semantic (unclear spec or design rather than implementation), switch the lane to `design`. Record the failure cause in the ticket either way.
|
|
93
108
|
|
|
94
109
|
## References
|
|
95
110
|
- **Templates:** `references/templates.md`
|
|
@@ -18,7 +18,8 @@ Use these criteria to evaluate whether a plan has been translated into strong tr
|
|
|
18
18
|
| **Baseline anchored** | Measurable claims record the pre-work value and the HEAD SHA as `base_commit` metadata for staleness detection. |
|
|
19
19
|
| **Dependency hygiene** | Only real blockers are encoded; parallel work is not serialized without reason. |
|
|
20
20
|
| **Workflow Mandate** | Includes the mandatory TDD and Tidy First block. |
|
|
21
|
-
| **Execution mode** | Slice is explicitly marked AFK or
|
|
21
|
+
| **Execution mode** | Slice is explicitly marked with a lane (AFK/DESIGN/HITL/REVIEW) and a complexity grade (S/M/L/XL); AFK slices carry an objective gate or `no-gate` tag. |
|
|
22
|
+
| **Complexity honesty** | Complexity matches the work, not the optimism: XL is used when semantics or scope are unresolved, not as a badge. |
|
|
22
23
|
|
|
23
24
|
## Tracer-Bullet Heuristics
|
|
24
25
|
|
|
@@ -6,7 +6,9 @@ Use these templates for proposed slice breakdowns, issue descriptions, and the f
|
|
|
6
6
|
|
|
7
7
|
```markdown
|
|
8
8
|
1. **[Title]**
|
|
9
|
-
- **
|
|
9
|
+
- **Lane:** [AFK|DESIGN|HITL|REVIEW]
|
|
10
|
+
- **Complexity:** [S|M|L|XL]
|
|
11
|
+
- **Gate:** [Meter command / CI suite — required for AFK]
|
|
10
12
|
- **Blocked by:** [None | Slice 1, Slice 2]
|
|
11
13
|
- **User stories covered:** [Story A, Story B]
|
|
12
14
|
- **Tracer-bullet rationale:** [Why this is a thin end-to-end slice]
|
|
@@ -71,8 +73,8 @@ Or: `None - can start immediately`
|
|
|
71
73
|
**Plan:** [path/to/plan.md]
|
|
72
74
|
|
|
73
75
|
### Approved Slice Set
|
|
74
|
-
1. **[Title]** — [AFK|HITL], blocked by [None|IDs]
|
|
75
|
-
2. **[Title]** — [AFK|HITL], blocked by [None|IDs]
|
|
76
|
+
1. **[Title]** — [AFK|DESIGN|HITL|REVIEW] [S|M|L|XL], blocked by [None|IDs]
|
|
77
|
+
2. **[Title]** — [AFK|DESIGN|HITL|REVIEW] [S|M|L|XL], blocked by [None|IDs]
|
|
76
78
|
|
|
77
79
|
### Summary
|
|
78
80
|
- **Total Issues Created:** [count]
|
|
@@ -26,7 +26,7 @@ Treat the best issue sets as:
|
|
|
26
26
|
- thin vertical slices rather than layer tickets
|
|
27
27
|
- independently verifiable or demoable
|
|
28
28
|
- minimal but sufficient dependency graphs
|
|
29
|
-
- explicit about AFK
|
|
29
|
+
- explicit about lane (AFK/DESIGN/HITL/REVIEW) and complexity (S/M/L/XL) work
|
|
30
30
|
- traceable back to stories, plans, or specs
|
|
31
31
|
- self-describing: tickets that create or reshape source files carry the file-header criterion (see `file-headers`) — undocumented files force agents to re-derive intent
|
|
32
32
|
- machine-verifiable value claims: quantified Must gate, runnable Meter, explicit anti-goals, and a `base_commit` anchor that reveals staleness
|
|
@@ -6,6 +6,9 @@ Focus on:
|
|
|
6
6
|
- Is there a machine-checkable Must gate (quantified, unit + number) backed by a runnable Meter command?
|
|
7
7
|
- Are touched code files self-describing — Purpose/Responsibilities/Rationale header present and current (see `file-headers`)?
|
|
8
8
|
- Are priorities and labels sensible?
|
|
9
|
+
- Does every ticket carry lane and complexity metadata (`afk`/`design`/`hitl`/`review` + `complexity:s/m/l/xl`)?
|
|
10
|
+
- Are lane/complexity tags consistent with the work (DESIGN or HITL work never tagged `afk`)?
|
|
11
|
+
- Are AFK tickets backed by an objective gate (CI/test suite/Meter), or tagged `no-gate` and kept out of autonomous scheduling?
|
|
9
12
|
- Are HITL handoff points explicit?
|
|
10
13
|
- Is it clear what demo, test, or observable behavior proves completion?
|
|
11
14
|
|
|
@@ -19,6 +22,10 @@ Watch for:
|
|
|
19
22
|
- Tickets that create or reshape source files with no file-header acceptance criterion — undocumented files force every implementing agent to re-derive intent
|
|
20
23
|
- No regression suite named (pass-to-pass coverage unspecified)
|
|
21
24
|
- HITL work masquerading as AFK
|
|
25
|
+
- DESIGN work (semantics decisions, API shape, concurrency models) tagged or scheduled as AFK — semantics need an interactive session, not an overnight run
|
|
26
|
+
- Tickets tagged `complexity:xl` (epic-sized or semantics-heavy) presented as schedulable work instead of decomposition candidates
|
|
27
|
+
- AFK tickets with no objective gate and no `no-gate` tag
|
|
28
|
+
- Complexity grades that fail the falsifiable criteria — an S/M ticket touching a public API, an invariant, or concurrency code is mis-tagged and must be retagged L before scheduling
|
|
22
29
|
- Tickets that cannot be closed without information from another issue not listed as a blocker
|
|
23
30
|
|
|
24
31
|
Prefix findings with `EXEC-`.
|