@archmax-ai/harness 0.4.2 → 0.5.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.
Files changed (84) hide show
  1. package/README.md +8 -0
  2. package/dist/agent.d.ts +14 -0
  3. package/dist/agent.js.map +1 -1
  4. package/dist/assembly/compose.js +51 -26
  5. package/dist/assembly/compose.js.map +1 -1
  6. package/dist/assembly/index.js +51 -11
  7. package/dist/assembly/index.js.map +1 -1
  8. package/dist/authoring-skill/archmax-harness/SKILL.md +2 -2
  9. package/dist/authoring-skill/archmax-harness/references/backend-integration.md +28 -10
  10. package/dist/authoring-skill/archmax-harness/references/hook-and-test-scripts.md +2 -1
  11. package/dist/authoring-skill/archmax-harness/references/workflow-schema.md +65 -8
  12. package/dist/authoring-skill/archmax-harness/references/workflow-yaml.md +1 -1
  13. package/dist/cli/bootstrap.d.ts +8 -1
  14. package/dist/cli/bootstrap.js +43 -3
  15. package/dist/cli/bootstrap.js.map +1 -1
  16. package/dist/cli/command.d.ts +3 -1
  17. package/dist/cli/command.js +1 -1
  18. package/dist/cli/command.js.map +1 -1
  19. package/dist/cli/turn.d.ts +3 -1
  20. package/dist/cli/turn.js +1 -0
  21. package/dist/cli/turn.js.map +1 -1
  22. package/dist/cli.js +9 -1
  23. package/dist/cli.js.map +1 -1
  24. package/dist/core/attachments.d.ts +64 -0
  25. package/dist/core/attachments.js +87 -0
  26. package/dist/core/attachments.js.map +1 -0
  27. package/dist/core/file-operations.d.ts +22 -0
  28. package/dist/core/file-operations.js +54 -0
  29. package/dist/core/file-operations.js.map +1 -1
  30. package/dist/core/platform-prompt.generated.js +1 -1
  31. package/dist/core/platform-prompt.generated.js.map +1 -1
  32. package/dist/index.d.ts +4 -0
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/kernel/kernel.d.ts +9 -0
  36. package/dist/kernel/kernel.js +15 -0
  37. package/dist/kernel/kernel.js.map +1 -1
  38. package/dist/machine/machine.d.ts +7 -0
  39. package/dist/machine/machine.js +14 -0
  40. package/dist/machine/machine.js.map +1 -1
  41. package/dist/machine/signature.d.ts +16 -5
  42. package/dist/machine/signature.js +25 -4
  43. package/dist/machine/signature.js.map +1 -1
  44. package/dist/machine/spec-schema.d.ts +10 -0
  45. package/dist/sessions/resume.d.ts +9 -0
  46. package/dist/sessions/resume.js +13 -0
  47. package/dist/sessions/resume.js.map +1 -1
  48. package/dist/workflow/control-tools.d.ts +12 -1
  49. package/dist/workflow/control-tools.js +33 -4
  50. package/dist/workflow/control-tools.js.map +1 -1
  51. package/dist/workflow/file-values.d.ts +44 -0
  52. package/dist/workflow/file-values.js +29 -0
  53. package/dist/workflow/file-values.js.map +1 -0
  54. package/dist/workflow/governance.d.ts +4 -0
  55. package/dist/workflow/governance.js +1 -0
  56. package/dist/workflow/governance.js.map +1 -1
  57. package/dist/workflow/middleware.d.ts +6 -0
  58. package/dist/workflow/middleware.js +25 -1
  59. package/dist/workflow/middleware.js.map +1 -1
  60. package/dist/workflow/parks.js +5 -1
  61. package/dist/workflow/parks.js.map +1 -1
  62. package/dist/workflow/returns-check.d.ts +3 -0
  63. package/dist/workflow/returns-check.js +1 -1
  64. package/dist/workflow/returns-check.js.map +1 -1
  65. package/dist/workflow/signature-checks.d.ts +47 -5
  66. package/dist/workflow/signature-checks.js +73 -9
  67. package/dist/workflow/signature-checks.js.map +1 -1
  68. package/dist/workflow/sub-workflow.d.ts +14 -2
  69. package/dist/workflow/sub-workflow.js +119 -24
  70. package/dist/workflow/sub-workflow.js.map +1 -1
  71. package/dist/workflow/tool-service.d.ts +4 -0
  72. package/dist/workflow/tool-service.js +5 -2
  73. package/dist/workflow/tool-service.js.map +1 -1
  74. package/dist/workflow/turn-boundary.d.ts +3 -0
  75. package/dist/workflow/turn-boundary.js +5 -2
  76. package/dist/workflow/turn-boundary.js.map +1 -1
  77. package/dist/workflow/workflow-tools.js +11 -0
  78. package/dist/workflow/workflow-tools.js.map +1 -1
  79. package/package.json +1 -1
  80. package/skills/archmax-harness/SKILL.md +2 -2
  81. package/skills/archmax-harness/references/backend-integration.md +28 -10
  82. package/skills/archmax-harness/references/hook-and-test-scripts.md +2 -1
  83. package/skills/archmax-harness/references/workflow-schema.md +65 -8
  84. package/skills/archmax-harness/references/workflow-yaml.md +1 -1
