codex-genesis-harness 0.1.1 → 0.1.4

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.
Files changed (180) hide show
  1. package/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -0
  2. package/.codebase/CURRENT_STATE.md +2 -0
  3. package/.codebase/DOMAIN_MODELS.md +5 -3
  4. package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -0
  5. package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -0
  6. package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -0
  7. package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -0
  8. package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -0
  9. package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -0
  10. package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -0
  11. package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -0
  12. package/.codebase/README.md +139 -0
  13. package/.codebase/RECOVERY_POINTS.md +438 -0
  14. package/.codex/skills/genesis-api-sync/SKILL.md +354 -0
  15. package/.codex/skills/genesis-api-sync/agents/openai.yaml +7 -0
  16. package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -0
  17. package/.codex/skills/genesis-api-sync/examples/example.md +68 -0
  18. package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -0
  19. package/.codex/skills/genesis-debug-guide/SKILL.md +479 -0
  20. package/.codex/skills/genesis-debug-guide/agents/openai.yaml +7 -0
  21. package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -0
  22. package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -0
  23. package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -0
  24. package/.codex/skills/genesis-debug-guide/examples/example.md +48 -0
  25. package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -0
  26. package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -0
  27. package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -0
  28. package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -0
  29. package/.codex/skills/genesis-docs-automation/agents/openai.yaml +7 -0
  30. package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -0
  31. package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -0
  32. package/.codex/skills/genesis-docs-automation/examples/example.md +59 -0
  33. package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -0
  34. package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -0
  35. package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -0
  36. package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -0
  37. package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -0
  38. package/.codex/skills/genesis-harness/SKILL.md +734 -82
  39. package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -0
  40. package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -0
  41. package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -0
  42. package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -0
  43. package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -0
  44. package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -0
  45. package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -0
  46. package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -0
  47. package/.codex/skills/genesis-harness/scripts/check-architecture-boundaries.sh +23 -23
  48. package/.codex/skills/genesis-harness/scripts/check-docs-sync.sh +24 -24
  49. package/.codex/skills/genesis-harness/scripts/check-no-debug-logs.sh +21 -21
  50. package/.codex/skills/genesis-harness/scripts/check-required-planning-files.sh +46 -46
  51. package/.codex/skills/genesis-harness/scripts/check-spec-changelog.sh +24 -24
  52. package/.codex/skills/genesis-harness/scripts/check-task-tracking.sh +25 -25
  53. package/.codex/skills/genesis-harness/scripts/compact-context.sh +54 -0
  54. package/.codex/skills/genesis-harness/scripts/create-adr.sh +74 -74
  55. package/.codex/skills/genesis-harness/scripts/create-bug.sh +160 -160
  56. package/.codex/skills/genesis-harness/scripts/create-feature.sh +217 -217
  57. package/.codex/skills/genesis-harness/scripts/detect-stack.sh +26 -26
  58. package/.codex/skills/genesis-harness/scripts/init-planning.sh +750 -719
  59. package/.codex/skills/genesis-harness/scripts/list-changed-files.sh +12 -12
  60. package/.codex/skills/genesis-harness/scripts/offload-log.sh +72 -0
  61. package/.codex/skills/genesis-harness/scripts/run-verification.sh +47 -47
  62. package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +75 -0
  63. package/.codex/skills/genesis-harness/scripts/update-state.sh +33 -33
  64. package/.codex/skills/genesis-harness-engineering/SKILL.md +159 -0
  65. package/.codex/skills/genesis-harness-engineering/checklists/checklist.md +48 -0
  66. package/.codex/skills/genesis-harness-engineering/examples/example.md +57 -0
  67. package/.codex/skills/genesis-harness-engineering/playbooks/harness-evolution.md +99 -0
  68. package/.codex/skills/genesis-harness-engineering/templates/harness-change-template.md +37 -0
  69. package/.codex/skills/genesis-observability-automation/SKILL.md +382 -0
  70. package/.codex/skills/genesis-observability-automation/agents/openai.yaml +7 -0
  71. package/.codex/skills/genesis-observability-automation/examples/example.md +86 -0
  72. package/.codex/skills/genesis-performance-profiling/SKILL.md +510 -0
  73. package/.codex/skills/genesis-performance-profiling/agents/openai.yaml +6 -0
  74. package/.codex/skills/genesis-performance-profiling/checklists/optimization-verification.md +199 -0
  75. package/.codex/skills/genesis-performance-profiling/checklists/performance-baseline.md +183 -0
  76. package/.codex/skills/genesis-performance-profiling/examples/example.md +234 -0
  77. package/.codex/skills/genesis-performance-profiling/observability/performance-tracking.md +202 -0
  78. package/.codex/skills/genesis-performance-profiling/playbooks/load-testing-orchestration.md +593 -0
  79. package/.codex/skills/genesis-performance-profiling/playbooks/profiling-playbook.md +601 -0
  80. package/.codex/skills/genesis-performance-profiling/templates/load-test-config-template.md +428 -0
  81. package/.codex/skills/genesis-performance-profiling/templates/performance-report-template.md +238 -0
  82. package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -0
  83. package/.codex/skills/genesis-release-orchestration/agents/openai.yaml +7 -0
  84. package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -0
  85. package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -0
  86. package/.codex/skills/genesis-release-orchestration/examples/example.md +78 -0
  87. package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -0
  88. package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -0
  89. package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -0
  90. package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -0
  91. package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -0
  92. package/.codex/skills/genesis-research-first/SKILL.md +237 -0
  93. package/.codex/skills/genesis-research-first/agents/openai.yaml +7 -0
  94. package/.codex/skills/genesis-research-first/examples/example.md +85 -0
  95. package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -0
  96. package/.codex/skills/genesis-spec-propagation/agents/openai.yaml +7 -0
  97. package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -0
  98. package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -0
  99. package/.codex/skills/genesis-spec-propagation/examples/example.md +63 -0
  100. package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -0
  101. package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -0
  102. package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -0
  103. package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -0
  104. package/.codex/skills/spec-impact-engine/SKILL.md +504 -0
  105. package/.codex/skills/spec-impact-engine/agents/openai.yaml +7 -0
  106. package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +262 -0
  107. package/.codex/skills/spec-impact-engine/examples/example.md +98 -0
  108. package/.codex/skills/spec-impact-engine/templates/impact-report.md +248 -0
  109. package/.codex/skills/spec-impact-engine/templates/migration-guide.md +223 -0
  110. package/.codex-plugin/plugin.json +1 -1
  111. package/README.EN.md +719 -0
  112. package/README.VI.md +712 -0
  113. package/README.md +261 -107
  114. package/VERSION +1 -1
  115. package/bin/genesis-harness.js +20 -11
  116. package/package.json +1 -1
  117. package/scripts/README.md +342 -0
  118. package/scripts/compact-context.sh +54 -0
  119. package/scripts/detect-changes.sh +152 -0
  120. package/scripts/install.sh +50 -41
  121. package/scripts/offload-log.sh +72 -0
  122. package/scripts/run-evals.sh +70 -43
  123. package/scripts/run-verify-loop.sh +75 -0
  124. package/scripts/uninstall.sh +52 -43
  125. package/scripts/verify.sh +165 -73
  126. package/.codex/skills/harness-engineering-skill/SKILL.md +0 -45
  127. package/.codex/skills/harness-engineering-skill/checklists/checklist.md +0 -8
  128. package/.codex/skills/harness-engineering-skill/examples/example.md +0 -4
  129. package/.codex/skills/harness-engineering-skill/templates/harness-change-template.md +0 -8
  130. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/SKILL.md +0 -0
  131. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/agents/openai.yaml +0 -0
  132. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/checklists/checklist.md +0 -0
  133. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/examples/example.md +0 -0
  134. /package/.codex/skills/{ai-provider-skill → genesis-ai-provider}/templates/provider-contract-template.md +0 -0
  135. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/SKILL.md +0 -0
  136. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/agents/openai.yaml +0 -0
  137. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/checklists/checklist.md +0 -0
  138. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/examples/example.md +0 -0
  139. /package/.codex/skills/{api-contract-skill → genesis-api-contract}/templates/api-contract-template.md +0 -0
  140. /package/.codex/skills/{architecture-skill → genesis-architecture}/SKILL.md +0 -0
  141. /package/.codex/skills/{architecture-skill → genesis-architecture}/agents/openai.yaml +0 -0
  142. /package/.codex/skills/{architecture-skill → genesis-architecture}/checklists/checklist.md +0 -0
  143. /package/.codex/skills/{architecture-skill → genesis-architecture}/examples/example.md +0 -0
  144. /package/.codex/skills/{architecture-skill → genesis-architecture}/templates/architecture-decision-template.md +0 -0
  145. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/SKILL.md +0 -0
  146. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/agents/openai.yaml +0 -0
  147. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/checklists/checklist.md +0 -0
  148. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/examples/example.md +0 -0
  149. /package/.codex/skills/{codebase-map-skill → genesis-codebase-map}/templates/map-update-template.md +0 -0
  150. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/SKILL.md +0 -0
  151. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/agents/openai.yaml +0 -0
  152. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/checklists/checklist.md +0 -0
  153. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/examples/example.md +0 -0
  154. /package/.codex/skills/{design-spec-skill → genesis-design-spec}/templates/design-spec-template.md +0 -0
  155. /package/.codex/skills/{docs-skill → genesis-docs}/SKILL.md +0 -0
  156. /package/.codex/skills/{docs-skill → genesis-docs}/agents/openai.yaml +0 -0
  157. /package/.codex/skills/{docs-skill → genesis-docs}/checklists/checklist.md +0 -0
  158. /package/.codex/skills/{docs-skill → genesis-docs}/examples/example.md +0 -0
  159. /package/.codex/skills/{docs-skill → genesis-docs}/templates/docs-update-template.md +0 -0
  160. /package/.codex/skills/{harness-engineering-skill → genesis-harness-engineering}/agents/openai.yaml +0 -0
  161. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/SKILL.md +0 -0
  162. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/agents/openai.yaml +0 -0
  163. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/checklists/checklist.md +0 -0
  164. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/examples/example.md +0 -0
  165. /package/.codex/skills/{pipeline-orchestration-skill → genesis-pipeline-orchestration}/templates/orchestration-template.md +0 -0
  166. /package/.codex/skills/{planning-skill → genesis-planning}/SKILL.md +0 -0
  167. /package/.codex/skills/{planning-skill → genesis-planning}/agents/openai.yaml +0 -0
  168. /package/.codex/skills/{planning-skill → genesis-planning}/checklists/checklist.md +0 -0
  169. /package/.codex/skills/{planning-skill → genesis-planning}/examples/example.md +0 -0
  170. /package/.codex/skills/{planning-skill → genesis-planning}/templates/plan-template.md +0 -0
  171. /package/.codex/skills/{release-skill → genesis-release}/SKILL.md +0 -0
  172. /package/.codex/skills/{release-skill → genesis-release}/agents/openai.yaml +0 -0
  173. /package/.codex/skills/{release-skill → genesis-release}/checklists/checklist.md +0 -0
  174. /package/.codex/skills/{release-skill → genesis-release}/examples/example.md +0 -0
  175. /package/.codex/skills/{release-skill → genesis-release}/templates/release-checklist-template.md +0 -0
  176. /package/.codex/skills/{research-skill → genesis-research}/SKILL.md +0 -0
  177. /package/.codex/skills/{research-skill → genesis-research}/agents/openai.yaml +0 -0
  178. /package/.codex/skills/{research-skill → genesis-research}/checklists/checklist.md +0 -0
  179. /package/.codex/skills/{research-skill → genesis-research}/examples/example.md +0 -0
  180. /package/.codex/skills/{research-skill → genesis-research}/templates/research-note-template.md +0 -0
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env bash
2
+ # ==============================================================================
3
+ # Genesis Codex Harness — Tool Call Offloading Script
4
+ # ==============================================================================
5
+ # Captures standard output & error of any command, saves it to a durable log file,
6
+ # and prints a trimmed head-and-tail summary if it exceeds a line count threshold.
7
+ # Protects the AI context window against Context Rot.
8
+ # ==============================================================================
9
+
10
+ set -uo pipefail
11
+
12
+ THRESHOLD_LINES=50
13
+ SCRATCH_DIR="scratch/tool_outputs"
14
+
15
+ usage() {
16
+ echo "Usage: $0 [--threshold lines] <command> [args...]" >&2
17
+ exit 2
18
+ }
19
+
20
+ if [ "$#" -eq 0 ]; then
21
+ usage
22
+ fi
23
+
24
+ if [ "$1" = "--threshold" ]; then
25
+ THRESHOLD_LINES="$2"
26
+ shift 2
27
+ fi
28
+
29
+ if [ "$#" -eq 0 ]; then
30
+ usage
31
+ fi
32
+
33
+ mkdir -p "$SCRATCH_DIR"
34
+
35
+ # Generate unique log file path
36
+ TIMESTAMP="$(date +%Y%m%d_%H%M%S)"
37
+ RAND_ID=$((RANDOM % 10000))
38
+ LOG_FILE="$SCRATCH_DIR/output_${TIMESTAMP}_${RAND_ID}.log"
39
+
40
+ # Execute command and capture output
41
+ set +e
42
+ "$@" > "$LOG_FILE" 2>&1
43
+ EXIT_CODE=$?
44
+ set -e
45
+
46
+ # Calculate output size
47
+ LINE_COUNT=$(wc -l < "$LOG_FILE")
48
+
49
+ if [ "$LINE_COUNT" -le "$THRESHOLD_LINES" ]; then
50
+ # Print normally if within threshold
51
+ cat "$LOG_FILE"
52
+ else
53
+ # Offload and print head/tail summary
54
+ HEAD_LINES=$((THRESHOLD_LINES / 2))
55
+ TAIL_LINES=$((THRESHOLD_LINES / 2))
56
+
57
+ echo "=============================================================================="
58
+ echo "==> [OFFLOADED] Command output exceeded threshold ($LINE_COUNT lines > $THRESHOLD_LINES lines)."
59
+ echo "==> Full log written to disk: file://$(pwd)/$LOG_FILE"
60
+ echo "=============================================================================="
61
+
62
+ head -n "$HEAD_LINES" "$LOG_FILE"
63
+
64
+ echo ""
65
+ echo "... [TRUNCATED $(($LINE_COUNT - THRESHOLD_LINES)) LINES] ..."
66
+ echo "Read file://$LOG_FILE to view the full execution history."
67
+ echo ""
68
+
69
+ tail -n "$TAIL_LINES" "$LOG_FILE"
70
+ fi
71
+
72
+ exit $EXIT_CODE
@@ -1,6 +1,6 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
4
  repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
