opensquid 0.5.412 → 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.
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/functions/event.d.ts.map +1 -1
- package/dist/functions/event.js +30 -0
- package/dist/functions/event.js.map +1 -1
- package/dist/functions/index.d.ts +2 -0
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js +2 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/read_rubric.d.ts +27 -0
- package/dist/functions/read_rubric.d.ts.map +1 -0
- package/dist/functions/read_rubric.js +53 -0
- package/dist/functions/read_rubric.js.map +1 -0
- package/dist/functions/rubric_pre_inject.d.ts +22 -0
- package/dist/functions/rubric_pre_inject.d.ts.map +1 -0
- package/dist/functions/rubric_pre_inject.js +58 -0
- package/dist/functions/rubric_pre_inject.js.map +1 -0
- package/dist/functions/shell_parse.d.ts +41 -0
- package/dist/functions/shell_parse.d.ts.map +1 -0
- package/dist/functions/shell_parse.js +185 -0
- package/dist/functions/shell_parse.js.map +1 -0
- package/dist/mcp/server.js +14 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/ralph.d.ts +21 -0
- package/dist/mcp/tools/ralph.d.ts.map +1 -0
- package/dist/mcp/tools/ralph.js +18 -0
- package/dist/mcp/tools/ralph.js.map +1 -0
- package/dist/mcp/tools/workgraph.d.ts +11 -0
- package/dist/mcp/tools/workgraph.d.ts.map +1 -1
- package/dist/mcp/tools/workgraph.js +7 -0
- package/dist/mcp/tools/workgraph.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts.map +1 -1
- package/dist/runtime/bootstrap.js +4 -0
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/ralph/decision_classifier.d.ts +18 -0
- package/dist/runtime/ralph/decision_classifier.d.ts.map +1 -0
- package/dist/runtime/ralph/decision_classifier.js +72 -0
- package/dist/runtime/ralph/decision_classifier.js.map +1 -0
- package/dist/runtime/ralph/escalate_lap.d.ts +31 -0
- package/dist/runtime/ralph/escalate_lap.d.ts.map +1 -0
- package/dist/runtime/ralph/escalate_lap.js +22 -0
- package/dist/runtime/ralph/escalate_lap.js.map +1 -0
- package/dist/runtime/ralph/escalator.d.ts +34 -0
- package/dist/runtime/ralph/escalator.d.ts.map +1 -0
- package/dist/runtime/ralph/escalator.js +19 -0
- package/dist/runtime/ralph/escalator.js.map +1 -0
- package/dist/runtime/ralph/lap_outcome.d.ts +43 -0
- package/dist/runtime/ralph/lap_outcome.d.ts.map +1 -0
- package/dist/runtime/ralph/lap_outcome.js +119 -0
- package/dist/runtime/ralph/lap_outcome.js.map +1 -0
- package/dist/runtime/ralph/orchestrator.d.ts +71 -0
- package/dist/runtime/ralph/orchestrator.d.ts.map +1 -0
- package/dist/runtime/ralph/orchestrator.js +74 -0
- package/dist/runtime/ralph/orchestrator.js.map +1 -0
- package/dist/runtime/ralph/ralph_template.d.ts +18 -0
- package/dist/runtime/ralph/ralph_template.d.ts.map +1 -0
- package/dist/runtime/ralph/ralph_template.js +61 -0
- package/dist/runtime/ralph/ralph_template.js.map +1 -0
- package/dist/runtime/ralph/supervisor.d.ts +30 -0
- package/dist/runtime/ralph/supervisor.d.ts.map +1 -0
- package/dist/runtime/ralph/supervisor.js +24 -0
- package/dist/runtime/ralph/supervisor.js.map +1 -0
- package/dist/setup/cli/ralph.d.ts +20 -0
- package/dist/setup/cli/ralph.d.ts.map +1 -0
- package/dist/setup/cli/ralph.js +168 -0
- package/dist/setup/cli/ralph.js.map +1 -0
- package/dist/setup/wizard/ralph_writer.d.ts +98 -0
- package/dist/setup/wizard/ralph_writer.d.ts.map +1 -0
- package/dist/setup/wizard/ralph_writer.js +114 -0
- package/dist/setup/wizard/ralph_writer.js.map +1 -0
- package/dist/workgraph/audience.d.ts +12 -0
- package/dist/workgraph/audience.d.ts.map +1 -0
- package/dist/workgraph/audience.js +10 -0
- package/dist/workgraph/audience.js.map +1 -0
- package/dist/workgraph/events.d.ts.map +1 -1
- package/dist/workgraph/events.js +34 -0
- package/dist/workgraph/events.js.map +1 -1
- package/dist/workgraph/store.d.ts.map +1 -1
- package/dist/workgraph/store.js +86 -12
- package/dist/workgraph/store.js.map +1 -1
- package/dist/workgraph/types.d.ts +33 -2
- package/dist/workgraph/types.d.ts.map +1 -1
- package/docs/rubric/author.md +17 -0
- package/docs/rubric/scope.md +16 -0
- package/package.json +3 -2
- package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +9 -0
- package/packs/builtin/coding-flow/skills/execute-gate/skill.yaml +9 -10
- package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +67 -50
- package/packs/builtin/default-discipline/manifest.yaml +6 -3
- package/packs/builtin/default-discipline/skills/workflow/skill.yaml +7 -3
- package/packs/builtin/pack-architect/SKILL.md +10 -0
- package/packs/builtin/pack-architect/skills/skill-yaml-author-walkthrough/skill.yaml +7 -0
- package/packs/builtin/scope-architect/team.yaml +5 -2
package/dist/mcp/server.js
CHANGED
|
@@ -60,7 +60,8 @@ import { handleReadState } from './tools/read-state.js';
|
|
|
60
60
|
import { handleReadViolations } from './tools/read-violations.js';
|
|
61
61
|
import { handleRecall } from './tools/recall.js';
|
|
62
62
|
import { handleStoreLesson, StoreLessonSchema, } from './tools/store-lesson.js';
|
|
63
|
-
import { WgAddEdgeSchema, WgCreateSchema, WgIdSchema, WgListSchema, WgReadySchema, WgUpdateSchema, handleWgAddEdge, handleWgCreate, handleWgEvents, handleWgGet, handleWgList, handleWgReady, handleWgUpdate, } from './tools/workgraph.js';
|
|
63
|
+
import { WgAddEdgeSchema, WgClaimSchema, WgCreateSchema, WgIdSchema, WgListSchema, WgReadySchema, WgUpdateSchema, handleWgAddEdge, handleWgClaim, handleWgCreate, handleWgEvents, handleWgGet, handleWgList, handleWgReady, handleWgUpdate, } from './tools/workgraph.js';
|
|
64
|
+
import { DecisionClassifySchema, handleDecisionClassify } from './tools/ralph.js';
|
|
64
65
|
/**
|
|
65
66
|
* Lazy wedge lesson-store singleton (retire-Rust RES-3c — store_lesson no longer
|
|
66
67
|
* touches the Rust engine). Constructed + `init()`ed once per MCP-server process;
|
|
@@ -182,6 +183,14 @@ const ToolHandlers = {
|
|
|
182
183
|
schema: WgIdSchema,
|
|
183
184
|
handle: async (a) => handleWgEvents(a, await getWorkGraph()),
|
|
184
185
|
},
|
|
186
|
+
workgraph_claim: {
|
|
187
|
+
schema: WgClaimSchema,
|
|
188
|
+
handle: async (a) => handleWgClaim(a, await getWorkGraph()),
|
|
189
|
+
},
|
|
190
|
+
decision_classify: {
|
|
191
|
+
schema: DecisionClassifySchema,
|
|
192
|
+
handle: (a) => Promise.resolve(handleDecisionClassify(a)),
|
|
193
|
+
},
|
|
185
194
|
};
|
|
186
195
|
// T-MCP-TOOL-ANNOTATIONS: honest MCP behavior hints, emitted in tools/list so
|
|
187
196
|
// annotation-aware hosts (codex's requires_mcp_tool_approval is the verified
|
|
@@ -215,6 +224,8 @@ const toolAnnotations = {
|
|
|
215
224
|
workgraph_create_issue: LOCAL_WRITE,
|
|
216
225
|
workgraph_update_issue: LOCAL_WRITE,
|
|
217
226
|
workgraph_add_edge: LOCAL_WRITE,
|
|
227
|
+
workgraph_claim: LOCAL_WRITE,
|
|
228
|
+
decision_classify: READ_ONLY,
|
|
218
229
|
// The one genuinely destructive tool: deletes a memory (tools/forget.ts).
|
|
219
230
|
forget: { readOnlyHint: false, destructiveHint: true, openWorldHint: false },
|
|
220
231
|
};
|
|
@@ -241,6 +252,8 @@ const descriptions = {
|
|
|
241
252
|
workgraph_get: 'Get one work-graph issue by id (or null).',
|
|
242
253
|
workgraph_list: 'List work-graph issues, optionally filtered by status {status?}.',
|
|
243
254
|
workgraph_events: 'List the append-only op-log (history) for an issue by id.',
|
|
255
|
+
workgraph_claim: 'Atomically claim a work-graph issue {id, ttlSec?} for exclusive work (exactly-once). Stamps the calling harness as audience. Returns {won, expiresAt}; won:false means another runner holds it. An expired claim is reclaimable.',
|
|
256
|
+
decision_classify: 'Classify an in-lap decision {decision} as DECIDE / ESCALATE / DEFER (gated-ralph, deterministic-first). DECIDE = settle by principles and proceed; ESCALATE = irreversible/outward boundary or genuine fork (emit HUMAN_REQUIRED, stamping this verdict in the payload); DEFER = no signal, the agent decides (Inv 3 → DECIDE). Returns {verdict, confidence, source, matched}.',
|
|
244
257
|
};
|
|
245
258
|
/**
|
|
246
259
|
* Read the published package version at runtime. T.1.H fix: the prior
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAyB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GR.4 — the lap-side decision classifier MCP tool (`decision_classify`).
|
|
3
|
+
*
|
|
4
|
+
* Exposes GR.2's deterministic `classifyDecision` to the in-lap `claude -p` agent so it can consult the
|
|
5
|
+
* cheap DECIDE-vs-ESCALATE heuristic mid-execution (the single-home for the classifier: it runs LAP-SIDE,
|
|
6
|
+
* never in the orchestrator). READ-only — pure function, no state mutation. The lap stamps the returned
|
|
7
|
+
* verdict into its `HUMAN_REQUIRED` payload on an ESCALATE so the escalation carries the heuristic verdict
|
|
8
|
+
* (the input the post-hoc `recordMisclassification` override path compares against).
|
|
9
|
+
*
|
|
10
|
+
* Imports from: zod, ../../runtime/ralph/decision_classifier.js.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
export declare const DecisionClassifySchema: z.ZodObject<{
|
|
14
|
+
decision: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
decision: string;
|
|
17
|
+
}, {
|
|
18
|
+
decision: string;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const handleDecisionClassify: (a: z.infer<typeof DecisionClassifySchema>) => string;
|
|
21
|
+
//# sourceMappingURL=ralph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/ralph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,GAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,KAAG,MACrC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GR.4 — the lap-side decision classifier MCP tool (`decision_classify`).
|
|
3
|
+
*
|
|
4
|
+
* Exposes GR.2's deterministic `classifyDecision` to the in-lap `claude -p` agent so it can consult the
|
|
5
|
+
* cheap DECIDE-vs-ESCALATE heuristic mid-execution (the single-home for the classifier: it runs LAP-SIDE,
|
|
6
|
+
* never in the orchestrator). READ-only — pure function, no state mutation. The lap stamps the returned
|
|
7
|
+
* verdict into its `HUMAN_REQUIRED` payload on an ESCALATE so the escalation carries the heuristic verdict
|
|
8
|
+
* (the input the post-hoc `recordMisclassification` override path compares against).
|
|
9
|
+
*
|
|
10
|
+
* Imports from: zod, ../../runtime/ralph/decision_classifier.js.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { classifyDecision } from '../../runtime/ralph/decision_classifier.js';
|
|
14
|
+
export const DecisionClassifySchema = z.object({
|
|
15
|
+
decision: z.string().min(1),
|
|
16
|
+
});
|
|
17
|
+
export const handleDecisionClassify = (a) => JSON.stringify(classifyDecision(a.decision));
|
|
18
|
+
//# sourceMappingURL=ralph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/mcp/tools/ralph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAyC,EAAU,EAAE,CAC1F,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -64,6 +64,16 @@ export declare const WgListSchema: z.ZodObject<{
|
|
|
64
64
|
status?: "closed" | "in_progress" | "open" | undefined;
|
|
65
65
|
}>;
|
|
66
66
|
export declare const WgReadySchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
67
|
+
export declare const WgClaimSchema: z.ZodObject<{
|
|
68
|
+
id: z.ZodString;
|
|
69
|
+
ttlSec: z.ZodDefault<z.ZodNumber>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
id: string;
|
|
72
|
+
ttlSec: number;
|
|
73
|
+
}, {
|
|
74
|
+
id: string;
|
|
75
|
+
ttlSec?: number | undefined;
|
|
76
|
+
}>;
|
|
67
77
|
export declare const handleWgCreate: (a: z.infer<typeof WgCreateSchema>, s: WorkGraphStore) => Promise<string>;
|
|
68
78
|
export declare const handleWgUpdate: (a: z.infer<typeof WgUpdateSchema>, s: WorkGraphStore) => Promise<string>;
|
|
69
79
|
export declare const handleWgAddEdge: (a: z.infer<typeof WgAddEdgeSchema>, s: WorkGraphStore) => Promise<string>;
|
|
@@ -71,4 +81,5 @@ export declare const handleWgReady: (_a: z.infer<typeof WgReadySchema>, s: WorkG
|
|
|
71
81
|
export declare const handleWgGet: (a: z.infer<typeof WgIdSchema>, s: WorkGraphStore) => Promise<string>;
|
|
72
82
|
export declare const handleWgList: (a: z.infer<typeof WgListSchema>, s: WorkGraphStore) => Promise<string>;
|
|
73
83
|
export declare const handleWgEvents: (a: z.infer<typeof WgIdSchema>, s: WorkGraphStore) => Promise<string>;
|
|
84
|
+
export declare const handleWgClaim: (a: z.infer<typeof WgClaimSchema>, s: WorkGraphStore) => Promise<string>;
|
|
74
85
|
//# sourceMappingURL=workgraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workgraph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"workgraph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,eAAO,MAAM,cAAc;;;;;;;;;EAAsE,CAAC;AAClG,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AACH,eAAO,MAAM,UAAU;;;;;;EAAsC,CAAC;AAC9D,eAAO,MAAM,YAAY;;;;;;EAA0C,CAAC;AACpE,eAAO,MAAM,aAAa,gDAAe,CAAC;AAC1C,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAGd,CAAC;AAEJ,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAOd,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EAClC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAGhB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAAwC,CAAC;AAE1D,eAAO,MAAM,WAAW,GACtB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,EAC7B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAA2C,CAAC;AAE7D,eAAO,MAAM,YAAY,GACvB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,EAC/B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAC8E,CAAC;AAEhG,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,EAC7B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAA6C,CAAC;AAG/D,eAAO,MAAM,aAAa,GACxB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EAChC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAAwE,CAAC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* Imported by: src/mcp/server.ts (the ToolHandlers map).
|
|
10
10
|
*/
|
|
11
11
|
import { z } from 'zod';
|
|
12
|
+
import { claimAudience } from '../../workgraph/audience.js';
|
|
12
13
|
const Status = z.enum(['open', 'in_progress', 'closed']);
|
|
13
14
|
const EdgeT = z.enum(['blocks', 'parent-child', 'discovered-from', 'related']);
|
|
14
15
|
export const WgCreateSchema = z.object({ title: z.string().min(1), body: z.string().optional() });
|
|
@@ -26,6 +27,10 @@ export const WgAddEdgeSchema = z.object({
|
|
|
26
27
|
export const WgIdSchema = z.object({ id: z.string().min(1) });
|
|
27
28
|
export const WgListSchema = z.object({ status: Status.optional() });
|
|
28
29
|
export const WgReadySchema = z.object({});
|
|
30
|
+
export const WgClaimSchema = z.object({
|
|
31
|
+
id: z.string().min(1),
|
|
32
|
+
ttlSec: z.number().int().positive().default(1800),
|
|
33
|
+
});
|
|
29
34
|
export const handleWgCreate = async (a, s) => JSON.stringify(await s.createIssue({ title: a.title, ...(a.body === undefined ? {} : { body: a.body }) }));
|
|
30
35
|
export const handleWgUpdate = async (a, s) => JSON.stringify(await s.updateIssue(a.id, {
|
|
31
36
|
...(a.status === undefined ? {} : { status: a.status }),
|
|
@@ -40,4 +45,6 @@ export const handleWgReady = async (_a, s) => JSON.stringify(await s.listReady()
|
|
|
40
45
|
export const handleWgGet = async (a, s) => JSON.stringify(await s.getIssue(a.id));
|
|
41
46
|
export const handleWgList = async (a, s) => JSON.stringify(await s.listIssues(a.status === undefined ? undefined : { status: a.status }));
|
|
42
47
|
export const handleWgEvents = async (a, s) => JSON.stringify(await s.listEvents(a.id));
|
|
48
|
+
// GR.1 — atomic claim. Audience is stamped from the trusted env markers, NEVER from caller args.
|
|
49
|
+
export const handleWgClaim = async (a, s) => JSON.stringify(await s.claimIssue(a.id, claimAudience(), a.ttlSec));
|
|
43
50
|
//# sourceMappingURL=workgraph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workgraph.js","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"workgraph.js","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAKH,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwBhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAKH,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwBhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAsB5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACvC;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyI3F;AAkJD,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAElD;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAGzE"}
|
|
@@ -79,6 +79,8 @@ import { registerStateFunctions } from '../functions/state.js';
|
|
|
79
79
|
import { registerStagedDocsOnlyFunction } from '../functions/staged_docs_only.js';
|
|
80
80
|
import { registerResetScopeTrackStateFunction } from '../functions/reset_scope_track_state.js';
|
|
81
81
|
import { registerFsmFunctions } from '../functions/fsm.js';
|
|
82
|
+
import { registerReadRubric } from '../functions/read_rubric.js';
|
|
83
|
+
import { registerRubricPreInject } from '../functions/rubric_pre_inject.js';
|
|
82
84
|
import { registerSubagentFunction } from '../functions/subagent.js';
|
|
83
85
|
import { registerCheckChatConnectionFunction } from '../functions/check_chat_connection.js';
|
|
84
86
|
import { registerEnsureUmbrellaTopicFunction } from '../functions/ensure_umbrella_topic.js';
|
|
@@ -101,6 +103,8 @@ export async function buildRegistry(opts = {}) {
|
|
|
101
103
|
registerVerdictFunctions(r);
|
|
102
104
|
registerLlmFunctions(r);
|
|
103
105
|
registerCachedAuditFunction(r);
|
|
106
|
+
registerReadRubric(r); // TR.A: the audits interpolate {{rubric}} from this; rubric_pre_inject reuses it
|
|
107
|
+
registerRubricPreInject(r); // TR.B: injects the rubric to the agent before authoring (prompt_submit)
|
|
104
108
|
// Phase 4: `check_destination` is the destination-side anti-drift
|
|
105
109
|
// primitive. It composes `llm_classify` (registered just above) so the
|
|
106
110
|
// ordering matters — register it last among the LLM-dependent primitives.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type DecisionVerdict = 'DECIDE' | 'ESCALATE' | 'DEFER';
|
|
2
|
+
export interface DecisionClassification {
|
|
3
|
+
verdict: DecisionVerdict;
|
|
4
|
+
confidence: number;
|
|
5
|
+
source: 'heuristic';
|
|
6
|
+
matched: string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Classify a decision. ESCALATE wins over DECIDE when both fire (a destructive boundary in a
|
|
10
|
+
* cosmetically-worded change is still a boundary). No signal → DEFER (agent decides, Inv 3 → DECIDE).
|
|
11
|
+
*/
|
|
12
|
+
export declare function classifyDecision(decision: string): DecisionClassification;
|
|
13
|
+
/**
|
|
14
|
+
* Record a misclassification as a session drift event (the residual-shrink path). `expected` is the
|
|
15
|
+
* verdict that turned out correct (e.g. the agent escalated something the heuristic called DECIDE).
|
|
16
|
+
*/
|
|
17
|
+
export declare function recordMisclassification(sessionId: string, expected: DecisionVerdict, got: DecisionVerdict, decision: string, nowIso: string): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=decision_classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision_classifier.d.ts","sourceRoot":"","sources":["../../../src/runtime/ralph/decision_classifier.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA+BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAQzE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GR.2 — the execution-time DECIDE-vs-ESCALATE classifier (deterministic-first).
|
|
3
|
+
*
|
|
4
|
+
* When a lap hits a decision, the question is: do the locked principles SETTLE it (DECIDE and proceed,
|
|
5
|
+
* per [[feedback-no-questions-after-scoping]]) or is it a genuine fork / irreversible boundary that
|
|
6
|
+
* needs the human (ESCALATE, per Inv 8)? This module is the cheap, deterministic FIRST layer — it fires
|
|
7
|
+
* only on high-confidence signals and otherwise returns DEFER, meaning "no cheap signal → the in-lap
|
|
8
|
+
* agent's own judgment decides" (the lap is already an LLM running RALPH.md; a separate `llm_classify`
|
|
9
|
+
* call would be a redundant second model invocation that also needs the flows executor context — the
|
|
10
|
+
* simpler-correct design defers ambiguous cases to the agent that already holds the full context).
|
|
11
|
+
*
|
|
12
|
+
* Inv 3 bias: DEFER resolves to DECIDE unless the agent itself raises a typed HUMAN_REQUIRED. A
|
|
13
|
+
* misclassification (an escalation that was principle-settleable, or a barreled-through genuine fork)
|
|
14
|
+
* is recorded as a drift event → the residual-shrink path (the classifier earns trust through the
|
|
15
|
+
* existing lesson channel, never assumed correct).
|
|
16
|
+
*
|
|
17
|
+
* Imports from: ../drift_catalog.js.
|
|
18
|
+
*/
|
|
19
|
+
import { appendSessionDriftEvent } from '../drift_catalog.js';
|
|
20
|
+
// Irreversible / outward-facing / human-only boundaries → ESCALATE. These ENCODE the "irreversible
|
|
21
|
+
// boundary" principle as deterministic signals (the unambiguous cases the agent must never decide).
|
|
22
|
+
const ESCALATE_SIGNALS = [
|
|
23
|
+
/\bnpm\s+publish\b/i,
|
|
24
|
+
/\bpublish\s+(?:the\s+)?(?:package|release|npm)\b/i,
|
|
25
|
+
/\botp\b/i,
|
|
26
|
+
/\bforce[-\s]?push\b/i,
|
|
27
|
+
/\b--force(?:-with-lease)?\b/i,
|
|
28
|
+
/\bdelete\s+(?:the\s+)?branch\b/i,
|
|
29
|
+
/\bdrop\s+(?:table|database)\b/i,
|
|
30
|
+
/\brm\s+-rf\b/i,
|
|
31
|
+
/\bdeploy\s+to\s+prod(?:uction)?\b/i,
|
|
32
|
+
/\bgenuine(?:ly)?\s+new\s+product\b/i,
|
|
33
|
+
/\bwhich\s+(?:product|ux|business)\s+(?:direction|trade-?off)\b/i,
|
|
34
|
+
];
|
|
35
|
+
// Principle-settleable surface decisions → DECIDE (the Simplicity/style principles settle these).
|
|
36
|
+
const DECIDE_SIGNALS = [
|
|
37
|
+
/\b(?:rename|naming|name)\b/i,
|
|
38
|
+
/\b(?:format|prettier|lint|whitespace|indent)\b/i,
|
|
39
|
+
/\b(?:typo|comment|docstring|wording)\b/i,
|
|
40
|
+
/\b(?:file\s+location|which\s+directory|where\s+to\s+put)\b/i,
|
|
41
|
+
/\b(?:refactor|extract|inline)\b/i,
|
|
42
|
+
];
|
|
43
|
+
function firstMatches(text, signals) {
|
|
44
|
+
return signals.filter((re) => re.test(text)).map((re) => re.source);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Classify a decision. ESCALATE wins over DECIDE when both fire (a destructive boundary in a
|
|
48
|
+
* cosmetically-worded change is still a boundary). No signal → DEFER (agent decides, Inv 3 → DECIDE).
|
|
49
|
+
*/
|
|
50
|
+
export function classifyDecision(decision) {
|
|
51
|
+
const esc = firstMatches(decision, ESCALATE_SIGNALS);
|
|
52
|
+
if (esc.length > 0)
|
|
53
|
+
return { verdict: 'ESCALATE', confidence: 1, source: 'heuristic', matched: esc };
|
|
54
|
+
const dec = firstMatches(decision, DECIDE_SIGNALS);
|
|
55
|
+
if (dec.length > 0)
|
|
56
|
+
return { verdict: 'DECIDE', confidence: 1, source: 'heuristic', matched: dec };
|
|
57
|
+
return { verdict: 'DEFER', confidence: 0, source: 'heuristic', matched: [] };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Record a misclassification as a session drift event (the residual-shrink path). `expected` is the
|
|
61
|
+
* verdict that turned out correct (e.g. the agent escalated something the heuristic called DECIDE).
|
|
62
|
+
*/
|
|
63
|
+
export async function recordMisclassification(sessionId, expected, got, decision, nowIso) {
|
|
64
|
+
await appendSessionDriftEvent(sessionId, {
|
|
65
|
+
timestamp: nowIso,
|
|
66
|
+
pack: '<session>',
|
|
67
|
+
ruleId: 'decision-classifier',
|
|
68
|
+
level: 'surface',
|
|
69
|
+
message: `MISCLASSIFIED decide-vs-escalate: expected ${expected}, got ${got} — "${decision.slice(0, 120)}"`,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=decision_classifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision_classifier.js","sourceRoot":"","sources":["../../../src/runtime/ralph/decision_classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAW9D,mGAAmG;AACnG,oGAAoG;AACpG,MAAM,gBAAgB,GAAsB;IAC1C,oBAAoB;IACpB,mDAAmD;IACnD,UAAU;IACV,sBAAsB;IACtB,8BAA8B;IAC9B,iCAAiC;IACjC,gCAAgC;IAChC,eAAe;IACf,oCAAoC;IACpC,qCAAqC;IACrC,iEAAiE;CAClE,CAAC;AAEF,kGAAkG;AAClG,MAAM,cAAc,GAAsB;IACxC,6BAA6B;IAC7B,iDAAiD;IACjD,yCAAyC;IACzC,6DAA6D;IAC7D,kCAAkC;CACnC,CAAC;AAEF,SAAS,YAAY,CAAC,IAAY,EAAE,OAA0B;IAC5D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACrD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACnF,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACjF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,QAAyB,EACzB,GAAoB,EACpB,QAAgB,EAChB,MAAc;IAEd,MAAM,uBAAuB,CAAC,SAAS,EAAE;QACvC,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,8CAA8C,QAAQ,SAAS,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;KAC5G,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GR.3 — the UNDROPPABLE lap escalation. When a lap returns HUMAN_REQUIRED (or the supervisor exhausts
|
|
3
|
+
* to UNRECOVERABLE_WEDGE), the orchestrator escalates the typed reason to the human — and a delivery
|
|
4
|
+
* FAILURE is fatal, never swallowed (Inv 6: no silent death). The actual transport is the existing
|
|
5
|
+
* critical-tier path (`escalateSeverity` → NotificationRouter multicast); GR.4 injects an adapter so
|
|
6
|
+
* this module stays decoupled from the notification stack and unit-testable.
|
|
7
|
+
*
|
|
8
|
+
* Imported by: src/runtime/ralph/orchestrator.ts (GR.4).
|
|
9
|
+
*/
|
|
10
|
+
import type { HumanRequiredReason } from './lap_outcome.js';
|
|
11
|
+
/** The injected transport. GR.4 wires this to `escalateSeverity` with the user's routing + router. */
|
|
12
|
+
export type LapEscalator = (msg: {
|
|
13
|
+
reason: HumanRequiredReason;
|
|
14
|
+
item?: string;
|
|
15
|
+
payload?: unknown;
|
|
16
|
+
text: string;
|
|
17
|
+
}) => Promise<{
|
|
18
|
+
escalated: boolean;
|
|
19
|
+
reason?: string;
|
|
20
|
+
}>;
|
|
21
|
+
export declare class EscalationUndeliverableError extends Error {
|
|
22
|
+
readonly humanRequiredReason: HumanRequiredReason;
|
|
23
|
+
readonly fallthrough: string | undefined;
|
|
24
|
+
constructor(humanRequiredReason: HumanRequiredReason, fallthrough: string | undefined);
|
|
25
|
+
}
|
|
26
|
+
export declare function escalateLap(reason: HumanRequiredReason, opts: {
|
|
27
|
+
item?: string;
|
|
28
|
+
payload?: unknown;
|
|
29
|
+
escalate: LapEscalator;
|
|
30
|
+
}): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=escalate_lap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalate_lap.d.ts","sourceRoot":"","sources":["../../../src/runtime/ralph/escalate_lap.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,sGAAsG;AACtG,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEvD,qBAAa,4BAA6B,SAAQ,KAAK;aAEnC,mBAAmB,EAAE,mBAAmB;aACxC,WAAW,EAAE,MAAM,GAAG,SAAS;gBAD/B,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,MAAM,GAAG,SAAS;CAOlD;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACjE,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class EscalationUndeliverableError extends Error {
|
|
2
|
+
humanRequiredReason;
|
|
3
|
+
fallthrough;
|
|
4
|
+
constructor(humanRequiredReason, fallthrough) {
|
|
5
|
+
super(`gated-ralph escalation UNDELIVERABLE for ${humanRequiredReason}: ${fallthrough ?? 'no channel'}`);
|
|
6
|
+
this.humanRequiredReason = humanRequiredReason;
|
|
7
|
+
this.fallthrough = fallthrough;
|
|
8
|
+
this.name = 'EscalationUndeliverableError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export async function escalateLap(reason, opts) {
|
|
12
|
+
const text = `🦑 HUMAN_REQUIRED(${reason})${opts.item === undefined ? '' : ` [${opts.item}]`}`;
|
|
13
|
+
const res = await opts.escalate({
|
|
14
|
+
reason,
|
|
15
|
+
text,
|
|
16
|
+
...(opts.item === undefined ? {} : { item: opts.item }),
|
|
17
|
+
...(opts.payload === undefined ? {} : { payload: opts.payload }),
|
|
18
|
+
});
|
|
19
|
+
if (!res.escalated)
|
|
20
|
+
throw new EscalationUndeliverableError(reason, res.reason); // never silently drop
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=escalate_lap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalate_lap.js","sourceRoot":"","sources":["../../../src/runtime/ralph/escalate_lap.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAEnC;IACA;IAFlB,YACkB,mBAAwC,EACxC,WAA+B;QAE/C,KAAK,CACH,4CAA4C,mBAAmB,KAAK,WAAW,IAAI,YAAY,EAAE,CAClG,CAAC;QALc,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,gBAAW,GAAX,WAAW,CAAoB;QAK/C,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAA2B,EAC3B,IAAkE;IAElE,MAAM,IAAI,GAAG,qBAAqB,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAC/F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM;QACN,IAAI;QACJ,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;KACjE,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,MAAM,IAAI,4BAA4B,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB;AACxG,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GR.4 — a chat-daemon-backed `LapEscalator` (the gated-ralph escalation transport).
|
|
3
|
+
*
|
|
4
|
+
* When a lap returns HUMAN_REQUIRED (or the supervisor exhausts to UNRECOVERABLE_WEDGE), the orchestrator
|
|
5
|
+
* escalates the typed reason to the HUMAN. The human is on chat (Telegram), so the real escalation path is
|
|
6
|
+
* the live chat-daemon — the SAME UDS `send` the `chat_send` MCP tool uses. Chosen over `escalateSeverity`
|
|
7
|
+
* for GR.4-first because the critical-tier NotificationRouter has no runtime assembly yet; the
|
|
8
|
+
* escalateSeverity critical-tier is a future enhancement (the escalator is injected, so swapping it is local).
|
|
9
|
+
*
|
|
10
|
+
* The transport (`send`) is INJECTED so this stays unit-testable without a running daemon; the CLI wires
|
|
11
|
+
* the real daemon UDS client. UNDROPPABLE (Inv 6): a delivery failure (or a throw) → `{escalated:false}`,
|
|
12
|
+
* and `escalateLap` (GR.3) then THROWS — the loop never silently drops an escalation.
|
|
13
|
+
*
|
|
14
|
+
* Imports from: ./escalate_lap.js (the LapEscalator contract).
|
|
15
|
+
*/
|
|
16
|
+
import type { LapEscalator } from './escalate_lap.js';
|
|
17
|
+
/** The injected chat transport — the CLI wires this to the chat-daemon UDS `send`. */
|
|
18
|
+
export type ChatSend = (params: {
|
|
19
|
+
channel: string;
|
|
20
|
+
text: string;
|
|
21
|
+
}) => Promise<{
|
|
22
|
+
ok: boolean;
|
|
23
|
+
reason?: string;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Build a `LapEscalator` that delivers the lap's typed `text` to `channel` via the injected chat `send`.
|
|
27
|
+
* Never throws (the contract reports delivery via `escalated`); a transport error is reported, not swallowed
|
|
28
|
+
* — `escalateLap` turns a `false` into the undroppable throw.
|
|
29
|
+
*/
|
|
30
|
+
export declare function chatEscalator(deps: {
|
|
31
|
+
send: ChatSend;
|
|
32
|
+
channel: string;
|
|
33
|
+
}): LapEscalator;
|
|
34
|
+
//# sourceMappingURL=escalator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalator.d.ts","sourceRoot":"","sources":["../../../src/runtime/ralph/escalator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,sFAAsF;AACtF,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAWrF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a `LapEscalator` that delivers the lap's typed `text` to `channel` via the injected chat `send`.
|
|
3
|
+
* Never throws (the contract reports delivery via `escalated`); a transport error is reported, not swallowed
|
|
4
|
+
* — `escalateLap` turns a `false` into the undroppable throw.
|
|
5
|
+
*/
|
|
6
|
+
export function chatEscalator(deps) {
|
|
7
|
+
return async (msg) => {
|
|
8
|
+
try {
|
|
9
|
+
const res = await deps.send({ channel: deps.channel, text: msg.text });
|
|
10
|
+
return res.ok
|
|
11
|
+
? { escalated: true }
|
|
12
|
+
: { escalated: false, reason: res.reason ?? 'send failed' };
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
return { escalated: false, reason: e instanceof Error ? e.message : String(e) };
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=escalator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalator.js","sourceRoot":"","sources":["../../../src/runtime/ralph/escalator.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAyC;IACrE,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,GAAG,CAAC,EAAE;gBACX,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;gBACrB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAChE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GR.2 — the typed-exit contract for a gated-ralph lap (Inv 5: ONE typed exit).
|
|
3
|
+
*
|
|
4
|
+
* A lap is a headless `claude -p … --output-format json` run of `RALPH.md`. Its envelope is the
|
|
5
|
+
* empirically-verified shape `{ result, is_error, subtype, total_cost_usd, … }` (verified 2026-06-13).
|
|
6
|
+
* The lap signals its outcome by emitting a single greppable line in `result`:
|
|
7
|
+
*
|
|
8
|
+
* RALPH-EXIT: {"kind":"HUMAN_REQUIRED","reason":"SCOPE_FORK","payload":{…}}
|
|
9
|
+
*
|
|
10
|
+
* `parseLapOutcome` is a TOTAL mapping of every envelope shape to a `LapOutcome` — it never throws and
|
|
11
|
+
* never returns a false `SHIPPED`: an unparseable envelope or `is_error` becomes `CRASH`; a clean
|
|
12
|
+
* envelope with no tag becomes `SHIPPED`. The orchestrator (GR.4) switches on the result.
|
|
13
|
+
*
|
|
14
|
+
* Imported by: src/runtime/ralph/orchestrator.ts (GR.4), src/runtime/ralph/supervisor.ts (GR.3).
|
|
15
|
+
*/
|
|
16
|
+
/** The only escalation vocabulary — every human-required exit is one of these (Inv 5/8). */
|
|
17
|
+
export type HumanRequiredReason = 'IRREVERSIBLE_BOUNDARY' | 'SCOPE_FORK' | 'UNRECOVERABLE_WEDGE' | 'BUDGET' | 'RATE_BUDGET' | 'BOARD_EMPTY';
|
|
18
|
+
export type LapOutcome = {
|
|
19
|
+
kind: 'SHIPPED';
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'HUMAN_REQUIRED';
|
|
22
|
+
reason: HumanRequiredReason;
|
|
23
|
+
item?: string;
|
|
24
|
+
payload?: unknown;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'WEDGE';
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'TIMEOUT';
|
|
29
|
+
} | {
|
|
30
|
+
kind: 'CRASH';
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Scan the lap's free-text result for the LAST `RALPH-EXIT: {json}` line and validate it into a
|
|
34
|
+
* `LapOutcome`. Returns null when there is no well-formed tag (caller defaults to SHIPPED on a clean
|
|
35
|
+
* exit). Defensive by construction — a malformed tag is treated as "no tag".
|
|
36
|
+
*/
|
|
37
|
+
export declare function extractTypedExit(resultText: string): LapOutcome | null;
|
|
38
|
+
/** Parse the headless JSON envelope into a total `LapOutcome` + the lap's cost. Never throws. */
|
|
39
|
+
export declare function parseLapOutcome(stdout: string): {
|
|
40
|
+
outcome: LapOutcome;
|
|
41
|
+
costUsd: number;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=lap_outcome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lap_outcome.d.ts","sourceRoot":"","sources":["../../../src/runtime/ralph/lap_outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,YAAY,GACZ,qBAAqB,GACrB,QAAQ,GACR,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACzF;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAgBtB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAkCtE;AAED,iGAAiG;AACjG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAcxF"}
|