@tangle-network/agent-runtime 0.194.0 → 0.195.1

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 (93) hide show
  1. package/dist/{activation-BQFIiyUG.js → activation-B4adh0sA.js} +3 -3
  2. package/dist/{activation-BQFIiyUG.js.map → activation-B4adh0sA.js.map} +1 -1
  3. package/dist/agent.d.ts +1 -1
  4. package/dist/agent.js +2 -2
  5. package/dist/candidate-execution/index.js +4 -4
  6. package/dist/{candidate-execution-B6CDW-fp.js → candidate-execution-nvqVIMyS.js} +5 -4
  7. package/dist/{candidate-execution-B6CDW-fp.js.map → candidate-execution-nvqVIMyS.js.map} +1 -1
  8. package/dist/{coordination-driver-iSN-m3VX.js → coordination-driver-CuShDjRV.js} +3 -3
  9. package/dist/{coordination-driver-iSN-m3VX.js.map → coordination-driver-CuShDjRV.js.map} +1 -1
  10. package/dist/{delegate-DCC2muUd.js → delegate-CSFC-Kh3.js} +2 -2
  11. package/dist/{delegate-DCC2muUd.js.map → delegate-CSFC-Kh3.js.map} +1 -1
  12. package/dist/durable.d.ts +1 -1
  13. package/dist/durable.js +2 -2
  14. package/dist/{environment-provider-Dr-wfnHg.js → environment-provider-Z1JazbJ1.js} +108 -10
  15. package/dist/environment-provider-Z1JazbJ1.js.map +1 -0
  16. package/dist/environment-provider.js +1 -1
  17. package/dist/{graph-DghidDx5.js → graph-DqPUeri6.js} +3 -3
  18. package/dist/{graph-DghidDx5.js.map → graph-DqPUeri6.js.map} +1 -1
  19. package/dist/graph.d.ts +1 -1
  20. package/dist/graph.js +4 -4
  21. package/dist/{improve-COGzLCiY.d.ts → improve-7VTwse1c.d.ts} +4 -4
  22. package/dist/{improvement-cycle-DeS1ZC5B.js → improvement-cycle-DEbciBTL.js} +20 -6
  23. package/dist/{improvement-cycle-DeS1ZC5B.js.map → improvement-cycle-DEbciBTL.js.map} +1 -1
  24. package/dist/{index-CrBgLCIf.d.ts → index-CVD30soi.d.ts} +2 -2
  25. package/dist/{index-BEPjOPwH.d.ts → index-DNx0nWZH.d.ts} +9 -2
  26. package/dist/index.d.ts +6 -5
  27. package/dist/index.js +72 -26
  28. package/dist/index.js.map +1 -1
  29. package/dist/intelligence.d.ts +1 -1
  30. package/dist/intelligence.js +7 -6
  31. package/dist/intelligence.js.map +1 -1
  32. package/dist/kernel.d.ts +1 -1
  33. package/dist/kernel.js +9 -9
  34. package/dist/{knowledge-B5okOzBQ.js → knowledge-B0Mrp-XB.js} +7 -17
  35. package/dist/knowledge-B0Mrp-XB.js.map +1 -0
  36. package/dist/knowledge.d.ts +1 -1
  37. package/dist/knowledge.js +1 -1
  38. package/dist/{loop-runner-bin-U1J6x_UF.js → loop-runner-bin-C5K46H0Q.js} +3 -3
  39. package/dist/{loop-runner-bin-U1J6x_UF.js.map → loop-runner-bin-C5K46H0Q.js.map} +1 -1
  40. package/dist/{loop-runner-bin-Clc5IAwu.d.ts → loop-runner-bin-b4585v9Z.d.ts} +2 -2
  41. package/dist/loop-runner-bin.d.ts +1 -1
  42. package/dist/loop-runner-bin.js +1 -1
  43. package/dist/mcp/bin.js +3 -3
  44. package/dist/mcp/index.d.ts +1 -1
  45. package/dist/mcp/index.js +5 -5
  46. package/dist/{prepare-C29kNAon.js → prepare-DDGp0-rW.js} +4 -54
  47. package/dist/prepare-DDGp0-rW.js.map +1 -0
  48. package/dist/profiles.js +454 -1
  49. package/dist/profiles.js.map +1 -1
  50. package/dist/{protected-model-port-CKYND416.js → protected-model-port-DxFN8DLS.js} +3 -2
  51. package/dist/{protected-model-port-CKYND416.js.map → protected-model-port-DxFN8DLS.js.map} +1 -1
  52. package/dist/{protected-redaction--F3v1oo8.js → protected-redaction-wGo44k2K.js} +54 -3
  53. package/dist/protected-redaction-wGo44k2K.js.map +1 -0
  54. package/dist/{provision-supervisor-CRPbnJiB.js → provision-supervisor-chyz0_Aj.js} +4 -4
  55. package/dist/{provision-supervisor-CRPbnJiB.js.map → provision-supervisor-chyz0_Aj.js.map} +1 -1
  56. package/dist/{redact-BOU77QfQ.js → redact-Dv6PeuQz.js} +2 -2
  57. package/dist/{redact-BOU77QfQ.js.map → redact-Dv6PeuQz.js.map} +1 -1
  58. package/dist/{runtime-BVrqSu0-.js → runtime-BZryF6gD.js} +140 -65
  59. package/dist/runtime-BZryF6gD.js.map +1 -0
  60. package/dist/{server-D6XmE1Du.js → server-BorSFmn8.js} +3 -3
  61. package/dist/{server-D6XmE1Du.js.map → server-BorSFmn8.js.map} +1 -1
  62. package/dist/{structural-rollout-BcPXFzVb.js → structural-rollout-pOqANr8Y.js} +23 -10
  63. package/dist/structural-rollout-pOqANr8Y.js.map +1 -0
  64. package/dist/{supervise-C0V3pZXK.js → supervise-BReI5ATC.js} +4 -4
  65. package/dist/{supervise-C0V3pZXK.js.map → supervise-BReI5ATC.js.map} +1 -1
  66. package/dist/testing.d.ts +1 -1
  67. package/dist/testing.js +14 -13
  68. package/dist/testing.js.map +1 -1
  69. package/dist/tui/index.d.ts +1 -1
  70. package/dist/tui/index.js +1 -1
  71. package/dist/{workspace-archive-BCezkeIk.js → workspace-archive-Ybomp7AN.js} +3 -2
  72. package/dist/{workspace-archive-BCezkeIk.js.map → workspace-archive-Ybomp7AN.js.map} +1 -1
  73. package/package.json +4 -4
  74. package/skills/agent-graphs/SKILL.md +28 -123
  75. package/skills/agent-graphs/references/authoring.md +34 -0
  76. package/skills/agent-graphs/references/measurement.md +18 -0
  77. package/skills/build-with-agent-runtime/SKILL.md +31 -117
  78. package/skills/build-with-agent-runtime/references/improvement.md +32 -0
  79. package/skills/codemode/SKILL.md +22 -34
  80. package/skills/codemode/references/runtime-execution.md +14 -0
  81. package/skills/generate-eval/SKILL.md +2 -1
  82. package/skills/loop-writer/SKILL.md +30 -84
  83. package/skills/supervise/SKILL.md +43 -95
  84. package/skills/supervise/references/profile-authoring.md +19 -0
  85. package/dist/environment-provider-Dr-wfnHg.js.map +0 -1
  86. package/dist/knowledge-B5okOzBQ.js.map +0 -1
  87. package/dist/prepare-C29kNAon.js.map +0 -1
  88. package/dist/protected-redaction--F3v1oo8.js.map +0 -1
  89. package/dist/researcher-Cp4JRbFp.js +0 -457
  90. package/dist/researcher-Cp4JRbFp.js.map +0 -1
  91. package/dist/runtime-BVrqSu0-.js.map +0 -1
  92. package/dist/structural-rollout-BcPXFzVb.js.map +0 -1
  93. package/skills/agent-graphs/IMPROVE.md +0 -58