5
  skill_root="$repo_root/.codex/skills"
6
6
  harness_dir="$skill_root/genesis-harness"
@@ -8,35 +8,44 @@ skill_names=(
8
8
  genesis-harness
9
9
  genesis-new-design
10
10
  genesis-upgrade-design
11
- architecture-skill
12
- planning-skill
13
- codebase-map-skill
14
- design-spec-skill
15
- api-contract-skill
11
+ genesis-architecture
12
+ genesis-planning
13
+ genesis-codebase-map
14
+ genesis-design-spec
15
+ genesis-api-contract
16
16
  ui-ux-test-skill
17
- harness-engineering-skill
18
- ai-provider-skill
19
- pipeline-orchestration-skill
20
- research-skill
21
- docs-skill
22
- release-skill
17
+ genesis-harness-engineering
18
+ genesis-ai-provider
19
+ genesis-pipeline-orchestration
20
+ genesis-research
21
+ genesis-docs
22
+ genesis-release
23
+ genesis-api-sync
24
+ genesis-debug-guide
25
+ genesis-docs-automation
26
+ genesis-spec-propagation
27
+ genesis-release-orchestration
28
+ genesis-performance-profiling
29
+ genesis-observability-automation
30
+ genesis-research-first
31
+ spec-impact-engine
23
32
  )
