codex-genesis-harness 0.1.4 → 0.1.6
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/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -216
- package/.codebase/CURRENT_STATE.md +9 -7
- package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -161
- package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -613
- package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -429
- package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -351
- package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -419
- package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -292
- package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -486
- package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -456
- package/.codebase/README.md +139 -139
- package/.codebase/RECOVERY_POINTS.md +438 -438
- package/.codebase/state.json +37 -0
- package/.codex/skills/genesis-api-sync/SKILL.md +354 -354
- package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -101
- package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -257
- package/.codex/skills/genesis-debug-guide/SKILL.md +479 -479
- package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -339
- package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -210
- package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -158
- package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -365
- package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -289
- package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -288
- package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -1003
- package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -359
- package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -312
- package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -382
- package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -851
- package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -491
- package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -187
- package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -297
- package/.codex/skills/genesis-harness/SKILL.md +1427 -1418
- package/.codex/skills/genesis-harness/agents/openai.yaml +7 -7
- package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -169
- package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -157
- package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -216
- package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -211
- package/.codex/skills/genesis-harness/references/planning-schema.md +35 -35
- package/.codex/skills/genesis-harness/references/quality-rubric.md +21 -21
- package/.codex/skills/genesis-harness/references/research-rubric.md +41 -41
- package/.codex/skills/genesis-harness/references/workflows.md +33 -33
- package/.codex/skills/genesis-harness/resources/agents-template.md +27 -27
- package/.codex/skills/genesis-harness/resources/api-docs-template.md +32 -32
- package/.codex/skills/genesis-harness/resources/architecture-template.md +30 -30
- package/.codex/skills/genesis-harness/resources/audit-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/bug-template.md +34 -34
- package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -204
- package/.codex/skills/genesis-harness/resources/check-template.md +21 -21
- package/.codex/skills/genesis-harness/resources/conventions-template.md +42 -42
- package/.codex/skills/genesis-harness/resources/decision-template.md +33 -33
- package/.codex/skills/genesis-harness/resources/design-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/escalation-template.md +21 -21
- package/.codex/skills/genesis-harness/resources/feature-template.md +49 -49
- package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -131
- package/.codex/skills/genesis-harness/resources/integrations-template.md +32 -32
- package/.codex/skills/genesis-harness/resources/journeys-template.md +13 -13
- package/.codex/skills/genesis-harness/resources/lessons-learned-template.md +12 -12
- package/.codex/skills/genesis-harness/resources/observability-template.md +34 -34
- package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -76
- package/.codex/skills/genesis-harness/resources/phase-template.md +34 -34
- package/.codex/skills/genesis-harness/resources/pitfalls-template.md +22 -22
- package/.codex/skills/genesis-harness/resources/planning-tree-template.md +39 -39
- package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -347
- package/.codex/skills/genesis-harness/resources/project-template.md +38 -38
- package/.codex/skills/genesis-harness/resources/quality-score-template.md +11 -11
- package/.codex/skills/genesis-harness/resources/requirements-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/research-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/review-template.md +22 -22
- package/.codex/skills/genesis-harness/resources/spec-changelog-template.md +6 -6
- package/.codex/skills/genesis-harness/resources/stack-template.md +33 -33
- package/.codex/skills/genesis-harness/resources/verification-template.md +26 -26
- package/.codex/skills/genesis-harness/scripts/check-architecture-boundaries.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-docs-sync.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-no-debug-logs.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-required-planning-files.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-spec-changelog.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-task-tracking.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/compact-context.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/create-adr.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/create-bug.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/create-feature.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/detect-stack.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/init-planning.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/list-changed-files.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/offload-log.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/run-verification.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/update-state.sh +0 -0
- package/.codex/skills/genesis-mvp-planning/SKILL.md +114 -0
- package/.codex/skills/genesis-mvp-planning/agents/openai.yaml +6 -0
- package/.codex/skills/genesis-mvp-planning/checklists/mvp-readiness.md +18 -0
- package/.codex/skills/genesis-mvp-planning/examples/5-phase-roadmap-example.md +43 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-1-core.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-2-auth.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-3-features.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-4-integrations.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-5-readiness.md +17 -0
- package/.codex/skills/genesis-new-design/agents/openai.yaml +3 -3
- package/.codex/skills/genesis-observability-automation/checklists/.gitkeep +0 -0
- package/.codex/skills/genesis-observability-automation/observability/.gitkeep +0 -0
- package/.codex/skills/genesis-observability-automation/playbooks/.gitkeep +0 -0
- package/.codex/skills/genesis-observability-automation/templates/.gitkeep +0 -0
- package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -653
- package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -274
- package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -220
- package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -253
- package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -472
- package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -494
- package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -303
- package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -420
- package/.codex/skills/genesis-research-first/SKILL.md +237 -237
- package/.codex/skills/genesis-research-first/templates/.gitkeep +0 -0
- package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -534
- package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -384
- package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -257
- package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -373
- package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -692
- package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -434
- package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -407
- package/.codex/skills/genesis-state-machine/SKILL.md +34 -0
- package/.codex/skills/genesis-upgrade-design/agents/openai.yaml +3 -3
- package/.codex/skills/spec-impact-engine/SKILL.md +504 -504
- package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +0 -0
- package/.codex-plugin/plugin.json +24 -24
- package/CHANGELOG.md +42 -0
- package/LICENSE +22 -22
- package/README.EN.md +784 -719
- package/README.VI.md +776 -712
- package/README.md +113 -253
- package/VERSION +2 -2
- package/bin/genesis-harness.js +90 -87
- package/package.json +68 -43
- package/scripts/README.md +342 -342
- package/scripts/compact-context.sh +0 -0
- package/scripts/contract_integrity_gate.js +83 -0
- package/scripts/detect-changes.sh +0 -0
- package/scripts/healing_telemetry.js +118 -0
- package/scripts/install.sh +4 -1
- package/scripts/offload-log.sh +0 -0
- package/scripts/prompt_sentinel.js +84 -0
- package/scripts/run-evals.sh +1 -0
- package/scripts/run-verify-loop.sh +11 -0
- package/scripts/spec_visual_sync.js +157 -0
- package/scripts/test_generator.js +142 -0
- package/scripts/transition_state.sh +67 -0
- package/scripts/uninstall.sh +1 -0
- package/scripts/validation_gates.sh +85 -0
- package/scripts/verify.sh +5 -0
- package/tests/unit/contract_integrity_gate.test.js +74 -0
- package/tests/unit/healing_telemetry.test.js +58 -0
- package/tests/unit/prompt_sentinel.test.js +50 -0
- package/tests/unit/spec_visual_sync.test.js +77 -0
- package/tests/unit/test_generator.test.js +62 -0
package/bin/genesis-harness.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
const fs = require("fs");
|
|
5
|
-
const path = require("path");
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
6
|
const { spawnSync } = require("child_process");
|
|
7
7
|
|
|
8
8
|
const packageRoot = path.resolve(__dirname, "..");
|
|
@@ -12,6 +12,7 @@ const skillNames = [
|
|
|
12
12
|
"genesis-upgrade-design",
|
|
13
13
|
"genesis-architecture",
|
|
14
14
|
"genesis-planning",
|
|
15
|
+
"genesis-mvp-planning",
|
|
15
16
|
"genesis-codebase-map",
|
|
16
17
|
"genesis-design-spec",
|
|
17
18
|
"genesis-api-contract",
|
|
@@ -38,31 +39,31 @@ const codexHome = process.env.CODEX_HOME || path.join(process.env.HOME || "", ".
|
|
|
38
39
|
const agentsHome = process.env.GENESIS_HARNESS_HOME || path.join(process.env.HOME || "", ".agents");
|
|
39
40
|
const legacySkillsRoot = path.join(codexHome, "skills");
|
|
40
41
|
const agentsSkillsRoot = path.join(agentsHome, "skills");
|
|
41
|
-
|
|
42
|
-
function usage(exitCode = 0) {
|
|
43
|
-
const text = `
|
|
44
|
-
Project Genesis Harness
|
|
45
|
-
|
|
46
|
-
Usage:
|
|
47
|
-
genesis-harness install [--target agents|legacy|both]
|
|
48
|
-
genesis-harness verify [--target agents|legacy|both]
|
|
49
|
-
genesis-harness uninstall [--target agents|legacy|both]
|
|
50
|
-
genesis-harness path
|
|
51
|
-
|
|
52
|
-
Environment:
|
|
53
|
-
CODEX_HOME=/custom/.codex Override Codex home
|
|
54
|
-
GENESIS_HARNESS_HOME=/custom/.agents Override modern skills home
|
|
55
|
-
GENESIS_HARNESS_SKIP_POSTINSTALL=1 Skip npm postinstall auto-install
|
|
56
|
-
`;
|
|
57
|
-
console.log(text.trim());
|
|
58
|
-
process.exit(exitCode);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function fail(message) {
|
|
62
|
-
console.error(`genesis-harness: ${message}`);
|
|
63
|
-
process.exit(1);
|
|
64
|
-
}
|
|
65
|
-
|
|
42
|
+
|
|
43
|
+
function usage(exitCode = 0) {
|
|
44
|
+
const text = `
|
|
45
|
+
Project Genesis Harness
|
|
46
|
+
|
|
47
|
+
Usage:
|
|
48
|
+
genesis-harness install [--target agents|legacy|both]
|
|
49
|
+
genesis-harness verify [--target agents|legacy|both]
|
|
50
|
+
genesis-harness uninstall [--target agents|legacy|both]
|
|
51
|
+
genesis-harness path
|
|
52
|
+
|
|
53
|
+
Environment:
|
|
54
|
+
CODEX_HOME=/custom/.codex Override Codex home
|
|
55
|
+
GENESIS_HARNESS_HOME=/custom/.agents Override modern skills home
|
|
56
|
+
GENESIS_HARNESS_SKIP_POSTINSTALL=1 Skip npm postinstall auto-install
|
|
57
|
+
`;
|
|
58
|
+
console.log(text.trim());
|
|
59
|
+
process.exit(exitCode);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function fail(message) {
|
|
63
|
+
console.error(`genesis-harness: ${message}`);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
|
|
66
67
|
function ensureSource() {
|
|
67
68
|
for (const skillName of skillNames) {
|
|
68
69
|
const skillFile = path.join(sourceRoot, skillName, "SKILL.md");
|
|
@@ -71,21 +72,21 @@ function ensureSource() {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
|
-
|
|
75
|
-
function parseTarget(args, fallback = "both") {
|
|
76
|
-
let target = fallback;
|
|
77
|
-
for (let i = 0; i < args.length; i++) {
|
|
78
|
-
if (args[i] === "--target") {
|
|
79
|
-
target = args[i + 1];
|
|
80
|
-
i++;
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
usage(2);
|
|
84
|
-
}
|
|
85
|
-
if (!["agents", "legacy", "both"].includes(target)) usage(2);
|
|
86
|
-
return target;
|
|
87
|
-
}
|
|
88
|
-
|
|
75
|
+
|
|
76
|
+
function parseTarget(args, fallback = "both") {
|
|
77
|
+
let target = fallback;
|
|
78
|
+
for (let i = 0; i < args.length; i++) {
|
|
79
|
+
if (args[i] === "--target") {
|
|
80
|
+
target = args[i + 1];
|
|
81
|
+
i++;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
usage(2);
|
|
85
|
+
}
|
|
86
|
+
if (!["agents", "legacy", "both"].includes(target)) usage(2);
|
|
87
|
+
return target;
|
|
88
|
+
}
|
|
89
|
+
|
|
89
90
|
function targetRoots(target) {
|
|
90
91
|
if (target === "agents") return [agentsSkillsRoot];
|
|
91
92
|
if (target === "legacy") return [legacySkillsRoot];
|
|
@@ -101,7 +102,9 @@ function copySkills({ quiet = false, target = "both" } = {}) {
|
|
|
101
102
|
const dir = path.join(root, skillName);
|
|
102
103
|
|
|
103
104
|
if (fs.existsSync(dir)) {
|
|
104
|
-
const
|
|
105
|
+
const backupParent = path.join(root, "..", "backups");
|
|
106
|
+
fs.mkdirSync(backupParent, { recursive: true });
|
|
107
|
+
const backupDir = path.join(backupParent, `${skillName}.backup.${timestamp()}`);
|
|
105
108
|
fs.renameSync(dir, backupDir);
|
|
106
109
|
if (!quiet) console.log(`Existing skill backed up to: ${backupDir}`);
|
|
107
110
|
}
|
|
@@ -129,7 +132,7 @@ function uninstallSkills(target = "both") {
|
|
|
129
132
|
}
|
|
130
133
|
}
|
|
131
134
|
}
|
|
132
|
-
|
|
135
|
+
|
|
133
136
|
function verifySkill(target = "both") {
|
|
134
137
|
const verifyScript = path.join(packageRoot, "scripts", "verify.sh");
|
|
135
138
|
if (!fs.existsSync(verifyScript)) fail(`missing verify script at ${verifyScript}`);
|
|
@@ -158,41 +161,41 @@ function resolveBash() {
|
|
|
158
161
|
}
|
|
159
162
|
return "bash";
|
|
160
163
|
}
|
|
161
|
-
|
|
162
|
-
function chmodScripts(dir) {
|
|
163
|
-
if (!fs.existsSync(dir)) return;
|
|
164
|
-
for (const entry of fs.readdirSync(dir)) {
|
|
165
|
-
const file = path.join(dir, entry);
|
|
166
|
-
if (entry.endsWith(".sh") && fs.statSync(file).isFile()) {
|
|
167
|
-
fs.chmodSync(file, 0o755);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
function timestamp() {
|
|
173
|
-
const date = new Date();
|
|
174
|
-
const pad = (value) => String(value).padStart(2, "0");
|
|
175
|
-
return [
|
|
176
|
-
date.getFullYear(),
|
|
177
|
-
pad(date.getMonth() + 1),
|
|
178
|
-
pad(date.getDate()),
|
|
179
|
-
pad(date.getHours()),
|
|
180
|
-
pad(date.getMinutes()),
|
|
181
|
-
pad(date.getSeconds())
|
|
182
|
-
].join("");
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
const command = process.argv[2] || "help";
|
|
186
|
-
const args = process.argv.slice(3);
|
|
187
|
-
|
|
188
|
-
switch (command) {
|
|
164
|
+
|
|
165
|
+
function chmodScripts(dir) {
|
|
166
|
+
if (!fs.existsSync(dir)) return;
|
|
167
|
+
for (const entry of fs.readdirSync(dir)) {
|
|
168
|
+
const file = path.join(dir, entry);
|
|
169
|
+
if (entry.endsWith(".sh") && fs.statSync(file).isFile()) {
|
|
170
|
+
fs.chmodSync(file, 0o755);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function timestamp() {
|
|
176
|
+
const date = new Date();
|
|
177
|
+
const pad = (value) => String(value).padStart(2, "0");
|
|
178
|
+
return [
|
|
179
|
+
date.getFullYear(),
|
|
180
|
+
pad(date.getMonth() + 1),
|
|
181
|
+
pad(date.getDate()),
|
|
182
|
+
pad(date.getHours()),
|
|
183
|
+
pad(date.getMinutes()),
|
|
184
|
+
pad(date.getSeconds())
|
|
185
|
+
].join("");
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const command = process.argv[2] || "help";
|
|
189
|
+
const args = process.argv.slice(3);
|
|
190
|
+
|
|
191
|
+
switch (command) {
|
|
189
192
|
case "install":
|
|
190
193
|
copySkills({ target: parseTarget(args, "both") });
|
|
191
194
|
break;
|
|
192
|
-
case "postinstall":
|
|
193
|
-
if (process.env.GENESIS_HARNESS_SKIP_POSTINSTALL === "1") {
|
|
194
|
-
process.exit(0);
|
|
195
|
-
}
|
|
195
|
+
case "postinstall":
|
|
196
|
+
if (process.env.GENESIS_HARNESS_SKIP_POSTINSTALL === "1") {
|
|
197
|
+
process.exit(0);
|
|
198
|
+
}
|
|
196
199
|
copySkills({ quiet: true, target: "both" });
|
|
197
200
|
break;
|
|
198
201
|
case "verify":
|
|
@@ -208,11 +211,11 @@ switch (command) {
|
|
|
208
211
|
}
|
|
209
212
|
}
|
|
210
213
|
break;
|
|
211
|
-
case "help":
|
|
212
|
-
case "--help":
|
|
213
|
-
case "-h":
|
|
214
|
-
usage(0);
|
|
215
|
-
break;
|
|
216
|
-
default:
|
|
217
|
-
usage(2);
|
|
218
|
-
}
|
|
214
|
+
case "help":
|
|
215
|
+
case "--help":
|
|
216
|
+
case "-h":
|
|
217
|
+
usage(0);
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
usage(2);
|
|
221
|
+
}
|
package/package.json
CHANGED
|
@@ -1,43 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "codex-genesis-harness",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"bin": {
|
|
7
|
-
"genesis-harness": "bin/genesis-harness.js"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"postinstall": "node bin/genesis-harness.js postinstall",
|
|
11
|
-
"verify": "bash scripts/verify.sh",
|
|
12
|
-
"eval": "bash scripts/run-evals.sh",
|
|
13
|
-
"pack:check": "npm pack --dry-run"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
".
|
|
17
|
-
".
|
|
18
|
-
".
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "codex-genesis-harness",
|
|
3
|
+
"version": "0.1.6",
|
|
4
|
+
"description": "Hệ thống quản trị (Harness) dành cho AI Agent (Codex) với cơ chế FSM State Persistence, Validation Gates và Test-First Workflow. Đảm bảo agent không bị trôi context.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"bin": {
|
|
7
|
+
"genesis-harness": "bin/genesis-harness.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"postinstall": "node bin/genesis-harness.js postinstall",
|
|
11
|
+
"verify": "bash scripts/verify.sh",
|
|
12
|
+
"eval": "bash scripts/run-evals.sh",
|
|
13
|
+
"pack:check": "npm pack --dry-run",
|
|
14
|
+
"spec:sync": "node scripts/spec_visual_sync.js",
|
|
15
|
+
"test:gen": "node scripts/test_generator.js",
|
|
16
|
+
"sentinel": "node scripts/prompt_sentinel.js",
|
|
17
|
+
"integrity": "node scripts/contract_integrity_gate.js",
|
|
18
|
+
"telemetry": "node scripts/healing_telemetry.js"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
".codex-plugin",
|
|
22
|
+
".codex/skills",
|
|
23
|
+
".codebase",
|
|
24
|
+
"contracts",
|
|
25
|
+
"fixtures",
|
|
26
|
+
"tests",
|
|
27
|
+
"playwright",
|
|
28
|
+
"observability",
|
|
29
|
+
"bin",
|
|
30
|
+
"scripts",
|
|
31
|
+
"README.md",
|
|
32
|
+
"LICENSE",
|
|
33
|
+
"VERSION",
|
|
34
|
+
"CHANGELOG.md"
|
|
35
|
+
],
|
|
36
|
+
"keywords": [
|
|
37
|
+
"codex",
|
|
38
|
+
"ai-agent",
|
|
39
|
+
"autonomous-agent",
|
|
40
|
+
"harness-engineering",
|
|
41
|
+
"llm-workflow",
|
|
42
|
+
"project-management",
|
|
43
|
+
"state-machine",
|
|
44
|
+
"fsm",
|
|
45
|
+
"codex-plugin",
|
|
46
|
+
"developer-tools",
|
|
47
|
+
"validation-gates"
|
|
48
|
+
],
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18"
|
|
51
|
+
},
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public"
|
|
54
|
+
},
|
|
55
|
+
"author": "Genesis Codex Team",
|
|
56
|
+
"repository": {
|
|
57
|
+
"type": "git",
|
|
58
|
+
"url": "git+https://github.com/tuanpham09/codex-genesis-harness.git"
|
|
59
|
+
},
|
|
60
|
+
"bugs": {
|
|
61
|
+
"url": "https://github.com/tuanpham09/codex-genesis-harness/issues"
|
|
62
|
+
},
|
|
63
|
+
"homepage": "https://github.com/tuanpham09/codex-genesis-harness#readme",
|
|
64
|
+
"funding": {
|
|
65
|
+
"type": "momo",
|
|
66
|
+
"url": "tel:0865814259"
|
|
67
|
+
}
|
|
68
|
+
}
|