codex-genesis-harness 0.1.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.
Files changed (56) hide show
  1. package/.codex/skills/project-genesis-harness/SKILL.md +727 -0
  2. package/.codex/skills/project-genesis-harness/agents/openai.yaml +9 -0
  3. package/.codex/skills/project-genesis-harness/references/planning-schema.md +35 -0
  4. package/.codex/skills/project-genesis-harness/references/quality-rubric.md +21 -0
  5. package/.codex/skills/project-genesis-harness/references/research-rubric.md +41 -0
  6. package/.codex/skills/project-genesis-harness/references/workflows.md +33 -0
  7. package/.codex/skills/project-genesis-harness/resources/agents-template.md +27 -0
  8. package/.codex/skills/project-genesis-harness/resources/api-docs-template.md +32 -0
  9. package/.codex/skills/project-genesis-harness/resources/architecture-template.md +30 -0
  10. package/.codex/skills/project-genesis-harness/resources/audit-template.md +26 -0
  11. package/.codex/skills/project-genesis-harness/resources/bug-template.md +34 -0
  12. package/.codex/skills/project-genesis-harness/resources/check-template.md +21 -0
  13. package/.codex/skills/project-genesis-harness/resources/conventions-template.md +42 -0
  14. package/.codex/skills/project-genesis-harness/resources/decision-template.md +33 -0
  15. package/.codex/skills/project-genesis-harness/resources/design-template.md +26 -0
  16. package/.codex/skills/project-genesis-harness/resources/escalation-template.md +21 -0
  17. package/.codex/skills/project-genesis-harness/resources/feature-template.md +49 -0
  18. package/.codex/skills/project-genesis-harness/resources/integrations-template.md +32 -0
  19. package/.codex/skills/project-genesis-harness/resources/journeys-template.md +13 -0
  20. package/.codex/skills/project-genesis-harness/resources/lessons-learned-template.md +12 -0
  21. package/.codex/skills/project-genesis-harness/resources/observability-template.md +34 -0
  22. package/.codex/skills/project-genesis-harness/resources/phase-template.md +34 -0
  23. package/.codex/skills/project-genesis-harness/resources/pitfalls-template.md +22 -0
  24. package/.codex/skills/project-genesis-harness/resources/planning-tree-template.md +39 -0
  25. package/.codex/skills/project-genesis-harness/resources/project-template.md +38 -0
  26. package/.codex/skills/project-genesis-harness/resources/quality-score-template.md +11 -0
  27. package/.codex/skills/project-genesis-harness/resources/requirements-template.md +26 -0
  28. package/.codex/skills/project-genesis-harness/resources/research-template.md +26 -0
  29. package/.codex/skills/project-genesis-harness/resources/review-template.md +22 -0
  30. package/.codex/skills/project-genesis-harness/resources/spec-changelog-template.md +6 -0
  31. package/.codex/skills/project-genesis-harness/resources/stack-template.md +33 -0
  32. package/.codex/skills/project-genesis-harness/resources/verification-template.md +26 -0
  33. package/.codex/skills/project-genesis-harness/scripts/check-architecture-boundaries.sh +23 -0
  34. package/.codex/skills/project-genesis-harness/scripts/check-docs-sync.sh +24 -0
  35. package/.codex/skills/project-genesis-harness/scripts/check-no-debug-logs.sh +21 -0
  36. package/.codex/skills/project-genesis-harness/scripts/check-required-planning-files.sh +46 -0
  37. package/.codex/skills/project-genesis-harness/scripts/check-spec-changelog.sh +24 -0
  38. package/.codex/skills/project-genesis-harness/scripts/check-task-tracking.sh +25 -0
  39. package/.codex/skills/project-genesis-harness/scripts/create-adr.sh +74 -0
  40. package/.codex/skills/project-genesis-harness/scripts/create-bug.sh +160 -0
  41. package/.codex/skills/project-genesis-harness/scripts/create-feature.sh +217 -0
  42. package/.codex/skills/project-genesis-harness/scripts/detect-stack.sh +26 -0
  43. package/.codex/skills/project-genesis-harness/scripts/init-planning.sh +719 -0
  44. package/.codex/skills/project-genesis-harness/scripts/list-changed-files.sh +12 -0
  45. package/.codex/skills/project-genesis-harness/scripts/run-verification.sh +47 -0
  46. package/.codex/skills/project-genesis-harness/scripts/update-state.sh +33 -0
  47. package/.codex-plugin/plugin.json +35 -0
  48. package/LICENSE +22 -0
  49. package/README.md +181 -0
  50. package/VERSION +2 -0
  51. package/bin/genesis-harness.js +164 -0
  52. package/package.json +37 -0
  53. package/scripts/install.sh +69 -0
  54. package/scripts/run-evals.sh +52 -0
  55. package/scripts/uninstall.sh +52 -0
  56. package/scripts/verify.sh +109 -0