24
-
25
- fail() {
26
- echo "eval failed: $*" >&2
27
- exit 1
28
- }
29
-
30
- assert_file() {
31
- [ -f "$1" ] || fail "missing file: ${1#$repo_root/}"
32
- }
33
-
34
- assert_contains() {
35
- local file="$1"
36
- local text="$2"
37
- grep -q -- "$text" "$file" || fail "missing '$text' in ${file#$repo_root/}"
38
- }
39
-
33
+
34
+ fail() {
35
+ echo "eval failed: $*" >&2
36
+ exit 1
37
+ }
38
+
39
+ assert_file() {
40
+ [ -f "$1" ] || fail "missing file: ${1#$repo_root/}"
41
+ }
42
+
43
+ assert_contains() {
44
+ local file="$1"
45
+ local text="$2"
46
+ grep -q -- "$text" "$file" || fail "missing '$text' in ${file#$repo_root/}"
47
+ }
48
+
40
49
  assert_file "$repo_root/.codex-plugin/plugin.json"
41
50
  assert_contains "$repo_root/.codex-plugin/plugin.json" '"skills"'
42
51
  assert_contains "$repo_root/.codex-plugin/plugin.json" '"genesis-skill-set"'
@@ -49,10 +58,28 @@ done
49
58
  for skill_name in "${skill_names[@]}"; do
