opensquid 0.5.407 → 0.5.426

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 (154) hide show
  1. package/dist/cli.js +5 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/functions/event.d.ts.map +1 -1
  4. package/dist/functions/event.js +30 -0
  5. package/dist/functions/event.js.map +1 -1
  6. package/dist/functions/handoff_session_start.d.ts.map +1 -1
  7. package/dist/functions/handoff_session_start.js +4 -6
  8. package/dist/functions/handoff_session_start.js.map +1 -1
  9. package/dist/functions/index.d.ts +4 -0
  10. package/dist/functions/index.d.ts.map +1 -1
  11. package/dist/functions/index.js +5 -0
  12. package/dist/functions/index.js.map +1 -1
  13. package/dist/functions/read_rubric.d.ts +27 -0
  14. package/dist/functions/read_rubric.d.ts.map +1 -0
  15. package/dist/functions/read_rubric.js +53 -0
  16. package/dist/functions/read_rubric.js.map +1 -0
  17. package/dist/functions/reset_scope_track_state.d.ts +20 -0
  18. package/dist/functions/reset_scope_track_state.d.ts.map +1 -0
  19. package/dist/functions/reset_scope_track_state.js +53 -0
  20. package/dist/functions/reset_scope_track_state.js.map +1 -0
  21. package/dist/functions/rubric_pre_inject.d.ts +22 -0
  22. package/dist/functions/rubric_pre_inject.d.ts.map +1 -0
  23. package/dist/functions/rubric_pre_inject.js +58 -0
  24. package/dist/functions/rubric_pre_inject.js.map +1 -0
  25. package/dist/functions/session_tool_history.d.ts +3 -3
  26. package/dist/functions/session_tool_history.js +1 -1
  27. package/dist/functions/session_tool_history.js.map +1 -1
  28. package/dist/functions/shell_parse.d.ts +41 -0
  29. package/dist/functions/shell_parse.d.ts.map +1 -0
  30. package/dist/functions/shell_parse.js +185 -0
  31. package/dist/functions/shell_parse.js.map +1 -0
  32. package/dist/functions/staged_docs_only.d.ts +23 -0
  33. package/dist/functions/staged_docs_only.d.ts.map +1 -0
  34. package/dist/functions/staged_docs_only.js +57 -0
  35. package/dist/functions/staged_docs_only.js.map +1 -0
  36. package/dist/mcp/server.js +14 -1
  37. package/dist/mcp/server.js.map +1 -1
  38. package/dist/mcp/tools/ralph.d.ts +21 -0
  39. package/dist/mcp/tools/ralph.d.ts.map +1 -0
  40. package/dist/mcp/tools/ralph.js +18 -0
  41. package/dist/mcp/tools/ralph.js.map +1 -0
  42. package/dist/mcp/tools/workgraph.d.ts +11 -0
  43. package/dist/mcp/tools/workgraph.d.ts.map +1 -1
  44. package/dist/mcp/tools/workgraph.js +7 -0
  45. package/dist/mcp/tools/workgraph.js.map +1 -1
  46. package/dist/rag/backend_factory.d.ts.map +1 -1
  47. package/dist/rag/backend_factory.js +4 -0
  48. package/dist/rag/backend_factory.js.map +1 -1
  49. package/dist/rag/backends/libsql_lexical.d.ts.map +1 -1
  50. package/dist/rag/backends/libsql_lexical.js +21 -5
  51. package/dist/rag/backends/libsql_lexical.js.map +1 -1
  52. package/dist/rag/backends/libsql_store.d.ts.map +1 -1
  53. package/dist/rag/backends/libsql_store.js +33 -6
  54. package/dist/rag/backends/libsql_store.js.map +1 -1
  55. package/dist/rag/backends/perfile_source.d.ts.map +1 -1
  56. package/dist/rag/backends/perfile_source.js +3 -0
  57. package/dist/rag/backends/perfile_source.js.map +1 -1
  58. package/dist/rag/memory/consolidate.d.ts +3 -2
  59. package/dist/rag/memory/consolidate.d.ts.map +1 -1
  60. package/dist/rag/memory/consolidate.js +7 -4
  61. package/dist/rag/memory/consolidate.js.map +1 -1
  62. package/dist/rag/types.d.ts +2 -0
  63. package/dist/rag/types.d.ts.map +1 -1
  64. package/dist/rag/types.js.map +1 -1
  65. package/dist/runtime/bootstrap.d.ts.map +1 -1
  66. package/dist/runtime/bootstrap.js +8 -0
  67. package/dist/runtime/bootstrap.js.map +1 -1
  68. package/dist/runtime/coding_flow_keys.d.ts +17 -0
  69. package/dist/runtime/coding_flow_keys.d.ts.map +1 -0
  70. package/dist/runtime/coding_flow_keys.js +21 -0
  71. package/dist/runtime/coding_flow_keys.js.map +1 -0
  72. package/dist/runtime/handoff/collect.d.ts.map +1 -1
  73. package/dist/runtime/handoff/collect.js +3 -1
  74. package/dist/runtime/handoff/collect.js.map +1 -1
  75. package/dist/runtime/hooks/session-start.js +5 -1
  76. package/dist/runtime/hooks/session-start.js.map +1 -1
  77. package/dist/runtime/hooks/session_id.d.ts +7 -0
  78. package/dist/runtime/hooks/session_id.d.ts.map +1 -1
  79. package/dist/runtime/hooks/session_id.js +30 -12
  80. package/dist/runtime/hooks/session_id.js.map +1 -1
  81. package/dist/runtime/protected_paths.d.ts +18 -0
  82. package/dist/runtime/protected_paths.d.ts.map +1 -0
  83. package/dist/runtime/protected_paths.js +18 -0
  84. package/dist/runtime/protected_paths.js.map +1 -0
  85. package/dist/runtime/ralph/decision_classifier.d.ts +18 -0
  86. package/dist/runtime/ralph/decision_classifier.d.ts.map +1 -0
  87. package/dist/runtime/ralph/decision_classifier.js +72 -0
  88. package/dist/runtime/ralph/decision_classifier.js.map +1 -0
  89. package/dist/runtime/ralph/escalate_lap.d.ts +31 -0
  90. package/dist/runtime/ralph/escalate_lap.d.ts.map +1 -0
  91. package/dist/runtime/ralph/escalate_lap.js +22 -0
  92. package/dist/runtime/ralph/escalate_lap.js.map +1 -0
  93. package/dist/runtime/ralph/escalator.d.ts +34 -0
  94. package/dist/runtime/ralph/escalator.d.ts.map +1 -0
  95. package/dist/runtime/ralph/escalator.js +19 -0
  96. package/dist/runtime/ralph/escalator.js.map +1 -0
  97. package/dist/runtime/ralph/lap_outcome.d.ts +43 -0
  98. package/dist/runtime/ralph/lap_outcome.d.ts.map +1 -0
  99. package/dist/runtime/ralph/lap_outcome.js +119 -0
  100. package/dist/runtime/ralph/lap_outcome.js.map +1 -0
  101. package/dist/runtime/ralph/orchestrator.d.ts +71 -0
  102. package/dist/runtime/ralph/orchestrator.d.ts.map +1 -0
  103. package/dist/runtime/ralph/orchestrator.js +74 -0
  104. package/dist/runtime/ralph/orchestrator.js.map +1 -0
  105. package/dist/runtime/ralph/ralph_template.d.ts +18 -0
  106. package/dist/runtime/ralph/ralph_template.d.ts.map +1 -0
  107. package/dist/runtime/ralph/ralph_template.js +61 -0
  108. package/dist/runtime/ralph/ralph_template.js.map +1 -0
  109. package/dist/runtime/ralph/supervisor.d.ts +30 -0
  110. package/dist/runtime/ralph/supervisor.d.ts.map +1 -0
  111. package/dist/runtime/ralph/supervisor.js +24 -0
  112. package/dist/runtime/ralph/supervisor.js.map +1 -0
  113. package/dist/runtime/session_state.d.ts +9 -1
  114. package/dist/runtime/session_state.d.ts.map +1 -1
  115. package/dist/runtime/session_state.js +25 -3
  116. package/dist/runtime/session_state.js.map +1 -1
  117. package/dist/runtime/wedge/compression_deps.d.ts.map +1 -1
  118. package/dist/runtime/wedge/compression_deps.js +9 -1
  119. package/dist/runtime/wedge/compression_deps.js.map +1 -1
  120. package/dist/setup/cli/gate.d.ts +7 -2
  121. package/dist/setup/cli/gate.d.ts.map +1 -1
  122. package/dist/setup/cli/gate.js +7 -3
  123. package/dist/setup/cli/gate.js.map +1 -1
  124. package/dist/setup/cli/ralph.d.ts +20 -0
  125. package/dist/setup/cli/ralph.d.ts.map +1 -0
  126. package/dist/setup/cli/ralph.js +168 -0
  127. package/dist/setup/cli/ralph.js.map +1 -0
  128. package/dist/setup/wizard/ralph_writer.d.ts +98 -0
  129. package/dist/setup/wizard/ralph_writer.d.ts.map +1 -0
  130. package/dist/setup/wizard/ralph_writer.js +114 -0
  131. package/dist/setup/wizard/ralph_writer.js.map +1 -0
  132. package/dist/workgraph/audience.d.ts +12 -0
  133. package/dist/workgraph/audience.d.ts.map +1 -0
  134. package/dist/workgraph/audience.js +10 -0
  135. package/dist/workgraph/audience.js.map +1 -0
  136. package/dist/workgraph/events.d.ts.map +1 -1
  137. package/dist/workgraph/events.js +34 -0
  138. package/dist/workgraph/events.js.map +1 -1
  139. package/dist/workgraph/store.d.ts.map +1 -1
  140. package/dist/workgraph/store.js +86 -12
  141. package/dist/workgraph/store.js.map +1 -1
  142. package/dist/workgraph/types.d.ts +33 -2
  143. package/dist/workgraph/types.d.ts.map +1 -1
  144. package/docs/rubric/author.md +17 -0
  145. package/docs/rubric/scope.md +16 -0
  146. package/package.json +3 -2
  147. package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +15 -0
  148. package/packs/builtin/coding-flow/skills/execute-gate/skill.yaml +9 -10
  149. package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +72 -51
  150. package/packs/builtin/default-discipline/manifest.yaml +6 -3
  151. package/packs/builtin/default-discipline/skills/workflow/skill.yaml +19 -6
  152. package/packs/builtin/pack-architect/SKILL.md +10 -0
  153. package/packs/builtin/pack-architect/skills/skill-yaml-author-walkthrough/skill.yaml +7 -0
  154. package/packs/builtin/scope-architect/team.yaml +5 -2
