codex-genesis-harness 0.1.8 → 0.1.9

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 (45) hide show
  1. package/.codebase/CURRENT_STATE.md +7 -33
  2. package/.codebase/KNOWN_PROBLEMS.md +20 -1
  3. package/.codebase/MODULE_INDEX.md +15 -2
  4. package/.codebase/PIPELINE_FLOW.md +10 -2
  5. package/.codebase/RECOVERY_POINTS.md +63 -0
  6. package/.codebase/TEST_MATRIX.md +5 -1
  7. package/.codebase/memories/lessons_learned.md +42 -0
  8. package/.codebase/state.json +130 -12
  9. package/.codex/skills/genesis-harness/SKILL.md +10 -1
  10. package/.codex/skills/genesis-harness/agents/openai.yaml +1 -2
  11. package/.codex/skills/genesis-harness/references/state-machine.md +4 -1
  12. package/.codex/skills/genesis-harness/references/workflows.md +7 -1
  13. package/.codex/skills/genesis-harness/scripts/init-planning.sh +245 -13
  14. package/.codex/skills/genesis-pipeline-orchestration/SKILL.md +15 -3
  15. package/.codex-plugin/plugin.json +4 -2
  16. package/CHANGELOG.md +21 -0
  17. package/README.EN.md +44 -2
  18. package/README.VI.md +44 -2
  19. package/README.md +80 -2
  20. package/VERSION +1 -2
  21. package/bin/genesis-harness.js +2121 -21
  22. package/contracts/features/project-registry-schema.json +37 -0
  23. package/contracts/observability/agent-run-schema.json +6 -1
  24. package/features/REGISTRY.md +9 -7
  25. package/fixtures/pipeline/end-to-end-project-lifecycle-fixture.md +39 -0
  26. package/fixtures/pipeline/feature-completion-fixture.md +26 -0
  27. package/fixtures/pipeline/run-to-feature-execution-fixture.md +20 -0
  28. package/package.json +7 -2
  29. package/scripts/check-repository-hygiene.js +48 -0
  30. package/scripts/run-evals.sh +36 -3
  31. package/scripts/schema/001-init.sql +129 -0
  32. package/scripts/schema/002-story-verify.sql +9 -0
  33. package/scripts/schema/003-tool-registry.sql +15 -0
  34. package/scripts/schema/004-intervention.sql +15 -0
  35. package/scripts/transition_state.sh +32 -8
  36. package/scripts/validation_gates.sh +2 -80
  37. package/scripts/verify.sh +3 -1
  38. package/tests/fixtures/fixture-index.md +5 -0
  39. package/tests/integration/cli-smoke.test.js +403 -0
  40. package/tests/unit/repository_hygiene.test.js +17 -0
  41. package/tests/unit/state_metadata.test.js +76 -0
  42. package/tests/unit/verify_gate.test.js +25 -0
  43. package/tests/unit/workflow_contracts.test.js +90 -0
  44. package/fixtures/tts/tts-fixture-template.md +0 -14
  45. package/fixtures/videos/video-fixture-template.md +0 -14