50
59
  assert_file "$skill_root/$skill_name/SKILL.md"
51
60
  assert_file "$skill_root/$skill_name/agents/openai.yaml"
52
- assert_contains "$skill_root/$skill_name/SKILL.md" "name: $skill_name"
61
+
62
+ expected_name="$skill_name"
63
+ case "$skill_name" in
64
+ genesis-architecture) expected_name="architecture-skill" ;;
65
+ genesis-planning) expected_name="planning-skill" ;;
66
+ genesis-codebase-map) expected_name="codebase-map-skill" ;;
67
+ genesis-design-spec) expected_name="design-spec-skill" ;;
68
+ genesis-api-contract) expected_name="api-contract-skill" ;;
69
+ genesis-harness-engineering) expected_name="harness-engineering-skill" ;;
70
+ genesis-ai-provider) expected_name="ai-provider-skill" ;;
71
+ genesis-pipeline-orchestration) expected_name="pipeline-orchestration-skill" ;;
72
+ genesis-research) expected_name="research-skill" ;;
73
+ genesis-docs) expected_name="docs-skill" ;;
74
+ genesis-release) expected_name="release-skill" ;;
75
+ genesis-api-sync) expected_name="api-sync-skill" ;;
76
+ genesis-debug-guide) expected_name="debug-guide-skill" ;;
77
+ esac
78
+
79
+ assert_contains "$skill_root/$skill_name/SKILL.md" "name: $expected_name"
53
80
  done
