gaia-framework 1.65.0 → 1.65.1
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/.claude/commands/gaia-add-feature.md +2 -2
- package/.claude/commands/gaia-change-request.md +16 -4
- package/.claude/commands/gaia-edit-ux.md +17 -0
- package/.claude/commands/gaia-resume.md +1 -1
- package/.claude/commands/gaia-validate-prd.md +9 -3
- package/CLAUDE.md +1 -1
- package/README.md +3 -3
- package/_gaia/_config/adversarial-triggers.yaml +91 -0
- package/_gaia/_config/files-manifest.csv +1 -0
- package/_gaia/_config/gaia-help.csv +10 -6
- package/_gaia/_config/global.yaml +2 -1
- package/_gaia/_config/lifecycle-sequence.yaml +26 -4
- package/_gaia/_config/manifest.yaml +3 -3
- package/_gaia/_config/skill-manifest.csv +3 -1
- package/_gaia/_config/workflow-manifest.csv +5 -3
- package/_gaia/core/config.yaml +1 -1
- package/_gaia/core/engine/workflow.xml +25 -5
- package/_gaia/core/workflows/brainstorming/template.md +6 -0
- package/_gaia/lifecycle/agents/pm.md +9 -10
- package/_gaia/lifecycle/agents/ux-designer.md +1 -0
- package/_gaia/lifecycle/agents/validator.md +2 -1
- package/_gaia/lifecycle/config.yaml +1 -1
- package/_gaia/lifecycle/module-help.csv +1 -1
- package/_gaia/lifecycle/skills/document-rulesets.md +166 -0
- package/_gaia/lifecycle/skills/memory-management-cross-agent.md +218 -0
- package/_gaia/lifecycle/skills/memory-management.md +32 -122
- package/_gaia/lifecycle/templates/story-template.md +1 -0
- package/_gaia/lifecycle/workflows/1-analysis/create-product-brief/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/2-planning/create-prd/instructions.xml +4 -2
- package/_gaia/lifecycle/workflows/2-planning/create-prd/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/2-planning/create-ux-design/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/2-planning/edit-prd/instructions.xml +4 -4
- package/_gaia/lifecycle/workflows/2-planning/edit-prd/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/2-planning/edit-ux-design/checklist.md +18 -0
- package/_gaia/lifecycle/workflows/2-planning/edit-ux-design/instructions.xml +66 -0
- package/_gaia/lifecycle/workflows/2-planning/edit-ux-design/workflow.yaml +27 -0
- package/_gaia/lifecycle/workflows/3-solutioning/create-architecture/instructions.xml +3 -1
- package/_gaia/lifecycle/workflows/3-solutioning/create-architecture/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/3-solutioning/create-epics-stories/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/3-solutioning/edit-architecture/instructions.xml +4 -7
- package/_gaia/lifecycle/workflows/3-solutioning/edit-architecture/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/3-solutioning/security-threat-model/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/4-implementation/add-feature/checklist.md +42 -0
- package/_gaia/lifecycle/workflows/4-implementation/add-feature/instructions.xml +197 -0
- package/_gaia/lifecycle/workflows/{cross-phase → 4-implementation}/add-feature/workflow.yaml +20 -9
- package/_gaia/lifecycle/workflows/4-implementation/add-stories/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/4-implementation/code-review/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/4-implementation/correct-course/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/4-implementation/create-story/checklist.md +1 -1
- package/_gaia/lifecycle/workflows/4-implementation/create-story/instructions.xml +4 -3
- package/_gaia/lifecycle/workflows/4-implementation/dev-story/workflow.yaml +1 -1
- package/_gaia/lifecycle/workflows/4-implementation/retrospective/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/4-implementation/sprint-planning/instructions.xml +3 -0
- package/_gaia/lifecycle/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
- package/_gaia/lifecycle/workflows/4-implementation/triage-findings/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/4-implementation/val-refresh-ground-truth/checklist.md +15 -0
- package/_gaia/lifecycle/workflows/4-implementation/val-refresh-ground-truth/instructions.xml +153 -57
- package/_gaia/lifecycle/workflows/4-implementation/val-refresh-ground-truth/workflow.yaml +5 -0
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/instructions.xml +23 -12
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/workflow.yaml +11 -0
- package/_gaia/lifecycle/workflows/4-implementation/val-validate-plan/instructions.xml +0 -2
- package/_gaia/lifecycle/workflows/5-deployment/deployment-checklist/workflow.yaml +1 -0
- package/_gaia/lifecycle/workflows/anytime/brownfield-onboarding/instructions.xml +69 -1
- package/_gaia/lifecycle/workflows/anytime/memory-hygiene/instructions.xml +8 -18
- package/_gaia/testing/config.yaml +1 -1
- package/_gaia/testing/workflows/edit-test-plan/workflow.yaml +1 -0
- package/_gaia/testing/workflows/test-design/workflow.yaml +2 -0
- package/_gaia/testing/workflows/traceability/workflow.yaml +1 -0
- package/bin/gaia-framework.js +17 -3
- package/bin/generate-checksums.js +124 -0
- package/gaia-install.sh +46 -8
- package/package.json +5 -2
- package/_gaia/lifecycle/workflows/cross-phase/add-feature/checklist.md +0 -30
- package/_gaia/lifecycle/workflows/cross-phase/add-feature/instructions.xml +0 -85
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'add-feature'
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Triage and route a fix, enhancement, or feature through only the affected artifacts. Classifies as patch/enhancement/feature and cascades accordingly.'
|
|
4
4
|
model: opus
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS:
|
|
|
9
9
|
<steps CRITICAL="TRUE">
|
|
10
10
|
1. LOAD the FULL {project-root}/_gaia/core/engine/workflow.xml
|
|
11
11
|
2. READ its entire contents — this is the CORE OS
|
|
12
|
-
3. Pass {project-root}/_gaia/lifecycle/workflows/
|
|
12
|
+
3. Pass {project-root}/_gaia/lifecycle/workflows/4-implementation/add-feature/workflow.yaml as 'workflow-config'
|
|
13
13
|
4. Follow workflow.xml instructions EXACTLY
|
|
14
14
|
5. Save outputs after EACH section
|
|
15
15
|
</steps>
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'change-request'
|
|
3
|
-
description: '
|
|
3
|
+
description: 'DEPRECATED — Redirects to /gaia-add-feature. Use /gaia-add-feature directly.'
|
|
4
4
|
model: opus
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
> **DEPRECATED:** `/gaia-change-request` has been replaced by `/gaia-add-feature`.
|
|
8
|
+
> This command now redirects to the add-feature workflow automatically.
|
|
9
|
+
>
|
|
10
|
+
> **Note:** SIGNIFICANT or larger changes are fully supported by the add-feature workflow,
|
|
11
|
+
> which classifies changes as patch/enhancement/feature and cascades accordingly.
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS:
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
<steps CRITICAL="TRUE">
|
|
16
|
+
1. LOAD the FULL {project-root}/_gaia/core/engine/workflow.xml
|
|
17
|
+
2. READ its entire contents — this is the CORE OS
|
|
18
|
+
3. Pass {project-root}/_gaia/lifecycle/workflows/4-implementation/add-feature/workflow.yaml as 'workflow-config'
|
|
19
|
+
4. Follow workflow.xml instructions EXACTLY
|
|
20
|
+
5. Save outputs after EACH section
|
|
21
|
+
</steps>
|
|
22
|
+
|
|
23
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'edit-ux'
|
|
3
|
+
description: 'Edit an existing UX design. Use when "edit the UX design".'
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS:
|
|
8
|
+
|
|
9
|
+
<steps CRITICAL="TRUE">
|
|
10
|
+
1. LOAD the FULL {project-root}/_gaia/core/engine/workflow.xml
|
|
11
|
+
2. READ its entire contents — this is the CORE OS
|
|
12
|
+
3. Pass {project-root}/_gaia/lifecycle/workflows/2-planning/edit-ux-design/workflow.yaml as 'workflow-config'
|
|
13
|
+
4. Follow workflow.xml instructions EXACTLY
|
|
14
|
+
5. Save outputs after EACH section
|
|
15
|
+
</steps>
|
|
16
|
+
|
|
17
|
+
$ARGUMENTS
|
|
@@ -7,7 +7,7 @@ model: sonnet
|
|
|
7
7
|
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS:
|
|
8
8
|
|
|
9
9
|
<steps CRITICAL="TRUE">
|
|
10
|
-
1. SCAN {project-root}/
|
|
10
|
+
1. SCAN {project-root}/_memory/checkpoints/ for .yaml files (exclude completed/)
|
|
11
11
|
2. If no checkpoints found: report "No active workflows to resume" and suggest /gaia
|
|
12
12
|
3. If one checkpoint: display its summary and offer Resume / Restart / Discard
|
|
13
13
|
4. If multiple checkpoints: list all with timestamps, ask user which to resume
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'validate-prd'
|
|
3
|
-
description: '
|
|
3
|
+
description: 'DEPRECATED — Redirects to /gaia-val-validate'
|
|
4
4
|
model: sonnet
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
> **This command is deprecated.**
|
|
8
|
+
>
|
|
9
|
+
> `/gaia-validate-prd` has been replaced by `/gaia-val-validate`, which provides unified artifact validation through Val's document-specific rulesets.
|
|
10
|
+
>
|
|
11
|
+
> **What changed:** Val now handles all artifact validation (PRDs, architecture docs, UX designs, and more) using document-specific rulesets. There is no longer a separate PRD-only validation workflow.
|
|
12
|
+
>
|
|
13
|
+
> **What to do:** Run `/gaia-val-validate` instead. It accepts any artifact type and applies the appropriate validation rules automatically.
|
|
8
14
|
|
|
9
15
|
<steps CRITICAL="TRUE">
|
|
10
16
|
1. LOAD the FULL {project-root}/_gaia/core/engine/workflow.xml
|
|
11
17
|
2. READ its entire contents — this is the CORE OS
|
|
12
|
-
3. Pass {project-root}/_gaia/lifecycle/workflows/
|
|
18
|
+
3. Pass {project-root}/_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/workflow.yaml as 'workflow-config'
|
|
13
19
|
4. Follow workflow.xml instructions EXACTLY
|
|
14
20
|
5. Save outputs after EACH section
|
|
15
21
|
</steps>
|
package/CLAUDE.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
# GAIA Framework v1.65.
|
|
2
|
+
# GAIA Framework v1.65.1
|
|
3
3
|
|
|
4
4
|
This project uses the **GAIA** (Generative Agile Intelligence Architecture) framework — an AI agent framework for Claude Code that orchestrates software product development through 26 specialized agents, 65 workflows, and 8 shared skills.
|
|
5
5
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GAIA — Generative Agile Intelligence Architecture
|
|
2
2
|
|
|
3
|
-
[]()
|
|
4
4
|
[]()
|
|
5
5
|
[]()
|
|
6
6
|
[]()
|
|
@@ -245,7 +245,7 @@ Workflows are structured multi-step processes. Each has a `workflow.yaml` config
|
|
|
245
245
|
| Command | Workflow | Agent | Model | Output |
|
|
246
246
|
|---------|----------|-------|-------|--------|
|
|
247
247
|
| `/gaia-create-prd` | Create PRD | Derek | Opus | `docs/planning-artifacts/` |
|
|
248
|
-
| `/gaia-validate-prd` | Validate PRD | Derek | Sonnet | `docs/planning-artifacts/` |
|
|
248
|
+
| `/gaia-validate-prd` | ~~Validate PRD~~ (deprecated -- use `/gaia-val-validate`) | Derek | Sonnet | `docs/planning-artifacts/` |
|
|
249
249
|
| `/gaia-edit-prd` | Edit PRD | Derek | Opus | `docs/planning-artifacts/` |
|
|
250
250
|
| `/gaia-create-ux` | Create UX Design | Christy | Opus | `docs/planning-artifacts/` |
|
|
251
251
|
|
|
@@ -460,7 +460,7 @@ The single source of truth is `_gaia/_config/global.yaml`:
|
|
|
460
460
|
|
|
461
461
|
```yaml
|
|
462
462
|
framework_name: "GAIA"
|
|
463
|
-
framework_version: "1.65.
|
|
463
|
+
framework_version: "1.65.1"
|
|
464
464
|
user_name: "your-name"
|
|
465
465
|
project_name: "your-project"
|
|
466
466
|
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Adversarial Review Trigger Rules
|
|
2
|
+
# Declarative config governing when adversarial reviews are triggered.
|
|
3
|
+
# Change types: feature, high-risk-enhancement, low-risk-enhancement, bug-fix, documentation, patch
|
|
4
|
+
# Artifacts: prd, architecture, ux-design, test-plan
|
|
5
|
+
# When no change_type context is available (standalone creation), default to "feature".
|
|
6
|
+
|
|
7
|
+
high_risk_enhancement_criteria:
|
|
8
|
+
description: "A high-risk enhancement is any enhancement where the story risk field is 'high'"
|
|
9
|
+
matches:
|
|
10
|
+
- field: risk
|
|
11
|
+
value: high
|
|
12
|
+
- field: change_type
|
|
13
|
+
value: enhancement
|
|
14
|
+
|
|
15
|
+
trigger_rules:
|
|
16
|
+
# --- PRD artifact ---
|
|
17
|
+
- change_type: feature
|
|
18
|
+
artifact: prd
|
|
19
|
+
adversarial: true
|
|
20
|
+
- change_type: high-risk-enhancement
|
|
21
|
+
artifact: prd
|
|
22
|
+
adversarial: true
|
|
23
|
+
- change_type: low-risk-enhancement
|
|
24
|
+
artifact: prd
|
|
25
|
+
adversarial: false
|
|
26
|
+
- change_type: bug-fix
|
|
27
|
+
artifact: prd
|
|
28
|
+
adversarial: false
|
|
29
|
+
- change_type: documentation
|
|
30
|
+
artifact: prd
|
|
31
|
+
adversarial: false
|
|
32
|
+
- change_type: patch
|
|
33
|
+
artifact: prd
|
|
34
|
+
adversarial: false
|
|
35
|
+
|
|
36
|
+
# --- Architecture artifact ---
|
|
37
|
+
# Architecture adversarial requires BOTH a triggering change type AND magnitude >= SIGNIFICANT
|
|
38
|
+
- change_type: feature
|
|
39
|
+
artifact: architecture
|
|
40
|
+
adversarial: true
|
|
41
|
+
magnitude_threshold: SIGNIFICANT
|
|
42
|
+
- change_type: high-risk-enhancement
|
|
43
|
+
artifact: architecture
|
|
44
|
+
adversarial: true
|
|
45
|
+
magnitude_threshold: SIGNIFICANT
|
|
46
|
+
- change_type: low-risk-enhancement
|
|
47
|
+
artifact: architecture
|
|
48
|
+
adversarial: false
|
|
49
|
+
- change_type: bug-fix
|
|
50
|
+
artifact: architecture
|
|
51
|
+
adversarial: false
|
|
52
|
+
- change_type: documentation
|
|
53
|
+
artifact: architecture
|
|
54
|
+
adversarial: false
|
|
55
|
+
- change_type: patch
|
|
56
|
+
artifact: architecture
|
|
57
|
+
adversarial: false
|
|
58
|
+
|
|
59
|
+
# --- UX Design artifact --- (never triggers adversarial)
|
|
60
|
+
- change_type: feature
|
|
61
|
+
artifact: ux-design
|
|
62
|
+
adversarial: false
|
|
63
|
+
- change_type: high-risk-enhancement
|
|
64
|
+
artifact: ux-design
|
|
65
|
+
adversarial: false
|
|
66
|
+
- change_type: low-risk-enhancement
|
|
67
|
+
artifact: ux-design
|
|
68
|
+
adversarial: false
|
|
69
|
+
- change_type: bug-fix
|
|
70
|
+
artifact: ux-design
|
|
71
|
+
adversarial: false
|
|
72
|
+
- change_type: documentation
|
|
73
|
+
artifact: ux-design
|
|
74
|
+
adversarial: false
|
|
75
|
+
- change_type: patch
|
|
76
|
+
artifact: ux-design
|
|
77
|
+
adversarial: false
|
|
78
|
+
|
|
79
|
+
# --- Test Plan artifact --- (never triggers adversarial)
|
|
80
|
+
- change_type: feature
|
|
81
|
+
artifact: test-plan
|
|
82
|
+
adversarial: false
|
|
83
|
+
- change_type: high-risk-enhancement
|
|
84
|
+
artifact: test-plan
|
|
85
|
+
adversarial: false
|
|
86
|
+
- change_type: low-risk-enhancement
|
|
87
|
+
artifact: test-plan
|
|
88
|
+
adversarial: false
|
|
89
|
+
- change_type: bug-fix
|
|
90
|
+
artifact: test-plan
|
|
91
|
+
adversarial: false
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
path,type,module,description
|
|
2
2
|
"_gaia/_config/global.yaml","config","core","Global framework configuration"
|
|
3
|
+
"_gaia/_config/adversarial-triggers.yaml","config","core","Declarative trigger rules for adversarial reviews"
|
|
3
4
|
"_gaia/core/config.yaml","config","core","Core module configuration"
|
|
4
5
|
"_gaia/lifecycle/config.yaml","config","lifecycle","Lifecycle module configuration"
|
|
5
6
|
"_gaia/dev/config.yaml","config","dev","Developer module configuration"
|
|
@@ -11,9 +11,10 @@ module,phase,name,code,command,required,agent-name,description,output-location
|
|
|
11
11
|
"lifecycle","1-analysis","technical-research","tech-research","gaia-tech-research","false","analyst","Research a technology","docs/planning-artifacts"
|
|
12
12
|
"lifecycle","1-analysis","create-product-brief","product-brief","gaia-product-brief","false","analyst","Create a product brief","docs/planning-artifacts"
|
|
13
13
|
"lifecycle","2-planning","create-prd","create-prd","gaia-create-prd","true","pm","Create a Product Requirements Document","docs/planning-artifacts"
|
|
14
|
-
"lifecycle","2-planning","validate-prd","validate-prd","gaia-validate-prd","false","pm","
|
|
14
|
+
"lifecycle","2-planning","validate-prd","validate-prd","gaia-validate-prd","false","pm","DEPRECATED — Replaced by unified artifact validation","docs/planning-artifacts"
|
|
15
15
|
"lifecycle","2-planning","edit-prd","edit-prd","gaia-edit-prd","false","pm","Edit an existing PRD","docs/planning-artifacts"
|
|
16
16
|
"lifecycle","2-planning","create-ux-design","create-ux","gaia-create-ux","false","ux-designer","Create UX design specifications","docs/planning-artifacts"
|
|
17
|
+
"lifecycle","2-planning","edit-ux-design","edit-ux","gaia-edit-ux","false","ux-designer","Edit an existing UX design","docs/planning-artifacts"
|
|
17
18
|
"lifecycle","3-solutioning","create-architecture","create-arch","gaia-create-arch","true","architect","Design system architecture","docs/planning-artifacts"
|
|
18
19
|
"lifecycle","3-solutioning","create-epics-stories","create-epics","gaia-create-epics","true","pm","Break requirements into epics and stories","docs/planning-artifacts"
|
|
19
20
|
"lifecycle","3-solutioning","implementation-readiness","readiness-check","gaia-readiness-check","true","architect","Validate readiness for implementation","docs/planning-artifacts"
|
|
@@ -73,10 +74,13 @@ module,phase,name,code,command,required,agent-name,description,output-location
|
|
|
73
74
|
"testing","anytime","mobile-testing","mobile-testing","gaia-mobile-testing","false","test-architect","Create mobile test plan covering devices and responsive","docs/test-artifacts"
|
|
74
75
|
"creative","anytime","creative-sprint","creative-sprint","gaia-creative-sprint","false","orchestrator","Multi-agent creative pipeline: empathize → solve → innovate","docs/creative-artifacts"
|
|
75
76
|
"core","anytime","validate-framework","validate-framework","gaia-validate-framework","false","orchestrator","Run GAIA framework self-validation","n/a"
|
|
76
|
-
"lifecycle","4-implementation","change-request","change-request","gaia-change-request","false","pm","
|
|
77
|
+
"lifecycle","4-implementation","change-request","change-request","gaia-change-request","false","pm","DEPRECATED — Redirects to /gaia-add-feature. Use add-feature instead.","docs/planning-artifacts"
|
|
78
|
+
"lifecycle","4-implementation","add-feature","add-feature","gaia-add-feature","false","pm","Triage and route a fix, enhancement, or feature through affected artifacts","docs/planning-artifacts"
|
|
77
79
|
"lifecycle","4-implementation","add-stories","add-stories","gaia-add-stories","false","pm","Add incremental stories to existing epics-and-stories.md","docs/planning-artifacts"
|
|
78
80
|
"lifecycle","4-implementation","tech-debt-review","tech-debt-review","gaia-tech-debt-review","false","sm","Aggregate, classify, and prioritize technical debt","docs/implementation-artifacts"
|
|
79
|
-
"lifecycle","4-implementation","agent-validator","agent-validator","gaia-agent-validator","false","
|
|
80
|
-
"lifecycle","4-implementation","val-validate","val-validate","gaia-val-validate","false","
|
|
81
|
-
"lifecycle","4-implementation","val-validate-
|
|
82
|
-
"lifecycle","4-implementation","
|
|
81
|
+
"lifecycle","4-implementation","agent-validator","agent-validator","gaia-agent-validator","false","validator","Val — Validator Agent for artifact verification","n/a"
|
|
82
|
+
"lifecycle","4-implementation","val-validate","val-validate","gaia-val-validate","false","validator","Validate artifact against codebase and ground truth","docs/implementation-artifacts"
|
|
83
|
+
"lifecycle","4-implementation","val-validate-artifact","val-validate-artifact","gaia-val-validate","false","validator","Validate artifact against codebase and ground truth","docs/implementation-artifacts"
|
|
84
|
+
"lifecycle","4-implementation","val-validate-plan","val-validate-plan","gaia-val-validate-plan","false","validator","Validate implementation plan before execution","docs/implementation-artifacts"
|
|
85
|
+
"lifecycle","4-implementation","val-refresh-ground-truth","val-refresh-ground-truth","gaia-refresh-ground-truth","false","validator","Rescan filesystem and update verified ground truth","_memory/validator-sidecar"
|
|
86
|
+
"lifecycle","4-implementation","val-save-session","val-save-session","gaia-val-save-session","false","validator","Persist validation decisions to memory sidecar","_memory/validator-sidecar"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# After modifying this file, run /gaia-build-configs to regenerate resolved configs.
|
|
4
4
|
|
|
5
5
|
framework_name: "GAIA"
|
|
6
|
-
framework_version: "1.65.
|
|
6
|
+
framework_version: "1.65.1"
|
|
7
7
|
|
|
8
8
|
# User settings
|
|
9
9
|
user_name: "jlouage"
|
|
@@ -23,6 +23,7 @@ project_path: "Gaia-framework"
|
|
|
23
23
|
# Val integration — feature gates for inline validation
|
|
24
24
|
val_integration:
|
|
25
25
|
template_output_review: true # Show [v] Review with Val at template-output prompts
|
|
26
|
+
val_validate_output: true # Enable automatic Val validation when workflow declares val_validate_output: true
|
|
26
27
|
|
|
27
28
|
# Output paths
|
|
28
29
|
output_folder: "{project-root}/docs"
|
|
@@ -72,11 +72,11 @@ sequence:
|
|
|
72
72
|
phase: 2-planning
|
|
73
73
|
command: /gaia-create-prd
|
|
74
74
|
next:
|
|
75
|
-
primary: /gaia-validate
|
|
75
|
+
primary: /gaia-val-validate
|
|
76
76
|
|
|
77
|
-
validate
|
|
77
|
+
val-validate:
|
|
78
78
|
phase: 2-planning
|
|
79
|
-
command: /gaia-validate
|
|
79
|
+
command: /gaia-val-validate
|
|
80
80
|
next:
|
|
81
81
|
on_pass: /gaia-create-ux
|
|
82
82
|
on_fail: /gaia-edit-prd
|
|
@@ -85,7 +85,7 @@ sequence:
|
|
|
85
85
|
phase: 2-planning
|
|
86
86
|
command: /gaia-edit-prd
|
|
87
87
|
next:
|
|
88
|
-
primary: /gaia-validate
|
|
88
|
+
primary: /gaia-val-validate
|
|
89
89
|
|
|
90
90
|
create-ux-design:
|
|
91
91
|
phase: 2-planning
|
|
@@ -340,6 +340,12 @@ sequence:
|
|
|
340
340
|
- command: /gaia-create-story
|
|
341
341
|
context: "To create individual stories from triaged findings"
|
|
342
342
|
|
|
343
|
+
action-items:
|
|
344
|
+
phase: 4-implementation
|
|
345
|
+
command: /gaia-action-items
|
|
346
|
+
next:
|
|
347
|
+
standalone: true
|
|
348
|
+
|
|
343
349
|
retrospective:
|
|
344
350
|
phase: 4-implementation
|
|
345
351
|
command: /gaia-retro
|
|
@@ -453,6 +459,22 @@ sequence:
|
|
|
453
459
|
- command: /gaia-dev-story
|
|
454
460
|
context: "To implement performance fixes"
|
|
455
461
|
|
|
462
|
+
# -- Deprecated (kept for manifest consistency until workflows are removed) --
|
|
463
|
+
validate-prd:
|
|
464
|
+
module: lifecycle
|
|
465
|
+
command: /gaia-validate-prd
|
|
466
|
+
deprecated: true
|
|
467
|
+
next:
|
|
468
|
+
standalone: true
|
|
469
|
+
note: "Deprecated — superseded by /gaia-val-validate. Will be removed in E10-S3."
|
|
470
|
+
|
|
471
|
+
edit-ux-design:
|
|
472
|
+
module: lifecycle
|
|
473
|
+
command: /gaia-edit-ux
|
|
474
|
+
next:
|
|
475
|
+
standalone: true
|
|
476
|
+
note: "Standalone UX design editor"
|
|
477
|
+
|
|
456
478
|
# -- Quick flow --
|
|
457
479
|
quick-spec:
|
|
458
480
|
module: lifecycle
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
modules:
|
|
5
5
|
- name: core
|
|
6
|
-
version: "1.12.
|
|
6
|
+
version: "1.12.2"
|
|
7
7
|
path: "_gaia/core"
|
|
8
8
|
type: built-in
|
|
9
9
|
- name: lifecycle
|
|
10
|
-
version: "1.37.
|
|
10
|
+
version: "1.37.2"
|
|
11
11
|
path: "_gaia/lifecycle"
|
|
12
12
|
type: built-in
|
|
13
13
|
- name: dev
|
|
@@ -19,6 +19,6 @@ modules:
|
|
|
19
19
|
path: "_gaia/creative"
|
|
20
20
|
type: built-in
|
|
21
21
|
- name: testing
|
|
22
|
-
version: "1.8.
|
|
22
|
+
version: "1.8.1"
|
|
23
23
|
path: "_gaia/testing"
|
|
24
24
|
type: built-in
|
|
@@ -9,4 +9,6 @@ name,displayName,description,path,applicable_agents
|
|
|
9
9
|
"security-basics","Security Basics","OWASP Top 10, input validation, secrets, CORS/CSRF","_gaia/dev/skills/security-basics.md","all-dev,architect,security,devops"
|
|
10
10
|
"validation-patterns","Validation Patterns","Claim extraction, filesystem verification, cross-reference, severity classification, findings formatting","_gaia/lifecycle/skills/validation-patterns.md","validator"
|
|
11
11
|
"ground-truth-management","Ground Truth Management","Entry structure, incremental/full refresh, conflict resolution, archival, token budget, brownfield extraction","_gaia/lifecycle/skills/ground-truth-management.md","validator"
|
|
12
|
-
"memory-management","Memory Management","Session load/save, decision formatting, stale detection, deduplication, context summarization","_gaia/lifecycle/skills/memory-management.md","all"
|
|
12
|
+
"memory-management","Memory Management","Session load/save, decision formatting, stale detection, deduplication, context summarization, cross-ref loading, budget-monitoring","_gaia/lifecycle/skills/memory-management.md","all"
|
|
13
|
+
"memory-management-cross-agent","Memory Management Cross-Agent","Cross-agent memory read protocol for loading other agents' sidecar files","_gaia/lifecycle/skills/memory-management-cross-agent.md","all"
|
|
14
|
+
"document-rulesets","Document Rulesets","Artifact type detection, document-specific validation rulesets (prd, arch, ux, test-plan, epics), two-pass validation logic","_gaia/lifecycle/skills/document-rulesets.md","validator"
|
|
@@ -8,9 +8,10 @@ name,displayName,description,module,phase,path,command,agent
|
|
|
8
8
|
"technical-research","Technical Research","Research a technology","lifecycle","1-analysis","_gaia/lifecycle/workflows/1-analysis/technical-research/workflow.yaml","gaia-tech-research","analyst"
|
|
9
9
|
"create-product-brief","Create Product Brief","Create a product brief","lifecycle","1-analysis","_gaia/lifecycle/workflows/1-analysis/create-product-brief/workflow.yaml","gaia-product-brief","analyst"
|
|
10
10
|
"create-prd","Create PRD","Create a Product Requirements Document","lifecycle","2-planning","_gaia/lifecycle/workflows/2-planning/create-prd/workflow.yaml","gaia-create-prd","pm"
|
|
11
|
-
"validate-prd","Validate PRD","
|
|
11
|
+
"validate-prd","Validate PRD (deprecated)","DEPRECATED — Use /gaia-val-validate instead","lifecycle","2-planning","_gaia/lifecycle/workflows/2-planning/validate-prd/workflow.yaml","gaia-validate-prd","pm"
|
|
12
12
|
"edit-prd","Edit PRD","Edit an existing PRD","lifecycle","2-planning","_gaia/lifecycle/workflows/2-planning/edit-prd/workflow.yaml","gaia-edit-prd","pm"
|
|
13
13
|
"create-ux-design","Create UX Design","Plan UX patterns and design specs","lifecycle","2-planning","_gaia/lifecycle/workflows/2-planning/create-ux-design/workflow.yaml","gaia-create-ux","ux-designer"
|
|
14
|
+
"edit-ux-design","Edit UX Design","Edit an existing UX design","lifecycle","2-planning","_gaia/lifecycle/workflows/2-planning/edit-ux-design/workflow.yaml","gaia-edit-ux","ux-designer"
|
|
14
15
|
"create-architecture","Create Architecture","Design system architecture","lifecycle","3-solutioning","_gaia/lifecycle/workflows/3-solutioning/create-architecture/workflow.yaml","gaia-create-arch","architect"
|
|
15
16
|
"edit-architecture","Edit Architecture","Edit an existing architecture document","lifecycle","3-solutioning","_gaia/lifecycle/workflows/3-solutioning/edit-architecture/workflow.yaml","gaia-edit-arch","architect"
|
|
16
17
|
"create-epics-stories","Create Epics and Stories","Break requirements into epics and stories","lifecycle","3-solutioning","_gaia/lifecycle/workflows/3-solutioning/create-epics-stories/workflow.yaml","gaia-create-epics","pm"
|
|
@@ -60,9 +61,9 @@ name,displayName,description,module,phase,path,command,agent
|
|
|
60
61
|
"epic-status","Epic Status","Show epic completion dashboard across all sprints","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/epic-status/workflow.yaml","gaia-epic-status","sm"
|
|
61
62
|
"triage-findings","Triage Findings","Triage development findings into backlog stories","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/triage-findings/workflow.yaml","gaia-triage-findings","sm"
|
|
62
63
|
"creative-sprint","Creative Sprint","Multi-agent creative pipeline: empathize → solve → innovate","creative","anytime","_gaia/creative/workflows/creative-sprint/workflow.yaml","gaia-creative-sprint","orchestrator"
|
|
63
|
-
"change-request","Change Request","
|
|
64
|
+
"change-request","Change Request (deprecated)","DEPRECATED — Use /gaia-add-feature instead. Redirects to add-feature workflow.","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/change-request/workflow.yaml","gaia-change-request","pm"
|
|
64
65
|
"add-stories","Add Stories","Add new stories to existing epics or create new epics with stories","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/add-stories/workflow.yaml","gaia-add-stories","pm"
|
|
65
|
-
"add-feature","Add Feature","
|
|
66
|
+
"add-feature","Add Feature","Triage and route a fix, enhancement, or feature through affected artifacts","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/add-feature/workflow.yaml","gaia-add-feature","pm"
|
|
66
67
|
"tech-debt-review","Tech Debt Review","Aggregate and prioritize technical debt","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/tech-debt-review/workflow.yaml","gaia-tech-debt-review","sm"
|
|
67
68
|
"val-validate-artifact","Validate Artifact","Validate artifact against codebase and ground truth","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/val-validate-artifact/workflow.yaml","gaia-val-validate","validator"
|
|
68
69
|
"val-validate-plan","Validate Plan","Validate implementation plan before execution","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/val-validate-plan/workflow.yaml","gaia-val-validate-plan","validator"
|
|
@@ -71,3 +72,4 @@ name,displayName,description,module,phase,path,command,agent
|
|
|
71
72
|
"check-dod","Check Definition of Done","Check Definition of Done criteria for a story before review transition","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/check-dod/workflow.yaml","gaia-check-dod","sm"
|
|
72
73
|
"run-all-reviews","Run All Reviews","Runs all 6 review workflows sequentially via subagents","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/run-all-reviews/workflow.yaml","gaia-run-all-reviews","orchestrator"
|
|
73
74
|
"check-review-gate","Check Review Gate","Check composite review gate status and transition story to done if all reviews pass","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/check-review-gate/workflow.yaml","gaia-check-review-gate","sm"
|
|
75
|
+
"action-items","Action Items","Process and resolve action items from retro, triage, tech-debt, and correct-course","lifecycle","4-implementation","_gaia/lifecycle/workflows/4-implementation/action-items/workflow.yaml","gaia-action-items","orchestrator"
|
package/_gaia/core/config.yaml
CHANGED
|
@@ -68,8 +68,17 @@ execution modes (normal/yolo/planning), checkpoints, and quality gates.
|
|
|
68
68
|
<action if="agent is 'dev-*' (wildcard)">Check if workflow.yaml declares agent_auto_detect: true. If true, execute the agent_auto_detect_strategy from workflow.yaml to determine the stack. If auto-detection succeeds, resolve to {project-root}/_gaia/dev/agents/{detected_stack}-dev.md and inform user: "Auto-detected developer: {agent_name} based on {detection_source}." If auto-detection fails or agent_auto_detect is false/absent: ask user which stack developer to use (typescript, angular, flutter, java, python, mobile, go), then resolve to {project-root}/_gaia/dev/agents/{stack}-dev.md</action>
|
|
69
69
|
<action if="agent file resolved">Read the agent persona file — adopt its persona, name, communication style, rules, and domain knowledge for the duration of this workflow</action>
|
|
70
70
|
<action if="agent file resolved">Do NOT execute the agent's activation protocol, greeting, or menu — the workflow engine controls step execution</action>
|
|
71
|
-
<action if="agent file resolved">Do NOT load the agent's memory sidecar — the workflow engine manages its own checkpoints</action>
|
|
72
71
|
<action if="agent file resolved">Check for {project-root}/_gaia/_config/agents/{agent-id}.customize.yaml. If found, load and merge overrides (persona_overrides, menu_additions, menu_removals, skill_additions, rule_additions, skill_overrides, skill_section_overrides). For dev agents, also check all-dev.customize.yaml and merge (agent-specific takes precedence over all-dev).</action>
|
|
72
|
+
|
|
73
|
+
<!-- Memory Load Protocol (E9-S7) — Load agent memory sidecar files after persona, before instructions -->
|
|
74
|
+
<action if="agent file resolved">Read {project-root}/_memory/config.yaml to resolve agent tier and sidecar path. If the file does not exist, log "Memory config not found — skipping memory loading." and skip all remaining memory load actions in this step.</action>
|
|
75
|
+
<action if="agent file resolved">Resolve the agent's tier classification: look up the resolved agent ID in _memory/config.yaml tier lists — check tiers.tier_1.agents, tiers.tier_2.agents, and tiers.tier_3.agents in that order. If the agent ID is not found in any tier list (untiered), treat as Tier 3 by default — load decision-log.md only if it exists, with no budget enforcement.</action>
|
|
76
|
+
<action if="agent file resolved">Resolve sidecar path: read agents.{agent-id}.sidecar from _memory/config.yaml, construct absolute path as {project-root}/_memory/{sidecar_value}/. If the agent entry is not found in the agents section, construct path as {project-root}/_memory/{agent-id}-sidecar/.</action>
|
|
77
|
+
<action if="agent file resolved">Check if the sidecar directory exists. If the directory does not exist or is empty, skip all file loading silently — no error, no warning. Proceed to Step 4.</action>
|
|
78
|
+
<action if="agent file resolved and tier == 1">Load canonical sidecar files (silently skip any that do not exist): ground-truth.md, decision-log.md, conversation-context.md (3 files). These provide the agent's persistent ground truth, decision history, and recent conversation context.</action>
|
|
79
|
+
<action if="agent file resolved and tier == 2">Load canonical sidecar files (silently skip any that do not exist): decision-log.md, conversation-context.md (2 files). Tier 2 agents do not have ground-truth.md.</action>
|
|
80
|
+
<action if="agent file resolved and tier == 3 or untiered">Load canonical sidecar file (silently skip if it does not exist): decision-log.md (1 file). Tier 3 and untiered agents receive minimal memory context.</action>
|
|
81
|
+
<action if="agent file resolved and tier in [1, 2]">Estimate token budget usage: sum the byte lengths of all loaded sidecar files, divide by the token_approximation value (default: 4 chars per token, from _memory/config.yaml archival.token_approximation). Compare against the agent's session_budget from the tier definition in _memory/config.yaml. If usage reaches or exceeds the budget_warn_at threshold (0.8 / 80% from _memory/config.yaml archival.budget_warn_at): display warning "Memory budget at {N}% for {agent_name} — {used}K of {budget}K tokens." For Tier 3 and untiered agents (session_budget: null), skip the token budget check entirely.</action>
|
|
73
82
|
</step>
|
|
74
83
|
|
|
75
84
|
<step n="4" title="Load Instructions">
|
|
@@ -82,16 +91,23 @@ execution modes (normal/yolo/planning), checkpoints, and quality gates.
|
|
|
82
91
|
<action>Check workflow.yaml for 'execution_mode' field — default to 'normal' if absent</action>
|
|
83
92
|
<action if="execution_mode != 'planning'">Skip this step — proceed to Process Instructions</action>
|
|
84
93
|
<action if="mode was explicitly set by caller (subagent prompt) AND mode is NOT yolo">Skip this step — use the caller-requested mode</action>
|
|
85
|
-
<action if="mode was explicitly set by caller as yolo">Still execute the Planning Gate to generate the plan. After generating, check if workflow.yaml declares val_auto_in_yolo: true and the planning step number (5) is in val_auto_in_yolo_steps. If so, auto-invoke val-validate-
|
|
94
|
+
<action if="mode was explicitly set by caller as yolo">Still execute the Planning Gate to generate the plan. After generating, check if workflow.yaml declares val_auto_in_yolo: true and the planning step number (5) is in val_auto_in_yolo_steps. If so, auto-invoke val-validate-plan to validate the plan. If Val returns CRITICAL/WARNING findings: auto-fix the plan, re-invoke Val, repeat up to 3 iterations. If resolved: auto-approve the plan and set runtime mode to yolo. If unresolved after 3 iterations: HALT with findings list. If Val prerequisites not met or val_auto_in_yolo is false: auto-approve the plan without Val and set runtime mode to yolo. Do NOT present the [a]/[y]/[r]/[x] prompt — the plan is auto-approved after Val passes.</action>
|
|
86
95
|
<action>Invoke discover-inputs protocol to load all declared input files</action>
|
|
87
96
|
<action>Parse the loaded instructions to extract: step titles, action summaries, template-output paths, optional steps, skill references, subagent invocations</action>
|
|
88
97
|
<action>For input files: extract brief context (key metadata, not full content)</action>
|
|
89
98
|
<action>Present structured execution plan to user using the planning-output format: Context, Files to Modify, Detailed Edits, Version Bumps (if applicable), Implementation Order, Verification. Omit empty sections.</action>
|
|
90
|
-
<action>
|
|
99
|
+
<action>Check if Val integration is available for the planning gate: read {project-root}/_gaia/_config/global.yaml and check if val_integration.template_output_review is true. Check if {project-root}/_gaia/lifecycle/agents/validator.md exists AND {project-root}/_memory/validator-sidecar/ exists. Set val_review_available = true only if all three conditions pass. If any condition fails, set val_review_available = false.</action>
|
|
100
|
+
<action if="val_review_available == true">Prompt: "[a] Approve (normal) | [y] Approve (YOLO) | [r] Revise plan | [v] Review with Val (recommended) | [x] Abort"</action>
|
|
101
|
+
<action if="val_review_available == false">Prompt: "[a] Approve (normal) | [y] Approve (YOLO) | [r] Revise plan | [x] Abort"</action>
|
|
91
102
|
<action if="[a]">Set runtime mode to normal — proceed to Process Instructions</action>
|
|
92
103
|
<action if="[y]">Set runtime mode to yolo — proceed to Process Instructions</action>
|
|
93
|
-
<action if="[r]">Ask for feedback, regenerate plan
|
|
104
|
+
<action if="[r]">Ask for feedback, regenerate plan. Previous findings are discarded — each [v] press triggers fresh validation with no caching. Re-prompt with the same options.</action>
|
|
94
105
|
<action if="[x]">HALT — write checkpoint noting user abort</action>
|
|
106
|
+
<action if="[v] and plan has zero steps">Display "Plan contains no steps to validate." and return to the planning gate prompt without invoking Val.</action>
|
|
107
|
+
<action if="[v]">Invoke val-validate-plan as a subagent, passing the execution plan and the source_workflow (current workflow name). Each [v] press runs fresh validation — previous findings are discarded after plan revision, no caching. The discussion loop allows the user to discuss findings with Val, selectively accept or dismiss individual findings, and re-validate after making changes.</action>
|
|
108
|
+
<action if="Val returns zero findings">Display "Validation complete: no issues found." and return to the planning gate prompt with options [a] | [y] | [r] | [v] | [x].</action>
|
|
109
|
+
<action if="Val returns findings">Present findings to the user. Enter the discussion loop: user can selectively accept, dismiss, or discuss individual findings. After the user finishes reviewing, return to the planning gate prompt with all options [a] | [y] | [r] | [v] | [x].</action>
|
|
110
|
+
<action if="Val subagent fails (model unavailable, crash, timeout, context too large)">Display "Val validation could not complete: {reason}. Continuing without validation." and return to the planning gate prompt with [a] | [y] | [r] | [x] options (no [v]).</action>
|
|
95
111
|
<action>Write checkpoint: planning gate approved, selected runtime mode</action>
|
|
96
112
|
</step>
|
|
97
113
|
|
|
@@ -122,6 +138,7 @@ execution modes (normal/yolo/planning), checkpoints, and quality gates.
|
|
|
122
138
|
<action>At template-output in normal mode: first check if workflow.yaml declares a template_output_prompt field. If set to "auto": skip the template-output prompt entirely — save the file and auto-proceed to the next step with no user interaction. This is for read-only outputs (dashboards, reports) that need no user review. If set to a custom string (not "auto"): use that custom prompt string instead of the default options — parse [e] and [v] handlers from it as usual, and for any other user input auto-proceed to the next step. If template_output_prompt is absent: use the default prompt — if Val integration is enabled, show user the output and offer [c] Continue | [y] YOLO | [e] Edit | [v] Review with Val. If Val integration is not enabled, show user the output and offer [c]ontinue [y]olo [e]dit.</action>
|
|
123
139
|
<action>At [v] handler: when user presses [v], first check if the artifact file path has content. If the artifact has not been written yet or is empty, display "No artifact content to validate yet." and return to the template-output prompt without invoking Val. If content exists, invoke val-validate-artifact as a subagent, passing the artifact_path (the file just saved at template-output) and the source_workflow (the current workflow name from workflow.yaml). If Val completes and returns findings, present findings to the user and let user approve which findings to apply. Only approved findings are written to the artifact under a "## Validation Findings" section. After writing, return to the template-output prompt with the updated artifact content. If Val completes with zero findings, display "Validation complete: no issues found." and return to the template-output prompt with [c]/[y]/[e]/[v] options. If Val's subagent invocation fails for any reason (model unavailable, context too large, timeout), display "Val validation could not complete: {reason}. Continuing without validation." and return to the template-output prompt with [c]/[y]/[e]/[v] options. The user is never left stuck.</action>
|
|
124
140
|
<action>At template-output in yolo mode: auto-continue UNLESS open question indicators were detected — if detected, pause and display guidance as in normal mode. Open questions require human input and cannot be auto-answered. The [v] option is not auto-triggered in YOLO mode UNLESS the workflow.yaml declares val_auto_in_yolo: true AND the current instruction step number is listed in val_auto_in_yolo_steps AND Val integration prerequisites pass (global.yaml val_integration.template_output_review is true, validator.md exists, validator-sidecar/ exists). When all conditions are met: auto-invoke val-validate-artifact as a subagent with the artifact_path (file just saved) and source_workflow. If Val returns CRITICAL or WARNING findings: the dev agent must auto-fix them, then re-invoke Val to re-validate. Repeat this fix→validate loop up to 3 iterations. If resolved: save findings and fixes to artifact and validator-sidecar memory, then auto-continue. If unresolved after 3 iterations: HALT and inform user with the list of unresolved findings. INFO-level findings are logged to artifact and validator-sidecar memory but do not block. If Val invocation fails (model unavailable, timeout, context too large): HALT and inform user "Val validation could not complete: {reason}. Cannot proceed without validation in YOLO mode." — do NOT auto-continue.</action>
|
|
141
|
+
<action>At template-output with val_validate_output flag (per-workflow mandatory validation — ADR-017): after saving a template-output, check if the loaded workflow.yaml declares val_validate_output: true. If the flag is absent or false, skip this action entirely (backward compatible — no change in behavior for existing workflows). If the flag is true: first check the global emergency disable toggle by reading {project-root}/_gaia/_config/global.yaml and checking val_integration.val_validate_output. If the global toggle is false, skip validation entirely regardless of the workflow flag — this is the emergency kill switch. If both the workflow flag and global toggle are true: check Val integration prerequisites (validator.md exists, validator-sidecar/ exists). If prerequisites fail, skip validation silently — do not error. If prerequisites pass: auto-invoke val-validate-artifact as a subagent with the artifact_path (file just saved at template-output) and source_workflow. This applies in ALL execution modes — normal, yolo, and planning — because val_validate_output is a per-workflow mandatory validation requirement independent of user interaction mode. Precedence: if val_auto_in_yolo already triggered Val for this template-output (yolo mode only), val_validate_output does NOT re-invoke — one validation per template-output is sufficient. If Val returns CRITICAL or WARNING findings: auto-fix them, then re-invoke Val to re-validate. Repeat this auto-fix loop up to 3 iterations. If resolved within 3 iterations: save findings and fixes to artifact and validator-sidecar memory, then continue. If unresolved after 3 iterations: HALT and present the list of unresolved findings to the user. INFO-level findings are logged but do not block. If Val invocation fails (model unavailable, timeout, context too large): HALT and inform user "Val validation could not complete: {reason}."</action>
|
|
125
142
|
<action>When a subagent returns: present summary of results. In normal mode: wait for user [c]ontinue before proceeding. Subagent completion MUST NOT auto-advance the workflow.</action>
|
|
126
143
|
<action>After each step completes: write checkpoint with step number, key variables, output paths, and files_touched (for each file created/modified during this workflow, run shasum -a 256 {path} and record path, checksum as "sha256:{hex}", last_modified as ISO 8601)</action>
|
|
127
144
|
</step>
|
|
@@ -171,7 +188,10 @@ execution modes (normal/yolo/planning), checkpoints, and quality gates.
|
|
|
171
188
|
<execution-modes>
|
|
172
189
|
<mode name="normal">
|
|
173
190
|
Pause at every template-output for user confirmation.
|
|
174
|
-
Prompt: "[c] Continue | [y] Switch to YOLO | [e] Edit output"
|
|
191
|
+
Prompt: "[c] Continue | [y] Switch to YOLO | [e] Edit output | [v] Review with Val"
|
|
192
|
+
The [v] option is shown when Val integration is enabled (val_integration.template_output_review: true in global.yaml,
|
|
193
|
+
validator.md exists, and validator-sidecar/ exists). When [v] is selected, the engine invokes val-validate-artifact
|
|
194
|
+
as a subagent to validate the saved artifact. If Val is not enabled, only [c]/[y]/[e] are shown.
|
|
175
195
|
Pause at every ask tag — present the question and WAIT for user response.
|
|
176
196
|
NEVER infer or skip an ask, even if the answer appears available from context.
|
|
177
197
|
Pause when a subagent returns — show results summary and wait for [c]ontinue.
|
|
@@ -34,7 +34,7 @@ You must fully embody this agent's persona and follow the activation protocol EX
|
|
|
34
34
|
<r>PRDs must be discoverable requirements, not guesses</r>
|
|
35
35
|
<r>Validate with user before finalizing each PRD section</r>
|
|
36
36
|
<r>Consume upstream analysis artifacts from {planning_artifacts}/</r>
|
|
37
|
-
<r>Quality gate: validate
|
|
37
|
+
<r>Quality gate: /gaia-val-validate must pass before architecture begins</r>
|
|
38
38
|
</rules>
|
|
39
39
|
|
|
40
40
|
<memory-reads>
|
|
@@ -61,18 +61,18 @@ You must fully embody this agent's persona and follow the activation protocol EX
|
|
|
61
61
|
</authority>
|
|
62
62
|
<dod>
|
|
63
63
|
<criterion>PRD saved to {planning_artifacts}/prd.md with all sections complete</criterion>
|
|
64
|
-
<criterion
|
|
64
|
+
<criterion>/gaia-val-validate passes with no critical findings</criterion>
|
|
65
65
|
<criterion>Every requirement traces to a user need or business objective</criterion>
|
|
66
66
|
<criterion>User has confirmed PRD accuracy at each section</criterion>
|
|
67
67
|
</dod>
|
|
68
68
|
<constraints>
|
|
69
69
|
<constraint>NEVER invent requirements — all must come from user input or evidence</constraint>
|
|
70
|
-
<constraint>NEVER bypass
|
|
70
|
+
<constraint>NEVER bypass validation gate — architecture cannot start without /gaia-val-validate passing</constraint>
|
|
71
71
|
<constraint>NEVER make technical architecture decisions — defer to Theo</constraint>
|
|
72
72
|
</constraints>
|
|
73
73
|
<handoffs>
|
|
74
|
-
<handoff to="architect" when="PRD validated" gate="validate
|
|
75
|
-
<handoff to="ux-designer" when="PRD validated and UX design needed" gate="validate
|
|
74
|
+
<handoff to="architect" when="PRD validated" gate="/gaia-val-validate PASSED" />
|
|
75
|
+
<handoff to="ux-designer" when="PRD validated and UX design needed" gate="/gaia-val-validate PASSED" />
|
|
76
76
|
<handoff to="sm" when="Epics and stories created" gate="epics-and-stories.md exists" />
|
|
77
77
|
</handoffs>
|
|
78
78
|
</specification>
|
|
@@ -101,11 +101,10 @@ You must fully embody this agent's persona and follow the activation protocol EX
|
|
|
101
101
|
|
|
102
102
|
<menu>
|
|
103
103
|
<item cmd="1" label="Create PRD" description="Create Product Requirements Document" workflow="lifecycle/workflows/2-planning/create-prd/workflow.yaml" />
|
|
104
|
-
<item cmd="2" label="
|
|
105
|
-
<item cmd="3" label="
|
|
106
|
-
<item cmd="
|
|
107
|
-
<item cmd="
|
|
108
|
-
<item cmd="6" label="Add Stories" description="Add stories to existing epics" workflow="lifecycle/workflows/4-implementation/add-stories/workflow.yaml" />
|
|
104
|
+
<item cmd="2" label="Edit PRD" description="Edit an existing PRD" workflow="lifecycle/workflows/2-planning/edit-prd/workflow.yaml" />
|
|
105
|
+
<item cmd="3" label="Create Epics & Stories" description="Break requirements into epics" workflow="lifecycle/workflows/3-solutioning/create-epics-stories/workflow.yaml" />
|
|
106
|
+
<item cmd="5" label="Add Stories" description="Add stories to existing epics" workflow="lifecycle/workflows/4-implementation/add-stories/workflow.yaml" />
|
|
107
|
+
<item cmd="6" label="Add Feature" description="Triage and route a fix, enhancement, or feature" workflow="lifecycle/workflows/4-implementation/add-feature/workflow.yaml" />
|
|
109
108
|
</menu>
|
|
110
109
|
|
|
111
110
|
</agent>
|
|
@@ -88,6 +88,7 @@ You must fully embody this agent's persona and follow the activation protocol EX
|
|
|
88
88
|
|
|
89
89
|
<menu>
|
|
90
90
|
<item cmd="1" label="Create UX Design" description="Plan UX patterns and design specs" workflow="lifecycle/workflows/2-planning/create-ux-design/workflow.yaml" />
|
|
91
|
+
<item cmd="2" label="Edit UX Design" description="Edit existing UX design" workflow="lifecycle/workflows/2-planning/edit-ux-design/workflow.yaml" />
|
|
91
92
|
</menu>
|
|
92
93
|
|
|
93
94
|
</agent>
|
|
@@ -165,7 +165,8 @@ You must fully embody this agent's persona and follow the activation protocol EX
|
|
|
165
165
|
<item cmd="3" label="Revalidate" description="Re-run validation on a previously validated artifact" workflow="lifecycle/workflows/4-implementation/val-validate-artifact/workflow.yaml" />
|
|
166
166
|
<item cmd="4" label="Review Findings" description="Review and discuss findings from the most recent validation" exec="lifecycle/tasks/val-review-findings.md" />
|
|
167
167
|
<item cmd="5" label="Refresh Ground Truth" description="Scan framework and project directories to update ground-truth.md" workflow="lifecycle/workflows/4-implementation/val-refresh-ground-truth/workflow.yaml" />
|
|
168
|
-
<item cmd="6" label="
|
|
168
|
+
<item cmd="6" label="Save Session" description="Persist validation decisions and ground truth updates to memory sidecar" exec="lifecycle/tasks/val-save-session.md" />
|
|
169
|
+
<item cmd="7" label="Memory Status" description="Show ground truth freshness, decision count, and token budget usage" exec="lifecycle/tasks/val-memory-status.md" />
|
|
169
170
|
</menu>
|
|
170
171
|
|
|
171
172
|
<greeting>
|