@hasna/loops 0.3.40 → 0.3.42
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/dist/cli/index.js +14 -3
- package/dist/daemon/index.js +1 -1
- package/dist/index.js +13 -2
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -5716,7 +5716,7 @@ function buildScriptInventoryReport(store, opts = {}) {
|
|
|
5716
5716
|
// package.json
|
|
5717
5717
|
var package_default = {
|
|
5718
5718
|
name: "@hasna/loops",
|
|
5719
|
-
version: "0.3.
|
|
5719
|
+
version: "0.3.42",
|
|
5720
5720
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
5721
5721
|
type: "module",
|
|
5722
5722
|
main: "dist/index.js",
|
|
@@ -6291,6 +6291,7 @@ function renderTodosTaskWorkerVerifierWorkflow(input) {
|
|
|
6291
6291
|
throw new Error("taskId is required");
|
|
6292
6292
|
if (!input.projectPath?.trim())
|
|
6293
6293
|
throw new Error("projectPath is required");
|
|
6294
|
+
const todosProjectPath = input.routeProjectPath ?? input.projectPath;
|
|
6294
6295
|
const plan = worktreePlan(input, input.taskId);
|
|
6295
6296
|
const taskContext = {
|
|
6296
6297
|
taskId: input.taskId,
|
|
@@ -6315,10 +6316,15 @@ function renderTodosTaskWorkerVerifierWorkflow(input) {
|
|
|
6315
6316
|
"",
|
|
6316
6317
|
"You are the worker agent for a task-triggered OpenLoops workflow.",
|
|
6317
6318
|
worktreePrompt(plan),
|
|
6319
|
+
`Todos project path: ${todosProjectPath}`,
|
|
6320
|
+
"Use these exact todos commands so worktree cwd inference cannot attach to the wrong project:",
|
|
6321
|
+
`- Inspect first: todos --project ${todosProjectPath} inspect ${input.taskId}`,
|
|
6322
|
+
`- Claim/start if appropriate: todos --project ${todosProjectPath} start ${input.taskId}`,
|
|
6323
|
+
`- Record evidence: todos --project ${todosProjectPath} comment ${input.taskId} "<concise evidence and blockers>"`,
|
|
6318
6324
|
"Investigate first before changing files. Use the todos CLI as the source of truth for the task.",
|
|
6319
|
-
"
|
|
6325
|
+
"Inspect the repository/project state, implement only the task scope, run focused validation, preserve unrelated user changes, and update the task with comments, evidence, changed files, commits, and blockers.",
|
|
6320
6326
|
"Do not dispatch or paste prompts into tmux panes. If additional work is required, create or update deduped todos tasks so task-created routing can start a fresh headless workflow.",
|
|
6321
|
-
"Do not mark the task complete
|
|
6327
|
+
"Do not mark the task complete in the worker step; the verifier step owns completion after independent validation.",
|
|
6322
6328
|
"",
|
|
6323
6329
|
`Task context JSON: ${compactJson(taskContext)}`
|
|
6324
6330
|
].join(`
|
|
@@ -6328,6 +6334,11 @@ function renderTodosTaskWorkerVerifierWorkflow(input) {
|
|
|
6328
6334
|
"",
|
|
6329
6335
|
"You are the verifier agent for a task-triggered OpenLoops workflow.",
|
|
6330
6336
|
worktreePrompt(plan),
|
|
6337
|
+
`Todos project path: ${todosProjectPath}`,
|
|
6338
|
+
"Use these exact todos commands so worktree cwd inference cannot attach to the wrong project:",
|
|
6339
|
+
`- Inspect first: todos --project ${todosProjectPath} inspect ${input.taskId}`,
|
|
6340
|
+
`- Record verification: todos --project ${todosProjectPath} comment ${input.taskId} "<verification evidence or blocker>"`,
|
|
6341
|
+
`- If valid and complete: todos --project ${todosProjectPath} done ${input.taskId}`,
|
|
6331
6342
|
"Use fresh context. Inspect the task, repository state, commits, tests, and worker evidence. Act as an adversarial reviewer focused on correctness, regressions, missing tests, security, and incomplete requirements.",
|
|
6332
6343
|
"If the work is valid, record verification evidence in todos and mark/leave the task in the correct completed state according to the todos CLI. If it is not valid, add precise follow-up tasks or comments and leave the original task open or blocked with clear evidence.",
|
|
6333
6344
|
"Do not dispatch or paste prompts into tmux panes. If additional work is required, create or update deduped todos tasks so task-created routing can start a fresh headless workflow.",
|
package/dist/daemon/index.js
CHANGED
|
@@ -5030,7 +5030,7 @@ function enableStartup(result) {
|
|
|
5030
5030
|
// package.json
|
|
5031
5031
|
var package_default = {
|
|
5032
5032
|
name: "@hasna/loops",
|
|
5033
|
-
version: "0.3.
|
|
5033
|
+
version: "0.3.42",
|
|
5034
5034
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
5035
5035
|
type: "module",
|
|
5036
5036
|
main: "dist/index.js",
|
package/dist/index.js
CHANGED
|
@@ -5252,6 +5252,7 @@ function renderTodosTaskWorkerVerifierWorkflow(input) {
|
|
|
5252
5252
|
throw new Error("taskId is required");
|
|
5253
5253
|
if (!input.projectPath?.trim())
|
|
5254
5254
|
throw new Error("projectPath is required");
|
|
5255
|
+
const todosProjectPath = input.routeProjectPath ?? input.projectPath;
|
|
5255
5256
|
const plan = worktreePlan(input, input.taskId);
|
|
5256
5257
|
const taskContext = {
|
|
5257
5258
|
taskId: input.taskId,
|
|
@@ -5276,10 +5277,15 @@ function renderTodosTaskWorkerVerifierWorkflow(input) {
|
|
|
5276
5277
|
"",
|
|
5277
5278
|
"You are the worker agent for a task-triggered OpenLoops workflow.",
|
|
5278
5279
|
worktreePrompt(plan),
|
|
5280
|
+
`Todos project path: ${todosProjectPath}`,
|
|
5281
|
+
"Use these exact todos commands so worktree cwd inference cannot attach to the wrong project:",
|
|
5282
|
+
`- Inspect first: todos --project ${todosProjectPath} inspect ${input.taskId}`,
|
|
5283
|
+
`- Claim/start if appropriate: todos --project ${todosProjectPath} start ${input.taskId}`,
|
|
5284
|
+
`- Record evidence: todos --project ${todosProjectPath} comment ${input.taskId} "<concise evidence and blockers>"`,
|
|
5279
5285
|
"Investigate first before changing files. Use the todos CLI as the source of truth for the task.",
|
|
5280
|
-
"
|
|
5286
|
+
"Inspect the repository/project state, implement only the task scope, run focused validation, preserve unrelated user changes, and update the task with comments, evidence, changed files, commits, and blockers.",
|
|
5281
5287
|
"Do not dispatch or paste prompts into tmux panes. If additional work is required, create or update deduped todos tasks so task-created routing can start a fresh headless workflow.",
|
|
5282
|
-
"Do not mark the task complete
|
|
5288
|
+
"Do not mark the task complete in the worker step; the verifier step owns completion after independent validation.",
|
|
5283
5289
|
"",
|
|
5284
5290
|
`Task context JSON: ${compactJson(taskContext)}`
|
|
5285
5291
|
].join(`
|
|
@@ -5289,6 +5295,11 @@ function renderTodosTaskWorkerVerifierWorkflow(input) {
|
|
|
5289
5295
|
"",
|
|
5290
5296
|
"You are the verifier agent for a task-triggered OpenLoops workflow.",
|
|
5291
5297
|
worktreePrompt(plan),
|
|
5298
|
+
`Todos project path: ${todosProjectPath}`,
|
|
5299
|
+
"Use these exact todos commands so worktree cwd inference cannot attach to the wrong project:",
|
|
5300
|
+
`- Inspect first: todos --project ${todosProjectPath} inspect ${input.taskId}`,
|
|
5301
|
+
`- Record verification: todos --project ${todosProjectPath} comment ${input.taskId} "<verification evidence or blocker>"`,
|
|
5302
|
+
`- If valid and complete: todos --project ${todosProjectPath} done ${input.taskId}`,
|
|
5292
5303
|
"Use fresh context. Inspect the task, repository state, commits, tests, and worker evidence. Act as an adversarial reviewer focused on correctness, regressions, missing tests, security, and incomplete requirements.",
|
|
5293
5304
|
"If the work is valid, record verification evidence in todos and mark/leave the task in the correct completed state according to the todos CLI. If it is not valid, add precise follow-up tasks or comments and leave the original task open or blocked with clear evidence.",
|
|
5294
5305
|
"Do not dispatch or paste prompts into tmux panes. If additional work is required, create or update deduped todos tasks so task-created routing can start a fresh headless workflow.",
|
package/package.json
CHANGED