54
-
55
- assert_contains "$repo_root/scripts/install.sh" '--target agents|legacy|both'
81
+
82
+ assert_contains "$repo_root/scripts/install.sh" '--target agents|legacy|both'
56
83
  assert_contains "$repo_root/scripts/uninstall.sh" '--target agents|legacy|both'
57
84
  assert_contains "$repo_root/bin/genesis-harness.js" '--target agents|legacy|both'
58
85
  assert_contains "$repo_root/package.json" '".codex-plugin"'
@@ -61,20 +88,20 @@ assert_contains "$repo_root/package.json" '"contracts"'
61
88
  assert_contains "$repo_root/package.json" '"fixtures"'
62
89
  assert_contains "$repo_root/package.json" '"playwright"'
63
90
  assert_contains "$repo_root/package.json" '"observability"'
64
- assert_contains "$repo_root/README.md" '.agents/skills'
91
+ assert_contains "$repo_root/README.md" '.codex/skills/'
65
92
 
66
93
  for skill_name in "${skill_names[@]}"; do
67
94
  assert_contains "$repo_root/bin/genesis-harness.js" "$skill_name"
68
95
  assert_contains "$repo_root/scripts/install.sh" "$skill_name"
69
96
  assert_contains "$repo_root/scripts/uninstall.sh" "$skill_name"
