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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # GAIA — Generative Agile Intelligence Architecture
2
2
 
3
- [![Framework](https://img.shields.io/badge/framework-v1.30.0-blue)]()
3
+ [![Framework](https://img.shields.io/badge/framework-v1.30.2-blue)]()
4
4
  [![License](https://img.shields.io/badge/license-AGPL--3.0-green)]()
5
5
  [![Agents](https://img.shields.io/badge/agents-27-purple)]()
6
6
  [![Workflows](https://img.shields.io/badge/workflows-65-orange)]()
@@ -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.0"
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.0"
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 memory sidecar directories with .gitkeep
240
- step "Creating memory sidecar directories..."
241
- local sidecar_dirs=(
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: _gaia/_memory/$dir/"
282
+ detail "[dry-run] Would create: _memory/$dir/"
257
283
  else
258
- mkdir -p "$TARGET/_gaia/_memory/$dir"
259
- touch "$TARGET/_gaia/_memory/$dir/.gitkeep"
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
- _gaia/_memory/checkpoints/*.yaml
383
- _gaia/_memory/*-sidecar/*.md
384
- _gaia/_memory/*-sidecar/*.yaml
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, _memory/, .resolved/, CLAUDE.md
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
- # Sidecar directories
608
- local sidecar_dirs=(
609
- "checkpoints" "checkpoints/completed"
610
- "architect-sidecar" "devops-sidecar" "orchestrator-sidecar"
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/_gaia/_memory"/*-sidecar; do
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/_gaia/_memory/checkpoints" ]]; then
711
- checkpoint_count="$(find "$TARGET/_gaia/_memory/checkpoints" -name '*.yaml' -type f 2>/dev/null | wc -l | tr -d ' ')"
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gaia-framework",
3
- "version": "1.30.0",
3
+ "version": "1.30.2",
4
4
  "description": "GAIA — Generative Agile Intelligence Architecture installer",
5
5
  "bin": {
6
6
  "gaia-framework": "./bin/gaia-framework.js"