@@ -9,7 +9,7 @@ import { Command } from "@langchain/langgraph";
9
9
  import { toolCallDetail, toolOutputPreview } from "../core/tool-telemetry.js";
10
10
  import { TITLE_VARIABLE } from "../machine/variables.js";
11
11
  import { workflowSlugFromToolName } from "../machine/tool-names.js";
12
- import { ADVANCE_TOOL, GET_VARIABLES_TOOL, handleAdvance, handleGetVariables, handleRaise, handleReset, handleSetVariables, handleWait, RAISE_TOOL, refusal, RESET_TOOL, SET_VARIABLES_TOOL, setVariablesCommand, WAIT_TOOL, } from "./control-tools.js";
12
+ import { ADVANCE_TOOL, GET_VARIABLES_TOOL, handleAdvance, handleGetVariables, handleRaise, handleReset, handleSetVariables, handleWait, fileReturnsRefusal, RAISE_TOOL, refusal, RESET_TOOL, SET_VARIABLES_TOOL, setVariablesCommand, WAIT_TOOL, } from "./control-tools.js";
13
13
  import { failureRecoveredBy, readVariables, readWorkflowState, } from "./state.js";
14
14
  import { resolveParams, subWorkflowParkOf } from "./sub-workflow.js";
15
15
  import { delegationCallResult } from "./workflow-tools.js";
@@ -313,8 +313,11 @@ export function createToolService(ctx) {
313
313
  return outcome.message;
314
314
  }