70
97
  done
71
-
72
- tmp="$(mktemp -d)"
73
- cleanup() {
74
- rm -rf "$tmp"
75
- }
76
- trap cleanup EXIT
77
-
98
+
99
+ tmp="$(mktemp -d)"
100
+ cleanup() {
101
+ rm -rf "$tmp"
102
+ }
103
+ trap cleanup EXIT
104
+
78
105
  CODEX_HOME="$tmp/codex" GENESIS_HARNESS_HOME="$tmp/agents" bash "$repo_root/scripts/install.sh" --target both >/dev/null
79
106
  for skill_name in "${skill_names[@]}"; do
80
107
  [ -f "$tmp/agents/skills/$skill_name/SKILL.md" ] || fail "agents install target missing: $skill_name"
@@ -87,5 +114,5 @@ for skill_name in "${skill_names[@]}" project-genesis-harness; do
87
114
  [ ! -e "$tmp/agents/skills/$skill_name" ] || fail "agents uninstall target remains: $skill_name"
88
115
  [ ! -e "$tmp/codex/skills/$skill_name" ] || fail "legacy uninstall target remains: $skill_name"
89
116
  done
90
-
91
- echo "evals passed"
117
+
118
+ echo "evals passed"
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env bash
2
+ # ==============================================================================
3
+ # Genesis Codex Harness — Ralph Loop (Verify-Fix) Orchestrator
4
+ # ==============================================================================
5
+ # Executes verification commands, tracks iteration counts to prevent infinite loops,
6
+ # and logs diagnostic failure reports to disk for step resumption.
7
+ # Enforces the self-verification safety invariant.
8
+ # ==============================================================================
9
+
10
+ set -uo pipefail
11
+
12
+ MAX_ITERATIONS=5
13
+ PLANNING_DIR=".planning"
14
+ LOOP_COUNT_FILE="$PLANNING_DIR/VERIFY_LOOP_COUNT"
15
+ FAILURE_LOG="$PLANNING_DIR/LAST_VERIFICATION_FAILURE.md"
16
+
17
+ usage() {
18
+ echo "Usage: $0 [--max-iterations N] <verification_command> [args...]" >&2
19
+ exit 2
20
+ }
21
+
22
+ if [ "$#" -eq 0 ]; then
23
+ usage
24
+ fi
25
+
26
+ if [ "$1" = "--max-iterations" ]; then
27
+ MAX_ITERATIONS="$2"
28
+ shift 2
29
+ fi
30
+
31
+ if [ "$#" -eq 0 ]; then
32
+ usage
33
+ fi
34
+
35
+ mkdir -p "$PLANNING_DIR"
36
+
37
+ # Initialize loop count
38
+ CURRENT_ITERATION=1
39
+ if [ -f "$LOOP_COUNT_FILE" ]; then
40
+ CURRENT_ITERATION=$(cat "$LOOP_COUNT_FILE")
41
+ CURRENT_ITERATION=$((CURRENT_ITERATION + 1))
42
+ fi
43
+
44
+ echo "$CURRENT_ITERATION" > "$LOOP_COUNT_FILE"
45
+
46
+ echo "==> [VERIFY LOOP] Iteration $CURRENT_ITERATION of $MAX_ITERATIONS"
47
+
48
+ if [ "$CURRENT_ITERATION" -gt "$MAX_ITERATIONS" ]; then
49
+ echo "=============================================================================="
50
+ echo "==> [BLOCKED] Verify-Fix loop exceeded maximum iteration count ($MAX_ITERATIONS)."
51
+ echo "==> Potentially stuck in an infinite loop. Halting for human intervention."
52
+ echo "=============================================================================="
53
+ rm -f "$LOOP_COUNT_FILE"
54
+ exit 99
55
+ fi
56
+
57
+ # Execute verification command
58
+ set +e
59
+ "$@" > "$FAILURE_LOG" 2>&1
60
+ EXIT_CODE=$?
61
+ set -e
62
+
63
+ if [ $EXIT_CODE -eq 0 ]; then
64
+ echo "==> [VERIFY LOOP] Pass! Verification completed successfully."
65
+ rm -f "$LOOP_COUNT_FILE"
66
+ rm -f "$FAILURE_LOG"
67
+ else
68
+ echo "=============================================================================="
69
+ echo "==> [FAILURE] Verification failed with exit code $EXIT_CODE."
70
+ echo "==> Failure diagnostic written to: file://$(pwd)/$FAILURE_LOG"
71
+ echo "==> Please inspect the log, fix the root cause, and re-run verification."
72
+ echo "=============================================================================="
73
+ fi
74
+
75
+ exit $EXIT_CODE
@@ -1,55 +1,64 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
4
  skill_names=(
5
5
  genesis-harness
6
6
  genesis-new-design
7
7
  genesis-upgrade-design
8
- architecture-skill
9
- planning-skill
10
- codebase-map-skill
11
- design-spec-skill
12
- api-contract-skill
8
+ genesis-architecture
9
+ genesis-planning
10
+ genesis-codebase-map
11
+ genesis-design-spec
12
+ genesis-api-contract
13
13
  ui-ux-test-skill
14
- harness-engineering-skill
15
- ai-provider-skill
16
- pipeline-orchestration-skill
17
- research-skill
18
- docs-skill
19
- release-skill
14
+ genesis-harness-engineering
15
+ genesis-ai-provider
16
+ genesis-pipeline-orchestration
17
+ genesis-research
18
+ genesis-docs
19
+ genesis-release
20
+ genesis-api-sync
21
+ genesis-debug-guide
22
+ genesis-docs-automation
23
+ genesis-spec-propagation
24
+ genesis-release-orchestration
25
+ genesis-performance-profiling
26
+ genesis-observability-automation
27
+ genesis-research-first
28
+ spec-impact-engine
20
29
  project-genesis-harness
21
30
  )
