@archmax-ai/harness 0.8.0 → 1.0.0
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/README.md +58 -14
- package/dist/agent.d.ts +4 -4
- package/dist/agent.js +4 -4
- package/dist/assembly/compose.d.ts +5 -24
- package/dist/assembly/compose.js +40 -41
- package/dist/assembly/compose.js.map +1 -1
- package/dist/assembly/delegation-registry.js +3 -14
- package/dist/assembly/delegation-registry.js.map +1 -1
- package/dist/assembly/index.d.ts +18 -15
- package/dist/assembly/index.js +50 -32
- package/dist/assembly/index.js.map +1 -1
- package/dist/assembly/plain.js +1 -2
- package/dist/assembly/plain.js.map +1 -1
- package/dist/authoring-skill/archmax-harness/README.md +5 -5
- package/dist/authoring-skill/archmax-harness/SKILL.md +72 -30
- package/dist/authoring-skill/archmax-harness/references/backend-integration.md +35 -23
- package/dist/authoring-skill/archmax-harness/references/cases.md +44 -10
- package/dist/authoring-skill/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
- package/dist/authoring-skill/archmax-harness/references/code-states-and-scripts.md +115 -0
- package/dist/authoring-skill/archmax-harness/references/diagnostics.md +40 -7
- package/dist/authoring-skill/archmax-harness/references/wiring.md +19 -10
- package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +416 -276
- package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +161 -62
- package/dist/cli/state-flow.d.ts +1 -1
- package/dist/cli/state-flow.js +18 -28
- package/dist/cli/state-flow.js.map +1 -1
- package/dist/cli/turn.d.ts +1 -1
- package/dist/cli/turn.js +2 -3
- package/dist/cli/turn.js.map +1 -1
- package/dist/core/clock.d.ts +26 -0
- package/dist/core/clock.js +64 -0
- package/dist/core/clock.js.map +1 -0
- package/dist/core/code-description.d.ts +3 -3
- package/dist/core/code-description.js +3 -3
- package/dist/core/deepagents.d.ts +5 -5
- package/dist/core/deepagents.js +4 -4
- package/dist/core/events.d.ts +23 -42
- package/dist/core/events.js +21 -24
- package/dist/core/events.js.map +1 -1
- package/dist/core/message-readers.d.ts +22 -2
- package/dist/core/message-readers.js +31 -0
- package/dist/core/message-readers.js.map +1 -1
- package/dist/core/messages.d.ts +1 -23
- package/dist/core/messages.js +2 -35
- package/dist/core/messages.js.map +1 -1
- package/dist/core/mounts.js +3 -3
- package/dist/core/platform-prompt.generated.js +1 -1
- package/dist/core/platform-prompt.generated.js.map +1 -1
- package/dist/core/session-zone.d.ts +1 -1
- package/dist/core/session-zone.js +1 -1
- package/dist/core/workspace-context.d.ts +1 -1
- package/dist/core/workspace.d.ts +1 -1
- package/dist/core/workspace.js +1 -1
- package/dist/core/zones.d.ts +4 -4
- package/dist/core/zones.js +5 -5
- package/dist/core/zones.js.map +1 -1
- package/dist/env.d.ts +9 -9
- package/dist/index.d.ts +3 -7
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/kernel/kernel.d.ts +31 -61
- package/dist/kernel/kernel.js +57 -114
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/machine/allow.d.ts +17 -2
- package/dist/machine/allow.js +16 -6
- package/dist/machine/allow.js.map +1 -1
- package/dist/machine/lint-spec.js +68 -12
- package/dist/machine/lint-spec.js.map +1 -1
- package/dist/machine/machine.d.ts +39 -16
- package/dist/machine/machine.js +72 -49
- package/dist/machine/machine.js.map +1 -1
- package/dist/machine/spec-schema.d.ts +34 -179
- package/dist/machine/spec-schema.js +93 -106
- package/dist/machine/spec-schema.js.map +1 -1
- package/dist/machine/tool-names.d.ts +34 -10
- package/dist/machine/tool-names.js +41 -10
- package/dist/machine/tool-names.js.map +1 -1
- package/dist/machine/tool-paths.d.ts +6 -0
- package/dist/machine/tool-paths.js +10 -0
- package/dist/machine/tool-paths.js.map +1 -1
- package/dist/machine/types.d.ts +14 -38
- package/dist/machine/types.js.map +1 -1
- package/dist/machine/validate-spec.d.ts +1 -1
- package/dist/machine/variables.d.ts +2 -0
- package/dist/machine/variables.js.map +1 -1
- package/dist/public/sandbox.d.ts +62 -66
- package/dist/public/sandbox.js +22 -23
- package/dist/public/sandbox.js.map +1 -1
- package/dist/public/spec.d.ts +12 -19
- package/dist/public/spec.js +11 -19
- package/dist/public/spec.js.map +1 -1
- package/dist/runtime/contract.d.ts +11 -12
- package/dist/runtime/contract.js +16 -16
- package/dist/runtime/contract.js.map +1 -1
- package/dist/sandbox/assets/parts/code-state.js +17 -0
- package/dist/sandbox/executor.d.ts +25 -7
- package/dist/sandbox/executor.js +56 -47
- package/dist/sandbox/executor.js.map +1 -1
- package/dist/sandbox/imports.d.ts +10 -10
- package/dist/sandbox/imports.js +11 -11
- package/dist/sandbox/imports.js.map +1 -1
- package/dist/sandbox/prelude.d.ts +5 -6
- package/dist/sandbox/prelude.js +38 -35
- package/dist/sandbox/prelude.js.map +1 -1
- package/dist/sandbox/ptc-gateway.d.ts +19 -18
- package/dist/sandbox/ptc-gateway.js +26 -22
- package/dist/sandbox/ptc-gateway.js.map +1 -1
- package/dist/sessions/operations.js +4 -5
- package/dist/sessions/operations.js.map +1 -1
- package/dist/sessions/resume.d.ts +12 -7
- package/dist/sessions/resume.js +12 -9
- package/dist/sessions/resume.js.map +1 -1
- package/dist/sessions/summary.d.ts +1 -1
- package/dist/testing/assertions.js +9 -4
- package/dist/testing/assertions.js.map +1 -1
- package/dist/testing/case-document.d.ts +2 -0
- package/dist/testing/case-document.js.map +1 -1
- package/dist/testing/case-schema.d.ts +1 -1
- package/dist/testing/case-schema.js +17 -1
- package/dist/testing/case-schema.js.map +1 -1
- package/dist/testing/driver.d.ts +4 -0
- package/dist/testing/driver.js +22 -3
- package/dist/testing/driver.js.map +1 -1
- package/dist/testing/grade.js +3 -3
- package/dist/testing/grade.js.map +1 -1
- package/dist/testing/interpreter.d.ts +2 -2
- package/dist/testing/interpreter.js +1 -0
- package/dist/testing/interpreter.js.map +1 -1
- package/dist/testing/runner.d.ts +2 -2
- package/dist/validate/validate.d.ts +1 -1
- package/dist/validate/validate.js +39 -70
- package/dist/validate/validate.js.map +1 -1
- package/dist/workflow/automated-controls.d.ts +63 -0
- package/dist/workflow/automated-controls.js +158 -0
- package/dist/workflow/automated-controls.js.map +1 -0
- package/dist/workflow/automated.d.ts +112 -0
- package/dist/workflow/automated.js +163 -0
- package/dist/workflow/automated.js.map +1 -0
- package/dist/workflow/checkpointer.d.ts +7 -0
- package/dist/workflow/checkpointer.js +28 -0
- package/dist/workflow/checkpointer.js.map +1 -1
- package/dist/workflow/code-state.d.ts +46 -0
- package/dist/workflow/code-state.js +26 -0
- package/dist/workflow/code-state.js.map +1 -0
- package/dist/workflow/control-tools.d.ts +54 -23
- package/dist/workflow/control-tools.js +121 -77
- package/dist/workflow/control-tools.js.map +1 -1
- package/dist/workflow/file-values.d.ts +4 -4
- package/dist/workflow/file-values.js +1 -1
- package/dist/workflow/file-values.js.map +1 -1
- package/dist/workflow/governance.d.ts +13 -22
- package/dist/workflow/governance.js +51 -87
- package/dist/workflow/governance.js.map +1 -1
- package/dist/workflow/grader-state.d.ts +55 -0
- package/dist/workflow/grader-state.js +182 -0
- package/dist/workflow/grader-state.js.map +1 -0
- package/dist/workflow/history.d.ts +11 -0
- package/dist/workflow/history.js +64 -0
- package/dist/workflow/history.js.map +1 -0
- package/dist/workflow/middleware.d.ts +14 -17
- package/dist/workflow/middleware.js +106 -74
- package/dist/workflow/middleware.js.map +1 -1
- package/dist/workflow/move-events.d.ts +21 -0
- package/dist/workflow/move-events.js +20 -0
- package/dist/workflow/move-events.js.map +1 -0
- package/dist/workflow/parks.d.ts +9 -2
- package/dist/workflow/parks.js +16 -8
- package/dist/workflow/parks.js.map +1 -1
- package/dist/workflow/paths.d.ts +9 -9
- package/dist/workflow/paths.js +19 -19
- package/dist/workflow/paths.js.map +1 -1
- package/dist/workflow/render-prompt.d.ts +7 -5
- package/dist/workflow/render-prompt.js +22 -37
- package/dist/workflow/render-prompt.js.map +1 -1
- package/dist/workflow/signature-checks.d.ts +2 -2
- package/dist/workflow/snapshot.js +5 -29
- package/dist/workflow/snapshot.js.map +1 -1
- package/dist/workflow/state.d.ts +19 -6
- package/dist/workflow/state.js +24 -8
- package/dist/workflow/state.js.map +1 -1
- package/dist/workflow/sub-workflow.d.ts +3 -3
- package/dist/workflow/tool-service.d.ts +1 -9
- package/dist/workflow/tool-service.js +21 -24
- package/dist/workflow/tool-service.js.map +1 -1
- package/dist/workflow/turn-boundary.d.ts +2 -2
- package/dist/workflow/turn-boundary.js +10 -7
- package/dist/workflow/turn-boundary.js.map +1 -1
- package/dist/workflow/turn-runner.js +30 -2
- package/dist/workflow/turn-runner.js.map +1 -1
- package/package.json +1 -1
- package/skills/archmax-harness/README.md +5 -5
- package/skills/archmax-harness/SKILL.md +72 -30
- package/skills/archmax-harness/references/backend-integration.md +35 -23
- package/skills/archmax-harness/references/cases.md +44 -10
- package/skills/archmax-harness/references/{hook-and-test-scripts.md → code-state-and-test-scripts.md} +617 -313
- package/skills/archmax-harness/references/code-states-and-scripts.md +115 -0
- package/skills/archmax-harness/references/diagnostics.md +40 -7
- package/skills/archmax-harness/references/wiring.md +19 -10
- package/skills/archmax-harness/references/workflow-schema.md +416 -276
- package/skills/archmax-harness/references/workflow-yaml.md +161 -62
- package/dist/authoring-skill/archmax-harness/references/hooks-and-scripts.md +0 -88
- package/dist/lifecycle/hook-shape.d.ts +0 -44
- package/dist/lifecycle/hook-shape.js +0 -66
- package/dist/lifecycle/hook-shape.js.map +0 -1
- package/dist/lifecycle/runner.d.ts +0 -183
- package/dist/lifecycle/runner.js +0 -373
- package/dist/lifecycle/runner.js.map +0 -1
- package/dist/lifecycle/transcript.d.ts +0 -27
- package/dist/lifecycle/transcript.js +0 -43
- package/dist/lifecycle/transcript.js.map +0 -1
- package/dist/rubrics/rubrics.d.ts +0 -135
- package/dist/rubrics/rubrics.js +0 -145
- package/dist/rubrics/rubrics.js.map +0 -1
- package/dist/sandbox/assets/parts/core.js +0 -22
- package/dist/sandbox/assets/parts/lifecycle-hook.js +0 -47
- package/dist/sandbox/bridge.d.ts +0 -16
- package/dist/sandbox/bridge.js +0 -95
- package/dist/sandbox/bridge.js.map +0 -1
- package/skills/archmax-harness/references/hooks-and-scripts.md +0 -88
|
@@ -6,24 +6,21 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { ToolMessage } from "@langchain/core/messages";
|
|
8
8
|
import { Command } from "@langchain/langgraph";
|
|
9
|
-
import type { LifecycleContext, LifecycleRunner } from "../lifecycle/runner.js";
|
|
10
9
|
import type { WorkflowMachine } from "../machine/machine.js";
|
|
11
10
|
import type { WorkflowEventEmitter } from "../core/events.js";
|
|
12
11
|
import type { MountPrefixes } from "../core/mounts.js";
|
|
13
12
|
import { type VariableStore } from "../machine/variables.js";
|
|
14
13
|
import type { FileValueCheck } from "./signature-checks.js";
|
|
15
14
|
import type { WorkflowToolCallRequest } from "../core/deepagents.js";
|
|
16
|
-
import { type
|
|
15
|
+
import { type TrailStep } from "./state.js";
|
|
17
16
|
import { type SubWorkflowDispatcher } from "./sub-workflow.js";
|
|
18
17
|
export interface ToolServiceContext {
|
|
19
18
|
machine: WorkflowMachine;
|
|
20
19
|
emit: WorkflowEventEmitter;
|
|
21
|
-
lifecycle: LifecycleRunner;
|
|
22
20
|
mountPrefixes: MountPrefixes;
|
|
23
21
|
subWorkflows?: SubWorkflowDispatcher;
|
|
24
22
|
/** The `file` type's runtime check for a session in a state; omitted, a `file` value is held to its shape alone. */
|
|
25
23
|
files?: (state: string, variables: VariableStore) => FileValueCheck;
|
|
26
|
-
lifecycleCtx(sessionId: string, state: unknown, messages: unknown[], signal?: AbortSignal): LifecycleContext;
|
|
27
24
|
}
|
|
28
25
|
/** The identities of one call being serviced. */
|
|
29
26
|
export interface ServicedCall {
|
|
@@ -41,11 +38,6 @@ export declare function createToolService(ctx: ToolServiceContext): {
|
|
|
41
38
|
emitToolCalled: (state: string, toolName: string, callId: string, args: Record<string, unknown>) => void;
|
|
42
39
|
dispatchSteps: (sessionId: string, workflowState: string) => TrailStep[];
|
|
43
40
|
withDispatchSteps: (result: Command | ToolMessage, steps: TrailStep[]) => Command | ToolMessage;
|
|
44
|
-
reportMove: (sessionId: string, moved: {
|
|
45
|
-
from: string;
|
|
46
|
-
to: string;
|
|
47
|
-
park?: PendingDecision;
|
|
48
|
-
}) => void;
|
|
49
41
|
serviceDelegation: (request: WorkflowToolCallRequest, dispatcher: SubWorkflowDispatcher, call: ServicedCall, args: Record<string, unknown>, number?: number) => Promise<Command | ToolMessage>;
|
|
50
42
|
serviceControlTool: (request: WorkflowToolCallRequest, call: ServicedCall, args: Record<string, unknown>) => Promise<Command | ToolMessage | undefined>;
|
|
51
43
|
releaseSession(sessionId: string): void;
|
|
@@ -14,6 +14,7 @@ import { failureRecoveredBy, readVariables, readWorkflowState, } from "./state.j
|
|
|
14
14
|
import { resolveParams, subWorkflowParkOf } from "./sub-workflow.js";
|
|
15
15
|
import { delegationCallResult } from "./workflow-tools.js";
|
|
16
16
|
import { buildRunnableConfig } from "./runtime-config.js";
|
|
17
|
+
import { reportMove } from "./move-events.js";
|
|
17
18
|
/**
|
|
18
19
|
* Which model step a serviced call belongs to: the id of the assistant message
|
|
19
20
|
* that made it. Every tool call in one assistant message shares it, and the
|
|
@@ -80,7 +81,7 @@ function settledMessage(result) {
|
|
|
80
81
|
return update?.messages?.find((m) => m instanceof ToolMessage);
|
|
81
82
|
}
|
|
82
83
|
export function createToolService(ctx) {
|
|
83
|
-
const { machine, emit,
|
|
84
|
+
const { machine, emit, mountPrefixes, subWorkflows } = ctx;
|
|
84
85
|
function emitToolCalled(state, toolName, callId, args) {
|
|
85
86
|
const detail = toolCallDetail(args);
|
|
86
87
|
emit({ type: "tool-called", state, tool: toolName, callId, args, ...(detail ? { detail } : {}) });
|
|
@@ -106,8 +107,7 @@ export function createToolService(ctx) {
|
|
|
106
107
|
* The model step each session last moved in, keyed by session id. One step may
|
|
107
108
|
* commit one transition: sibling `archmax_advance` calls in a single assistant
|
|
108
109
|
* message each read the same step-start position, so each would pass edge
|
|
109
|
-
* validation
|
|
110
|
-
* last-value channel — double-running a governance hook and landing wherever
|
|
110
|
+
* validation and write a position to a last-value channel — landing wherever
|
|
111
111
|
* the last writer said (issue #66).
|
|
112
112
|
*/
|
|
113
113
|
const movedAtStep = new Map();
|
|
@@ -144,14 +144,6 @@ export function createToolService(ctx) {
|
|
|
144
144
|
update: { ...update, auditTrail: [...(update.auditTrail ?? []), ...steps] },
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
/** Report a move: the state left, the state entered, and the park it opened. */
|
|
148
|
-
function reportMove(sessionId, moved) {
|
|
149
|
-
emit({ type: "state-leave", state: moved.from, next: moved.to });
|
|
150
|
-
emit({ type: "state-enter", state: moved.to });
|
|
151
|
-
if (moved.park) {
|
|
152
|
-
emit({ type: "parked", state: moved.to, sessionId, awaiting: "decision" });
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
147
|
/** Service a delegation through the dispatcher; refused as a blocked call when nothing may run. */
|
|
156
148
|
async function serviceDelegation(request, dispatcher, call, args,
|
|
157
149
|
/** The call's dispatch number, taken in tool-call order; absent, the dispatcher takes the next free one. */
|
|
@@ -258,29 +250,33 @@ export function createToolService(ctx) {
|
|
|
258
250
|
const state = request.state;
|
|
259
251
|
const step = stepIdOf(state);
|
|
260
252
|
// One transition per model step. Only a move that landed claims the step, so
|
|
261
|
-
// a refused attempt (invalid edge,
|
|
253
|
+
// a refused attempt (an invalid edge, an unmet `requires`) leaves a sibling free to try.
|
|
262
254
|
const claimed = movedAtStep.get(sessionId);
|
|
263
255
|
const alreadyMovedTo = claimed?.step === step ? claimed.to : undefined;
|
|
264
256
|
const claimStep = (moved) => {
|
|
265
|
-
if (
|
|
266
|
-
|
|
267
|
-
movedAtStep.set(sessionId, { step, to: moved.to });
|
|
268
|
-
reportMove(sessionId, moved);
|
|
257
|
+
if (moved)
|
|
258
|
+
movedAtStep.set(sessionId, { step, to: moved.to });
|
|
269
259
|
};
|
|
270
260
|
switch (toolName) {
|
|
271
261
|
case ADVANCE_TOOL: {
|
|
272
262
|
if (alreadyMovedTo)
|
|
273
263
|
return duplicateMoveRefusal(toolName, toolCallId, alreadyMovedTo);
|
|
274
|
-
const outcome = await withPairedEvents(call, args, () =>
|
|
275
|
-
toolCallId,
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
264
|
+
const outcome = await withPairedEvents(call, args, () => {
|
|
265
|
+
const advanced = handleAdvance({ machine, mountPrefixes }, { toolCallId, args, state });
|
|
266
|
+
// The move is announced inside the call's pair, as the effect of the call that made it.
|
|
267
|
+
if (advanced.moved) {
|
|
268
|
+
const { from, to, reason } = advanced.moved;
|
|
269
|
+
emit({ type: "advance", from, to, reason, callId });
|
|
270
|
+
}
|
|
271
|
+
return advanced;
|
|
272
|
+
},
|
|
281
273
|
// A refused transition replies without erroring the message, so the outcome is read off the move.
|
|
282
274
|
(result) => (result.moved ? "ok" : "error"));
|
|
283
275
|
claimStep(outcome.moved);
|
|
276
|
+
if (outcome.moved) {
|
|
277
|
+
const { from, to, park } = outcome.moved;
|
|
278
|
+
reportMove(emit, sessionId, { from, to, parks: park !== undefined });
|
|
279
|
+
}
|
|
284
280
|
return outcome.message;
|
|
285
281
|
}
|
|
286
282
|
case RESET_TOOL: {
|
|
@@ -288,6 +284,8 @@ export function createToolService(ctx) {
|
|
|
288
284
|
return duplicateMoveRefusal(toolName, toolCallId, alreadyMovedTo);
|
|
289
285
|
const outcome = await withPairedEvents(call, args, () => handleReset(machine, { toolCallId, args, state }));
|
|
290
286
|
claimStep(outcome.moved);
|
|
287
|
+
if (outcome.moved)
|
|
288
|
+
reportMove(emit, sessionId, outcome.moved);
|
|
291
289
|
return outcome.message;
|
|
292
290
|
}
|
|
293
291
|
case WAIT_TOOL: {
|
|
@@ -346,7 +344,6 @@ export function createToolService(ctx) {
|
|
|
346
344
|
emitToolCalled,
|
|
347
345
|
dispatchSteps,
|
|
348
346
|
withDispatchSteps,
|
|
349
|
-
reportMove,
|
|
350
347
|
serviceDelegation,
|
|
351
348
|
serviceControlTool,
|
|
352
349
|
releaseSession(sessionId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-service.js","sourceRoot":"","sources":["../../src/workflow/tool-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-service.js","sourceRoot":"","sources":["../../src/workflow/tool-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* The turn boundary: what happens once per invoke, before any model call.
|
|
3
3
|
*
|
|
4
4
|
* A turn boundary resets the turn's mechanics (rejected, failedDelegations,
|
|
5
|
-
* raised,
|
|
6
|
-
*
|
|
5
|
+
* raised, parkCounts, park records and phase, replyOnly, the turn budget) and
|
|
6
|
+
* retains the conversation (position,
|
|
7
7
|
* entryState, variables, transcript, trail, files). Every ingress that begins
|
|
8
8
|
* a turn arrives here; a park resumption re-enters at its own suspension
|
|
9
9
|
* through a `Command` and never crosses this boundary — which is what makes "a
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* The turn boundary: what happens once per invoke, before any model call.
|
|
3
3
|
*
|
|
4
4
|
* A turn boundary resets the turn's mechanics (rejected, failedDelegations,
|
|
5
|
-
* raised,
|
|
6
|
-
*
|
|
5
|
+
* raised, parkCounts, park records and phase, replyOnly, the turn budget) and
|
|
6
|
+
* retains the conversation (position,
|
|
7
7
|
* entryState, variables, transcript, trail, files). Every ingress that begins
|
|
8
8
|
* a turn arrives here; a park resumption re-enters at its own suspension
|
|
9
9
|
* through a `Command` and never crosses this boundary — which is what makes "a
|
|
@@ -31,13 +31,18 @@ export async function openTurn(ctx, state, runtime) {
|
|
|
31
31
|
const startState = machine.startStateForTrigger(trigger.id) ?? machine.entry;
|
|
32
32
|
// A session's first turn enters the state its trigger declares; every later turn
|
|
33
33
|
// continues where the conversation is. A retained position the current
|
|
34
|
-
// definition no longer declares reopens at the trigger's entry
|
|
34
|
+
// definition no longer declares reopens at the trigger's entry — and so does
|
|
35
|
+
// one a session completed in at a terminal automated state: no agent stands
|
|
36
|
+
// there to take up a new message, and running the state again would complete
|
|
37
|
+
// the turn without answering it.
|
|
35
38
|
const retained = fields.workflowState;
|
|
36
|
-
const reopening = retained == null ||
|
|
39
|
+
const reopening = retained == null ||
|
|
40
|
+
!Object.hasOwn(machine.spec.states, retained) ||
|
|
41
|
+
(machine.isAutomatedState(retained) && machine.isTerminal(retained) && fields.status === WORKFLOW_STATUSES.completed);
|
|
37
42
|
const position = reopening ? startState : retained;
|
|
38
43
|
const entryState = fields.entryState ?? position;
|
|
39
44
|
// A refused turn commits `rejected` with a reason rather than throwing, before
|
|
40
|
-
// any event narrates a turn beginning: nothing is entered,
|
|
45
|
+
// any event narrates a turn beginning: nothing is entered, nothing runs.
|
|
41
46
|
const refuse = (reason, extra = {}) => {
|
|
42
47
|
emit({ type: "warning", scope: "workflow", message: reason });
|
|
43
48
|
return {
|
|
@@ -125,8 +130,6 @@ export async function openTurn(ctx, state, runtime) {
|
|
|
125
130
|
workflowState: position,
|
|
126
131
|
...NO_PENDING_FAILURE,
|
|
127
132
|
raised: null,
|
|
128
|
-
iterations: {},
|
|
129
|
-
beforeDone: {},
|
|
130
133
|
parkCounts: {},
|
|
131
134
|
// A new turn is not a resumed park: every park channel is cleared, and a
|
|
132
135
|
// delegated child suspended on its own human state is abandoned by the turn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-boundary.js","sourceRoot":"","sources":["../../src/workflow/turn-boundary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,cAAc,EAAwD,MAAM,mBAAmB,CAAC;AAGzG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAuB,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAGlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmB3E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAwB,EACxB,KAAc,EACd,OAA+D;IAE/D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAC9B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,iFAAiF;IACjF,oEAAoE;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;IAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;IAE7E,iFAAiF;IACjF,uEAAuE;IACvE,
|
|
1
|
+
{"version":3,"file":"turn-boundary.js","sourceRoot":"","sources":["../../src/workflow/turn-boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { INTERRUPT } from "@langchain/langgraph";
|
|
1
|
+
import { GraphRecursionError, INTERRUPT } from "@langchain/langgraph";
|
|
2
2
|
import { contentToString, isAiMessage } from "../core/messages.js";
|
|
3
|
-
import { currentWorkflowState } from "./state.js";
|
|
3
|
+
import { currentWorkflowState, WORKFLOW_STATUSES } from "./state.js";
|
|
4
4
|
import { DEFAULT_SESSION_ID } from "../sessions/scope.js";
|
|
5
5
|
export function sessionIdOfConfig(config) {
|
|
6
6
|
const id = config?.configurable?.thread_id;
|
|
@@ -79,9 +79,37 @@ export function createTurnRunner(opts) {
|
|
|
79
79
|
for (const { text, messageId } of streamedText.values()) {
|
|
80
80
|
emit({ type: "agent-text", state, text, partial: true, ...(messageId ? { messageId } : {}) });
|
|
81
81
|
}
|
|
82
|
+
await endFailed(config, err);
|
|
82
83
|
throw err;
|
|
83
84
|
}
|
|
84
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* A turn that throws while the session is still `running` would leave it
|
|
88
|
+
* refused for good, so it ends `failed` with an exit record, as `archmax_raise`
|
|
89
|
+
* would, and the next message starts a fresh turn. A park is left as it is.
|
|
90
|
+
*/
|
|
91
|
+
async function endFailed(config, err) {
|
|
92
|
+
const at = { configurable: { thread_id: sessionIdOfConfig(config) } };
|
|
93
|
+
try {
|
|
94
|
+
const values = (await graph.getState(at))?.values ?? {};
|
|
95
|
+
if (values.status !== WORKFLOW_STATUSES.running)
|
|
96
|
+
return;
|
|
97
|
+
const code = err instanceof GraphRecursionError
|
|
98
|
+
? "recursion-limit"
|
|
99
|
+
: config?.signal?.aborted || err?.name === "AbortError"
|
|
100
|
+
? "turn-cancelled"
|
|
101
|
+
: "turn-error";
|
|
102
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
103
|
+
await graph.updateState(at, {
|
|
104
|
+
status: WORKFLOW_STATUSES.failed,
|
|
105
|
+
raised: { code, reason, state: currentWorkflowState(values, opts.entryState) },
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
catch (failure) {
|
|
109
|
+
// The original error is what the caller needs; this one only explains why the session stayed `running`.
|
|
110
|
+
emit({ type: "warning", scope: "session", message: `could not end the failed turn: ${failure.message}` });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
85
113
|
return {
|
|
86
114
|
// `async`, so a refused session id is a rejection like every other failure of
|
|
87
115
|
// the call, never a synchronous throw out of `invoke`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/workflow/turn-runner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-runner.js","sourceRoot":"","sources":["../../src/workflow/turn-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@archmax-ai/harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Agents can't reliably follow a process. archmax harness makes them: a governed layer over LangChain Deep Agents that enforces a declarative workflow state machine on every step.",
|
|
6
6
|
"keywords": [
|
|
@@ -5,10 +5,10 @@ Cursor, Codex, …) how to **build with** the
|
|
|
5
5
|
[`@archmax-ai/harness`](https://www.npmjs.com/package/@archmax-ai/harness) runtime:
|
|
6
6
|
|
|
7
7
|
1. **Author a workflow** — a `workflow.yaml` state machine plus its skills,
|
|
8
|
-
|
|
8
|
+
grader and code states, scripts, tool governance, and cases.
|
|
9
9
|
2. **Wire the runtime into a backend** — assemble an agent with
|
|
10
10
|
`createAgent`, run a workflow, resume human-in-the-loop states, and
|
|
11
|
-
stream
|
|
11
|
+
stream the event stream / session artifacts so a frontend can visualize session state.
|
|
12
12
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
@@ -50,16 +50,16 @@ separate submission step.
|
|
|
50
50
|
| --- | --- |
|
|
51
51
|
| `SKILL.md` | The entry point, loaded when the skill triggers: procedure, workspace layout, CLI, and a table saying which short reference to load for which task |
|
|
52
52
|
| `references/workflow-yaml.md` | Short: every `workflow.yaml` key as an annotated skeleton, machine rules, governance |
|
|
53
|
-
| `references/
|
|
53
|
+
| `references/code-states-and-scripts.md` | Short: the code-state script and `archmax_run` contracts |
|
|
54
54
|
| `references/cases.md` | Short: the case grammar (keys, actions, assertions, mocking rule) |
|
|
55
55
|
| `references/diagnostics.md` | Short: every `validate` diagnostic → its fix; removed keys |
|
|
56
56
|
| `references/wiring.md` | Short: `createAgent`, human states, events, artifacts |
|
|
57
57
|
| `references/workflow-schema.md` | Exhaustive `workflow.yaml` field reference + annotated example |
|
|
58
|
-
| `references/
|
|
58
|
+
| `references/code-state-and-test-scripts.md` | Full code-state script, grader + cases contracts with worked examples |
|
|
59
59
|
| `references/backend-integration.md` | Full `createAgent` / events / run-artifact integration reference |
|
|
60
60
|
|
|
61
61
|
The skill is **self-contained** — no external docs are required to use it. It
|
|
62
|
-
targets **runtime contract version `"
|
|
62
|
+
targets **runtime contract version `"3"`**.
|
|
63
63
|
|
|
64
64
|
## Naming note
|
|
65
65
|
|
|
@@ -3,13 +3,13 @@ name: archmax-harness
|
|
|
3
3
|
description: >-
|
|
4
4
|
Build with the @archmax-ai/harness runtime for LangChain Deep Agents. Use this
|
|
5
5
|
whenever you are designing, editing or fixing a workflow state machine (a
|
|
6
|
-
workflow.yaml with states, transitions,
|
|
7
|
-
governance,
|
|
6
|
+
workflow.yaml with states, transitions, grader and code states, tool and skill
|
|
7
|
+
governance, scripts, cases, or skill bundles), OR wiring the
|
|
8
8
|
@archmax-ai/harness npm package into a backend service — assembling an agent with
|
|
9
9
|
createAgent, running a workflow, resuming human-in-the-loop states, or
|
|
10
|
-
streaming
|
|
10
|
+
streaming the event stream / session artifacts so a frontend can visualize a
|
|
11
11
|
run. Trigger this skill for phrases like "design a workflow", "author a
|
|
12
|
-
workflow.yaml", "add a state/transition/
|
|
12
|
+
workflow.yaml", "add a state/transition/check", "archmax validate fails", "run
|
|
13
13
|
an agent workflow from my worker", or "integrate @archmax-ai/harness" even when the
|
|
14
14
|
runtime is not named explicitly.
|
|
15
15
|
---
|
|
@@ -20,7 +20,8 @@ The archmax harness is a thin, governed runtime over
|
|
|
20
20
|
[LangChain Deep Agents](https://docs.langchain.com/oss/javascript/deepagents/overview):
|
|
21
21
|
one Deep Agent per workflow, moved by a declarative state machine
|
|
22
22
|
(`workflow.yaml`). It holds no use-case logic — a **workspace** supplies it.
|
|
23
|
-
Runtime contract: `runtime: { engine: archmax-harness, version: "
|
|
23
|
+
Runtime contract: `runtime: { engine: archmax-harness, version: "3" }` in every spec
|
|
24
|
+
(omitted resolves to `3`; `1` and `2` are refused).
|
|
24
25
|
|
|
25
26
|
**Read by task, not by curiosity.** This file holds the procedure, the
|
|
26
27
|
workspace layout and the commands. Load exactly the short reference your next
|
|
@@ -29,12 +30,12 @@ file needs, once, and nothing else:
|
|
|
29
30
|
| You are about to… | Load |
|
|
30
31
|
| --- | --- |
|
|
31
32
|
| write or edit `workflow.yaml` | [`references/workflow-yaml.md`](references/workflow-yaml.md) — every key, machine rules, governance |
|
|
32
|
-
| write a script — a
|
|
33
|
+
| write a script — a code state's `workflows/<slug>/scripts/*.js` or a skill's `scripts/*.js` (`archmax_run`) | [`references/code-states-and-scripts.md`](references/code-states-and-scripts.md); sequence the skill case with the *Script playbook* below |
|
|
33
34
|
| write or fix a case (`tests/*.test.yaml`) | [`references/cases.md`](references/cases.md) |
|
|
34
35
|
| fix what `archmax validate` / `archmax test` reported | [`references/diagnostics.md`](references/diagnostics.md) |
|
|
35
36
|
| embed the package in a service | [`references/wiring.md`](references/wiring.md) |
|
|
36
37
|
|
|
37
|
-
The long references — `workflow-schema.md`, `
|
|
38
|
+
The long references — `workflow-schema.md`, `code-state-and-test-scripts.md`,
|
|
38
39
|
`backend-integration.md` — are exhaustive; open a **section** of one only when
|
|
39
40
|
the short reference says so or a field's exact semantics are in doubt. Do
|
|
40
41
|
**not** read the SDK source, do not `ls`/`glob` a workspace to discover its
|
|
@@ -58,8 +59,14 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
58
59
|
`description`, which is what the agent knows about where the edge leads. Leave
|
|
59
60
|
an edge undescribed only when the target's `instructions` already say when it
|
|
60
61
|
applies: the agent is then shown them instead (never on a human state's
|
|
61
|
-
transitions, whose description is the button label
|
|
62
|
-
|
|
62
|
+
transitions, whose description is the button label, and never on an edge
|
|
63
|
+
into a grader, whose instructions are criteria the work is never shown, or
|
|
64
|
+
into a code state, which has none; a code state's own edges may go
|
|
65
|
+
undescribed, since its script routes). **Checks are states too**: sketch
|
|
66
|
+
each deterministic check as a code state and each judgment (tone,
|
|
67
|
+
completeness) as a grader state, with its edges — onward, back to the work
|
|
68
|
+
it checks, and where it gives up (see *Checks are states* below). If something outside the session calls the workflow (another
|
|
69
|
+
workflow, a host's MCP tool or form), give its trigger a
|
|
63
70
|
`description` for the caller and a `requires`/`returns` signature, typing an
|
|
64
71
|
entry (`{ name, type, description }`; `string` `integer` `number` `boolean`
|
|
65
72
|
`date` `date-time` `object` `array` `file`) where the caller must build or read the
|
|
@@ -72,10 +79,10 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
72
79
|
them; where a person must always be reached instead, forbid the tool in
|
|
73
80
|
that state.
|
|
74
81
|
2. **Decide the file set** from the sketch: `workflow.yaml` always; one
|
|
75
|
-
`
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
failure a host branches on; a
|
|
82
|
+
`scripts/<check>.js` per code state (a grader needs no file: its criteria
|
|
83
|
+
are its `instructions`); cases — one happy path per branch, one per path a
|
|
84
|
+
check declines or sends back, one `decide:` per human state, one `raised:`
|
|
85
|
+
per failure a host branches on; a
|
|
79
86
|
`skills/<capability>/` bundle only for data, an `archmax_run` script, or
|
|
80
87
|
guidance two or more states share identically; `AGENTS.md` only for a
|
|
81
88
|
workspace-wide persona.
|
|
@@ -95,9 +102,9 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
95
102
|
a model (`settings.model`, or `model:` on one state) only where the work
|
|
96
103
|
differs in kind — a small model on mechanical states, the default on
|
|
97
104
|
drafting, judgement and heavy-routing ones.
|
|
98
|
-
4. **Write
|
|
99
|
-
case's `title` + `description`),
|
|
100
|
-
disagreeing. Before writing a case, settle what to mock ([`references/cases.md`](references/cases.md)).
|
|
105
|
+
4. **Write code-state scripts, grader criteria, cases** — description first (a
|
|
106
|
+
script's JSDoc, a grader's give-up rule, a case's `title` + `description`),
|
|
107
|
+
then the body, and never leave the two disagreeing. Before writing a case, settle what to mock ([`references/cases.md`](references/cases.md)).
|
|
101
108
|
5. **Verify**: `archmax validate <slug>` → fix every error (and every warning
|
|
102
109
|
you can) → `archmax test <slug>`. Never call a workflow done without a clean
|
|
103
110
|
`validate`.
|
|
@@ -113,8 +120,9 @@ then verify. Do not write a file, validate, and discover the next file.
|
|
|
113
120
|
`succeeded`, `trail`) is a routing or governance defect — fix the routing state's
|
|
114
121
|
`instructions`, the transition `description`s, or the `tools`/`skills`
|
|
115
122
|
grants; a **content** miss (`reply`, `calledTool`, `grade`) is an
|
|
116
|
-
`instructions` defect in the state that answered; a
|
|
117
|
-
|
|
123
|
+
`instructions` defect in the state that answered; a decline the reply
|
|
124
|
+
quotes, or a send-back the agent keeps failing, is a code or grader state
|
|
125
|
+
speaking — fix what it names (or the check, when it is wrong). Change the
|
|
118
126
|
case only when it asserts something the spec never promised.
|
|
119
127
|
4. A `grade` miss is the one non-deterministic assertion: re-run that case
|
|
120
128
|
once before calling it a regression. Re-run with `--verbose` for raw
|
|
@@ -126,7 +134,7 @@ instead.
|
|
|
126
134
|
|
|
127
135
|
**Shapes come from tools, not from research.** Before naming any field of a
|
|
128
136
|
tool's result or a trigger's payload — in `instructions`, a `${{…}}` guard, a
|
|
129
|
-
|
|
137
|
+
code-state script — ask the host: a platform embedding this runtime typically exposes
|
|
130
138
|
describe-style tools (a tool's input and output schema, a trigger's payload
|
|
131
139
|
schema and sample) and a way to sample or invoke once with a narrow input. Call
|
|
132
140
|
those first; fall back to a recorded session's variables (`archmax sessions <id>`)
|
|
@@ -143,7 +151,7 @@ Deterministic work the model triggers with `archmax_run`. In order:
|
|
|
143
151
|
2. **Write it.** `skills/<cap>/scripts/<x>.js`: JSDoc, then the body. Input is the
|
|
144
152
|
global `args` — `args.<param>` from the model plus `args.variables`, a read-only
|
|
145
153
|
snapshot — and the **last expression** is the result. Contract:
|
|
146
|
-
[`references/
|
|
154
|
+
[`references/code-states-and-scripts.md`](references/code-states-and-scripts.md).
|
|
147
155
|
3. **Land the result in a variable.** Return structured data, and name the variable
|
|
148
156
|
in the calling state's `requires:`. A script may not call
|
|
149
157
|
`archmax_set_variables`, so `requires` is what makes the model record the return;
|
|
@@ -173,7 +181,39 @@ instructions: >-
|
|
|
173
181
|
|
|
174
182
|
Exact — a retyped copy truncates and drifts, a reference cannot — and it agrees by
|
|
175
183
|
construction with a guard on the same variable. Not available in scripts, which
|
|
176
|
-
read `args.variables
|
|
184
|
+
read `args.variables` (a code state's script: `variables`); a grader's own tool
|
|
185
|
+
arguments get it like the agent's. To write the characters literally: `$${{name}}`.
|
|
186
|
+
|
|
187
|
+
### Checks are states (grader and code states)
|
|
188
|
+
|
|
189
|
+
A check is a state on the graph, never a slot inside one. A `type: code` state
|
|
190
|
+
runs `script: scripts/<x>.js` and a `type: grader` state runs an isolated grader
|
|
191
|
+
whose criteria are its `instructions`; both run on entry with **no call of the
|
|
192
|
+
agent's model**, are offered only **their own state's** tools (grant there what
|
|
193
|
+
the check reads; never `write_todos`, `archmax_eval`, `archmax_run`, `archmax_wait`
|
|
194
|
+
or `archmax_reset`, even when `tools.allow_always` lists them), and leave like every state:
|
|
195
|
+
`archmax_advance({ to, reason })` — the `reason` is the note the next state
|
|
196
|
+
reads — or `archmax_raise({ code, reason })`. Finishing without either fails
|
|
197
|
+
closed through `on_error`, so give every automated state an `on_error`. Both
|
|
198
|
+
read the **whole session** the same way, with `archmax_get_history` →
|
|
199
|
+
`{ messages, trail }` (a script: `JSON.parse(await tools.archmax_get_history())`);
|
|
200
|
+
a tool result is inline in its tool message's `text`. Every edge into one needs
|
|
201
|
+
a `description`. Put a grader on work the agent hands on (a report, a record),
|
|
202
|
+
not on a live answer: everything the agent says in a turn is that turn's reply,
|
|
203
|
+
a draft sent back included. Contract:
|
|
204
|
+
[`references/code-states-and-scripts.md`](references/code-states-and-scripts.md).
|
|
205
|
+
|
|
206
|
+
| Want | Shape |
|
|
207
|
+
| --- | --- |
|
|
208
|
+
| A deterministic check **in front of** a state | The trigger's entry (or the edge's target) is a code state that advances to the work, or to a state that declines it |
|
|
209
|
+
| A check **behind** a state | The state's edge points at a code state with an edge onward and one **back**; a send-back's `reason` names the fix |
|
|
210
|
+
| **Approve, then end** | Approve into a **terminal code state**: its script records the result and the session completes, no model call; the session's next message opens at its trigger's entry state |
|
|
211
|
+
| Judgment with a bounded loop | A grader behind the graded state, edges onward and back; its `instructions` say "raise after N send-backs", counted as trail steps `{ kind: grader, to: <graded state> }` |
|
|
212
|
+
|
|
213
|
+
The checked state's `instructions` say that advancing into the check is what
|
|
214
|
+
hands the work in, and to fix the work when a note sends it back. There is
|
|
215
|
+
no `before:`/`after:`, no `rubric:`, no `max_iterations`: a leftover key fails to
|
|
216
|
+
load.
|
|
177
217
|
|
|
178
218
|
### Workspace layout (complete — nothing else exists)
|
|
179
219
|
|
|
@@ -183,7 +223,7 @@ read `args.variables`. To write the characters literally: `$${{name}}`.
|
|
|
183
223
|
workflows/<slug>/ # AUTHORING PLANE — runtime reads it, the agent CANNOT
|
|
184
224
|
workflow.yaml # the machine (required, canonical)
|
|
185
225
|
WORKFLOW.md # optional plain-markdown addendum, NO frontmatter
|
|
186
|
-
|
|
226
|
+
scripts/<check>.js # code-state scripts (`type: code`), run by the runtime
|
|
187
227
|
tests/<case>.test.yaml # one case per file; fixtures beside them (`from:`)
|
|
188
228
|
skills/<capability>/ # AGENT PLANE — mounted read-only, enabled per state by slug
|
|
189
229
|
SKILL.md # frontmatter (name = directory slug, description) + body
|
|
@@ -200,20 +240,21 @@ read `args.variables`. To write the characters literally: `$${{name}}`.
|
|
|
200
240
|
|
|
201
241
|
Rules that follow:
|
|
202
242
|
|
|
203
|
-
- **The agent cannot read `workflows/**`** — its spec,
|
|
204
|
-
cases have no route in its workspace. Never point `instructions`,
|
|
243
|
+
- **The agent cannot read `workflows/**`** — its spec, code-state scripts,
|
|
244
|
+
grader criteria and cases have no route in its workspace. Never point `instructions`,
|
|
205
245
|
`evidence` or a case `workspace:` at one (`validate` errors). Text the agent
|
|
206
246
|
needs goes in a skill bundle.
|
|
207
|
-
- **Placement**: a
|
|
208
|
-
never share a file
|
|
247
|
+
- **Placement**: a code-state script is the check, a runtime script is the
|
|
248
|
+
tool; they never share a file. Both directories are named `scripts/`, on
|
|
249
|
+
different planes.
|
|
209
250
|
|
|
210
251
|
| Script | Runs on | Lives at | Wired as |
|
|
211
252
|
| --- | --- | --- | --- |
|
|
212
|
-
|
|
|
253
|
+
| Code-state script | the runtime, when its `type: code` state is entered; governed by **that state's** grants | `workflows/<slug>/scripts/<x>.js` | `type: code` + `script: scripts/<x>.js` (workflow-relative, confined to `scripts/`) |
|
|
213
254
|
| Runtime script | the model's authority, via `archmax_run` | `skills/<cap>/scripts/<x>.js` | enabling the skill; narrow with `{ tool: archmax_run, paths: ["skills/<cap>/scripts/**"] }` |
|
|
214
255
|
|
|
215
256
|
`archmax_run` is confined to skill bundles by a non-overridable rule
|
|
216
|
-
(`script.skill-only`): a script in `scratchpad/` or `
|
|
257
|
+
(`script.skill-only`): a script in `scratchpad/` or `workflows/` is unrunnable.
|
|
217
258
|
- **Paths have no leading slash** (`skills/order-data/assets/orders.json`,
|
|
218
259
|
`scratchpad/refund.json`); never author a `run/` prefix. `scratchpad/` is
|
|
219
260
|
writable in every state that is granted `write_file`, whatever its entry
|
|
@@ -225,8 +266,9 @@ Rules that follow:
|
|
|
225
266
|
(`>-` is fine). Pasting a paragraph into a second state means hoist it.
|
|
226
267
|
Never one `skills/<state>/` per state.
|
|
227
268
|
- **Every `.js` you author opens with a JSDoc block**: title line, blank
|
|
228
|
-
line, then what it reads, the sequence of checks, and
|
|
229
|
-
|
|
269
|
+
line, then what it reads, the sequence of checks, and where it sends the
|
|
270
|
+
session in each case (code state: each `archmax_advance` target and why, each
|
|
271
|
+
raise) or what it computes and returns (`archmax_run` script). Admin UIs show this
|
|
230
272
|
instead of the code. No `@specification` tag, no sidecar key.
|
|
231
273
|
|
|
232
274
|
### Verify (CLI)
|