315
315
  case SET_VARIABLES_TOOL: {
316
+ const files = ctx.files
317
+ ? await fileReturnsRefusal(machine, state, args, ctx.files(workflowState, readVariables(state)))
318
+ : undefined;
316
319
  const outcome = await withPairedEvents(call, args, () => {
317
- const written = handleSetVariables({ toolCallId, args, state }, machine);
320
+ const written = handleSetVariables({ toolCallId, args, state }, machine, files);
318
321
  // Only a write that landed is announced; a refusal is visible as the tool's error result.
319
322
  if (written.written) {
320
323
  emit({ type: "variables-set", state: workflowState, names: written.written, locked: written.locked === true, callId });
@@ -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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"}
@@ -14,6 +14,7 @@ import { type WorkflowEventEmitter, type WorkflowEventHandler } from "../core/ev
14
14
  import type { Workspace } from "../core/workspace.js";
15
15
  import type { WorkflowMachine } from "../machine/machine.js";
16
16
  import { type VariableStore } from "../machine/variables.js";
17
+ import { type FileValueCheck } from "./signature-checks.js";
17
18
  import { type WorkflowUpdate } from "./state.js";
18
19
  export interface TurnBoundaryContext {
19
20
  machine: WorkflowMachine;
@@ -30,6 +31,8 @@ export interface TurnBoundaryContext {
30
31
  };
31
32
  /** Host-seeded run variables, applied at each turn boundary (already locked). */
32
33
  seededVariables?: VariableStore;
34
+ /** The `file` type's runtime check for a session in a state; omitted, a `file` value is held to its shape alone. */
35
+ files?: (state: string, variables: VariableStore) => FileValueCheck;
33
36
  }
34
37
  /**
35
38
  * Open a turn: resolve where it begins, refuse it if the machine cannot serve
@@ -14,7 +14,7 @@ import { SESSION_ORIGIN } from "../core/events.js";
14
14
  import { MANUAL_TRIGGER } from "../machine/triggers.js";
15
15
  import { buildSeededVariables, TITLE_VARIABLE, TRIGGER_VARIABLE, } from "../machine/variables.js";
16
16
  import { decisionRecordFor } from "./parks.js";
17
- import { requiresRefusal } from "./signature-checks.js";
17
+ import { requiresFileIssues, requiresRefusal } from "./signature-checks.js";
18
18
  import { writeSpecSnapshotIfAbsent } from "./snapshot.js";
19
19
  import { NO_PENDING_FAILURE, readVariables, readWorkflowState, reseedAll, WORKFLOW_STATUSES, } from "./state.js";
20
20
  import { sessionScopeFrom, seedVariablesFrom } from "../sessions/scope.js";
@@ -84,7 +84,10 @@ export async function openTurn(ctx, state, runtime) {
84
84
  if (typeof seededTitle === "string")
85
85
  emit({ type: "title-set", title: seededTitle });
86
86
  // The entry half of the trigger's signature: a run that cannot satisfy its own contract reaches no model.
87
- const refusal = requiresRefusal(machine, trigger.id, openingVariables);
87
+ const fileIssues = ctx.files
88
+ ? await requiresFileIssues(machine, trigger.id, openingVariables, ctx.files(position, { ...readVariables(state), ...openingVariables }))
89
+ : [];
90
+ const refusal = requiresRefusal(machine, trigger.id, openingVariables, fileIssues);
88
91
  if (refusal)
89
92
  return refuse(refusal, { variables: openingVariables });
90
93
  emit({ type: "state-enter", state: position });
@@ -1 +1 @@
1
- {"version":3,"file":"turn-boundary.js","sourceRoot":"","sources":["../../src/workflow/turn-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-boundary.js","sourceRoot":"","sources":["../../src/workflow/turn-boundary.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,17 @@ export function delegationToolDescription(target) {
38
38
  `workflow's closing message under 'message'. A run that finished without setting some ` +
39
39
  `of them returns the ones it set, with a 'note' under 'returns' naming the rest.`
40
40
  : `The result is the workflow's closing message.`);
41
+ const fileIn = (target.requires ?? []).filter((entry) => entry.type === "file").map((entry) => entry.name);
42
+ const fileOut = (target.returns ?? []).filter((entry) => entry.type === "file").map((entry) => entry.name);
43
+ if (fileIn.length) {
44
+ parts.push(`Pass ${quoteList(fileIn)} as the path of a file in your workspace; the workflow works on ` +
45
+ `its own copy, so your file is never changed.`);
46
+ }
47
+ if (fileOut.length) {
48
+ parts.push(`${quoteList(fileOut)} ${fileOut.length === 1 ? "arrives" : "arrive"} as a copy in your ` +
49
+ `'scratchpad/attachments/', and the result names ${fileOut.length === 1 ? "its path" : "their paths"}; ` +
50
+ `a name already taken there gets a '-1', '-2', … suffix, so no file of yours is overwritten.`);
51
+ }
41
52
  parts.push(`One call runs it once; call it again (in the same turn) to run several at once.`);
42
53
  parts.push(`A call whose run fails answers with an error, and that failure fails your current state ` +
43
54
  `when you finish, unless a later call of this workflow from the same state succeeds. ` +
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../../src/workflow/workflow-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../../src/workflow/workflow-tools.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.4.2",
3
+ "version": "0.5.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": [
@@ -60,7 +60,7 @@ then verify. Do not write a file, validate, and discover the next file.
60
60
  (another workflow, a host's MCP tool or form), give its trigger a
61
61
  `description` for the caller and a `requires`/`returns` signature, typing an
62
62
  entry (`{ name, type, description }`; `string` `integer` `number` `boolean`
63
- `date` `date-time` `object` `array`) where the caller must build or read the
63
+ `date` `date-time` `object` `array` `file`) where the caller must build or read the
64
64
  value. The runtime holds typed entries at start, at `archmax_set_variables`
65
65
  and at completion ([`references/workflow-schema.md`](references/workflow-schema.md)).
66
66
  Decide how the work can **fail**, too: the agent ends a session it cannot
@@ -230,7 +230,7 @@ Rules that follow:
230
230
  ```bash
231
231
  archmax validate [workflow] [--json] # offline; run after every structural edit
232
232
  archmax test [workflow] [filter] [--json] # cases; filter = case-id substring
233
- archmax run <workflow> "<prompt>" [--session <id>] [--trigger <id>] [--variables '<json>']
233
+ archmax run <workflow> "<prompt>" [--session <id>] [--trigger <id>] [--variables '<json>'] [--file <var>=<path>]...
234
234
  archmax sessions [session] [--json] # list, or one session's variables (value + locked)
235
235
  archmax decide <session> --to <state> [--comment "…"] # resume a human state
236
236
  archmax reply <session> "<message>" # message a parked run; it stays parked
@@ -333,9 +333,11 @@ turn ended in — the position, variables, transcript and files are already ther
333
333
  message.
334
334
 
335
335
  The runtime does not reposition a later turn, so nothing is injected into the
336
- transcript to explain a jump. When a turn needs a path the current state cannot
337
- reach, the agent calls `archmax_reset` to return to the state the conversation began
338
- in (available in every state). To continue *mid-state* instead — inside the state
336
+ transcript to explain a jump. When the current state can serve the new message, the
337
+ agent answers there without a reset. That includes a terminal state that is also the
338
+ state the conversation began in, such as a one-state chat workflow. When a turn needs
339
+ a path the current state cannot reach, the agent calls `archmax_reset` to return to
340
+ the state the conversation began in (available in every state). To continue *mid-state* instead — inside the state
339
341
  that stopped, with the arrival in its transcript — the turn must park rather than
340
342
  finish.
341
343
 
@@ -378,7 +380,7 @@ const outcome = await agent.workflow!.send(sessionId, { message: "Refund the ord
378
380
 
379
381
  - `signatureJsonSchema(entries)` → `{ type: "object", properties, required }`:
380
382
  one property per entry in declaration order, every name required,
381
- `date`/`date-time` as `{ type: "string", format }`, an untyped entry as `{}`,
383
+ `date`/`date-time`/`file` as `{ type: "string", format }`, an untyped entry as `{}`,
382
384
  an entry's `description` carried over. It adds no `additionalProperties`; set
383
385
  it for your own ingress.
384
386
  - `signatureValueIssues(entries, values)` → one issue per missing name and per
@@ -387,6 +389,19 @@ const outcome = await agent.workflow!.send(sessionId, { message: "Refund the ord
387
389
  `"4"` to `4` before it validates or seeds.
388
390
  - A trigger's `description` is written for the caller. Use it as the MCP tool
389
391
  or operation description. The session's own model never sees it.
392
+ - **A `file` entry** (`format: "file"` in the schema) takes a workspace path. To
393
+ hand a session an uploaded file, pass it on the turn rather than writing into
394
+ the store yourself:
395
+ `send(sessionId, { message, files: { invoice: { name: "invoice.pdf", content: bytes } } })`.
396
+ The runtime places the bytes in the session's `scratchpad/attachments/` (a taken
397
+ name gets `-1`, `-2`, …), seeds `invoice`, locked, with the placed path, and the
398
+ turn boundary then checks that the file is there and readable. `send` throws
399
+ `InvalidTurnFileError`, before anything is written, for a bad variable or file
400
+ name, a variable also given in `variables`, a session parked at a human state, or
401
+ bytes the store cannot hold exactly (a non-text file needs a store with
402
+ `uploadFiles`). `signatureValueIssues` checks only a `file` value's shape, so a
403
+ start form validates the path the upload will produce, or skips the entry and
404
+ lets `files` supply it.
390
405
  - A host that reads specs itself must read `requires`/`returns` through
391
406
  `normalizeSignature` (both spellings → `{ name, type?, description? }[]`),
392
407
  never as `string[]`: an entry may be an object. Hosts must be on the release
@@ -708,7 +723,7 @@ real). A bespoke target that intercepts by other means sets
708
723
  `capabilities.toolMocks` itself. Mockless cases run against any
709
724
  workflow-governed target.
710
725
 
711
- **Sub-workflows inherit the assembly.** When a workflow delegates (by advancing
726
+ **Sub-workflows inherit the assembly.** When a workflow delegates (by calling
712
727
  an `archmax_workflow_<slug>` tool), the child runtime is
713
728
  composed from the *same* resolved inputs as the parent — model and
714
729
  `modelFactory`, `backend` and `mounts`, `sessionStore` and `checkpointer`, host
@@ -721,11 +736,14 @@ never delegated to is never loaded, and one delegated from many places is
721
736
  composed once. A child whose spec is broken surfaces as a *dispatch* failure, not
722
737
  an assembly failure — a parent still assembles.
723
738
 
724
- The child runs on the parent's **session id** (which is what gives it the same
725
- run zone) under a nested checkpoint namespace, so `sessions.list()` reports one
726
- session and the parent session's metrics include the child's tokens.
727
- `capabilities.subWorkflows` is stamped `true` for a governed assembly and `false`
728
- for the plain one.
739
+ The child runs as a **separate session**, `<parent>~<state>:<workflow>:<n>`, in
740
+ the same session store, with its own checkpoints, its own token accounting and its
741
+ own file space: its `scratchpad/` is not its caller's, so it can neither read nor
742
+ overwrite a file of its caller's. `sessions.list()` reports it beside its caller
743
+ with `parentSessionId` naming the caller, and `sessions.delete` removes it by its
744
+ own id. The only files that cross are the runtime's copies of declared `file` arguments and
745
+ `file` returns. `capabilities.subWorkflows` is stamped `true` for a governed
746
+ assembly and `false` for the plain one.
729
747
 
730
748
  Omit both options and behavior is identical to `archmax test`. Cases run
731
749
  sequentially (`tests.maxConcurrency` above 1 is rejected, not silently
@@ -322,7 +322,8 @@ state fails that call closed with `parked`.
322
322
  Scripts still may not call `archmax_advance` (moving the state machine is the model's governed
323
323
  decision) or `archmax_set_variables`. Concurrent calls succeed or fail **independently**, so a script
324
324
  can act on what worked — `Promise.allSettled` is the honest shape when partial success is
325
- meaningful. Give each sub-run its own output path: they share one run zone.
325
+ meaningful. Each sub-run is its own session with its own `scratchpad/`, so concurrent sub-runs
326
+ never collide on a path; a `file` return comes back as a copy under a name no other file holds.
326
327
 
327
328
  ### Worked example: a `before` gate
328
329
 
@@ -557,7 +557,9 @@ states:
557
557
  - **`type`** is one of `string`, `integer` (no fractional part), `number`
558
558
  (finite), `boolean`, `date` (RFC 3339 `YYYY-MM-DD`, a real calendar day),
559
559
  `date-time` (RFC 3339 with a mandatory `Z`/`±hh:mm` offset), `object` (not an
560
- array) or `array`. Nothing is coerced (`"4"` is not an `integer`) and a typed
560
+ array), `array` or `file` (a path from the workspace root, such as
561
+ `scratchpad/attachments/invoice.pdf` or `skills/billing/assets/template.pdf`; see
562
+ [Passing files](#passing-files)). Nothing is coerced (`"4"` is not an `integer`) and a typed
561
563
  entry never takes `null`. It is held **at the start** (a mistyped seed is
562
564
  refused before any model call), **at the write** (`archmax_set_variables` of a
563
565
  mistyped typed return of the current trigger is a correctable refusal,
@@ -565,6 +567,17 @@ states:
565
567
  run — in practice a script or hook write). There are no enums, item or
566
568
  property schemas, ranges or optional inputs. An unknown `type`, an unknown
567
569
  entry key (`default:`) or an empty `description` fails load.
570
+ - **A `file` value must name a readable file.** The pure rule checks only the
571
+ path's shape (a host runs it in a browser). At the start, at the write, at
572
+ completion and at a delegation call the runtime also requires a **file** (not a
573
+ folder) at the path that the session may read **on runtime authority** — the
574
+ rules a hook is bound by: zone rules (`checkpoints/`, `artifacts/`, `_specs/`
575
+ never) and every workflow-wide `forbid_always`, inherited ones included; the
576
+ state's allow list and mount/skill grants do not narrow it. So tell the agent to
577
+ write the file *before* it sets a `file` return: `archmax_set_variables` refuses
578
+ a path with nothing there. A host hands a file in with `TurnInput.files` (CLI:
579
+ `archmax run … --file invoice=./invoice.pdf`), which places it under
580
+ `scratchpad/attachments/` and seeds the path.
568
581
  - **When to type.** Type an entry when something outside the session reads the
569
582
  contract: a delegating model that must build the argument, a host publishing an
570
583
  MCP tool or a start form. Leave it bare when any value will do. Typing a
@@ -1015,7 +1028,8 @@ the host at assembly (`variables`, every seed locked), the agent mid-run
1015
1028
 
1016
1029
  `trigger` holds the current turn's trigger id. `title` holds a short one-line label
1017
1030
  naming the task the run is doing; the platform system prompt asks the agent to set
1018
- one as its first activity and update it when the task changes significantly, so a
1031
+ one as its first activity, and to rename it only when the whole conversation has
1032
+ moved to a different subject (a follow-up on the same subject keeps it), so a
1019
1033
  host can name a run instead of showing a session id. A sub-workflow's child is not
1020
1034
  asked — its title names a session nothing lists and is never returned — so its
1021
1035
  prompt leaves the step out; do not write "set the title" into a child's state
@@ -1340,7 +1354,7 @@ enrich:
1340
1354
  delegation may happen is decided by the caller's `tools.allow` entry. A target
1341
1355
  with no `manual` entry has no state to start in and fails closed. `session:` and
1342
1356
  `message:` on that trigger are host-facing keys a delegation ignores: a sub-run
1343
- shares its parent's session, and carries no message. `sub-workflow` is no longer
1357
+ is its own session, derived from its caller's, and carries no message. `sub-workflow` is no longer
1344
1358
  a trigger id — load and `validate` report it with the rename.
1345
1359
  - **Declare the child's signature** on that trigger — the contract, enforced both
1346
1360
  ways and at both ingresses:
@@ -1400,14 +1414,17 @@ enrich:
1400
1414
  state's work. A workspace overriding the platform prompt
1401
1415
  (`.platform/system/GRAPH_STATE.md`) keeps that by wrapping what children skip
1402
1416
  in `<!-- top-level-only -->` … `<!-- /top-level-only -->` lines.
1403
- - **Same agent, isolated context, shared session.** Same model, backend, host
1417
+ - **Same agent, isolated context, own session.** Same model, backend, host
1404
1418
  tools; its **own** grading rubrics, from its own spec; a fresh transcript; the child's *own* per-state
1405
- `tools.allow`. It shares the run's session, so it writes `scratchpad/…` and
1406
- `scratchpad/…` exactly as the parent does and the parent reads them afterwards.
1419
+ `tools.allow`. It is a separate session (`<parent>~<state>:<workflow>:<n>`)
1420
+ with its own checkpoints and its own `scratchpad/`: a path it reads or writes
1421
+ resolves inside its own session, so it can neither see nor overwrite a file of
1422
+ its caller's, and concurrent sub-runs cannot collide on a path.
1407
1423
  - **Nothing crosses implicitly.** Down: only the arguments the call passed —
1408
1424
  the calling run's own variables are not copied. Up: only the result message
1409
- and the files. Everything the child sets is discarded when it finishes.
1410
- - **Give each concurrent sub-run its own output path** — they share one run zone.
1425
+ and the declared returns. Everything else the child sets or writes stays in its
1426
+ session. The only files that cross are runtime-made copies of `file` arguments
1427
+ and `file` returns (see "Passing files" below).
1411
1428
  - **Bounds** — the dispatcher's `bounds: { maxDepth: 3, maxConcurrent: 4 }`. No longer a spec key: the strict schema rejects `settings.sub_workflows` by name.
1412
1429
  Excess concurrency queues; depth and cycles are refused.
1413
1430
  - **Params are the sub-run's initial variables** — same construction, same name
@@ -1435,6 +1452,46 @@ parent reading a field the child does not return is an **error**; a state whose
1435
1452
  still carry it), and a fan-out is exempt from that warning because its
1436
1453
  entries' keys are not knowable statically.
1437
1454
 
1455
+ ### Passing files
1456
+
1457
+ A sub-run's `scratchpad/` is not its caller's, so a bare path string returned by a
1458
+ child (`returns: [result_file]`, untyped) names a file the caller **cannot
1459
+ read**. Type the entry `file` instead, and the runtime copies the file across:
1460
+
1461
+ ```yaml
1462
+ # the child
1463
+ triggers:
1464
+ manual:
1465
+ requires: [{ name: invoice, type: file }]
1466
+ returns: [{ name: report, type: file }]
1467
+ ```
1468
+
1469
+ - **Down.** The caller passes any path in its workspace (`scratchpad/inbox/a.pdf`,
1470
+ `skills/billing/assets/template.pdf`). Before the child starts, the runtime
1471
+ copies the exact bytes into the **child's** `scratchpad/attachments/` (same name;
1472
+ two arguments with one name take `-1`, `-2`) and seeds the child with that path,
1473
+ so its opening message shows it. The child edits its own copy and never the
1474
+ caller's file. The argument is a `read` path argument of the delegation tool, so
1475
+ a `paths:` guard on the allow entry and the zone and mount rules bind it. An
1476
+ argument naming nothing is refused `invalid-param` before the child runs. A
1477
+ failed call's record names the caller's path.
1478
+ - **Up.** On completion, each `file` return the child set is copied into the
1479
+ **caller's** `scratchpad/attachments/` and the result names that path. A taken
1480
+ name gets the lowest free `-1`, `-2`, … before the extension (`report-1.pdf`), so
1481
+ repeated or parallel calls never overwrite each other or the caller's files. A
1482
+ return whose file is gone at completion fails the call `invalid-return`.
1483
+ - **No laundering.** A `file` value must name a file the session may read on
1484
+ runtime authority, and a child inherits every ancestor's `forbid_always`. So a
1485
+ child cannot hand back a file its caller's workflow denies: its agent's write
1486
+ is refused, and a script's write is rejected at completion.
1487
+ - **Instructions to write.** Tell the child to write the file *first* and then set
1488
+ the return to its path. Tell the caller the returned path is under
1489
+ `scratchpad/attachments/`. Name files for what they hold (`<order_id>.json`):
1490
+ the name survives the copy.
1491
+ - **Mocks and cases.** A mocked `file` return names a file in the case's own
1492
+ session (seed it with `workspace:`), and it arrives copied into
1493
+ `scratchpad/attachments/` like a real one. Assert the copy's path.
1494
+
1438
1495
  ### A parked run may speak, never act
1439
1496
 
1440
1497
  A park does not end the conversation. Two moments get a **reply-only turn** — one
@@ -50,7 +50,7 @@ states:
50
50
  - { name: due, type: date, description: The day it is due. } # typed: held at the boundary
51
51
  returns: [result_file] # variables the run guarantees on completion (a caller's result);
52
52
  # short of them: a child returns what it set + a `note`; a top-level run is rejected
53
- # entry types: string integer number boolean date date-time object array
53
+ # entry types: string integer number boolean date date-time object array file
54
54
  instructions: >-
55
55
  Record the decision in scratchpad/refund.json, then archmax_advance to
56
56
  review; never close the case yourself.