@@ -0,0 +1,38 @@
1
+ # Project
2
+
3
+ ## What This Project Is
4
+
5
+ TBD
6
+
7
+ ## Target Users
8
+
9
+ TBD
10
+
11
+ ## Core Value
12
+
13
+ TBD
14
+
15
+ ## Product Scope
16
+
17
+ - [ ] TBD
18
+
19
+ ## Out Of Scope
20
+
21
+ - [ ] TBD
22
+
23
+ ## Constraints
24
+
25
+ - [ ] TBD
26
+
27
+ ## Assumptions
28
+
29
+ - [ ] TBD
30
+
31
+ ## Current Milestone
32
+
33
+ TBD
34
+
35
+ ## Success Criteria
36
+
37
+ - [ ] TBD
38
+
@@ -0,0 +1,11 @@
1
+ # Quality Score
2
+
3
+ | Area | Score | Issues | Next Action |
4
+ |---|---:|---|---|
5
+ | Architecture | 0/10 | TBD | TBD |
6
+ | Tests | 0/10 | TBD | TBD |
7
+ | Docs Sync | 0/10 | TBD | TBD |
8
+ | Security | 0/10 | TBD | TBD |
9
+ | Maintainability | 0/10 | TBD | TBD |
10
+ | Observability | 0/10 | TBD | TBD |
11
+
@@ -0,0 +1,26 @@
1
+ # Requirements
2
+
3
+ ## Functional Requirements
4
+
5
+ - [ ] TBD
6
+
7
+ ## Non-Functional Requirements
8
+
9
+ - [ ] TBD
10
+
11
+ ## User Stories
12
+
13
+ - [ ] As a user, I want TBD so that TBD.
14
+
15
+ ## Acceptance Criteria
16
+
17
+ - [ ] TBD
18
+
19
+ ## Edge Cases
20
+
21
+ - [ ] TBD
22
+
23
+ ## Known Unknowns
24
+
25
+ - [ ] TBD
26
+
@@ -0,0 +1,26 @@
1
+ # Research
2
+
3
+ ## Question
4
+
5
+ TBD
6
+
7
+ ## Local Codebase Findings
8
+
9
+ - [ ] TBD
10
+
11
+ ## External Findings
12
+
13
+ - [ ] TBD
14
+
15
+ ## Sources
16
+
17
+ - TBD
18
+
19
+ ## Decision Impact
20
+
21
+ TBD
22
+
23
+ ## Risks
24
+
25
+ - [ ] TBD
26
+
@@ -0,0 +1,22 @@
1
+ # Review
2
+
3
+ ## Changed Files Reviewed
4
+
5
+ - [ ] TBD
6
+
7
+ ## Findings
8
+
9
+ | Severity | File | Issue | Required Action |
10
+ |---|---|---|---|
11
+ | TBD | TBD | TBD | TBD |
12
+
13
+ ## Cleanup Performed
14
+
15
+ - [ ] Removed unnecessary files/code
16
+ - [ ] Removed debug logs
17
+ - [ ] Removed unrelated changes
18
+
19
+ ## Residual Risks
20
+
21
+ - [ ] TBD
22
+
@@ -0,0 +1,6 @@
1
+ # Spec Changelog
2
+
3
+ | Date/Time | Change | Reason | Impacted Docs | Impacted Tests | Migration Notes |
4
+ |---|---|---|---|---|---|
5
+ | TBD | Initial harness setup | Project initialization | TBD | TBD | TBD |
6
+
@@ -0,0 +1,33 @@
1
+ # Stack
2
+
3
+ ## Detected Stack
4
+
5
+ Language:
6
+ Framework:
7
+ Runtime:
8
+ Database:
9
+ Package manager:
10
+ Test framework:
11
+ Lint:
12
+ Typecheck:
13
+ Build:
14
+ Deployment:
15
+
16
+ ## Version Constraints
17
+
18
+ - [ ] TBD
19
+
20
+ ## Local Development Commands
21
+
22
+ ```sh
23
+ # start
24
+ # test
25
+ # lint
26
+ # typecheck
27
+ # build
28
+ ```
29
+
30
+ ## Tooling Gaps
31
+
32
+ - [ ] TBD
33
+
@@ -0,0 +1,26 @@
1
+ # Verification
2
+
3
+ ## Test Contract
4
+
5
+ - [ ] Normal input/output
6
+ - [ ] Edge cases
7
+ - [ ] Invalid inputs
8
+ - [ ] Expected errors
9
+ - [ ] Acceptance tests
10
+
11
+ ## Commands
12
+
13
+ ```sh
14
+ # TBD
15
+ ```
16
+
17
+ ## Results
18
+
19
+ | Command | Result | Evidence |
20
+ |---|---|---|
21
+ | TBD | TBD | TBD |
22
+
23
+ ## Manual Verification
24
+
25
+ - [ ] TBD
26
+
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="${1:-.}"
5
+ cd "$root"
6
+
7
+ status=0
8
+ for file in .planning/ARCHITECTURE.md .planning/diagrams/system-context.mmd .planning/diagrams/container-architecture.mmd; do
9
+ if [ ! -s "$file" ]; then
10
+ echo "Missing or empty architecture source: $file"
11
+ status=1
12
+ fi
13
+ done
14
+
15
+ if [ -f .planning/ARCHITECTURE.md ]; then
16
+ if ! grep -Eiq 'boundary|boundaries|dependency|forbidden|data flow' .planning/ARCHITECTURE.md; then
17
+ echo "ARCHITECTURE.md should document boundaries, dependency direction, forbidden patterns, or data flow."
18
+ status=1
19
+ fi
20
+ fi
21
+
22
+ exit "$status"
23
+
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="${1:-.}"
5
+ cd "$root"
6
+
7
+ if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
8
+ echo "Not a git repository; docs sync check is limited to required files."
9
+ test -f .planning/SPEC_CHANGELOG.md
10
+ exit $?
11
+ fi
12
+
13
+ changed="$(git diff --name-only HEAD 2>/dev/null || git diff --name-only)"
14
+ docs_changed="$(printf '%s\n' "$changed" | grep -E '^(\.planning/|docs/|README\.md|AGENTS\.md)' || true)"
15
+ code_changed="$(printf '%s\n' "$changed" | grep -Ev '^(\.planning/|docs/|README\.md|AGENTS\.md)$' || true)"
16
+
17
+ if [ -n "$code_changed" ] && [ -z "$docs_changed" ]; then
18
+ echo "Code changed but no planning/docs files changed."
19
+ echo "$code_changed"
20
+ exit 1
21
+ fi
22
+
23
+ echo "Docs sync check passed or no code changes detected."
24
+
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="${1:-.}"
5
+ cd "$root"
6
+
7
+ exclude='\.planning/|\.codex/skills/|node_modules/|vendor/|\.git/|build/|dist/|coverage/'
8
+ pattern='console\.log|debugger;|var_dump\(|dd\(|print_r\(|pdb\.set_trace\(|binding\.pry|puts\s+["'\'']DEBUG|System\.out\.println'
9
+
10
+ if command -v rg >/dev/null 2>&1; then
11
+ matches="$(rg -n --hidden -g '!.planning' -g '!.codex/skills' -g '!node_modules' -g '!vendor' -g '!dist' -g '!build' -g '!coverage' "$pattern" . || true)"
12
+ else
13
+ matches="$(grep -RInE "$pattern" . 2>/dev/null | grep -Ev "$exclude" || true)"
14
+ fi
15
+
16
+ if [ -n "$matches" ]; then
17
+ echo "$matches"
18
+ exit 1
19
+ fi
20
+
21
+ echo "No obvious debug logs found."
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="${1:-.}"
5
+ cd "$root"
6
+
7
+ required=(
8
+ ".planning/PROJECT.md"
9
+ ".planning/REQUIREMENTS.md"
10
+ ".planning/ROADMAP.md"
11
+ ".planning/STATE.md"
12
+ ".planning/STACK.md"
13
+ ".planning/ARCHITECTURE.md"
14
+ ".planning/DESIGN.md"
15
+ ".planning/API_DOCS.md"
16
+ ".planning/INTEGRATIONS.md"
17
+ ".planning/CONVENTIONS.md"
18
+ ".planning/PITFALLS.md"
19
+ ".planning/LESSONS_LEARNED.md"
20
+ ".planning/SPEC_CHANGELOG.md"
21
+ ".planning/FEATURE_INDEX.md"
22
+ ".planning/CHANGE_IMPACT_MATRIX.md"
23
+ ".planning/QUALITY_SCORE.md"
24
+ ".planning/ESCALATION.md"
25
+ ".planning/OBSERVABILITY.md"
26
+ ".planning/SMOKE_TESTS.md"
27
+ ".planning/JOURNEYS.md"
28
+ ".planning/SUMMARY.md"
29
+ ".planning/config.json"
30
+ ".planning/diagrams/system-context.mmd"
31
+ ".planning/diagrams/container-architecture.mmd"
32
+ ".planning/diagrams/database-erd.mmd"
33
+ ".planning/diagrams/deployment-flow.mmd"
34
+ ".planning/diagrams/roadmap-flow.mmd"
35
+ )
36
+
37
+ missing=0
38
+ for file in "${required[@]}"; do
39
+ if [ ! -f "$file" ]; then
40
+ echo "Missing: $file"
41
+ missing=1
42
+ fi
43
+ done
44
+
45
+ exit "$missing"
46
+
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="${1:-.}"
5
+ cd "$root"
6
+
7
+ if [ ! -f .planning/SPEC_CHANGELOG.md ]; then
8
+ echo "Missing .planning/SPEC_CHANGELOG.md"
9
+ exit 1
10
+ fi
11
+
12
+ if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
13
+ changed="$(git diff --name-only HEAD 2>/dev/null || git diff --name-only)"
14
+ spec_affecting="$(printf '%s\n' "$changed" | grep -E 'api|route|schema|migration|model|ui|component|config|env|auth|security|integration' || true)"
15
+ changelog_changed="$(printf '%s\n' "$changed" | grep -x '.planning/SPEC_CHANGELOG.md' || true)"
16
+ if [ -n "$spec_affecting" ] && [ -z "$changelog_changed" ]; then
17
+ echo "Spec-affecting files changed but SPEC_CHANGELOG.md was not updated:"
18
+ echo "$spec_affecting"
19
+ exit 1
20
+ fi
21
+ fi
22
+
23
+ echo "Spec changelog check passed."
24
+
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ root="${1:-.}"
5
+ cd "$root"
6
+
7
+ if [ ! -d .planning ]; then
8
+ echo "Missing .planning directory."
9
+ exit 1
10
+ fi
11
+
12
+ status=0
13
+ while IFS= read -r file; do
14
+ case "$file" in
15
+ *TASKS.md|*PLAN.md|*REVIEW.md|*VERIFICATION.md|.planning/ROADMAP.md|.planning/STATE.md|.planning/SUMMARY.md)
16
+ if ! grep -Eq '\[( |~|x|!)\]' "$file"; then
17
+ echo "No checkbox tracking found: $file"
18
+ status=1
19
+ fi
20
+ ;;
21
+ esac
22
+ done < <(find .planning -type f -name '*.md' | sort)
23
+
24
+ exit "$status"
25
+
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ usage() {
5
+ echo "Usage: $0 <slug> [title] [root]" >&2
6
+ exit 2
7
+ }
8
+
9
+ slug="${1:-}"
10
+ title="${2:-$slug}"
11
+ root="${3:-.}"
12
+ [ -n "$slug" ] || usage
13
+
14
+ case "$slug" in
15
+ *[!a-z0-9-]*|'') echo "Slug must use lowercase letters, numbers, and hyphens." >&2; exit 2 ;;
16
+ esac
17
+
18
+ cd "$root"
19
+ mkdir -p .planning/decisions
20
+
21
+ next="$(
22
+ find .planning/decisions -maxdepth 1 -type f -name 'ADR-[0-9][0-9][0-9]-*.md' 2>/dev/null \
23
+ | sed -E 's#.*/ADR-([0-9]{3})-.*#\1#' \
24
+ | sort -n \
25
+ | tail -1
26
+ )"
27
+ if [ -z "$next" ]; then
28
+ number="001"
29
+ else
30
+ number="$(printf '%03d' "$((10#$next + 1))")"
31
+ fi
32
+
33
+ file=".planning/decisions/ADR-${number}-${slug}.md"
34
+ if [ -e "$file" ]; then
35
+ echo "ADR already exists: $file" >&2
36
+ exit 1
37
+ fi
38
+
39
+ cat > "$file" <<EOF
40
+ # ADR-${number}: $title
41
+
42
+ Status: Proposed
43
+ Date: $(date +%Y-%m-%d)
44
+
45
+ ## Context
46
+
47
+ TBD
48
+
49
+ ## Decision
50
+
51
+ TBD
52
+
53
+ ## Alternatives Considered
54
+
55
+ - [ ] TBD
56
+
57
+ ## Consequences
58
+
59
+ - [ ] TBD
60
+
61
+ ## Risks
62
+
63
+ - [ ] TBD
64
+
65
+ ## Mitigation
66
+
67
+ - [ ] TBD
68
+
69
+ ## Verification Evidence
70
+
71
+ TBD
72
+ EOF
73
+
74
+ echo "$file"
@@ -0,0 +1,160 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ usage() {
5
+ echo "Usage: $0 <slug> [summary] [root]" >&2
6
+ exit 2
7
+ }
8
+
9
+ slug="${1:-}"
10
+ summary="${2:-TBD}"
11
+ root="${3:-.}"
12
+ [ -n "$slug" ] || usage
13
+
14
+ case "$slug" in
15
+ *[!a-z0-9-]*|'') echo "Slug must use lowercase letters, numbers, and hyphens." >&2; exit 2 ;;
16
+ esac
17
+
18
+ cd "$root"
19
+ mkdir -p .planning/bugs
20
+
21
+ next="$(
22
+ find .planning/bugs -maxdepth 1 -type d -name '[0-9][0-9][0-9]-*' 2>/dev/null \
23
+ | sed -E 's#.*/([0-9]{3})-.*#\1#' \
24
+ | sort -n \
25
+ | tail -1
26
+ )"
27
+ if [ -z "$next" ]; then
28
+ number="001"
29
+ else
30
+ number="$(printf '%03d' "$((10#$next + 1))")"
31
+ fi
32
+
33
+ dir=".planning/bugs/${number}-${slug}"
34
+ if [ -e "$dir" ]; then
35
+ echo "Bug directory already exists: $dir" >&2
36
+ exit 1
37
+ fi
38
+
39
+ mkdir -p "$dir"
40
+
41
+ cat > "$dir/REPORT.md" <<EOF
42
+ # Bug Report: $summary
43
+
44
+ ## Summary
45
+
46
+ $summary
47
+
48
+ ## Expected Behavior
49
+
50
+ - [ ] TBD
51
+
52
+ ## Actual Behavior
53
+
54
+ - [ ] TBD
55
+
56
+ ## Reproduction Steps
57
+
58
+ - [ ] TBD
59
+
60
+ ## Environment
61
+
62
+ TBD
63
+ EOF
64
+
65
+ cat > "$dir/ROOT_CAUSE.md" <<'EOF'
66
+ # Root Cause
67
+
68
+ ## Evidence
69
+
70
+ - [ ] TBD
71
+
72
+ ## Root Cause
73
+
74
+ TBD
75
+
76
+ ## Failed Assumption
77
+
78
+ TBD
79
+
80
+ ## Correct Pattern
81
+
82
+ TBD
83
+ EOF
84
+
85
+ cat > "$dir/PLAN.md" <<'EOF'
86
+ # Plan
87
+
88
+ ## Files To Change
89
+
90
+ ### File: `path/to/file`
91
+
92
+ Change:
93
+ Why:
94
+ Risk:
95
+ Test:
96
+ Docs impact:
97
+
98
+ ## Fix Steps
99
+
100
+ - [ ] TBD
101
+
102
+ ## Rollback Plan
103
+
104
+ - [ ] TBD
105
+ EOF
106
+
107
+ cat > "$dir/TEST_CONTRACT.md" <<'EOF'
108
+ # Test Contract
109
+
110
+ - [ ] Reproduction fails before fix
111
+ - [ ] Regression test or verification fails before fix
112
+ - [ ] Regression test or verification passes after fix
113
+ - [ ] Related edge case is covered
114
+ EOF
115
+
116
+ cat > "$dir/TASKS.md" <<'EOF'
117
+ # Tasks
118
+
119
+ - [ ] Read PITFALLS.md
120
+ - [ ] Read LESSONS_LEARNED.md
121
+ - [ ] Reproduce bug
122
+ - [ ] Identify root cause
123
+ - [ ] Write regression test or verification
124
+ - [ ] Fix bug
125
+ - [ ] Run verification
126
+ - [ ] Update LESSONS_LEARNED.md
127
+ - [ ] Update docs if behavior changed
128
+ - [ ] Review changed files
129
+ - [ ] Update STATE.md
130
+ - [ ] Update SPEC_CHANGELOG.md if needed
131
+ EOF
132
+
133
+ cat > "$dir/VERIFICATION.md" <<'EOF'
134
+ # Verification
135
+
136
+ - [ ] Define reproduction command
137
+ - [ ] Run failing verification before fix
138
+ - [ ] Run passing verification after fix
139
+
140
+ | Command | Result | Evidence |
141
+ |---|---|---|
142
+ | TBD | TBD | TBD |
143
+ EOF
144
+
145
+ cat > "$dir/REVIEW.md" <<'EOF'
146
+ # Review
147
+
148
+ - [ ] Changed files reviewed
149
+ - [ ] Regression coverage checked
150
+ - [ ] Docs impact checked
151
+ - [ ] Debug logs removed
152
+
153
+ ## Findings
154
+
155
+ | Severity | File | Issue | Follow-Up |
156
+ |---|---|---|---|
157
+ | TBD | TBD | TBD | TBD |
158
+ EOF
159
+
160
+ echo "$dir"