gaia-framework 1.49.0 → 1.50.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/README.md +2 -2
- package/gaia-install.sh +25 -16
- 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
|
[]()
|
|
@@ -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.
|
|
463
|
+
framework_version: "1.50.0"
|
|
464
464
|
user_name: "your-name"
|
|
465
465
|
project_name: "your-project"
|
|
466
466
|
```
|
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.50.0"
|
|
10
10
|
readonly GITHUB_REPO="https://github.com/jlouage/Gaia-framework.git"
|
|
11
11
|
readonly MANIFEST_REL="_gaia/_config/manifest.yaml"
|
|
12
12
|
|
|
@@ -600,6 +600,12 @@ cmd_update() {
|
|
|
600
600
|
# ─── cmd_validate ───────────────────────────────────────────────────────────
|
|
601
601
|
|
|
602
602
|
cmd_validate() {
|
|
603
|
+
# Guard: reject empty, unset, or whitespace-only TARGET
|
|
604
|
+
if [[ -z "${TARGET:-}" || "${TARGET}" =~ ^[[:space:]]+$ ]]; then
|
|
605
|
+
error "TARGET path is empty or whitespace-only"
|
|
606
|
+
exit 1
|
|
607
|
+
fi
|
|
608
|
+
|
|
603
609
|
if [[ ! -d "$TARGET/_gaia" ]]; then
|
|
604
610
|
error "No GAIA installation found at $TARGET"
|
|
605
611
|
exit 1
|
|
@@ -610,9 +616,12 @@ cmd_validate() {
|
|
|
610
616
|
|
|
611
617
|
local pass=0 fail=0
|
|
612
618
|
|
|
619
|
+
# check: accepts a label and the exit status ($?) of a preceding test command.
|
|
620
|
+
# The test command runs inline before calling check, passing $? as the result.
|
|
621
|
+
# This avoids eval entirely — conditions execute directly via [[ ]] or grep.
|
|
613
622
|
check() {
|
|
614
|
-
local label="$1"
|
|
615
|
-
if
|
|
623
|
+
local label="$1" result="$2"
|
|
624
|
+
if [[ "$result" -eq 0 ]]; then
|
|
616
625
|
printf " ${GREEN}✔${RESET} %s\n" "$label"
|
|
617
626
|
pass=$((pass + 1))
|
|
618
627
|
else
|
|
@@ -622,47 +631,47 @@ cmd_validate() {
|
|
|
622
631
|
}
|
|
623
632
|
|
|
624
633
|
# Manifest
|
|
625
|
-
|
|
634
|
+
[[ -f "$TARGET/$MANIFEST_REL" ]]; check "manifest.yaml exists" $?
|
|
626
635
|
|
|
627
636
|
# Global config fields
|
|
628
637
|
local global="$TARGET/_gaia/_config/global.yaml"
|
|
629
|
-
|
|
638
|
+
[[ -f "$global" ]]; check "global.yaml exists" $?
|
|
630
639
|
if [[ -f "$global" ]]; then
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
640
|
+
local grc=0; grep -q '^project_name:' "$global" || grc=$?; check "global.yaml has project_name" $grc
|
|
641
|
+
grc=0; grep -q '^user_name:' "$global" || grc=$?; check "global.yaml has user_name" $grc
|
|
642
|
+
grc=0; grep -q '^framework_version:' "$global" || grc=$?; check "global.yaml has framework_version" $grc
|
|
634
643
|
fi
|
|
635
644
|
|
|
636
645
|
# Module directories
|
|
637
646
|
for mod in core lifecycle dev creative testing; do
|
|
638
|
-
|
|
647
|
+
[[ -d "$TARGET/_gaia/$mod" ]]; check "Module: $mod" $?
|
|
639
648
|
done
|
|
640
649
|
|
|
641
650
|
# .resolved directories
|
|
642
651
|
for mod in core lifecycle creative testing; do
|
|
643
|
-
|
|
652
|
+
[[ -d "$TARGET/_gaia/$mod/.resolved" ]]; check ".resolved: $mod" $?
|
|
644
653
|
done
|
|
645
654
|
|
|
646
655
|
# Memory directory at project root (ADR-013)
|
|
647
|
-
|
|
656
|
+
[[ -d "$TARGET/_memory" ]]; check "_memory/ directory" $?
|
|
648
657
|
for dir in "${MEMORY_DIRS[@]}"; do
|
|
649
|
-
|
|
658
|
+
[[ -d "$TARGET/_memory/$dir" ]]; check "Memory: $dir" $?
|
|
650
659
|
done
|
|
651
660
|
|
|
652
661
|
# CLAUDE.md
|
|
653
|
-
|
|
662
|
+
[[ -f "$TARGET/CLAUDE.md" ]]; check "CLAUDE.md exists" $?
|
|
654
663
|
|
|
655
664
|
# Slash commands
|
|
656
|
-
|
|
665
|
+
[[ -d "$TARGET/.claude/commands" ]]; check "Slash commands directory" $?
|
|
657
666
|
if [[ -d "$TARGET/.claude/commands" ]]; then
|
|
658
667
|
local cmd_count
|
|
659
668
|
cmd_count="$(find "$TARGET/.claude/commands" -name 'gaia*.md' -type f 2>/dev/null | wc -l | tr -d ' ')"
|
|
660
|
-
check "Slash commands present (found: $cmd_count)"
|
|
669
|
+
[[ "$cmd_count" -gt 0 ]]; check "Slash commands present (found: $cmd_count)" $?
|
|
661
670
|
fi
|
|
662
671
|
|
|
663
672
|
# Docs directories
|
|
664
673
|
for dir in planning-artifacts implementation-artifacts test-artifacts creative-artifacts; do
|
|
665
|
-
|
|
674
|
+
[[ -d "$TARGET/docs/$dir" ]]; check "Docs: $dir" $?
|
|
666
675
|
done
|
|
667
676
|
|
|
668
677
|
# Version
|