cfsa-antigravity 2.7.0 → 2.8.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/package.json +1 -1
- package/template/.agent/kit-sync.md +3 -3
- package/template/.agent/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
- package/template/.agent/skills/prd-templates/references/be-spec-classification.md +41 -0
- package/template/.agent/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
- package/template/.agent/skills/prd-templates/references/constraint-exploration.md +41 -0
- package/template/.agent/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
- package/template/.agent/skills/prd-templates/references/decision-propagation.md +121 -0
- package/template/.agent/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
- package/template/.agent/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
- package/template/.agent/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
- package/template/.agent/skills/prd-templates/references/expansion-modes.md +27 -0
- package/template/.agent/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
- package/template/.agent/skills/prd-templates/references/input-classification.md +23 -0
- package/template/.agent/skills/prd-templates/references/map-guard-protocol.md +44 -0
- package/template/.agent/skills/prd-templates/references/persona-completeness-gate.md +20 -0
- package/template/.agent/skills/prd-templates/references/shard-boundary-analysis.md +76 -0
- package/template/.agent/skills/prd-templates/references/write-verification-protocol.md +57 -0
- package/template/.agent/workflows/create-prd-architecture.md +17 -23
- package/template/.agent/workflows/create-prd-compile.md +31 -22
- package/template/.agent/workflows/create-prd-design-system.md +18 -14
- package/template/.agent/workflows/create-prd-security.md +22 -24
- package/template/.agent/workflows/create-prd-stack.md +20 -11
- package/template/.agent/workflows/create-prd.md +27 -99
- package/template/.agent/workflows/decompose-architecture-structure.md +14 -4
- package/template/.agent/workflows/decompose-architecture-validate.md +29 -80
- package/template/.agent/workflows/decompose-architecture.md +27 -60
- package/template/.agent/workflows/evolve-contract.md +7 -2
- package/template/.agent/workflows/evolve-feature-cascade.md +34 -78
- package/template/.agent/workflows/evolve-feature-classify.md +22 -56
- package/template/.agent/workflows/ideate-discover.md +89 -100
- package/template/.agent/workflows/ideate-extract.md +42 -138
- package/template/.agent/workflows/ideate-validate.md +57 -133
- package/template/.agent/workflows/ideate.md +32 -19
- package/template/.agent/workflows/implement-slice-setup.md +15 -5
- package/template/.agent/workflows/implement-slice-tdd.md +21 -5
- package/template/.agent/workflows/plan-phase-write.md +30 -1
- package/template/.agent/workflows/propagate-decision-apply.md +23 -90
- package/template/.agent/workflows/propagate-decision-scan.md +20 -91
- package/template/.agent/workflows/remediate-pipeline-execute.md +6 -1
- package/template/.agent/workflows/validate-phase-quality.md +14 -3
- package/template/.agent/workflows/validate-phase-readiness.md +1 -1
- package/template/.agent/workflows/verify-infrastructure.md +2 -0
- package/template/.agent/workflows/write-architecture-spec-deepen.md +8 -2
- package/template/.agent/workflows/write-architecture-spec-design.md +11 -14
- package/template/.agent/workflows/write-be-spec-classify.md +26 -104
- package/template/.agent/workflows/write-be-spec-write.md +49 -3
- package/template/.agent/workflows/write-be-spec.md +1 -1
- package/template/.agent/workflows/write-fe-spec-write.md +62 -3
- package/template/.agent/workflows/write-fe-spec.md +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Kit Sync State
|
|
2
2
|
|
|
3
3
|
upstream: https://github.com/RepairYourTech/cfsa-antigravity
|
|
4
|
-
last_synced_commit:
|
|
5
|
-
last_synced_at: 2026-03-
|
|
6
|
-
kit_version: 2.
|
|
4
|
+
last_synced_commit: e639c28086bccad2baa56a2efabbfd743e1fda3c
|
|
5
|
+
last_synced_at: 2026-03-17T04:40:28Z
|
|
6
|
+
kit_version: 2.8.0
|
package/template/.agent/skills/prd-templates/references/architecture-completeness-checklist.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Architecture Completeness Checklist
|
|
2
|
+
|
|
3
|
+
Apply after the architecture rubric self-check. All items must pass.
|
|
4
|
+
|
|
5
|
+
## Feature Coverage
|
|
6
|
+
- [ ] Every "Must Have" feature from `ideation-index.md` MoSCoW list has a home in the architecture
|
|
7
|
+
|
|
8
|
+
## Security Coverage
|
|
9
|
+
- [ ] Security model addresses all compliance constraints from `ideation/meta/constraints.md`
|
|
10
|
+
- [ ] Compliance-heavy domains have their own top-level sections (not buried as sub-bullets)
|
|
11
|
+
|
|
12
|
+
## Stack Coverage
|
|
13
|
+
- [ ] All relevant skills installed for chosen stack
|
|
14
|
+
|
|
15
|
+
## Standards Coverage
|
|
16
|
+
- [ ] Validation command in Engineering Standards matches `AGENTS.md` validation command
|
|
17
|
+
|
|
18
|
+
## Multi-Surface (if applicable)
|
|
19
|
+
- [ ] Sync strategy defined
|
|
20
|
+
- [ ] Data ownership clear
|
|
21
|
+
- [ ] Conflict resolution specified
|
|
22
|
+
|
|
23
|
+
## Cross-Platform (if applicable)
|
|
24
|
+
- [ ] Platform-specific considerations documented for each target OS
|
|
25
|
+
|
|
26
|
+
## Design System
|
|
27
|
+
- [ ] Design system document exists at `docs/plans/design-system.md`
|
|
28
|
+
- [ ] All seven decision areas are filled (no placeholders)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# BE Spec Classification Guide
|
|
2
|
+
|
|
3
|
+
Use when classifying an IA shard during `/write-be-spec-classify` Step 2.
|
|
4
|
+
|
|
5
|
+
## Classification Types
|
|
6
|
+
|
|
7
|
+
| Classification | Description | BE Spec Output | Detection Criteria |
|
|
8
|
+
|---------------|-------------|----------------|-------------------|
|
|
9
|
+
| **Feature domain** | Defines user interactions, data models, and API-facing behavior for a single cohesive domain | 1 BE spec | Has data model + user flows + access model that imply API endpoints |
|
|
10
|
+
| **Multi-domain** | Covers multiple distinct backend sub-systems with independent APIs | N BE specs (split along sub-feature boundaries) | Section headers map to independent API surfaces; data models don't overlap; could be developed by different teams |
|
|
11
|
+
| **Cross-cutting** | Defines shared patterns consumed by all feature specs (auth, API conventions, error handling) | 1 cross-cutting BE spec (`00-*`) | Content is about "how all endpoints work" not "what this feature does" |
|
|
12
|
+
| **Structural reference** | Maps structure, naming, or routing without defining API behavior | 0 BE specs | No data model, no user flows, no endpoints — just reference tables |
|
|
13
|
+
| **Composite** | Contains both a structural reference section AND feature behavior | Depends — feature portion may belong in another shard's BE spec | Look for cross-references pointing feature content to its owning domain |
|
|
14
|
+
|
|
15
|
+
## Multi-Domain Split Heuristic
|
|
16
|
+
|
|
17
|
+
Before classifying as multi-domain, build a **sub-feature endpoint inventory**:
|
|
18
|
+
|
|
19
|
+
| Sub-feature | Expected endpoints | Data model(s) | Independent? |
|
|
20
|
+
|-------------|-------------------|---------------|-------------|
|
|
21
|
+
| [sub-feature] | `POST /api/...`, `GET /api/...` | [table/collection names] | [Yes/No] |
|
|
22
|
+
|
|
23
|
+
**Split criterion**: Two or more independent groups each have their own data model and could be assigned to a different developer without coordination → split. Section header count alone is NOT the criterion — independence of data models and API surfaces is.
|
|
24
|
+
|
|
25
|
+
## Endpoint Completeness Reconciliation Table
|
|
26
|
+
|
|
27
|
+
Use during `/write-be-spec-write` Step 7 before writing spec sections:
|
|
28
|
+
|
|
29
|
+
| Sub-feature | Expected endpoints | Specced? | Notes |
|
|
30
|
+
|-------------|-------------------|----------|-------|
|
|
31
|
+
| [sub-feature] | `POST /api/...` | ✅ | — |
|
|
32
|
+
| [sub-feature] | `GET /api/...` | ❌ | [Deferred to Phase N — reason] |
|
|
33
|
+
|
|
34
|
+
**Rule**: For every unspecced expected endpoint, either add it to the spec or add an explicit `[Deferred to Phase N — reason]` note. An empty Notes column for an unspecced endpoint is a spec failure.
|
|
35
|
+
|
|
36
|
+
## Naming Convention
|
|
37
|
+
|
|
38
|
+
- Same number prefix as the IA shard source
|
|
39
|
+
- Kebab-case feature name
|
|
40
|
+
- Multi-domain splits: append letter suffix (e.g., `09a-chat-api.md`, `09b-agent-flow-api.md`)
|
|
41
|
+
- Cross-cutting specs: `00-` prefix (e.g., `00-api-conventions.md`)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Bootstrap Verification Protocol
|
|
2
|
+
|
|
3
|
+
**Purpose**: Every bootstrap invocation MUST be verified. This protocol replaces all inline "fire bootstrap" instructions with a hard-gated fire→verify→stop cycle.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Procedure
|
|
8
|
+
|
|
9
|
+
### 1. Fire
|
|
10
|
+
|
|
11
|
+
Read `.agent/workflows/bootstrap-agents.md` and execute with the provided key(s).
|
|
12
|
+
|
|
13
|
+
### 2. Verify
|
|
14
|
+
|
|
15
|
+
After bootstrap returns, verify that the target was actually filled:
|
|
16
|
+
|
|
17
|
+
| Key Type | Where to Verify | How to Verify |
|
|
18
|
+
|----------|----------------|---------------|
|
|
19
|
+
| Language/Framework/DB/ORM | Surface stack map in `.agent/instructions/tech-stack.md` | The cell for the provided key's surface row is no longer empty |
|
|
20
|
+
| CI/CD, Hosting, Auth, Security | Cross-cutting section of surface stack map | The cell is no longer empty |
|
|
21
|
+
| Design direction | `.agent/skills/brand-guidelines/SKILL.md` | `{{DESIGN_DIRECTION}}` no longer appears as literal text |
|
|
22
|
+
| Project structure | `.agent/instructions/structure.md` | `{{PROJECT_STRUCTURE}}` no longer appears as literal text |
|
|
23
|
+
| Dev tooling | `.agent/instructions/commands.md` | Template values are replaced with real commands |
|
|
24
|
+
| New dependency skill | `.agent/skills/[skill-name]/SKILL.md` | The skill directory exists and `SKILL.md` is readable |
|
|
25
|
+
|
|
26
|
+
### 3. Hard Gate
|
|
27
|
+
|
|
28
|
+
> **HARD STOP** — If any verification check fails, do NOT proceed. Report to the user:
|
|
29
|
+
>
|
|
30
|
+
> "Bootstrap was invoked with `[KEY]=[VALUE]` but verification failed:
|
|
31
|
+
> - Expected `[target file]` cell `[cell name]` to contain `[VALUE]`
|
|
32
|
+
> - Actual: `[what was found — empty, still placeholder, etc.]`
|
|
33
|
+
>
|
|
34
|
+
> This is a bootstrap bug. Do not proceed until resolved."
|
|
35
|
+
|
|
36
|
+
### 4. Log
|
|
37
|
+
|
|
38
|
+
After successful verification, note in the current workflow step: `Bootstrap verified: [KEY]=[VALUE] → [target cell] confirmed filled.`
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## When to Use
|
|
43
|
+
|
|
44
|
+
Any workflow step that says:
|
|
45
|
+
- "fire bootstrap"
|
|
46
|
+
- "invoke `/bootstrap-agents`"
|
|
47
|
+
- "execute bootstrap"
|
|
48
|
+
- "read bootstrap-agents.md and execute"
|
|
49
|
+
|
|
50
|
+
MUST follow this protocol. There are no exceptions. A bootstrap fire without verification is an enforcement failure.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Constraint Exploration Questions
|
|
2
|
+
|
|
3
|
+
Use during `/ideate-validate` Step 8 to explore constraints with the user. Write answers to `docs/plans/ideation/meta/constraints.md`.
|
|
4
|
+
|
|
5
|
+
## Core Constraint Categories
|
|
6
|
+
|
|
7
|
+
1. **Budget** — Self-funded? VC-backed? Monthly infrastructure ceiling?
|
|
8
|
+
2. **Timeline** — Launch target? Phased rollout?
|
|
9
|
+
3. **Team** — Solo dev? Small team? Skill gaps?
|
|
10
|
+
4. **Compliance** — GDPR, PCI, COPPA, HIPAA, SOC 2? Age restrictions?
|
|
11
|
+
5. **Performance** — Expected scale (users, requests, data)? Latency requirements?
|
|
12
|
+
6. **Surface classification validation** — Verify the structural classification from `ideation-index.md` (set in `ideate-extract` Step 1.3) still holds. Have any new surfaces been discovered during exploration? Has the project shape changed?
|
|
13
|
+
|
|
14
|
+
## Deep Think Prompt
|
|
15
|
+
|
|
16
|
+
> "Based on the product type and user personas, what constraints would I expect that haven't been mentioned? For example, does this product handle payments (PCI)? Does it serve minors (COPPA)? Does it store health data (HIPAA)?"
|
|
17
|
+
|
|
18
|
+
## Tier-Specific Behavior
|
|
19
|
+
|
|
20
|
+
| Tier | Behavior |
|
|
21
|
+
|---|---|
|
|
22
|
+
| **Interactive/Hybrid** | Present each constraint question to user, wait for answers. Write each confirmed constraint immediately. |
|
|
23
|
+
| **Auto** | Self-interview using Deep Think. Write all answers with reasoning immediately. Mark each answer as `[AUTO-CONFIRMED]` for traceability. |
|
|
24
|
+
|
|
25
|
+
## Success Metrics (Per Persona)
|
|
26
|
+
|
|
27
|
+
For each persona, define concrete success metrics:
|
|
28
|
+
- What metric proves this product solves the persona's problem?
|
|
29
|
+
- What's the target number? (specific — not "good response times")
|
|
30
|
+
- What's the measurement method?
|
|
31
|
+
|
|
32
|
+
Write to `ideation-index.md` (or link to domain files where the metric applies).
|
|
33
|
+
|
|
34
|
+
## Competitive Positioning
|
|
35
|
+
|
|
36
|
+
If not already explored during `/ideate-discover`:
|
|
37
|
+
- Name 2-4 direct competitors
|
|
38
|
+
- For each: what they do well, where they fail, how we differentiate
|
|
39
|
+
- What's the moat? (network effects, data, expertise, switching costs)
|
|
40
|
+
|
|
41
|
+
Write to `docs/plans/ideation/meta/competitive-landscape.md`.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Decision Confirmation Protocol
|
|
2
|
+
|
|
3
|
+
**Purpose**: Every decision that gets written to a spec or instruction file MUST be explicitly confirmed before writing. This protocol replaces all "refine based on discussion" patterns.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Procedure
|
|
8
|
+
|
|
9
|
+
### 1. Present
|
|
10
|
+
|
|
11
|
+
Present the decision to the user with:
|
|
12
|
+
- The specific question or choice
|
|
13
|
+
- Your recommendation and reasoning
|
|
14
|
+
- The options (if applicable)
|
|
15
|
+
- Where the decision will be written (file + section)
|
|
16
|
+
|
|
17
|
+
### 2. Wait for Confirmation
|
|
18
|
+
|
|
19
|
+
**HARD GATE** — Do NOT write anything until the user explicitly confirms.
|
|
20
|
+
|
|
21
|
+
Acceptable confirmations: explicit "yes", "approved", "confirmed", "go ahead", "looks good", selection of an option, or equivalent affirmative.
|
|
22
|
+
|
|
23
|
+
NOT acceptable: silence, moving on to other topics, ambiguous responses. If ambiguous → ask again.
|
|
24
|
+
|
|
25
|
+
### 3. Handle Requests for Changes
|
|
26
|
+
|
|
27
|
+
If the user requests changes:
|
|
28
|
+
1. Apply the requested changes to your proposed content
|
|
29
|
+
2. Re-present the updated version
|
|
30
|
+
3. Return to Step 2 — wait for confirmation again
|
|
31
|
+
|
|
32
|
+
Do NOT write a partially-confirmed version. The full content must be confirmed before writing.
|
|
33
|
+
|
|
34
|
+
### 4. Write
|
|
35
|
+
|
|
36
|
+
After confirmation, write the decision to the target file + section.
|
|
37
|
+
|
|
38
|
+
### 5. Verify Write
|
|
39
|
+
|
|
40
|
+
Follow the write verification protocol (`.agent/skills/prd-templates/references/write-verification-protocol.md`):
|
|
41
|
+
- Read back the target file
|
|
42
|
+
- Verify the section header exists and content matches what was confirmed
|
|
43
|
+
- If missing or mismatched → write failed, retry
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Tier-Aware Variant (for /create-prd workflows)
|
|
48
|
+
|
|
49
|
+
When the current engagement tier is known:
|
|
50
|
+
|
|
51
|
+
| Tier | Behavior |
|
|
52
|
+
|------|----------|
|
|
53
|
+
| **Interactive** | Full present → wait → confirm → write cycle per decision |
|
|
54
|
+
| **Hybrid** | Group related decisions, present batch, confirm batch, write batch |
|
|
55
|
+
| **Auto** | Use Deep Think reasoning, write with `[AUTO-CONFIRMED]` tag, present all auto-confirmed decisions for batch review at end of shard |
|
|
56
|
+
|
|
57
|
+
**Even in Auto mode**, the user reviews and can reject auto-confirmed decisions at the batch review step. Rejection triggers re-presentation at Interactive tier for that decision.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## What This Replaces
|
|
62
|
+
|
|
63
|
+
This protocol replaces all instances of:
|
|
64
|
+
|
|
65
|
+
> ~~"Refine based on discussion before proceeding"~~
|
|
66
|
+
> ~~"Adjust based on feedback"~~
|
|
67
|
+
|
|
68
|
+
Those patterns allow agents to skip refinement and write unconfirmed content. This protocol requires explicit confirmation before any write.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Decision Propagation Reference
|
|
2
|
+
|
|
3
|
+
Templates, formats, and scan procedures for `/propagate-decision` workflows.
|
|
4
|
+
|
|
5
|
+
## Decision Type Sources
|
|
6
|
+
|
|
7
|
+
| Decision Type | Source Document | Downstream Scope |
|
|
8
|
+
|--------------|-----------------|-------------------|
|
|
9
|
+
| **structure** | `.agent/instructions/structure.md` | All IA shards, BE specs, FE specs |
|
|
10
|
+
| **tech-stack** | `.agent/instructions/tech-stack.md` + architecture doc | All IA shards, BE specs, FE specs |
|
|
11
|
+
| **auth-model** | Architecture doc (auth/security section) | All BE specs with middleware, all FE specs with auth flows |
|
|
12
|
+
| **data-placement** | `docs/plans/data-placement-strategy.md` | All IA shards with data models, all BE specs with storage |
|
|
13
|
+
| **patterns** | `.agent/instructions/patterns.md` | All IA shards, BE specs with implementation patterns, FE specs with component patterns |
|
|
14
|
+
| **error-architecture** | Architecture doc `## Error Architecture` (5 sub-sections) | All BE specs, all FE specs |
|
|
15
|
+
|
|
16
|
+
## Selection Menu Format
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Decision propagation pre-scan:
|
|
20
|
+
|
|
21
|
+
[1] structure — structure.md — inconsistencies detected in X documents
|
|
22
|
+
[2] tech-stack — tech-stack.md — inconsistencies detected in X documents
|
|
23
|
+
[3] auth-model — architecture doc — inconsistencies detected in X documents
|
|
24
|
+
[4] data-placement — data-placement-strategy.md — inconsistencies detected in X documents
|
|
25
|
+
[5] patterns — patterns.md — inconsistencies detected in X documents
|
|
26
|
+
[6] error-architecture — architecture doc ## Error Architecture — inconsistencies detected in X documents
|
|
27
|
+
|
|
28
|
+
[A] All with inconsistencies
|
|
29
|
+
[Q] Quit — no propagation needed
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Error-Architecture Scan Procedure
|
|
33
|
+
|
|
34
|
+
**Source extraction:**
|
|
35
|
+
- Locate `docs/plans/*-architecture-design.md` using glob
|
|
36
|
+
- Read `## Error Architecture` and extract locked decisions from: `### Global Error Envelope`, `### Error Propagation Chain`, `### Unhandled Exception Strategy`, `### Client Fallback Contract`, `### Error Boundary Strategy`
|
|
37
|
+
|
|
38
|
+
**BE spec conformance** (scan `docs/plans/be/`):
|
|
39
|
+
- Check error envelope by locked name and canonical field names
|
|
40
|
+
- Check propagation chain rules
|
|
41
|
+
- Classify: explicit contradiction / implicit assumption / consistent
|
|
42
|
+
|
|
43
|
+
**FE spec conformance** (scan `docs/plans/fe/`):
|
|
44
|
+
- Check client fallback contract for surface type
|
|
45
|
+
- Check error boundary placement
|
|
46
|
+
- Same classification
|
|
47
|
+
|
|
48
|
+
## Contradiction Display Format
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
+
Contradiction N of X
|
|
53
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
+
Document: [path]
|
|
55
|
+
Section: [section name]
|
|
56
|
+
Current: [current text]
|
|
57
|
+
Locked: [locked value]
|
|
58
|
+
Fix to: [proposed fix]
|
|
59
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
60
|
+
[Y] Apply fix and move to next
|
|
61
|
+
[n] Skip this item
|
|
62
|
+
[skip] Skip entire document
|
|
63
|
+
[stop-and-save] Save progress and stop
|
|
64
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Assumption Display Format
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
|
+
Assumption N of X
|
|
72
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
73
|
+
Document: [path]
|
|
74
|
+
Section: [section name]
|
|
75
|
+
Current: [current text]
|
|
76
|
+
Issue: [ambiguity description]
|
|
77
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
78
|
+
[Y] Flag for /resolve-ambiguity
|
|
79
|
+
[n] Ignore
|
|
80
|
+
[skip] Skip entire document
|
|
81
|
+
[stop-and-save] Save progress and stop
|
|
82
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Impact Report Format
|
|
86
|
+
|
|
87
|
+
### Explicit Contradictions
|
|
88
|
+
|
|
89
|
+
| Document | Line | Current Text | Locked Value | Decision Type |
|
|
90
|
+
|----------|------|--------------|--------------|---------------|
|
|
91
|
+
| [path] | [N] | [text] | [value] | [type] |
|
|
92
|
+
|
|
93
|
+
### Implicit Assumptions
|
|
94
|
+
|
|
95
|
+
| Document | Line | Current Text | Concern | Decision Type |
|
|
96
|
+
|----------|------|--------------|---------|---------------|
|
|
97
|
+
| [path] | [N] | [text] | [concern] | [type] |
|
|
98
|
+
|
|
99
|
+
### Summary
|
|
100
|
+
|
|
101
|
+
- **Explicit contradictions**: X items across Y documents
|
|
102
|
+
- **Implicit assumptions**: X items across Y documents
|
|
103
|
+
- **Consistent references**: X items (no action needed)
|
|
104
|
+
|
|
105
|
+
## Completion Summary Format
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
109
|
+
Propagation Complete
|
|
110
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
111
|
+
Fixed: X contradictions across Y documents
|
|
112
|
+
Flagged: X implicit assumptions for /resolve-ambiguity
|
|
113
|
+
Skipped: X items
|
|
114
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
115
|
+
|
|
116
|
+
Recommended next steps:
|
|
117
|
+
1. Run `/resolve-ambiguity` to address the X flagged assumptions
|
|
118
|
+
(see docs/audits/propagation-ambiguity-[date].md)
|
|
119
|
+
2. Run `/remediate-pipeline` to audit all layers with the corrected specs
|
|
120
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
121
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Domain Exhaustion Criteria
|
|
2
|
+
|
|
3
|
+
Final validation gate before vision compilation. All criteria must pass.
|
|
4
|
+
|
|
5
|
+
| Check | Criteria | Action if Fail |
|
|
6
|
+
|-------|----------|----------------|
|
|
7
|
+
| All leaf nodes ≥ `[DEEP]` | Every feature file in the tree is `[DEEP]` or `[EXHAUSTED]` | Drill remaining feature files |
|
|
8
|
+
| Status propagation correct | Parent nodes reflect their children's status | Update parent indexes |
|
|
9
|
+
| All Must Have features ≥ Level 2 | Every Must Have has sub-features AND edge cases AND Role Lens | Deep Think + drill |
|
|
10
|
+
| Deep Think zero hypotheses | Final Deep Think pass across ALL leaf nodes yields no new hypotheses | Present any new hypotheses, drill if confirmed |
|
|
11
|
+
| All CX files clean | No Medium/Low confidence entries remain at any level — all are High or rejected | Run synthesis questions on pending pairs |
|
|
12
|
+
| Role Lens complete | Every feature file has a populated Role Lens table | Fill missing Role Lens entries |
|
|
13
|
+
| User confirmation | User explicitly confirms "nothing else" for each domain | Ask for each under-explored domain |
|
|
14
|
+
|
|
15
|
+
## Execution Procedure
|
|
16
|
+
|
|
17
|
+
1. Walk the fractal tree. For each leaf node below `[DEEP]`:
|
|
18
|
+
- "Feature [X] in [domain] is still at [status]. Drill deeper or intentionally minimal?"
|
|
19
|
+
- If "drill" → return to `/ideate-discover`
|
|
20
|
+
- If "intentionally minimal" → note in feature file and proceed
|
|
21
|
+
|
|
22
|
+
2. Run **final Deep Think pass**: For each `[DEEP]` leaf node, apply the four Deep Think questions. Present any new hypotheses.
|
|
23
|
+
- If confirmed → drill, update feature files
|
|
24
|
+
- If zero hypotheses → mark `[EXHAUSTED]`, propagate status upward
|
|
25
|
+
|
|
26
|
+
3. Walk ALL CX files at every level. Resolve any Medium/Low confidence entries.
|
|
27
|
+
|
|
28
|
+
4. Verify all feature files have populated Role Lens tables.
|
|
29
|
+
|
|
30
|
+
5. Update `ideation-index.md` progress summary with final counts (total leaf nodes, exhausted count, CX entries confirmed).
|
|
31
|
+
|
|
32
|
+
## Proportionality Check
|
|
33
|
+
|
|
34
|
+
- **Rich inputs**: Total domain file content (all files combined) should be at least 30% of the original source document's line count. If short, identify what was lost.
|
|
35
|
+
- **All inputs**: Each domain with `[DEEP]` or `[EXHAUSTED]` status should have at least 3 sub-areas drilled with edge cases.
|
|
36
|
+
|
|
37
|
+
If proportionality fails, return to `/ideate-discover` for the under-explored areas.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Engagement Tier Protocol
|
|
2
|
+
|
|
3
|
+
**Purpose**: Single source of truth for engagement tier definitions and behavior. Workflows reference this instead of inlining tier blocks.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Tier Definitions
|
|
8
|
+
|
|
9
|
+
| Tier | When | User Experience |
|
|
10
|
+
|------|------|-----------------|
|
|
11
|
+
| **Auto** | 6+ well-constrained axes, experienced user, clear preferences | Agent uses Deep Think reasoning per axis, presents all decisions for batch review at shard end |
|
|
12
|
+
| **Hybrid** | 3-5 axes, some need discussion, some are obvious | Group related decisions, present key choices, auto-confirm obvious ones |
|
|
13
|
+
| **Interactive** | ≤2 axes, novel/uncertain domain, user requests it | Full interview — one decision at a time with options and trade-offs |
|
|
14
|
+
|
|
15
|
+
## Tier Selection
|
|
16
|
+
|
|
17
|
+
Read the user's context:
|
|
18
|
+
1. Count the number of decision axes in the current step
|
|
19
|
+
2. Assess user's familiarity (prior conversations, explicit preferences, technical depth)
|
|
20
|
+
3. Default to **Interactive** if uncertain
|
|
21
|
+
|
|
22
|
+
Present the proposed tier: "I'll approach this as [tier] — [brief rationale]. Want a different level of involvement?"
|
|
23
|
+
|
|
24
|
+
**HARD GATE**: Wait for user acknowledgment before proceeding. If the user requests a different tier, switch.
|
|
25
|
+
|
|
26
|
+
## Behavior by Tier
|
|
27
|
+
|
|
28
|
+
### Auto Tier
|
|
29
|
+
1. For each decision: apply Deep Think reasoning (consider constraints, project goals, prior decisions)
|
|
30
|
+
2. Write the decision with `[AUTO-CONFIRMED — reasoning: ...]` annotation
|
|
31
|
+
3. At shard end: present ALL auto-confirmed decisions in a summary table
|
|
32
|
+
4. User reviews batch — any rejection triggers Interactive re-presentation for that decision
|
|
33
|
+
5. Remove `[AUTO-CONFIRMED]` annotations after batch approval
|
|
34
|
+
|
|
35
|
+
### Hybrid Tier
|
|
36
|
+
1. Group related decisions (e.g., all auth decisions together)
|
|
37
|
+
2. For obvious decisions: present with recommendation, apply if user says "looks good"
|
|
38
|
+
3. For debatable decisions: present options with trade-offs, wait for selection
|
|
39
|
+
4. Follow the decision-confirmation-protocol for each group
|
|
40
|
+
|
|
41
|
+
### Interactive Tier
|
|
42
|
+
1. Present one decision at a time
|
|
43
|
+
2. Include 2-3 options with trade-offs and your recommendation
|
|
44
|
+
3. Wait for explicit selection
|
|
45
|
+
4. Follow the decision-confirmation-protocol for each decision
|
|
46
|
+
|
|
47
|
+
## Gate Classification
|
|
48
|
+
|
|
49
|
+
Not all decisions follow the engagement tier. Some are always user-facing regardless of tier:
|
|
50
|
+
|
|
51
|
+
| Gate Type | Always Interactive? | Examples |
|
|
52
|
+
|-----------|-------------------|----------|
|
|
53
|
+
| **Product** | Yes — user always decides | Feature scope, UX philosophy, pricing |
|
|
54
|
+
| **Architecture** | Yes — present options | Database choice, framework, hosting |
|
|
55
|
+
| **Structural** | No — tier-aware | File naming, directory organization |
|
|
56
|
+
| **Implementation** | No — agent decides | Import ordering, variable naming |
|
|
57
|
+
|
|
58
|
+
See `.agent/rules/decision-classification.md` for the full classification.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Evolution Layer Guidance
|
|
2
|
+
|
|
3
|
+
Reference for `/evolve-feature-classify` Step 4 and `/evolve-feature-cascade` Step 1 — specifies what to write at each pipeline layer when evolving a feature.
|
|
4
|
+
|
|
5
|
+
## Entry Point Writing Depth
|
|
6
|
+
|
|
7
|
+
### Ideation Layer (`docs/plans/ideation/`)
|
|
8
|
+
|
|
9
|
+
1. **Placement**: Read `ideation-index.md` Structure Map. Identify the domain folder. Create new domain if needed.
|
|
10
|
+
2. **Classification Gate**: Apply Node Classification Gate from `.agent/skills/idea-extraction/SKILL.md` — leaf feature or sub-domain folder.
|
|
11
|
+
3. **Write**: Use `.agent/skills/prd-templates/references/fractal-feature-template.md`. Include:
|
|
12
|
+
- Feature description (what and why)
|
|
13
|
+
- Affected personas
|
|
14
|
+
- Success criteria
|
|
15
|
+
- Constraints
|
|
16
|
+
- Role Lens — which personas interact and how
|
|
17
|
+
4. **Update parent index**: Add to parent domain's `*-index.md` children table
|
|
18
|
+
5. **Update CX files**: If cross-domain interactions exist, update parent `*-cx.md` and/or `ideation-cx.md`
|
|
19
|
+
6. **Update `ideation-index.md`**: Add to MoSCoW Summary at appropriate priority
|
|
20
|
+
|
|
21
|
+
### Architecture Layer (`architecture-design.md`)
|
|
22
|
+
|
|
23
|
+
- Technical constraint description
|
|
24
|
+
- Affected components
|
|
25
|
+
- Non-functional requirements (performance, scalability, compliance)
|
|
26
|
+
- Integration points
|
|
27
|
+
|
|
28
|
+
### IA Layer (specific IA shard)
|
|
29
|
+
|
|
30
|
+
- Domain interactions (new/modified user flows)
|
|
31
|
+
- Contracts (new/modified API contracts)
|
|
32
|
+
- Data models (new entities, fields, relationships)
|
|
33
|
+
- Access control (RBAC implications)
|
|
34
|
+
|
|
35
|
+
### BE Layer (BE spec)
|
|
36
|
+
|
|
37
|
+
- New API endpoints
|
|
38
|
+
- Updated schemas
|
|
39
|
+
- Middleware requirements
|
|
40
|
+
- Validation rules
|
|
41
|
+
|
|
42
|
+
### FE Layer (FE spec)
|
|
43
|
+
|
|
44
|
+
- New components
|
|
45
|
+
- State management updates
|
|
46
|
+
- New routes
|
|
47
|
+
- Accessibility requirements
|
|
48
|
+
|
|
49
|
+
### Phase Plan
|
|
50
|
+
|
|
51
|
+
- New slices or updated slice acceptance criteria
|
|
52
|
+
|
|
53
|
+
## Cascade Layer Guidance
|
|
54
|
+
|
|
55
|
+
When cascading through downstream layers in `/evolve-feature-cascade`:
|
|
56
|
+
|
|
57
|
+
| Layer | What to Add |
|
|
58
|
+
|-------|------------|
|
|
59
|
+
| Architecture | New components, system diagram references, NFRs, integration points |
|
|
60
|
+
| IA | New domain interactions, updated contracts, data model changes, access control updates |
|
|
61
|
+
| BE | New API endpoints, updated schemas, middleware requirements, validation rules |
|
|
62
|
+
| FE | New components, state management updates, new routes, accessibility requirements |
|
|
63
|
+
| Phase plan | New slices or updated slice acceptance criteria |
|
|
64
|
+
|
|
65
|
+
## Impact Assessment Format
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
69
|
+
Implementation Impact
|
|
70
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
71
|
+
In-progress slices affected: [list or "none"]
|
|
72
|
+
Completed slices that may need revisiting: [list or "none"]
|
|
73
|
+
New slices needed: [list or "none"]
|
|
74
|
+
Phase plan update required: [yes/no]
|
|
75
|
+
|
|
76
|
+
Recommended action: [specific next step]
|
|
77
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Completion Summary Format
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
Feature Evolution Complete
|
|
85
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
|
+
Entry point: [document]
|
|
87
|
+
Layers updated: [list]
|
|
88
|
+
New content: [summary]
|
|
89
|
+
Implementation: [impact summary]
|
|
90
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Expansion Mode Options
|
|
2
|
+
|
|
3
|
+
Present these options after engagement tier selection. All input types see the same options.
|
|
4
|
+
|
|
5
|
+
| # | Mode | When to Recommend | Description |
|
|
6
|
+
|---|------|-------------------|-------------|
|
|
7
|
+
| 1 | **Full exploration** | 3+ domains | Breadth-before-depth with Deep Think |
|
|
8
|
+
| 2 | **Process as-is** | Thin input where user is confident | Proceed with what's captured |
|
|
9
|
+
| 3 | **Expand vertically** | Domains exist but are shallow | Drill deeper into existing features |
|
|
10
|
+
| 4 | **Expand horizontally** | Domains are deep but coverage gaps exist | Add new domains |
|
|
11
|
+
| 5 | **Cross-cutting concerns** | Domains mapped but interactions unexplored | Map feature interactions |
|
|
12
|
+
| 6 | **Combination** | User has specific priorities | User specifies dimensions and order |
|
|
13
|
+
| 7 | **Audit ambiguity first** | Unclear whether depth or breadth is needed | Inline ambiguity check before deciding |
|
|
14
|
+
|
|
15
|
+
## Default Recommendations
|
|
16
|
+
|
|
17
|
+
| Input Type | Default |
|
|
18
|
+
|---|---|
|
|
19
|
+
| Rich document (≥3 domains) | Full exploration |
|
|
20
|
+
| Rich document (<3 domains) | Expand vertically |
|
|
21
|
+
| Thin document | Full exploration |
|
|
22
|
+
| Verbal / one-liner | Full exploration |
|
|
23
|
+
| Re-run (continue) | Audit ambiguity first |
|
|
24
|
+
|
|
25
|
+
## Recording
|
|
26
|
+
|
|
27
|
+
Write the selected mode to `ideation-index.md` under `## Expansion Mode` immediately after user selection.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Folder Seeding Protocol
|
|
2
|
+
|
|
3
|
+
Rules for creating the `docs/plans/ideation/` folder structure during `/ideate-extract`.
|
|
4
|
+
|
|
5
|
+
## Additive-Only Rule
|
|
6
|
+
|
|
7
|
+
The `docs/plans/ideation/` directory already exists in the kit with `.gitkeep` and `README.md`. You are ADDING files into this existing directory.
|
|
8
|
+
|
|
9
|
+
- Do NOT delete, overwrite, or replace the directory itself
|
|
10
|
+
- Do NOT remove any existing files (`.gitkeep`, `README.md`)
|
|
11
|
+
- Create new files alongside what already exists
|
|
12
|
+
|
|
13
|
+
## Base Structure (All Project Shapes)
|
|
14
|
+
|
|
15
|
+
After seeding, the folder should contain kit-shipped files PLUS new pipeline files:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
docs/plans/ideation/
|
|
19
|
+
├── .gitkeep ← KIT-SHIPPED — do not touch
|
|
20
|
+
├── README.md ← KIT-SHIPPED — do not touch
|
|
21
|
+
├── ideation-index.md ← NEW: super-index (from ideation-index-template)
|
|
22
|
+
├── ideation-cx.md ← NEW: global cross-cuts (from ideation-crosscut-template)
|
|
23
|
+
└── meta/ ← NEW: created by this step
|
|
24
|
+
├── problem-statement.md
|
|
25
|
+
├── personas.md
|
|
26
|
+
├── competitive-landscape.md
|
|
27
|
+
└── constraints.md
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
For multi-product projects, additionally create `surfaces/` with sub-folders per surface.
|
|
31
|
+
|
|
32
|
+
## Templates
|
|
33
|
+
|
|
34
|
+
Read these templates when creating files:
|
|
35
|
+
|
|
36
|
+
- `.agent/skills/prd-templates/references/ideation-index-template.md` (super-index)
|
|
37
|
+
- `.agent/skills/prd-templates/references/ideation-crosscut-template.md` (global CX)
|
|
38
|
+
- `.agent/skills/prd-templates/references/fractal-node-index-template.md` (node index)
|
|
39
|
+
- `.agent/skills/prd-templates/references/fractal-cx-template.md` (node CX)
|
|
40
|
+
- `.agent/skills/prd-templates/references/fractal-feature-template.md` (feature file)
|
|
41
|
+
|
|
42
|
+
## Domain Seeding Rules
|
|
43
|
+
|
|
44
|
+
Domains come from the **confirmed classification table** (Step 1.4.5), NOT from source headings.
|
|
45
|
+
|
|
46
|
+
### Placement by Structural Classification
|
|
47
|
+
|
|
48
|
+
| Classification | Placement |
|
|
49
|
+
|---|---|
|
|
50
|
+
| Single-surface | `docs/plans/ideation/{NN}-{slug}/` |
|
|
51
|
+
| Hub-and-spoke | Surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in hub surface |
|
|
52
|
+
| Peer | Surface-exclusive in `surfaces/{surface}/{NN}-{slug}/`, shared in `shared/{NN}-{slug}/` |
|
|
53
|
+
|
|
54
|
+
### Node Type → Action
|
|
55
|
+
|
|
56
|
+
| Gate Result | Action |
|
|
57
|
+
|---|---|
|
|
58
|
+
| **Domain** | Create domain folder with `{slug}-index.md` + `{slug}-cx.md` |
|
|
59
|
+
| **Sub-domain** | Create sub-domain folder nested inside parent domain |
|
|
60
|
+
| **Feature** | Create feature file inside parent domain or sub-domain |
|
|
61
|
+
| **Cross-cut** | Add entries to appropriate CX files (domain-level or global) |
|
|
62
|
+
| **Not-a-product-domain** | Add notes to `meta/constraints.md` for `/create-prd` |
|
|
63
|
+
|
|
64
|
+
After all nodes are created, update `ideation-index.md` structure map with paths.
|
|
65
|
+
|
|
66
|
+
## Content Seeding by Input Type
|
|
67
|
+
|
|
68
|
+
| Input Type | Content Strategy |
|
|
69
|
+
|---|---|
|
|
70
|
+
| **Rich document** | Seed each node with content from source using classification table citations. Run fidelity check: every major concept in source must map to SOMETHING in the output. Add `> Source: path/to/original.md` to index. |
|
|
71
|
+
| **Chat transcript** | Noise filter → extract signal → seed domain folders with structured output |
|
|
72
|
+
| **Thin document** | Create domain folders with depth markers on feature files |
|
|
73
|
+
| **Verbal / one-liner** | Create domain folders with scaffolding. Feature files are `[SURFACE]`. |
|
|
74
|
+
|
|
75
|
+
## Post-Seeding Verification Gate
|
|
76
|
+
|
|
77
|
+
After creating all files, verify that `docs/plans/ideation/.gitkeep` and `docs/plans/ideation/README.md` still exist. If EITHER file is missing → **STOP**: "Kit-shipped files were destroyed during seeding. Restore `.gitkeep` and/or `README.md` to `docs/plans/ideation/` before continuing."
|