codeharness 0.36.3 → 0.36.5
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.
|
@@ -2895,7 +2895,7 @@ function generateDockerfileTemplate(projectDir, stackOrDetections) {
|
|
|
2895
2895
|
}
|
|
2896
2896
|
|
|
2897
2897
|
// src/modules/infra/init-project.ts
|
|
2898
|
-
var HARNESS_VERSION = true ? "0.36.
|
|
2898
|
+
var HARNESS_VERSION = true ? "0.36.5" : "0.0.0-dev";
|
|
2899
2899
|
function failResult(opts, error) {
|
|
2900
2900
|
return {
|
|
2901
2901
|
status: "fail",
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
validateDockerfile,
|
|
41
41
|
warn,
|
|
42
42
|
writeState
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-3UH6SVBO.js";
|
|
44
44
|
|
|
45
45
|
// src/index.ts
|
|
46
46
|
import { Command } from "commander";
|
|
@@ -3175,7 +3175,7 @@ function formatCoverageContextMessage(coverage, target) {
|
|
|
3175
3175
|
var TASK_PROMPTS = {
|
|
3176
3176
|
"create-story": (key) => `Create the story spec for ${key}. Read the epic definitions and architecture docs. Write a complete story file with acceptance criteria, tasks, and dev notes. CRITICAL: Every AC must be testable by a blind QA agent using ONLY a user guide + browser/API/CLI access. No AC should reference source code, internal data structures, or implementation details like O(1) complexity. Each AC must describe observable behavior that can be verified through UI interaction (agent-browser), API calls (curl), CLI commands (docker exec), or log inspection (docker logs). Wrap output in <story-spec>...</story-spec> tags.`,
|
|
3177
3177
|
"implement": (key) => `Implement story ${key}`,
|
|
3178
|
-
"check": (key) => `Run automated checks for story ${key}.
|
|
3178
|
+
"check": (key) => `Run automated checks for story ${key}. Execute the project's test suite and linter. Include <verdict>pass</verdict> or <verdict>fail</verdict> in your response.`,
|
|
3179
3179
|
"review": (key) => `Review the implementation of story ${key}. Check for correctness, security issues, architecture violations, and AC coverage. Include <verdict>pass</verdict> or <verdict>fail</verdict> in your response. If fail, include <issues>...</issues>.`,
|
|
3180
3180
|
"document": (key) => `Write user documentation for story ${key}. Describe what was built and how to use it from a user's perspective. No source code. Wrap documentation in <user-docs>...</user-docs> tags.`,
|
|
3181
3181
|
"deploy": () => `Provision the Docker environment for this project. Check for docker-compose.yml, start containers, verify health. Wrap report in <deploy-report>...</deploy-report> tags with status, containers, URLs, credentials, health.`,
|
|
@@ -3635,6 +3635,10 @@ var loopIterationActor = fromPromise2(async ({ input }) => {
|
|
|
3635
3635
|
}
|
|
3636
3636
|
if (haltedInLoop) break;
|
|
3637
3637
|
}
|
|
3638
|
+
if (tasksCompleted === 0 && !haltedInLoop && errors.length > 0) {
|
|
3639
|
+
warn(`workflow-machine: loop iteration produced zero completions with ${errors.length} error(s) \u2014 halting to prevent infinite loop`);
|
|
3640
|
+
haltedInLoop = true;
|
|
3641
|
+
}
|
|
3638
3642
|
return { ...input, currentState, errors, tasksCompleted, halted: haltedInLoop, lastContract, lastVerdict, accumulatedCostUsd };
|
|
3639
3643
|
});
|
|
3640
3644
|
var loopMachine = setup({
|
|
@@ -11194,7 +11198,7 @@ function registerTeardownCommand(program) {
|
|
|
11194
11198
|
} else if (otlpMode === "remote-routed") {
|
|
11195
11199
|
if (!options.keepDocker) {
|
|
11196
11200
|
try {
|
|
11197
|
-
const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-
|
|
11201
|
+
const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-LNVG4NBV.js");
|
|
11198
11202
|
stopCollectorOnly2();
|
|
11199
11203
|
result.docker.stopped = true;
|
|
11200
11204
|
if (!isJson) {
|
|
@@ -11226,7 +11230,7 @@ function registerTeardownCommand(program) {
|
|
|
11226
11230
|
info("Shared stack: kept running (other projects may use it)");
|
|
11227
11231
|
}
|
|
11228
11232
|
} else if (isLegacyStack) {
|
|
11229
|
-
const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-
|
|
11233
|
+
const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-LNVG4NBV.js");
|
|
11230
11234
|
let stackRunning = false;
|
|
11231
11235
|
try {
|
|
11232
11236
|
stackRunning = isStackRunning2(composeFile);
|
|
@@ -13859,7 +13863,7 @@ var CodexDriver = class {
|
|
|
13859
13863
|
opts.plugins
|
|
13860
13864
|
);
|
|
13861
13865
|
}
|
|
13862
|
-
const args = ["exec", "--json", "--full-auto", "--skip-git-repo-check"];
|
|
13866
|
+
const args = opts.sourceAccess ? ["exec", "--json", "--dangerously-bypass-approvals-and-sandbox", "--skip-git-repo-check"] : ["exec", "--json", "--full-auto", "--skip-git-repo-check"];
|
|
13863
13867
|
const model = opts.model && !opts.model.startsWith("claude-") ? opts.model : void 0;
|
|
13864
13868
|
if (model) {
|
|
13865
13869
|
args.push("--model", model);
|
|
@@ -14213,7 +14217,7 @@ function registerDriversCommand(program) {
|
|
|
14213
14217
|
}
|
|
14214
14218
|
|
|
14215
14219
|
// src/index.ts
|
|
14216
|
-
var VERSION = true ? "0.36.
|
|
14220
|
+
var VERSION = true ? "0.36.5" : "0.0.0-dev";
|
|
14217
14221
|
function createProgram() {
|
|
14218
14222
|
const program = new Command();
|
|
14219
14223
|
program.name("codeharness").description("Makes autonomous coding agents produce software that actually works").version(VERSION).option("--json", "Output in machine-readable JSON format");
|