@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.
- package/dist/{activation-BQFIiyUG.js → activation-B4adh0sA.js} +3 -3
- package/dist/{activation-BQFIiyUG.js.map → activation-B4adh0sA.js.map} +1 -1
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +2 -2
- package/dist/candidate-execution/index.js +4 -4
- package/dist/{candidate-execution-B6CDW-fp.js → candidate-execution-nvqVIMyS.js} +5 -4
- package/dist/{candidate-execution-B6CDW-fp.js.map → candidate-execution-nvqVIMyS.js.map} +1 -1
- package/dist/{coordination-driver-iSN-m3VX.js → coordination-driver-CuShDjRV.js} +3 -3
- package/dist/{coordination-driver-iSN-m3VX.js.map → coordination-driver-CuShDjRV.js.map} +1 -1
- package/dist/{delegate-DCC2muUd.js → delegate-CSFC-Kh3.js} +2 -2
- package/dist/{delegate-DCC2muUd.js.map → delegate-CSFC-Kh3.js.map} +1 -1
- package/dist/durable.d.ts +1 -1
- package/dist/durable.js +2 -2
- package/dist/{environment-provider-Dr-wfnHg.js → environment-provider-Z1JazbJ1.js} +108 -10
- package/dist/environment-provider-Z1JazbJ1.js.map +1 -0
- package/dist/environment-provider.js +1 -1
- package/dist/{graph-DghidDx5.js → graph-DqPUeri6.js} +3 -3
- package/dist/{graph-DghidDx5.js.map → graph-DqPUeri6.js.map} +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/graph.js +4 -4
- package/dist/{improve-COGzLCiY.d.ts → improve-7VTwse1c.d.ts} +4 -4
- package/dist/{improvement-cycle-DeS1ZC5B.js → improvement-cycle-DEbciBTL.js} +20 -6
- package/dist/{improvement-cycle-DeS1ZC5B.js.map → improvement-cycle-DEbciBTL.js.map} +1 -1
- package/dist/{index-CrBgLCIf.d.ts → index-CVD30soi.d.ts} +2 -2
- package/dist/{index-BEPjOPwH.d.ts → index-DNx0nWZH.d.ts} +9 -2
- package/dist/index.d.ts +6 -5
- package/dist/index.js +72 -26
- package/dist/index.js.map +1 -1
- package/dist/intelligence.d.ts +1 -1
- package/dist/intelligence.js +7 -6
- package/dist/intelligence.js.map +1 -1
- package/dist/kernel.d.ts +1 -1
- package/dist/kernel.js +9 -9
- package/dist/{knowledge-B5okOzBQ.js → knowledge-B0Mrp-XB.js} +7 -17
- package/dist/knowledge-B0Mrp-XB.js.map +1 -0
- package/dist/knowledge.d.ts +1 -1
- package/dist/knowledge.js +1 -1
- package/dist/{loop-runner-bin-U1J6x_UF.js → loop-runner-bin-C5K46H0Q.js} +3 -3
- package/dist/{loop-runner-bin-U1J6x_UF.js.map → loop-runner-bin-C5K46H0Q.js.map} +1 -1
- package/dist/{loop-runner-bin-Clc5IAwu.d.ts → loop-runner-bin-b4585v9Z.d.ts} +2 -2
- package/dist/loop-runner-bin.d.ts +1 -1
- package/dist/loop-runner-bin.js +1 -1
- package/dist/mcp/bin.js +3 -3
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +5 -5
- package/dist/{prepare-C29kNAon.js → prepare-DDGp0-rW.js} +4 -54
- package/dist/prepare-DDGp0-rW.js.map +1 -0
- package/dist/profiles.js +454 -1
- package/dist/profiles.js.map +1 -1
- package/dist/{protected-model-port-CKYND416.js → protected-model-port-DxFN8DLS.js} +3 -2
- package/dist/{protected-model-port-CKYND416.js.map → protected-model-port-DxFN8DLS.js.map} +1 -1
- package/dist/{protected-redaction--F3v1oo8.js → protected-redaction-wGo44k2K.js} +54 -3
- package/dist/protected-redaction-wGo44k2K.js.map +1 -0
- package/dist/{provision-supervisor-CRPbnJiB.js → provision-supervisor-chyz0_Aj.js} +4 -4
- package/dist/{provision-supervisor-CRPbnJiB.js.map → provision-supervisor-chyz0_Aj.js.map} +1 -1
- package/dist/{redact-BOU77QfQ.js → redact-Dv6PeuQz.js} +2 -2
- package/dist/{redact-BOU77QfQ.js.map → redact-Dv6PeuQz.js.map} +1 -1
- package/dist/{runtime-BVrqSu0-.js → runtime-BZryF6gD.js} +140 -65
- package/dist/runtime-BZryF6gD.js.map +1 -0
- package/dist/{server-D6XmE1Du.js → server-BorSFmn8.js} +3 -3
- package/dist/{server-D6XmE1Du.js.map → server-BorSFmn8.js.map} +1 -1
- package/dist/{structural-rollout-BcPXFzVb.js → structural-rollout-pOqANr8Y.js} +23 -10
- package/dist/structural-rollout-pOqANr8Y.js.map +1 -0
- package/dist/{supervise-C0V3pZXK.js → supervise-BReI5ATC.js} +4 -4
- package/dist/{supervise-C0V3pZXK.js.map → supervise-BReI5ATC.js.map} +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +14 -13
- package/dist/testing.js.map +1 -1
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +1 -1
- package/dist/{workspace-archive-BCezkeIk.js → workspace-archive-Ybomp7AN.js} +3 -2
- package/dist/{workspace-archive-BCezkeIk.js.map → workspace-archive-Ybomp7AN.js.map} +1 -1
- package/package.json +4 -4
- package/skills/agent-graphs/SKILL.md +28 -123
- package/skills/agent-graphs/references/authoring.md +34 -0
- package/skills/agent-graphs/references/measurement.md +18 -0
- package/skills/build-with-agent-runtime/SKILL.md +31 -117
- package/skills/build-with-agent-runtime/references/improvement.md +32 -0
- package/skills/codemode/SKILL.md +22 -34
- package/skills/codemode/references/runtime-execution.md +14 -0
- package/skills/generate-eval/SKILL.md +2 -1
- package/skills/loop-writer/SKILL.md +30 -84
- package/skills/supervise/SKILL.md +43 -95
- package/skills/supervise/references/profile-authoring.md +19 -0
- package/dist/environment-provider-Dr-wfnHg.js.map +0 -1
- package/dist/knowledge-B5okOzBQ.js.map +0 -1
- package/dist/prepare-C29kNAon.js.map +0 -1
- package/dist/protected-redaction--F3v1oo8.js.map +0 -1
- package/dist/researcher-Cp4JRbFp.js +0 -457
- package/dist/researcher-Cp4JRbFp.js.map +0 -1
- package/dist/runtime-BVrqSu0-.js.map +0 -1
- package/dist/structural-rollout-BcPXFzVb.js.map +0 -1
- package/skills/agent-graphs/IMPROVE.md +0 -58
|
@@ -1,103 +1,49 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: loop-writer
|
|
3
|
-
description:
|
|
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
|
|
9
|
-
Read
|
|
10
|
-
|
|
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
|
-
##
|
|
13
|
+
## Define the missing behavior
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
27
|
-
|
|
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
|
-
##
|
|
24
|
+
## Preserve observable state
|
|
30
25
|
|
|
31
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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
|
-
|
|
36
|
+
## Prove the policy
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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
|
|
103
|
-
- `verify`
|
|
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
|
|
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
|
|
10
|
-
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
Put research choices, methods, revision rules, and
|
|
14
|
-
Runtime owns
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
|
93
|
-
Worker prose cannot
|
|
94
|
-
|
|
95
|
-
|
|
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
|
|
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`
|
|
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.
|