gaia-framework 1.30.0 → 1.30.2
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/README.md +2 -2
- package/gaia-install.sh +70 -38
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GAIA — Generative Agile Intelligence Architecture
|
|
2
2
|
|
|
3
|
-
[]()
|
|
4
4
|
[]()
|
|
5
5
|
[]()
|
|
6
6
|
[]()
|
|
@@ -448,7 +448,7 @@ The single source of truth is `_gaia/_config/global.yaml`:
|
|
|
448
448
|
|
|
449
449
|
```yaml
|
|
450
450
|
framework_name: "GAIA"
|
|
451
|
-
framework_version: "1.30.
|
|
451
|
+
framework_version: "1.30.2"
|
|
452
452
|
user_name: "your-name"
|
|
453
453
|
project_name: "your-project"
|
|
454
454
|
```
|
package/gaia-install.sh
CHANGED
|
@@ -6,10 +6,49 @@ set -euo pipefail
|
|
|
6
6
|
# Installs, updates, validates, and reports on GAIA installations.
|
|
7
7
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
8
8
|
|
|
9
|
-
readonly VERSION="1.30.
|
|
9
|
+
readonly VERSION="1.30.2"
|
|
10
10
|
readonly GITHUB_REPO="https://github.com/jlouage/Gaia-framework.git"
|
|
11
11
|
readonly MANIFEST_REL="_gaia/_config/manifest.yaml"
|
|
12
12
|
|
|
13
|
+
# _memory/ directory tree at project root (ADR-013, ADR-014)
|
|
14
|
+
# Single source of truth — used by cmd_init, cmd_update, and cmd_validate
|
|
15
|
+
MEMORY_DIRS=(
|
|
16
|
+
"checkpoints"
|
|
17
|
+
"checkpoints/completed"
|
|
18
|
+
# Tier 1
|
|
19
|
+
"validator-sidecar"
|
|
20
|
+
"architect-sidecar"
|
|
21
|
+
"pm-sidecar"
|
|
22
|
+
"sm-sidecar"
|
|
23
|
+
# Tier 2
|
|
24
|
+
"orchestrator-sidecar"
|
|
25
|
+
"security-sidecar"
|
|
26
|
+
"devops-sidecar"
|
|
27
|
+
"test-architect-sidecar"
|
|
28
|
+
# Tier 3 — lifecycle
|
|
29
|
+
"storyteller-sidecar"
|
|
30
|
+
"tech-writer-sidecar"
|
|
31
|
+
# Tier 3 — dev agents
|
|
32
|
+
"angular-dev-sidecar"
|
|
33
|
+
"typescript-dev-sidecar"
|
|
34
|
+
"flutter-dev-sidecar"
|
|
35
|
+
"java-dev-sidecar"
|
|
36
|
+
"python-dev-sidecar"
|
|
37
|
+
"mobile-dev-sidecar"
|
|
38
|
+
# Tier 3 — creative
|
|
39
|
+
"brainstorming-coach-sidecar"
|
|
40
|
+
"design-thinking-coach-sidecar"
|
|
41
|
+
"innovation-strategist-sidecar"
|
|
42
|
+
"problem-solver-sidecar"
|
|
43
|
+
"presentation-designer-sidecar"
|
|
44
|
+
# Tier 3 — analysis/testing
|
|
45
|
+
"analyst-sidecar"
|
|
46
|
+
"ux-designer-sidecar"
|
|
47
|
+
"qa-sidecar"
|
|
48
|
+
"performance-sidecar"
|
|
49
|
+
"data-engineer-sidecar"
|
|
50
|
+
)
|
|
51
|
+
|
|
13
52
|
# Temp dir tracking for cleanup
|
|
14
53
|
TEMP_CLONE_DIR=""
|
|
15
54
|
|
|
@@ -236,27 +275,14 @@ cmd_init() {
|
|
|
236
275
|
"$source/_gaia/" "$TARGET/_gaia/"
|
|
237
276
|
fi
|
|
238
277
|
|
|
239
|
-
# Step 3: Create
|
|
240
|
-
step "Creating memory
|
|
241
|
-
|
|
242
|
-
"checkpoints"
|
|
243
|
-
"checkpoints/completed"
|
|
244
|
-
"architect-sidecar"
|
|
245
|
-
"devops-sidecar"
|
|
246
|
-
"orchestrator-sidecar"
|
|
247
|
-
"pm-sidecar"
|
|
248
|
-
"security-sidecar"
|
|
249
|
-
"sm-sidecar"
|
|
250
|
-
"storyteller-sidecar"
|
|
251
|
-
"tech-writer-sidecar"
|
|
252
|
-
"test-architect-sidecar"
|
|
253
|
-
)
|
|
254
|
-
for dir in "${sidecar_dirs[@]}"; do
|
|
278
|
+
# Step 3: Create _memory/ directory tree at project root (ADR-013)
|
|
279
|
+
step "Creating memory directories at project root..."
|
|
280
|
+
for dir in "${MEMORY_DIRS[@]}"; do
|
|
255
281
|
if [[ "$OPT_DRY_RUN" == true ]]; then
|
|
256
|
-
detail "[dry-run] Would create:
|
|
282
|
+
detail "[dry-run] Would create: _memory/$dir/"
|
|
257
283
|
else
|
|
258
|
-
mkdir -p "$TARGET/
|
|
259
|
-
touch "$TARGET/
|
|
284
|
+
mkdir -p "$TARGET/_memory/$dir"
|
|
285
|
+
touch "$TARGET/_memory/$dir/.gitkeep"
|
|
260
286
|
fi
|
|
261
287
|
done
|
|
262
288
|
|
|
@@ -379,9 +405,9 @@ cmd_init() {
|
|
|
379
405
|
gitignore_block="$(cat <<'GITIGNORE'
|
|
380
406
|
|
|
381
407
|
# GAIA Framework — runtime artifacts
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
408
|
+
_memory/checkpoints/*.yaml
|
|
409
|
+
_memory/checkpoints/completed/*.yaml
|
|
410
|
+
_memory/*-sidecar/archive/
|
|
385
411
|
_gaia/**/.resolved/*.yaml
|
|
386
412
|
!_gaia/**/.resolved/.gitkeep
|
|
387
413
|
GITIGNORE
|
|
@@ -442,7 +468,7 @@ cmd_update() {
|
|
|
442
468
|
local backup_dir="$TARGET/_gaia/_backups/$timestamp"
|
|
443
469
|
|
|
444
470
|
# Update framework structure — these directories get fully refreshed
|
|
445
|
-
# NEVER touch: global.yaml,
|
|
471
|
+
# NEVER touch: global.yaml, .resolved/, CLAUDE.md, project-root _memory/
|
|
446
472
|
local update_targets=(
|
|
447
473
|
"core/engine"
|
|
448
474
|
"core/agents"
|
|
@@ -498,6 +524,17 @@ cmd_update() {
|
|
|
498
524
|
|
|
499
525
|
detail "Processed $updated file(s) across ${#update_targets[@]} targets"
|
|
500
526
|
|
|
527
|
+
# Ensure _memory/ directory tree exists at project root (ADR-013)
|
|
528
|
+
step "Ensuring memory directories at project root..."
|
|
529
|
+
for dir in "${MEMORY_DIRS[@]}"; do
|
|
530
|
+
if [[ "$OPT_DRY_RUN" == true ]]; then
|
|
531
|
+
[[ ! -d "$TARGET/_memory/$dir" ]] && detail "[dry-run] Would create: _memory/$dir/"
|
|
532
|
+
else
|
|
533
|
+
mkdir -p "$TARGET/_memory/$dir"
|
|
534
|
+
[[ ! -f "$TARGET/_memory/$dir/.gitkeep" ]] && touch "$TARGET/_memory/$dir/.gitkeep"
|
|
535
|
+
fi
|
|
536
|
+
done
|
|
537
|
+
|
|
501
538
|
# Ensure custom skills directory exists (user-owned, never overwritten)
|
|
502
539
|
if [[ "$OPT_DRY_RUN" == true ]]; then
|
|
503
540
|
[[ ! -d "$TARGET/custom/skills" ]] && detail "[dry-run] Would create: custom/skills/"
|
|
@@ -604,15 +641,10 @@ cmd_validate() {
|
|
|
604
641
|
check ".resolved: $mod" "[[ -d '$TARGET/_gaia/$mod/.resolved' ]]"
|
|
605
642
|
done
|
|
606
643
|
|
|
607
|
-
#
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
"
|
|
611
|
-
"pm-sidecar" "security-sidecar" "sm-sidecar"
|
|
612
|
-
"storyteller-sidecar" "tech-writer-sidecar" "test-architect-sidecar"
|
|
613
|
-
)
|
|
614
|
-
for dir in "${sidecar_dirs[@]}"; do
|
|
615
|
-
check "Sidecar: $dir" "[[ -d '$TARGET/_gaia/_memory/$dir' ]]"
|
|
644
|
+
# Memory directory at project root (ADR-013)
|
|
645
|
+
check "_memory/ directory" "[[ -d '$TARGET/_memory' ]]"
|
|
646
|
+
for dir in "${MEMORY_DIRS[@]}"; do
|
|
647
|
+
check "Memory: $dir" "[[ -d '$TARGET/_memory/$dir' ]]"
|
|
616
648
|
done
|
|
617
649
|
|
|
618
650
|
# CLAUDE.md
|
|
@@ -680,10 +712,10 @@ cmd_status() {
|
|
|
680
712
|
fi
|
|
681
713
|
printf " ${BOLD}Commands:${RESET} %s slash commands\n" "$cmd_count"
|
|
682
714
|
|
|
683
|
-
# Sidecar status
|
|
715
|
+
# Sidecar status (project root _memory/)
|
|
684
716
|
local sidecar_count=0
|
|
685
717
|
local sidecar_populated=0
|
|
686
|
-
for dir in "$TARGET/
|
|
718
|
+
for dir in "$TARGET/_memory"/*-sidecar; do
|
|
687
719
|
[[ -d "$dir" ]] || continue
|
|
688
720
|
((sidecar_count++))
|
|
689
721
|
local file_count
|
|
@@ -705,10 +737,10 @@ cmd_status() {
|
|
|
705
737
|
done
|
|
706
738
|
printf " ${BOLD}.resolved:${RESET} %s directories (%s populated)\n" "$resolved_count" "$resolved_populated"
|
|
707
739
|
|
|
708
|
-
# Checkpoints
|
|
740
|
+
# Checkpoints (project root _memory/)
|
|
709
741
|
local checkpoint_count=0
|
|
710
|
-
if [[ -d "$TARGET/
|
|
711
|
-
checkpoint_count="$(find "$TARGET/
|
|
742
|
+
if [[ -d "$TARGET/_memory/checkpoints" ]]; then
|
|
743
|
+
checkpoint_count="$(find "$TARGET/_memory/checkpoints" -name '*.yaml' -type f 2>/dev/null | wc -l | tr -d ' ')"
|
|
712
744
|
fi
|
|
713
745
|
printf " ${BOLD}Checkpoints:${RESET} %s\n" "$checkpoint_count"
|
|
714
746
|
|