@@ -1,103 +1,49 @@
1
1
  ---
2
2
  name: loop-writer
3
- description: Write a custom control policy only when current runtime composition APIs cannot express it.
3
+ description: Build a custom execution policy only when maintained Runtime composition cannot express it.
4
4
  ---
5
5
 
6
6
  # Loop Writer
7
7
 
8
- Use this only for a control policy that the shipped high-level APIs cannot express.
9
- Read `docs/canonical-api.md`, current exports, the implementation, and the nearest test before writing code.
10
- Do not copy signatures from this skill.
8
+ Use this for a required execution policy that maintained Runtime APIs cannot express.
9
+ Read the [current decision table](https://github.com/tangle-network/agent-runtime/blob/main/docs/canonical-api.md), [exports](https://github.com/tangle-network/agent-runtime/blob/main/package.json), selected implementation, and nearest test.
10
+ If an existing entrypoint fits, use it and stop.
11
+ A wrapper that only renames inputs or outputs does not justify a custom loop.
11
12
 
12
- ## Choose The Existing Path First
13
+ ## Define the missing behavior
13
14
 
14
- | Need | Existing path |
15
- |---|---|
16
- | One product chat turn | `handleChatTurn(...)` |
17
- | One task or bounded multi-turn task | `runAgentTask(...)` or `runAgentTaskStream(...)` |
18
- | Two or more actors taking turns | `defineConversation(...)` and `runConversation(...)` |
19
- | A driver coordinating workers | `supervise(...)` or `superviseSurface(...)` |
20
- | Parallel or fixed composition | `fanout(...)`, `pipeline(...)`, `panel(...)`, `verify(...)`, or `loopUntil(...)` |
21
- | Parallel repository workers with isolated branches | `worktreeFanout(...)` |
22
- | Repeated work in a graded tool environment | `runAgentic(...)` |
23
- | Equal-budget comparison over that environment | `runBenchmark(...)` |
24
- | Low-level round policy with custom planning and stopping | `runAgentRounds(...)` |
15
+ Name the consumer, required decision, and why existing composition cannot express it.
16
+ Reuse Runtime's execution, accounting, cancellation, questions, and recovery contracts.
17
+ The custom policy chooses work and continuation from the task and checked prior outcomes.
18
+ It must not introduce another scheduler or measurement system.
25
19
 
26
- If an existing row fits, use it and stop.
27
- Do not create another wrapper solely to rename inputs or results.
20
+ Keep planning separate from consequential writes.
21
+ The caller owns credentials, persistence, and authority; executors return observed artifacts; independent checks decide whether those artifacts satisfy the task.
22
+ A model score cannot override failed objective checks, denied actions, or service failures.
28
23
 
29
- ## Custom Loop Contract
24
+ ## Preserve observable state
30
25
 
31
- A custom loop has five explicit parts:
26
+ Represent successful delivery, exhausted resources, cancellation, unresolved questions, execution failure, and interrupted recovery where they apply.
27
+ Keep measurement and service errors distinct from agent failure.
28
+ Retain task and attempt identities, artifacts, spend, and the reason for continuing or stopping.
29
+ Resume from durable facts and reconcile uncertain writes before retrying.
32
30
 
33
- ```text
34
- task -> plan work -> execute attempts -> check outcomes -> continue or stop
35
- ```
31
+ Steering and questions use the existing typed events and delivery records.
32
+ Keep unanswered required questions visible.
33
+ Parallel workers receive isolated state or an explicit shared-mutation contract.
34
+ Children remain within parent authority and the same accounting and cancellation rules.
36
35
 
37
- Keep ownership separate:
36
+ ## Prove the policy
38
37
 
39
- - The driver chooses work and termination from task plus prior outcomes.
40
- - Executors run attempts and return observed artifacts.
41
- - Objective checks determine whether an artifact is usable.
42
- - Trace emission records plans, attempts, tool effects, checks, spend, and decisions.
43
- - The caller owns policy, budgets, credentials, persistence, and side-effect authority.
38
+ Test the custom decision on a representative real task.
39
+ Exercise its relevant failure and recovery paths, including rejected output followed by correction, resource exhaustion, cancellation, and duplicate-side-effect prevention.
40
+ Use existing contract tests for unchanged Runtime behavior; add checks that distinguish the new policy.
44
41
 
45
- The driver must not mutate product state while planning.
46
- An LLM score must not override failed builds, tests, missing evidence, denied permissions, or service errors.
47
-
48
- ## Required States
49
-
50
- Model every terminal and resumable state explicitly:
51
-
52
- - succeeded with the accepted artifact;
53
- - exhausted by rounds, tokens, money, time, or concurrency;
54
- - cancelled by the caller;
55
- - blocked on a question or permission;
56
- - failed before an attempt;
57
- - failed during execution or checking;
58
- - interrupted with enough durable state to resume safely.
59
-
60
- Use stable run, attempt, task, and parent IDs.
61
- Persist the accepted artifact, every attempted artifact identity, spend, and final reason.
62
- Resume from durable facts, not an in-memory counter or summary alone.
63
-
64
- ## Steering And Questions
65
-
66
- Steering is a typed input to a running or replacement attempt.
67
- Record who sent it, why, which evidence motivated it, whether delivery succeeded, and which attempt consumed it.
68
-
69
- Questions are explicit events.
70
- Route them to the responsible parent or user, preserve unanswered blockers, and fail closed when a required answer is unavailable.
71
- Do not bury a permission request in free-form worker output.
72
-
73
- ## Parallel And Recursive Work
74
-
75
- Give parallel workers isolated state unless shared mutation is the point of the task.
76
- For repository changes, use one worktree per worker and explicit merge outcomes.
77
- For external writes, use idempotency keys and product-owned transactions.
78
-
79
- Recursive supervisors use the same budget, cancellation, trace, question, and completion contracts at every depth.
80
- Do not grant a child more authority than its parent.
81
-
82
- ## Tests
83
-
84
- Cover:
85
-
86
- - success on the first and later rounds;
87
- - invalid output followed by a corrected attempt;
88
- - every budget limit;
89
- - abort propagation to in-flight work;
90
- - service and check failures remaining distinct from agent failure;
91
- - unresolved blocking questions;
92
- - interrupted run recovery without duplicate side effects;
93
- - deterministic replay of decisions from saved outcomes where supported.
94
-
95
- ## Completion
96
-
97
- The change is complete when the public entrypoint is smaller than the policy it replaces, all states above are observable, a real task exercises the custom behavior, and package typecheck, tests, build, docs, and package verification pass.
42
+ Complete when the required behavior works through its public entrypoint, final and resumable states remain observable, and the relevant package and consumer checks pass.
43
+ Report the exact missing capability supplied, retained Runtime contracts, real result, and limits.
98
44
 
99
45
  ## Then consider
100
46
 
101
47
  - `critical-audit` when the loop changes a public contract or authority boundary.
102
- - `eval-engineering` when the loop's stopping condition needs a new evaluation case.
103
- - `verify` before publishing the package.
48
+ - `eval-engineering` when the stopping condition lacks an adequate evaluation case.
49
+ - `verify` when implementation is complete and release checks remain.
@@ -1,110 +1,58 @@
1
1
  ---
2
2
  name: supervise
3
- description: Author and drive recursive AgentProfiles with durable assignments, evidence, and recovery.
3
+ description: Author and drive recursive AgentProfiles with explicit capabilities, evidence, and recovery.
4
4
  ---
5
5
 
6
6
  # Supervise
7
7
 
8
8
  Use this when Runtime coordination tools are attached.
9
- Author agents that can perform the work, then drive them from checked evidence.
10
-
11
- ## Keep policy in its owner
12
-
13
- Put research choices, methods, revision rules, and scientific stopping conditions in each profile's prompt.
14
- Runtime owns recursion depth, the shared budget, cancellation, concurrency, journals, retries, and recovery.
15
-
16
- `AgentProfile` has no `policy`, `budget`, `continuity`, `key`, or `deliverable` field.
17
- Pass budget, continuity, and assignment keys to `spawn_worker`.
18
- The caller configures the root budget and completion check in `SuperviseOptions`.
19
- Do not claim a limit is enforced because it appears in prompt text or metadata.
20
-
21
- ## Author a descendant
22
-
23
- Write a valid `AgentProfile`, not a prose description of one.
24
- Use only fields the selected backend can materialize.
25
-
26
- ```json
27
- {
28
- "name": "source-skeptic-v1",
29
- "description": "Challenge one candidate claim against primary evidence.",
30
- "prompt": {
31
- "systemPrompt": "Return a claim table with source locations, contradictions, unknowns, and a reproducible rejection check."
32
- },
33
- "model": {
34
- "default": "<allowed-model-id>",
35
- "reasoningEffort": "xhigh"
36
- },
37
- "tools": {
38
- "agent_runtime_coordination_spawn_worker": true,
39
- "agent_runtime_coordination_await_event": true
40
- },
41
- "resources": {
42
- "failOnError": true,
43
- "skills": [
44
- {
45
- "kind": "inline",
46
- "name": "profile-authoring/SKILL.md",
47
- "content": "<the complete profile-authoring skill text>"
48
- }
49
- ]
50
- }
51
- }
52
- ```
53
-
54
- The example shows placement, not required values.
55
- Every agent is the same `AgentProfile` shape.
56
- An agent becomes a recursive lead only by declaring `agent_runtime_coordination_spawn_worker: true`.
57
- Declare each other Runtime verb it will use, such as `await_event`, `steer_agent`, or `read_journal`.
58
- Runtime mounts only the declared bare verbs through its coordination surface; the provider receives a profile projection without Runtime-owned declarations.
59
- Metadata can describe the work, but it never grants execution authority.
60
- Every profile that can spawn workers carries the complete profile-authoring skill in `resources.skills`.
61
- Make that resource an immutable inline snapshot or a pinned reference, and set `resources.failOnError: true`.
62
- This is taught through the profile, not injected or enforced by Runtime: the authored profile remains the complete record of why it can delegate.
63
- Omit Runtime coordination tools for a leaf.
64
-
65
- The task argument names the concrete artifact and a check that can fail.
66
- The profile names how the agent works and which capabilities it receives.
67
- Together they must leave no acceptance criterion for the worker to invent.
68
-
69
- ## Drive the tree
70
-
71
- 1. Split the objective into independent checked artifacts.
72
- 2. Start each new assignment with a stable semantic `key` and a deliberate per-spawn `budget`.
73
- 3. Fill available parallel capacity while `freeSlots > 0` and distinct useful assignments remain.
74
- 4. Pull settlements and findings with `await_event`.
75
- A bounded wait returns control; it does not prove failure.
76
- 5. Inspect a quiet or `stalled` worker with `observe_agent`.
77
- Steer only when its recorded work shows a wrong path, missing requirement, or useful new evidence.
78
- 6. Check every settled artifact before using it.
79
- Feed accepted results, contradictions, and negative results into the next profile or task revision.
80
- 7. After a refusal or failed check, preserve the attempt and author a materially changed profile or assignment.
81
- 8. Use `continuity: 'resume'` only to continue the most recent settled worker with the same profile name.
82
- A resume is a new execution and cannot carry a run-once `key`.
83
- 9. After recovery, call `read_journal` and reconcile Runtime's restored roster, settlements, questions, findings, and spend before spawning.
84
- Completed keys resolve to their committed results; do not replace them.
85
-
86
- Do not add a deadline because a worker is quiet.
87
- Stop research only at checked success, a declared resource limit, cancellation, or a demonstrated dead end.
9
+ Author agents that can perform the required work, then direct them from checked evidence.
10
+
11
+ ## Author complete agents
12
+
13
+ Put research choices, methods, revision rules, and stopping criteria in each profile's prompt.
14
+ Runtime owns shared budgets, recursion limits, concurrency, cancellation, journals, and recovery.
15
+ The caller configures root execution through [SuperviseOptions](https://github.com/tangle-network/agent-runtime/blob/main/src/runtime/supervise/supervise.ts).
16
+ Per-assignment budgets, continuity, and keys belong to the [coordination tools](https://github.com/tangle-network/agent-runtime/blob/main/src/mcp/tools/coordination.ts), not invented profile fields.
17
+
18
+ An agent receives recursive authority by declaring `agent_runtime_coordination_spawn_worker: true` in its tools.
19
+ Declare each other Runtime tool it needs explicitly.
20
+ Metadata describes work; it does not grant authority.
21
+ Every profile that can spawn workers carries the complete `profile-authoring/SKILL.md` resource, using an immutable snapshot and `resources.failOnError: true`.
22
+ The authored profile must explain its own ability to delegate; Runtime does not invent that policy.
23
+
24
+ When creating or changing a descendant profile, read [profile authoring](references/profile-authoring.md) for the exact contract and resource placement.
25
+ The task names the concrete artifact and completion check; the profile names the method and granted capabilities.
26
+
27
+ ## Direct the work
28
+
29
+ 1. Split the objective into independent artifacts with checkable outcomes.
30
+ 2. Start each assignment with a stable semantic key and a deliberate budget.
31
+ Fill available capacity while distinct useful assignments remain.
32
+ 3. Pull settlements, findings, and questions with `await_event`.
33
+ A bounded wait returning does not establish failure.
34
+ 4. Inspect quiet or stalled workers with `observe_agent` before steering them.
35
+ Correct an observed wrong path, missing requirement, or new evidence.
36
+ 5. Check each returned artifact before using it.
37
+ Preserve failed attempts and change the profile or assignment when evidence supports another attempt.
38
+ 6. After recovery, reconcile the journal, roster, settlements, questions, findings, and spend before creating replacements.
39
+
40
+ Use `continuity: 'resume'` to continue the most recent settled worker with that profile name.
41
+ A resumed assignment is a new execution and cannot carry a run-once key.
42
+ Completed keys resolve to committed results; an uncertain prior dispatch must be reconciled before replacement.
43
+ Stop at checked success, an authorized resource limit, cancellation, or a demonstrated dead end.
44
+ A quiet worker alone is not a reason to invent a deadline.
88
45
 
89
46
  ## Accept delivery
90
47
 
91
48
  Inspect the artifact and its independent completion result.
92
- Preserve exact profile identities, assignment keys, parent-child links, continuations, costs, failures, and unknown accounting.
93
- Worker prose cannot promote its own result.
94
-
95
- Use `submit_result` only when the attached completion check can validate this agent's own artifact.
96
- Calling `stop` ends coordination; it does not turn missing evidence into success.
97
-
98
- ## Exact contracts
99
-
100
- When a field is unclear, read the owner instead of inventing it:
101
-
102
- - [`AgentProfile`](https://github.com/tangle-network/agent-sdk/blob/main/packages/agent-interface/src/agent-profile.ts) and its [exact schema](https://github.com/tangle-network/agent-sdk/blob/main/packages/agent-interface/src/profile-schema.ts) own authored fields.
103
- - [`spawn_worker` tool schema](https://github.com/tangle-network/agent-runtime/blob/main/src/mcp/tools/coordination.ts) owns per-assignment arguments.
104
- - [`SuperviseOptions`](https://github.com/tangle-network/agent-runtime/blob/main/src/runtime/supervise/supervise.ts) owns root execution policy.
49
+ Preserve profile identities, assignment keys, parent-child links, continuations, costs, failures, and missing accounting.
50
+ Worker prose cannot approve its own result.
51
+ Use `submit_result` only when the attached check can validate this agent's artifact.
52
+ Calling `stop` ends coordination; it does not establish completion.
105
53
 
106
54
  ## Then consider
107
55
 
108
- - `build-with-agent-runtime` when a product must configure the Runtime-owned limits and adapters.
56
+ - `build-with-agent-runtime` when the product must change Runtime limits or adapters.
109
57
  - `eval-engineering` when no existing check can separate success from failure.
110
- - `verify` after every required artifact passes its independent check.
58
+ - `verify` when required artifacts pass and delivery checks remain.
@@ -0,0 +1,19 @@
1
+ # Author a descendant profile
2
+
3
+ Read the current [AgentProfile contract](https://github.com/tangle-network/agent-sdk/blob/main/packages/agent-interface/src/agent-profile.ts) and [profile schema](https://github.com/tangle-network/agent-sdk/blob/main/packages/agent-interface/src/profile-schema.ts).
4
+ For Runtime arguments and accepted tool names, inspect the [coordination schema](https://github.com/tangle-network/agent-runtime/blob/main/src/mcp/tools/coordination.ts).
5
+ Use only fields that the selected backend can materialize.
6
+
7
+ Give the profile a distinct name, a standing prompt, and the capabilities its assignment requires.
8
+ Use model hints supported by the actual backend and the task's authorized execution configuration.
9
+ A leaf needs no coordination grants.
10
+ An agent that delegates declares the relevant Runtime coordination tools and receives the complete profile-authoring instructions as a skill resource.
11
+ Use an immutable inline resource or a resolvable immutable reference with resource errors set to fail closed.
12
+ A missing authoring resource must not silently produce a less capable worker.
13
+
14
+ The profile describes how the agent works; the assignment describes the current artifact and acceptance check.
15
+ Keep budgets, continuity mode, assignment keys, and root completion configuration in their Runtime-owned arguments.
16
+ Do not claim a limit is enforced because prompt text asks for it.
17
+
18
+ Confirm the materialized profile retains its instructions, resource bytes, and permitted tools before a large recursive run.
19
+ Check that a child cannot gain authority beyond its parent's grant.