@@ -0,0 +1,74 @@
1
+ import { superviseLap } from './supervisor.js';
2
+ import { escalateLap } from './escalate_lap.js';
3
+ /** Resource pauses END the run; everything else is per-item decision-residual that parks + continues. */
4
+ const RESOURCE_PAUSES = ['BUDGET', 'RATE_BUDGET', 'BOARD_EMPTY'];
5
+ const isResourcePause = (r) => RESOURCE_PAUSES.includes(r);
6
+ export async function runRalphLoop(cfg, deps) {
7
+ const { wg } = deps;
8
+ const closed = [];
9
+ const parked = [];
10
+ let spent = 0;
11
+ // THE single uniform stop-layer (Inv 5): every reason chat-escalates through ONE path — no per-trigger
12
+ // code paths (rejects Alt D). Two SEPARATE, explicit decisions ride alongside it: (a) wedge-mark ONLY the
13
+ // per-item residual (IRREVERSIBLE_BOUNDARY/SCOPE_FORK/UNRECOVERABLE_WEDGE) — a resource pause
14
+ // (BUDGET/RATE_BUDGET/BOARD_EMPTY) is TRANSIENT, so the item stays in `ready` to retry after the
15
+ // window/budget resets (wedge-marking it would PERMANENTLY park healthy work); (b) continue-vs-stop is
16
+ // isResourcePause at the call sites.
17
+ const parkAndEscalate = async (reason, item) => {
18
+ if (item !== undefined && !isResourcePause(reason)) {
19
+ await wg.wedgeMark(item.id, reason); // a marked item SKIPS on re-attempt (residual only — GR.3)
20
+ parked.push({ id: item.id, reason });
21
+ }
22
+ // GR.3 — undroppable. Omit `item` entirely when absent (exactOptionalPropertyTypes: no explicit undefined).
23
+ await escalateLap(reason, item === undefined ? { escalate: deps.escalate } : { item: item.id, escalate: deps.escalate });
24
+ };
25
+ for (;;) {
26
+ const ready = await wg.listReady(); // GR.1 ordering, claim+wedge aware (live-claimed items excluded)
27
+ if (ready.length === 0) {
28
+ await parkAndEscalate('BOARD_EMPTY'); // resource pause → escalate + STOP
29
+ return { stopped: 'BOARD_EMPTY', spent, closed, parked };
30
+ }
31
+ const item = ready[0]; // oldest-first (shipped listReady ORDER BY created_at; no priority column)
32
+ if (item === undefined)
33
+ continue; // unreachable (length checked) — narrows for strict indexing
34
+ const { won } = await wg.claimIssue(item.id, deps.claimAudience(), cfg.claimTtlSec); // GR.1 atomic CAS
35
+ if (!won)
36
+ continue; // another runner/harness won it — it now carries a live claim, excluded next pass
37
+ const outcome = await superviseLap(() => deps.runLap(item), cfg.supervise); // GR.3 → LapResult
38
+ spent += outcome.costUsd; // GR.3 propagates costUsd across retries
39
+ if (outcome.kind === 'SHIPPED') {
40
+ await wg.updateIssue(item.id, { status: 'closed' });
41
+ closed.push(item.id);
42
+ }
43
+ else {
44
+ // Non-SHIPPED → the ONE uniform path. HUMAN_REQUIRED carries its reason; WEDGE (and the
45
+ // post-supervision CRASH/TIMEOUT the type allows but superviseLap never returns — it exhausts
46
+ // them to HUMAN_REQUIRED{UNRECOVERABLE_WEDGE}) map to UNRECOVERABLE_WEDGE.
47
+ const reason = outcome.kind === 'HUMAN_REQUIRED' ? outcome.reason : 'UNRECOVERABLE_WEDGE';
48
+ await parkAndEscalate(reason, item);
49
+ if (isResourcePause(reason))
50
+ return { stopped: reason, spent, closed, parked }; // e.g. lap-emitted RATE_BUDGET
51
+ // else (IRREVERSIBLE_BOUNDARY / SCOPE_FORK / UNRECOVERABLE_WEDGE): parked, take the next item
52
+ }
53
+ if (cfg.authMode === 'api' && spent > cfg.maxBudgetUsd) {
54
+ await parkAndEscalate('BUDGET'); // Inv 11 API bound (verified total_cost_usd) → resource pause → STOP
55
+ return { stopped: 'BUDGET', spent, closed, parked };
56
+ }
57
+ if (cfg.once)
58
+ return { stopped: 'once', spent, closed, parked };
59
+ }
60
+ }
61
+ /**
62
+ * `opensquid loop resolve <itemId> --misclassified` — the human-override INPUT (post-hoc residual-shrink
63
+ * path; NOT the hot loop). The human marks a parked escalation as principle-settleable: we record the
64
+ * misclassification (the heuristic said ESCALATE, the correct verdict was DECIDE) and un-wedge the item so
65
+ * it re-enters `ready` for another lap. The SOLE caller of GR.2's recordMisclassification.
66
+ */
67
+ export async function resolveParked(itemId, deps) {
68
+ const item = await deps.wg.getIssue(itemId);
69
+ if (item?.wedgeReason === undefined)
70
+ throw new Error(`resolveParked: not a parked item: ${itemId}`);
71
+ await deps.recordMisclassification(deps.sessionId, 'DECIDE', 'ESCALATE', item.title, deps.nowIso);
72
+ await deps.wg.clearWedge(itemId); // un-wedge → re-enters listReady
73
+ }
74
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/runtime/ralph/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * GR.4 — the RALPH.md per-lap directive (the "Ralph constant").
3
+ *
4
+ * This is the STABLE prompt every lap runs (Brodie's Ralph: the same prompt, fresh context, every
5
+ * iteration — Inv 1 dumb-loop + Inv 2 fresh-context). It is NOT the orchestrator's logic; it is the
6
+ * instruction the spawned `claude -p` lap reads. The orchestrator stays a thin non-LLM loop; ALL the
7
+ * intelligence lives in the lap running this directive against the reloaded wedge-gated lessons.
8
+ *
9
+ * The one hard contract between lap and orchestrator: the lap MUST end by emitting a single greppable
10
+ * `RALPH-EXIT: {json}` line whose JSON is a `LapOutcome` (parsed by GR.2 `extractTypedExit`). Everything
11
+ * else (resume, lean load, the 7-phase flow, DECIDE-vs-ESCALATE) is the same discipline a human-driven
12
+ * session follows — the lap is gated identically (the gate is harness-agnostic, GDC).
13
+ *
14
+ * Exported as a string constant (not a shipped file) so the wizard (`ralph_writer.ts`) writes it to
15
+ * `~/.opensquid/RALPH.md` idempotently — no build-time file-copy-to-dist concern.
16
+ */
17
+ export declare const RALPH_MD = "# RALPH.md \u2014 the gated-ralph per-lap directive\n\nYou are ONE lap of an autonomous gated loop. A thin orchestrator handed you exactly one already-claimed\nwork-item id via `--item <id>`. Your context is FRESH \u2014 nothing carried over from the previous lap\nexcept the durable disk (the work-graph + the wedge-gated lesson store). That is by design: you are the\ndumb loop's smart body (Inv 1/2). Do the item, then exit with a typed verdict. Do not try to do the\nwhole board \u2014 the orchestrator takes the next item.\n\n## What to do\n\n1. **Resume + load lean.** Read the item (`workgraph_get`) and recall only the lessons/memories relevant\n to it (scoped recall). Do NOT bulk-load the whole store \u2014 fresh context is the point.\n2. **Run the flow.** Drive SCOPE \u2192 AUTHOR \u2192 the 7-phase exactly as an interactive session would. The gate\n is identical for you (it is harness-agnostic). You CANNOT route around it \u2014 `--no-verify` is futile\n (the PreToolUse + git-owned gates both hold), and that is the safety floor that lets you run unattended.\n3. **DECIDE, don't ask.** Surface decisions are yours to settle by the locked principles (rename, format,\n file location, refactor \u2014 Simplicity). Decide and proceed. Permission-fishing is drift, not diligence.\n4. **ESCALATE only the genuine residual.** Stop and emit `HUMAN_REQUIRED` ONLY for: an irreversible /\n outward boundary you cannot cross (npm publish, OTP, force-push, prod deploy, drop table) \u2192\n `IRREVERSIBLE_BOUNDARY`; a genuine product/UX fork the principles cannot settle \u2192 `SCOPE_FORK`. These\n are the things only the human can own. Everything else, you own.\n5. **Ship gated.** Land the work only through the flow (tests + gates green, commit, push if configured).\n Flush any durable lessons learned.\n\n## How to exit (the ONE hard contract)\n\nEnd your run by printing EXACTLY ONE line of the form:\n\n```\nRALPH-EXIT: {\"kind\":\"SHIPPED\"}\n```\n\nThe JSON must be one of:\n\n- `{\"kind\":\"SHIPPED\"}` \u2014 the item is done, gated, committed.\n- `{\"kind\":\"HUMAN_REQUIRED\",\"reason\":\"IRREVERSIBLE_BOUNDARY\",\"payload\":{...}}` \u2014 parked for the human;\n `reason` is one of IRREVERSIBLE_BOUNDARY | SCOPE_FORK | UNRECOVERABLE_WEDGE | BUDGET | RATE_BUDGET |\n BOARD_EMPTY (you will normally only emit the first two; the orchestrator owns the resource reasons).\n- `{\"kind\":\"WEDGE\"}` \u2014 you are genuinely stuck and a fresh lap on the SAME item would not help (the\n orchestrator wedge-marks it so it is not re-attempted, and escalates UNRECOVERABLE_WEDGE).\n\nIf you crash or time out, say nothing special \u2014 the orchestrator's supervisor treats a missing/erroring\nexit as a transient CRASH/TIMEOUT and bounds the retries itself. A clean run with NO tag = `SHIPPED`.\n";
18
+ //# sourceMappingURL=ralph_template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph_template.d.ts","sourceRoot":"","sources":["../../../src/runtime/ralph/ralph_template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,QAAQ,ixFA2CpB,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * GR.4 — the RALPH.md per-lap directive (the "Ralph constant").
3
+ *
4
+ * This is the STABLE prompt every lap runs (Brodie's Ralph: the same prompt, fresh context, every
5
+ * iteration — Inv 1 dumb-loop + Inv 2 fresh-context). It is NOT the orchestrator's logic; it is the
6
+ * instruction the spawned `claude -p` lap reads. The orchestrator stays a thin non-LLM loop; ALL the
7
+ * intelligence lives in the lap running this directive against the reloaded wedge-gated lessons.
8
+ *
9
+ * The one hard contract between lap and orchestrator: the lap MUST end by emitting a single greppable
10
+ * `RALPH-EXIT: {json}` line whose JSON is a `LapOutcome` (parsed by GR.2 `extractTypedExit`). Everything
11
+ * else (resume, lean load, the 7-phase flow, DECIDE-vs-ESCALATE) is the same discipline a human-driven
12
+ * session follows — the lap is gated identically (the gate is harness-agnostic, GDC).
13
+ *
14
+ * Exported as a string constant (not a shipped file) so the wizard (`ralph_writer.ts`) writes it to
15
+ * `~/.opensquid/RALPH.md` idempotently — no build-time file-copy-to-dist concern.
16
+ */
17
+ export const RALPH_MD = `# RALPH.md — the gated-ralph per-lap directive
18
+
19
+ You are ONE lap of an autonomous gated loop. A thin orchestrator handed you exactly one already-claimed
20
+ work-item id via \`--item <id>\`. Your context is FRESH — nothing carried over from the previous lap
21
+ except the durable disk (the work-graph + the wedge-gated lesson store). That is by design: you are the
22
+ dumb loop's smart body (Inv 1/2). Do the item, then exit with a typed verdict. Do not try to do the
23
+ whole board — the orchestrator takes the next item.
24
+
25
+ ## What to do
26
+
27
+ 1. **Resume + load lean.** Read the item (\`workgraph_get\`) and recall only the lessons/memories relevant
28
+ to it (scoped recall). Do NOT bulk-load the whole store — fresh context is the point.
29
+ 2. **Run the flow.** Drive SCOPE → AUTHOR → the 7-phase exactly as an interactive session would. The gate
30
+ is identical for you (it is harness-agnostic). You CANNOT route around it — \`--no-verify\` is futile
31
+ (the PreToolUse + git-owned gates both hold), and that is the safety floor that lets you run unattended.
32
+ 3. **DECIDE, don't ask.** Surface decisions are yours to settle by the locked principles (rename, format,
33
+ file location, refactor — Simplicity). Decide and proceed. Permission-fishing is drift, not diligence.
34
+ 4. **ESCALATE only the genuine residual.** Stop and emit \`HUMAN_REQUIRED\` ONLY for: an irreversible /
35
+ outward boundary you cannot cross (npm publish, OTP, force-push, prod deploy, drop table) →
36
+ \`IRREVERSIBLE_BOUNDARY\`; a genuine product/UX fork the principles cannot settle → \`SCOPE_FORK\`. These
37
+ are the things only the human can own. Everything else, you own.
38
+ 5. **Ship gated.** Land the work only through the flow (tests + gates green, commit, push if configured).
39
+ Flush any durable lessons learned.
40
+
41
+ ## How to exit (the ONE hard contract)
42
+
43
+ End your run by printing EXACTLY ONE line of the form:
44
+
45
+ \`\`\`
46
+ RALPH-EXIT: {"kind":"SHIPPED"}
47
+ \`\`\`
48
+
49
+ The JSON must be one of:
50
+
51
+ - \`{"kind":"SHIPPED"}\` — the item is done, gated, committed.
52
+ - \`{"kind":"HUMAN_REQUIRED","reason":"IRREVERSIBLE_BOUNDARY","payload":{...}}\` — parked for the human;
53
+ \`reason\` is one of IRREVERSIBLE_BOUNDARY | SCOPE_FORK | UNRECOVERABLE_WEDGE | BUDGET | RATE_BUDGET |
54
+ BOARD_EMPTY (you will normally only emit the first two; the orchestrator owns the resource reasons).
55
+ - \`{"kind":"WEDGE"}\` — you are genuinely stuck and a fresh lap on the SAME item would not help (the
56
+ orchestrator wedge-marks it so it is not re-attempted, and escalates UNRECOVERABLE_WEDGE).
57
+
58
+ If you crash or time out, say nothing special — the orchestrator's supervisor treats a missing/erroring
59
+ exit as a transient CRASH/TIMEOUT and bounds the retries itself. A clean run with NO tag = \`SHIPPED\`.
60
+ `;
61
+ //# sourceMappingURL=ralph_template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph_template.js","sourceRoot":"","sources":["../../../src/runtime/ralph/ralph_template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CvB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * GR.3 — the lap-supervisor: bounded respawn + observable heartbeat (Inv 6: no silent death, no
3
+ * unbounded retry).
4
+ *
5
+ * `superviseLap` runs a lap, retrying ONLY on CRASH/TIMEOUT (every other outcome — SHIPPED,
6
+ * HUMAN_REQUIRED, WEDGE — is terminal and returned as-is). Retries are BOUNDED by `maxRetries`; on
7
+ * exhaustion it returns a typed `HUMAN_REQUIRED{UNRECOVERABLE_WEDGE}` rather than looping forever or
8
+ * dying quietly. The `heartbeat` callback is the OBSERVABLE liveness tick (the orchestrator passes a
9
+ * lease-refresh, the `live_session_lease` freshness model) — liveness is a signal, not a hope.
10
+ *
11
+ * Cost propagates: each attempt bills `costUsd`, accumulated across retries, so GR.4 can sum the Inv 11
12
+ * running budget even when a crash-then-ship spent on both attempts.
13
+ *
14
+ * Imported by: src/runtime/ralph/orchestrator.ts (GR.4).
15
+ */
16
+ import type { LapOutcome } from './lap_outcome.js';
17
+ export type LapResult = LapOutcome & {
18
+ costUsd: number;
19
+ };
20
+ export interface SuperviseOpts {
21
+ maxRetries: number;
22
+ /** Backoff before the n-th retry (n is 0-based attempt index just completed). */
23
+ backoffMs: (attempt: number) => number;
24
+ /** Observable liveness tick, fired once per attempt (e.g. refreshLease). */
25
+ heartbeat: () => void;
26
+ /** Injectable sleep (tests pass a no-op); defaults to a real timer. */
27
+ sleep?: (ms: number) => Promise<void>;
28
+ }
29
+ export declare function superviseLap(run: () => Promise<LapResult>, opts: SuperviseOpts): Promise<LapResult>;
30
+ //# sourceMappingURL=supervisor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/runtime/ralph/supervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,uEAAuE;IACvE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAID,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,EAC7B,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAmBpB"}
@@ -0,0 +1,24 @@
1
+ const realSleep = (ms) => new Promise((r) => setTimeout(r, ms));
2
+ export async function superviseLap(run, opts) {
3
+ const sleep = opts.sleep ?? realSleep;
4
+ let costUsd = 0;
5
+ for (let attempt = 0; attempt <= opts.maxRetries; attempt++) {
6
+ opts.heartbeat();
7
+ let out = null;
8
+ try {
9
+ out = await run();
10
+ costUsd += out.costUsd;
11
+ }
12
+ catch {
13
+ out = null; // a thrown run is treated as CRASH (retryable)
14
+ }
15
+ if (out !== null && out.kind !== 'CRASH' && out.kind !== 'TIMEOUT') {
16
+ return { ...out, costUsd }; // terminal: SHIPPED / HUMAN_REQUIRED / WEDGE
17
+ }
18
+ if (attempt < opts.maxRetries)
19
+ await sleep(opts.backoffMs(attempt));
20
+ }
21
+ // bounded → escalate, never silent
22
+ return { kind: 'HUMAN_REQUIRED', reason: 'UNRECOVERABLE_WEDGE', costUsd };
23
+ }
24
+ //# sourceMappingURL=supervisor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../../src/runtime/ralph/supervisor.ts"],"names":[],"mappings":"AA6BA,MAAM,SAAS,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEvF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAA6B,EAC7B,IAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,GAAG,GAAqB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,IAAI,CAAC,CAAC,+CAA+C;QAC7D,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,6CAA6C;QAC3E,CAAC;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU;YAAE,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,mCAAmC;IACnC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC;AAC5E,CAAC"}
@@ -42,6 +42,10 @@ export declare const SESSION_LEDGER_CAP = 200;
42
42
  export interface ToolLedger {
43
43
  turn: string[];
44
44
  session: string[];
45
+ /** wg-3e241144f441: per-track research window. Reset at scope_start (the re-arm,
46
+ * via reset_scope_track_state), SURVIVES turn resets — so the SCOPE depth gate
47
+ * counts research across all of a track's scoping turns, not just the write-turn. */
48
+ sinceScope: string[];
45
49
  }