@@ -0,0 +1,90 @@
1
+ const assert = require("assert");
2
+ const fs = require("fs");
3
+ const path = require("path");
4
+
5
+ const repoRoot = path.resolve(__dirname, "..", "..");
6
+ const reusableVerifyPath = path.join(repoRoot, ".github", "workflows", "reusable-verify.yml");
7
+ const docsSyncPath = path.join(repoRoot, ".github", "workflows", "docs-sync.yml");
8
+ const publishPath = path.join(repoRoot, ".github", "workflows", "publish-npm.yml");
9
+ const registryPath = path.join(repoRoot, "features", "REGISTRY.md");
10
+
11
+ console.log("Running workflow contract unit tests...");
12
+
13
+ const reusableVerify = fs.readFileSync(reusableVerifyPath, "utf8");
14
+ const docsSync = fs.readFileSync(docsSyncPath, "utf8");
15
+ const publishWorkflow = fs.readFileSync(publishPath, "utf8");
16
+ const registry = fs.readFileSync(registryPath, "utf8");
17
+
18
+ assert(
19
+ reusableVerify.includes("workflow_call:"),
20
+ "reusable verify workflow should expose workflow_call"
21
+ );
22
+ assert(
23
+ reusableVerify.includes("genesis-harness.js verify-gate"),
24
+ "reusable verify workflow should execute the single verify-gate path"
25
+ );
26
+ assert(
27
+ /actions\/checkout@[0-9a-f]{40}/.test(reusableVerify),
28
+ "reusable verify workflow should pin actions/checkout to a full commit SHA"
29
+ );
30
+ assert(
31
+ /actions\/setup-node@[0-9a-f]{40}/.test(reusableVerify),
32
+ "reusable verify workflow should pin actions/setup-node to a full commit SHA"
33
+ );
34
+
35
+ assert(
36
+ docsSync.includes("uses: ./.github/workflows/reusable-verify.yml"),
37
+ "docs-sync workflow should delegate verification to the reusable workflow"
38
+ );
39
+ assert(
40
+ !docsSync.includes("npm test"),
41
+ "docs-sync workflow should not call a non-existent npm test script"
42
+ );
43
+ assert(
44
+ !docsSync.includes("git push origin"),
45
+ "docs-sync workflow should not auto-push documentation changes from CI"
46
+ );
47
+
48
+ assert(
49
+ publishWorkflow.includes("release:"),
50
+ "publish workflow should publish from a release event"
51
+ );
52
+ assert(
53
+ publishWorkflow.includes("workflow_dispatch:"),
54
+ "publish workflow should allow manual release runs"
55
+ );
56
+ assert(
57
+ publishWorkflow.includes("id-token: write"),
58
+ "publish workflow should use OIDC trusted publishing"
59
+ );
60
+ assert(
61
+ publishWorkflow.includes("npm publish --provenance --access public"),
62
+ "publish workflow should publish with provenance enabled"
63
+ );
64
+ assert(
65
+ !publishWorkflow.includes("NPM_TOKEN"),
66
+ "publish workflow should not require a long-lived NPM_TOKEN secret"
67
+ );
68
+ assert(
69
+ !publishWorkflow.includes("npm pkg set"),
70
+ "publish workflow should publish the checked-in release version without rewriting it in CI"
71
+ );
72
+ assert(
73
+ !publishWorkflow.includes("--tag latest"),
74
+ "publish workflow should avoid forcing prerelease-style CI publishes onto the latest dist-tag"
75
+ );
76
+
77
+ assert(
78
+ registry.includes("| F016 | verified |"),
79
+ "feature registry should mark cold-start automation as verified"
80
+ );
81
+ assert(
82
+ registry.includes("| F018 | verified |"),
83
+ "feature registry should mark scope ledger verification as verified"
84
+ );
85
+ assert(
86
+ !registry.includes("| F019 | verified | Demo Feature") || !registry.includes("`npm test`"),
87
+ "feature registry should not claim a verified demo feature with a non-existent npm test command"
88
+ );
89
+
90
+ console.log("workflow contract tests passed! ✓\n");
@@ -1,14 +0,0 @@
1
- # TTS Fixture Template
2
-
3
- ## Input
4
-
5
- Text, voice, language, timing, and provider options.
6
-
7
- ## Expected Output
8
-
9
- Audio metadata, transcript alignment, and provider response shape.
10
-
11
- ## Validation Notes
12
-
13
- Check retries, provider errors, empty text, and persistence.
14
-
@@ -1,14 +0,0 @@
1
- # Video Fixture Template
2
-
3
- ## Input
4
-
5
- Scene plan, audio, subtitles, images, transitions, and render options.
6
-
7
- ## Expected Output
8
-
9
- Video artifact metadata, duration, and validation checks.
10
-
11
- ## Validation Notes
12
-
13
- Check missing clips, bad timing, retry behavior, and resumability.
14
-