gaia-framework 1.63.0 → 1.65.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/CLAUDE.md +1 -1
- package/README.md +1 -1
- package/_gaia/_config/global.yaml +1 -1
- package/_gaia/_config/manifest.yaml +1 -1
- package/_gaia/_config/skill-manifest.csv +1 -1
- package/_gaia/lifecycle/config.yaml +1 -1
- package/_gaia/lifecycle/skills/memory-management.md +1 -34
- package/_gaia/lifecycle/workflows/anytime/brownfield-onboarding/instructions.xml +1 -69
- package/_gaia/lifecycle/workflows/anytime/memory-hygiene/instructions.xml +18 -8
- package/gaia-install.sh +1 -1
- package/package.json +3 -2
package/CLAUDE.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
# GAIA Framework v1.
|
|
2
|
+
# GAIA Framework v1.65.0
|
|
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
|
@@ -9,4 +9,4 @@ 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
|
|
12
|
+
"memory-management","Memory Management","Session load/save, decision formatting, stale detection, deduplication, context summarization","_gaia/lifecycle/skills/memory-management.md","all"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
inherits: "{project-root}/_gaia/_config/global.yaml"
|
|
3
3
|
|
|
4
4
|
module_name: "lifecycle"
|
|
5
|
-
module_version: "1.
|
|
5
|
+
module_version: "1.37.0"
|
|
6
6
|
|
|
7
7
|
planning_artifacts: "{project-root}/docs/planning-artifacts"
|
|
8
8
|
implementation_artifacts: "{project-root}/docs/implementation-artifacts"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: memory-management
|
|
3
3
|
version: '1.0'
|
|
4
4
|
applicable_agents: [all]
|
|
5
|
-
description: 'Session load/save, decision formatting, stale detection, deduplication, context summarization
|
|
5
|
+
description: 'Session load/save, decision formatting, stale detection, deduplication, context summarization'
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- SECTION: decision-formatting -->
|
|
@@ -320,36 +320,3 @@ After loading cross-references, record in the session checkpoint:
|
|
|
320
320
|
|
|
321
321
|
This enables `/gaia-resume` to detect stale cross-references when resuming a session.
|
|
322
322
|
<!-- END SECTION -->
|
|
323
|
-
|
|
324
|
-
<!-- SECTION: budget-monitoring -->
|
|
325
|
-
## Budget Monitoring
|
|
326
|
-
|
|
327
|
-
Calculate and report token budget usage per agent sidecar. Reusable by any workflow that needs budget status.
|
|
328
|
-
|
|
329
|
-
**Input:**
|
|
330
|
-
- Agent sidecar file sizes (bytes) from filesystem scan
|
|
331
|
-
- Tier budgets from `_memory/config.yaml`: `tiers.tier_1.session_budget` (300K), `tiers.tier_2.session_budget` (100K)
|
|
332
|
-
- Per-agent ground truth budgets: `agents.{agent-id}.ground_truth_budget` (Tier 1 only)
|
|
333
|
-
|
|
334
|
-
**Token calculation:**
|
|
335
|
-
- Approximate tokens = file size in bytes / 4 (chars-per-token convention)
|
|
336
|
-
- Sum across all sidecar files per agent (decision-log.md + conversation-context.md + ground-truth.md)
|
|
337
|
-
|
|
338
|
-
**Threshold classification:**
|
|
339
|
-
- **OK:** below 80% of budget
|
|
340
|
-
- **warning:** at or above 80%, below 90%
|
|
341
|
-
- **critical:** at or above 90%, below 100%
|
|
342
|
-
- **over-budget:** at or above 100% — triggers archival recommendation
|
|
343
|
-
|
|
344
|
-
**Tier handling:**
|
|
345
|
-
- Tier 1: report session budget usage and ground truth budget usage separately
|
|
346
|
-
- Tier 2: report session budget usage only (no ground truth file)
|
|
347
|
-
- Tier 3 / untiered: report actual token count with "no budget enforced"
|
|
348
|
-
|
|
349
|
-
**Output format (Token Budget Table):**
|
|
350
|
-
|
|
351
|
-
| Agent | Tier | Files Scanned | Token Usage | Session Budget | GT Budget | % Used | Status |
|
|
352
|
-
|-------|------|---------------|-------------|----------------|-----------|--------|--------|
|
|
353
|
-
|
|
354
|
-
For Tier 3 and untiered agents, budget columns show "no budget enforced" with actual token count.
|
|
355
|
-
<!-- END SECTION -->
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
/gaia-review-api (optional, if APIs) → /gaia-adversarial → /gaia-test-design → /gaia-test-framework (optional) → /gaia-create-epics → /gaia-threat-model → /gaia-infra-design → /gaia-trace → /gaia-ci-setup → /gaia-readiness-check</action>
|
|
83
83
|
</step>
|
|
84
84
|
|
|
85
|
-
<step n="7" title="Bootstrap
|
|
85
|
+
<step n="7" title="Bootstrap Val Ground Truth" optional="true">
|
|
86
86
|
<action>Check if Val is installed: verify {project-root}/_gaia/lifecycle/agents/validator.md exists AND {memory_path}/validator-sidecar/ directory exists</action>
|
|
87
87
|
<check if="validator.md not found OR validator-sidecar/ not found">Skip Step 7 silently — Val is not installed. Brownfield onboarding continues without ground truth bootstrap.</check>
|
|
88
88
|
|
|
@@ -102,74 +102,6 @@
|
|
|
102
102
|
|
|
103
103
|
<action>Write extracted project facts to {memory_path}/validator-sidecar/ground-truth.md. If ground-truth.md already exists with content: merge new facts with existing entries — add new facts, update changed facts, flag removed facts — never destructive overwrite. Follow merge semantics from ground-truth-management conflict-resolution section. If ground-truth.md is empty or new: write all extracted facts as initial seed entries with verification count = 1.</action>
|
|
104
104
|
<action>Report: "Seeded {N} ground-truth entries from brownfield artifacts + filesystem scan"</action>
|
|
105
|
-
|
|
106
|
-
<!-- Step 7d/7e/7f: Tier 1 Agent Ground Truth Bootstrap (E9-S12) -->
|
|
107
|
-
|
|
108
|
-
<ask>Bootstrap Tier 1 agent ground truth (Theo, Derek, Nate)? [y/n]</ask>
|
|
109
|
-
|
|
110
|
-
<action>JIT load ground-truth-management skill sections from {project-root}/_gaia/lifecycle/skills/ground-truth-management.md: entry-structure, conflict-resolution, brownfield-extraction. All ground-truth entries must follow the canonical entry format from the entry-structure section. When the same fact appears in multiple source documents with conflicting values (e.g., different version numbers), annotate the entry with "conflicting sources: {source1} says X, {source2} says Y" and use the higher-precedence source (brownfield-assessment.md > project-documentation.md for tech stack facts).</action>
|
|
111
|
-
|
|
112
|
-
<!-- Step 7d: Theo (Architect) ground truth extraction (AC1) -->
|
|
113
|
-
<action>Step 7d — Theo ground truth extraction.
|
|
114
|
-
Read {planning_artifacts}/architecture.md and extract:
|
|
115
|
-
— Tech stack (languages, frameworks, runtime versions) → variable-inventory entries
|
|
116
|
-
— ADRs (architecture decision records — ID, title, status, rationale) → structural-pattern entries
|
|
117
|
-
— Component inventory (modules, packages, services) → file-inventory entries
|
|
118
|
-
— Dependency map (internal and external dependencies) → cross-reference entries
|
|
119
|
-
|
|
120
|
-
If {planning_artifacts}/architecture.md does not exist: fall back to {planning_artifacts}/brownfield-assessment.md for Theo. Extract tech stack, file counts, and project structure from the brownfield assessment instead.
|
|
121
|
-
|
|
122
|
-
Token budget guard: Theo has a 150K token budget (150,000 tokens). Estimate extraction size (characters / 4). If estimated tokens exceed 60% threshold (90,000 tokens), trim to highest-signal entries — prioritize ADRs and tech stack over detailed file inventories.
|
|
123
|
-
|
|
124
|
-
Write extracted entries to {memory_path}/architect-sidecar/ground-truth.md.
|
|
125
|
-
If the {memory_path}/architect-sidecar/ directory does not exist, create it along with a new ground-truth.md file with standard headers.
|
|
126
|
-
If ground-truth.md already exists with content: follow merge semantics from the conflict-resolution section — add new entries, update changed entries, preserve existing entries. Never perform a destructive overwrite.</action>
|
|
127
|
-
|
|
128
|
-
<!-- Step 7e: Derek (Product Manager) ground truth extraction (AC2) -->
|
|
129
|
-
<action>Step 7e — Derek ground truth extraction.
|
|
130
|
-
Read {planning_artifacts}/prd.md and extract:
|
|
131
|
-
— Functional requirements (feature list, requirement IDs) → structural-pattern entries
|
|
132
|
-
— User stories and acceptance criteria summaries → cross-reference entries
|
|
133
|
-
|
|
134
|
-
If {planning_artifacts}/prd.md does not exist: fall back to {planning_artifacts}/prd-brownfield-gaps.md as the alternate PRD path for Derek.
|
|
135
|
-
|
|
136
|
-
Read {planning_artifacts}/epics-and-stories.md and extract for Derek:
|
|
137
|
-
— Epic overview (epic IDs, titles, story counts) → file-inventory entries
|
|
138
|
-
— Story-to-epic mappings → cross-reference entries
|
|
139
|
-
|
|
140
|
-
Read {test_artifacts}/nfr-assessment.md (if present) and extract for Derek:
|
|
141
|
-
— Quality baselines (performance targets, security posture, test coverage) → variable-inventory entries
|
|
142
|
-
If {test_artifacts}/nfr-assessment.md does not exist: log warning "nfr-assessment.md not found in test_artifacts — skipping quality baselines for Derek" and continue without error.
|
|
143
|
-
|
|
144
|
-
Token budget guard: Derek has a 100K token budget (100,000 tokens). Estimate extraction size (characters / 4). If estimated tokens exceed 60% threshold (60,000 tokens), trim to highest-signal entries — prioritize functional requirements and epic summaries over detailed story mappings.
|
|
145
|
-
|
|
146
|
-
Write extracted entries to {memory_path}/pm-sidecar/ground-truth.md.
|
|
147
|
-
If the {memory_path}/pm-sidecar/ directory does not exist, create it along with a new ground-truth.md file with standard headers.
|
|
148
|
-
If ground-truth.md already exists with content: follow merge semantics from the conflict-resolution section — add new entries, update changed entries, preserve existing entries. Never perform a destructive overwrite.</action>
|
|
149
|
-
|
|
150
|
-
<!-- Step 7f: Nate (Scrum Master) ground truth extraction (AC3) -->
|
|
151
|
-
<action>Step 7f — Nate ground truth extraction.
|
|
152
|
-
Read {implementation_artifacts}/sprint-status.yaml (if it exists) and extract for Nate:
|
|
153
|
-
— Current sprint ID, story count, points total → variable-inventory entries
|
|
154
|
-
— Story status distribution → structural-pattern entries
|
|
155
|
-
|
|
156
|
-
Read {memory_path}/sm-sidecar/velocity-data.md (if it exists) and extract for Nate:
|
|
157
|
-
— Velocity history (sprint-over-sprint) → variable-inventory entries
|
|
158
|
-
— Capacity data → variable-inventory entries
|
|
159
|
-
|
|
160
|
-
If neither {implementation_artifacts}/sprint-status.yaml nor {memory_path}/sm-sidecar/velocity-data.md exists: complete this step gracefully with a log message "insufficient sprint data, velocity unavailable" and write ground-truth.md omitting velocity entries. Do not raise an error.
|
|
161
|
-
|
|
162
|
-
Token budget guard: Nate has a 100K token budget (100,000 tokens). Estimate extraction size (characters / 4). If estimated tokens exceed 60% threshold (60,000 tokens), trim to highest-signal entries — prioritize current sprint status over historical velocity data.
|
|
163
|
-
|
|
164
|
-
Write extracted entries to {memory_path}/sm-sidecar/ground-truth.md.
|
|
165
|
-
If the {memory_path}/sm-sidecar/ directory does not exist, create it along with a new ground-truth.md file with standard headers.
|
|
166
|
-
If ground-truth.md already exists with content: follow merge semantics from the conflict-resolution section — add new entries, update changed entries, preserve existing entries. Never perform a destructive overwrite.</action>
|
|
167
|
-
|
|
168
|
-
<!-- Summary report (AC6) -->
|
|
169
|
-
<action>After all Tier 1 extractions complete, output a summary report:
|
|
170
|
-
"Seeded {N} entries for Theo, {M} entries for Derek, {K} entries for Nate"
|
|
171
|
-
If sprint data was absent for Nate, append a note: "(sprint data absent — velocity entries omitted)"
|
|
172
|
-
Include token budget status for each agent (GREEN/YELLOW/RED).</action>
|
|
173
105
|
</step>
|
|
174
106
|
|
|
175
107
|
<next-step command="/gaia-review-api">
|
|
@@ -106,14 +106,24 @@
|
|
|
106
106
|
</step>
|
|
107
107
|
|
|
108
108
|
<step n="7" title="Token Budget Reporting">
|
|
109
|
-
<action>
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
|
|
109
|
+
<action>For each agent sidecar, calculate token usage:
|
|
110
|
+
- Sum file sizes in bytes across all sidecar files (from Step 2 inventory)
|
|
111
|
+
- Convert to approximate token count: file size in bytes / 4 (chars-per-token approximation from config archival.token_approximation)
|
|
112
|
+
- For Tier 1 agents: also calculate ground-truth.md token usage separately</action>
|
|
113
|
+
<action>Compare against budgets from {memory_path}/config.yaml:
|
|
114
|
+
- Tier 1 session budget: tiers.tier_1.session_budget (300K tokens)
|
|
115
|
+
- Tier 1 ground truth budget: agents.{agent}.ground_truth_budget (per-agent: Val 200K, Theo 150K, Derek 100K, Nate 100K)
|
|
116
|
+
- Tier 2 session budget: tiers.tier_2.session_budget (100K tokens)
|
|
117
|
+
- Tier 3: no budget enforced
|
|
118
|
+
- Untiered: no budget enforced</action>
|
|
119
|
+
<action>Apply threshold status indicators per archival config:
|
|
120
|
+
- OK: below 80% of budget
|
|
121
|
+
- warning: at or above 80% but below 90%
|
|
122
|
+
- critical: at or above 90% but below 100%
|
|
123
|
+
- over-budget: at or above 100%</action>
|
|
124
|
+
<action>Build Token Budget Table with columns:
|
|
125
|
+
| Agent | Tier | Files Scanned | Token Usage | Session Budget | GT Budget | % Used | Status |
|
|
126
|
+
For Tier 3 and untiered agents: budget column shows "no budget enforced" with actual token count reported</action>
|
|
117
127
|
</step>
|
|
118
128
|
|
|
119
129
|
<step n="8" title="Archival Recommendations">
|
package/gaia-install.sh
CHANGED
|
@@ -6,7 +6,7 @@ set -euo pipefail
|
|
|
6
6
|
# Installs, updates, validates, and reports on GAIA installations.
|
|
7
7
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
8
8
|
|
|
9
|
-
readonly VERSION="1.
|
|
9
|
+
readonly VERSION="1.65.0"
|
|
10
10
|
readonly GITHUB_REPO="https://github.com/jlouage/Gaia-framework.git"
|
|
11
11
|
readonly MANIFEST_REL="_gaia/_config/manifest.yaml"
|
|
12
12
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gaia-framework",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.65.0",
|
|
4
4
|
"description": "GAIA — Generative Agile Intelligence Architecture installer",
|
|
5
5
|
"bin": {
|
|
6
6
|
"gaia-framework": "./bin/gaia-framework.js"
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"lint": "eslint bin/**/*.js test/**/*.js",
|
|
20
20
|
"lint:fix": "eslint --fix bin/**/*.js test/**/*.js",
|
|
21
21
|
"format:check": "prettier --check \"bin/**/*.js\" \"test/**/*.js\"",
|
|
22
|
-
"format": "prettier --write \"bin/**/*.js\" \"test/**/*.js\""
|
|
22
|
+
"format": "prettier --write \"bin/**/*.js\" \"test/**/*.js\"",
|
|
23
|
+
"bench": "node scripts/benchmark-runner.js"
|
|
23
24
|
},
|
|
24
25
|
"keywords": [
|
|
25
26
|
"gaia",
|