46
50
  /**
47
51
  * Conservative, fail-closed: true only if EVERY pipeline/sequence segment is an allowlisted
@@ -67,13 +71,17 @@ export declare function readSessionCwd(sessionId: string): Promise<string | null
67
71
  * A missing ledger is created with an empty `turn` (no-op semantically).
68
72
  */
69
73
  export declare function resetTurnLedger(sessionId: string): Promise<void>;
74
+ /** wg-3e241144f441: zero the per-track research window at scope_start (the re-arm).
75
+ * Called by reset_scope_track_state — `sinceScope` survives turn resets but resets
76
+ * when a NEW track begins, so the SCOPE depth gate measures research for THIS track. */
77
+ export declare function resetScopeWindow(sessionId: string): Promise<void>;
70
78
  /**
71
79
  * Read the tool ledger for the given scope. `current_turn` returns names
72
80
  * since the last `UserPromptSubmit`; `session` returns up to the most-recent
73
81
  * 200 names across the whole session. Returns `{ tools: [] }` on missing
74
82
  * or unreadable state.
75
83
  */
76
- export declare function readSessionToolLedger(sessionId: string, scope: 'current_turn' | 'session'): Promise<{
84
+ export declare function readSessionToolLedger(sessionId: string, scope: 'current_turn' | 'session' | 'since_scope_start'): Promise<{
77
85
  tools: string[];
78
86
  }>;
79
87
  export interface ActiveTask {
@@ -1 +1 @@
1
- {"version":3,"file":"session_state.d.ts","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAQH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAKtC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA2ED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAiBvD;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAcf;AAcD,kFAAkF;AAClF,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;AAED,6EAA6E;AAC7E,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO9E;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,cAAc,GAAG,SAAS,GAChC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAG9B;AAeD,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxF;AAED,wFAAwF;AACxF,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAuBlF;AAED,wFAAwF;AACxF,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AAsBD,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAanD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAc3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa,GAC3C,OAAO,CAAC,UAAU,CAAC,CAUrB;AAED,yEAAyE;AACzE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE"}
1
+ {"version":3,"file":"session_state.d.ts","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export const SESSION_LEDGER_CAP = 200;
44
44
  /** Well-known session-state key for the tool-call ledger. */
45
45
  const LEDGER_KEY = 'tool-ledger';
46
46
  function emptyLedger() {
47
- return { turn: [], session: [] };
47
+ return { turn: [], session: [], sinceScope: [] };
48
48
  }
49
49
  async function readLedger(sessionId) {
50
50
  try {
@@ -58,7 +58,12 @@ async function readLedger(sessionId) {
58
58
  Array.isArray(parsed.session)) {
59
59
  const turn = parsed.turn.filter((x) => typeof x === 'string');
60
60
  const session = parsed.session.filter((x) => typeof x === 'string');
61
- return { turn, session };
61
+ // Backward-compatible: a pre-upgrade ledger has no `sinceScope` → default [].
62
+ const rawSince = parsed.sinceScope;
63
+ const sinceScope = Array.isArray(rawSince)
64
+ ? rawSince.filter((x) => typeof x === 'string')
65
+ : [];
66
+ return { turn, session, sinceScope };
62
67
  }
63
68
  return emptyLedger();
64
69
  }
@@ -144,6 +149,7 @@ export async function appendTool(sessionId, toolName, command) {
144
149
  const push = (name) => {
145
150
  ledger.turn.push(name);
146
151
  ledger.session.push(name);
152
+ ledger.sinceScope.push(name);
147
153
  };
148
154
  push(toolName);
149
155
  if (toolName === 'Bash' && typeof command === 'string' && isReadOnlyBash(command)) {
@@ -152,6 +158,9 @@ export async function appendTool(sessionId, toolName, command) {
152
158
  if (ledger.session.length > SESSION_LEDGER_CAP) {
153
159
  ledger.session = ledger.session.slice(-SESSION_LEDGER_CAP);
154
160
  }
161
+ if (ledger.sinceScope.length > SESSION_LEDGER_CAP) {
162
+ ledger.sinceScope = ledger.sinceScope.slice(-SESSION_LEDGER_CAP);
163
+ }
155
164
  await writeLedger(sessionId, ledger);
156
165
  }
157
166
  // ---------------------------------------------------------------------------
@@ -189,6 +198,14 @@ export async function resetTurnLedger(sessionId) {
189
198
  ledger.turn = [];
190
199
  await writeLedger(sessionId, ledger);
191
200
  }
201
+ /** wg-3e241144f441: zero the per-track research window at scope_start (the re-arm).
202
+ * Called by reset_scope_track_state — `sinceScope` survives turn resets but resets
203
+ * when a NEW track begins, so the SCOPE depth gate measures research for THIS track. */
204
+ export async function resetScopeWindow(sessionId) {
205
+ const ledger = await readLedger(sessionId);
206
+ ledger.sinceScope = [];
207
+ await writeLedger(sessionId, ledger);
208
+ }
192
209
  /**
193
210
  * Read the tool ledger for the given scope. `current_turn` returns names
194
211
  * since the last `UserPromptSubmit`; `session` returns up to the most-recent
@@ -197,7 +214,12 @@ export async function resetTurnLedger(sessionId) {
197
214
  */
198
215
  export async function readSessionToolLedger(sessionId, scope) {
199
216
  const ledger = await readLedger(sessionId);
200
- return { tools: scope === 'current_turn' ? [...ledger.turn] : [...ledger.session] };
217
+ const tools = scope === 'current_turn'
218
+ ? ledger.turn
219
+ : scope === 'since_scope_start'
220
+ ? ledger.sinceScope
221
+ : ledger.session;
222
+ return { tools: [...tools] };
201
223
  }
202
224
  /** Write the active-task signal (called by the AP.1 PreToolUse mirror). */
203
225
  export async function writeActiveTask(sessionId, task) {
@@ -1 +1 @@
1
- {"version":3,"file":"session_state.js","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session_state.js","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compression_deps.d.ts","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AAIzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA0CxE"}
1
+ {"version":3,"file":"compression_deps.d.ts","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AAIzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAoDxE"}
@@ -42,7 +42,15 @@ export async function makeConsolidateRunner() {
42
42
  getMemoryById: (id) => getMemoryById(client, id),
43
43
  insertMemory: (m) => insertMemory(client, m, sourceDir),
44
44
  recallIds: (query, k) => resolveRecallScope().then((scope) => backend.recall(query, k, scope).then((hits) => hits.map((h) => h.lesson.id))),
45
- deleteMemory: (id) => backend.deleteLesson(id, { force: true }).then(() => undefined),
45
+ demoteMemory: (id) => {
46
+ // wg-9e4f4eb2a40f: DEMOTE (retire), not hard-delete — retain the rollback floor. The live
47
+ // libsql-fastembed store always implements demoteLesson (like the dbUrl guard above); fail
48
+ // loud if a non-consolidating backend is ever wired here.
49
+ if (backend.demoteLesson === undefined) {
50
+ return Promise.reject(new Error('compression: backend has no demoteLesson — cannot consolidate'));
51
+ }
52
+ return backend.demoteLesson(id);
53
+ },
46
54
  summarize: (prompt) => {
47
55
  if (reasoningCfg === undefined) {
48
56
  return Promise.reject(new Error('compression: no "reasoning" model alias configured'));
@@ -1 +1 @@
1
- {"version":3,"file":"compression_deps.js","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compression_deps.js","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@
25
25
  * Imported by: src/cli.ts (registerGate); the installed git hooks (`exec opensquid gate …`).
26
26
  */
27
27
  import type { Command } from 'commander';
28
+ import { PROTECTED_PREFIXES } from '../../runtime/protected_paths.js';
28
29
  /** GDC.2 — is this invocation gated? The gate binds to the AGENT, not to a
29
30
  * location (user directive 2026-06-11: "all agents in any harness; git on
30
31
  * the terminal behaves normally"): `coding-flow` in the USER scope
@@ -41,8 +42,12 @@ export declare function isGatedRepo(cwd: string): Promise<boolean>;
41
42
  * A change touching NONE of these is not the flow's subject (README, banner,
42
43
  * docs/, LICENSE, CI config…) → allowed, attested under the existing
43
44
  * `docs_only` wire reason (now meaning "non-code"). [] still fails closed
44
- * (commitFiles' git-error contract). */
45
- export declare const PROTECTED_PREFIXES: readonly ["src/", "packs/", "test/"];
45
+ * (commitFiles' git-error contract). The predicate now lives in one home —
46
+ * `runtime/protected_paths.ts` shared with the in-session `staged_docs_only`
47
+ * primitive so the boundary and the nudge can never diverge. Imported for local
48
+ * use AND re-exported because gate.test.ts's drift pin imports
49
+ * `PROTECTED_PREFIXES` from this module. */
50
+ export { PROTECTED_PREFIXES };
46
51
  /** GDC.1 — the gate's subject is the AGENT, never the human (user directive
47
52
  * 2026-06-11: "I should be able to use the commands naturally"). Agent hosts
48
53
  * mark their spawned shells (live-probed: Claude Code sets CLAUDECODE +
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/setup/cli/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC;;;;;;kCAMkC;AAClC,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa/D;AAyBD;;;;;;;;yCAQyC;AACzC,eAAO,MAAM,kBAAkB,sCAAuC,CAAC;AAIvE;;;;;8DAK8D;AAC9D,eAAO,MAAM,iBAAiB,wDAAyD,CAAC;AACxF,eAAO,MAAM,iBAAiB,GAAI,MAAK,MAAM,CAAC,UAAwB,KAAG,OACnB,CAAC;AAOvD;;kEAEkE;AAClE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAWpF;AAoCD,2EAA2E;AAC3E,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAYD;;;4EAG4E;AAC5E,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,0EAA0E;AAC1E,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqCnD"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/setup/cli/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAE,kBAAkB,EAAc,MAAM,kCAAkC,CAAC;AAUlF;;;;;;kCAMkC;AAClC,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa/D;AAyBD;;;;;;;;;;;;6CAY6C;AAC7C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B;;;;;8DAK8D;AAC9D,eAAO,MAAM,iBAAiB,wDAAyD,CAAC;AACxF,eAAO,MAAM,iBAAiB,GAAI,MAAK,MAAM,CAAC,UAAwB,KAAG,OACnB,CAAC;AAOvD;;kEAEkE;AAClE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAWpF;AAoCD,2EAA2E;AAC3E,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAYD;;;4EAG4E;AAC5E,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,0EAA0E;AAC1E,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqCnD"}
@@ -30,6 +30,7 @@ import { join } from 'node:path';
30
30
  import { promisify } from 'node:util';
31
31
  import { resolveMcpSessionId } from '../../runtime/hooks/session_id.js';
32
32
  import { OPENSQUID_HOME, resolveProjectScopeRoot } from '../../runtime/paths.js';
33
+ import { PROTECTED_PREFIXES, isDocsOnly } from '../../runtime/protected_paths.js';
33
34
  import { readFsmStateRaw } from '../../runtime/fsm_state.js';
34
35
  import { readActiveTask } from '../../runtime/session_state.js';
35
36
  import { isComplete, readPhaseState } from '../../runtime/workflow_phases.js';
@@ -90,9 +91,12 @@ async function changedFiles(boundary, cwd) {
90
91
  * A change touching NONE of these is not the flow's subject (README, banner,
91
92
  * docs/, LICENSE, CI config…) → allowed, attested under the existing
92
93
  * `docs_only` wire reason (now meaning "non-code"). [] still fails closed
93
- * (commitFiles' git-error contract). */
94
- export const PROTECTED_PREFIXES = ['src/', 'packs/', 'test/'];
95
- const isDocsOnly = (files) => files.length > 0 && files.every((f) => !PROTECTED_PREFIXES.some((p) => f.startsWith(p)));
94
+ * (commitFiles' git-error contract). The predicate now lives in one home —
95
+ * `runtime/protected_paths.ts` shared with the in-session `staged_docs_only`
96
+ * primitive so the boundary and the nudge can never diverge. Imported for local
97
+ * use AND re-exported because gate.test.ts's drift pin imports
98
+ * `PROTECTED_PREFIXES` from this module. */
99
+ export { PROTECTED_PREFIXES };
96
100
  /** GDC.1 — the gate's subject is the AGENT, never the human (user directive
97
101
  * 2026-06-11: "I should be able to use the commands naturally"). Agent hosts
98
102
  * mark their spawned shells (live-probed: Claude Code sets CLAUDECODE +
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/setup/cli/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/setup/cli/gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Command } from 'commander';
2
+ import { runOneShotCli } from '../../runtime/spawn_lifecycle.js';
3
+ import type { Issue } from '../../workgraph/types.js';
4
+ import { type RalphConfig } from '../../runtime/ralph/orchestrator.js';
5
+ import type { LapResult } from '../../runtime/ralph/supervisor.js';
6
+ import { type ChatSend } from '../../runtime/ralph/escalator.js';
7
+ import { type RalphConfigFile } from '../wizard/ralph_writer.js';
8
+ /** Hydrate the persisted scalar config into the orchestrator's runtime `RalphConfig` (closures rebuilt). */
9
+ export declare function buildRalphConfig(file: RalphConfigFile, opts: {
10
+ once: boolean;
11
+ maxBudgetUsd?: number;
12
+ }): RalphConfig;
13
+ /** Build the per-lap runner: spawn `claude -p RALPH.md --item <id>`, parse the typed exit. A deadline
14
+ * overrun (group-SIGKILL) becomes the typed TIMEOUT, NOT a CRASH; a genuine spawn failure rethrows → CRASH. */
15
+ export declare function makeSpawnLap(cfg: RalphConfig, file: RalphConfigFile, runCli?: typeof runOneShotCli): (item: Issue) => Promise<LapResult>;
16
+ /** The real chat transport: a one-shot UDS JSON-RPC `send` to the chat-daemon (the live Telegram path
17
+ * `chat_send` uses). `ok:false` on any unreachable/error so the escalator stays undroppable. */
18
+ export declare const daemonChatSend: ChatSend;
19
+ export declare function registerRalph(program: Command): Command;
20
+ //# sourceMappingURL=ralph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/setup/cli/ralph.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAElF,4GAA4G;AAC5G,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,WAAW,CAYb;AAED;+GAC+G;AAC/G,wBAAgB,YAAY,CAC1B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,eAAe,EACrB,MAAM,GAAE,OAAO,aAA6B,GAC3C,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,SAAS,CAAC,CA6BrC;AAED;gGACgG;AAChG,eAAO,MAAM,cAAc,EAAE,QAwCzB,CAAC;AAEL,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAqEvD"}