22
31
  codex_home="${CODEX_HOME:-$HOME/.codex}"
23
32
  agents_home="${GENESIS_HARNESS_HOME:-$HOME/.agents}"
24
- target="both"
25
-
26
- usage() {
27
- echo "Usage: $0 [--target agents|legacy|both]" >&2
28
- }
29
-
30
- while [ "$#" -gt 0 ]; do
31
- case "$1" in
32
- --target)
33
- target="${2:-}"
34
- [ -n "$target" ] || { usage; exit 2; }
35
- shift 2
36
- ;;
37
- --help|-h)
38
- usage
39
- exit 0
40
- ;;
41
- *)
42
- usage
43
- exit 2
44
- ;;
45
- esac
46
- done
47
-
48
- case "$target" in
49
- agents|legacy|both) ;;
50
- *) usage; exit 2 ;;
51
- esac
52
-
33
+ target="both"
34
+
35
+ usage() {
36
+ echo "Usage: $0 [--target agents|legacy|both]" >&2
37
+ }
38
+
39
+ while [ "$#" -gt 0 ]; do
40
+ case "$1" in
41
+ --target)
42
+ target="${2:-}"
43
+ [ -n "$target" ] || { usage; exit 2; }
44
+ shift 2
45
+ ;;
46
+ --help|-h)
47
+ usage
48
+ exit 0
49
+ ;;
50
+ *)
51
+ usage
52
+ exit 2
53
+ ;;
54
+ esac
55
+ done
56
+
57
+ case "$target" in
58
+ agents|legacy|both) ;;
59
+ *) usage; exit 2 ;;
60
+ esac
61
+
53
62
  remove_one() {
54
63
  local target_root="$1"
55
64
  for skill_name in "${skill_names[@]}"; do