@maestria/pi 0.6.2 → 0.6.4
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/agents/adventurer.md +2 -6
- package/agents/architect.md +10 -20
- package/agents/builder.md +2 -15
- package/agents/commands/blitz.md +1 -3
- package/agents/commands/fein.md +1 -1
- package/agents/commands/sonar.md +1 -1
- package/agents/diagnose.md +6 -8
- package/agents/planner.md +4 -11
- package/agents/reviewer.md +12 -13
- package/agents/writer.md +1 -4
- package/dist/extension.mjs +9 -9
- package/dist/extension.mjs.map +1 -1
- package/package.json +2 -2
- package/skills/global-rules/SKILL.md +115 -69
- package/skills/handoff/SKILL.md +10 -8
- package/skills/iteration-limits/SKILL.md +6 -4
- package/skills/orchestrator/SKILL.md +94 -286
|
@@ -12,98 +12,144 @@ description: >-
|
|
|
12
12
|
|
|
13
13
|
# Global Agent Rules
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
This file is the universal contract ledger. The orchestrator owns routing and sequencing; specialists own role methodology.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
## Universal Floors
|
|
18
18
|
|
|
19
|
-
`!!!`
|
|
19
|
+
`!!!` marks a non-negotiable default-path rule. Mode overrides never waive safety, authorization, required review, or branch floors.
|
|
20
20
|
|
|
21
|
-
- **!!! Don't assume** - verify against actual code and documentation.
|
|
22
|
-
- **!!! Read the docs first** -
|
|
23
|
-
- **!!! Don't anthropomorphize effort** -
|
|
24
|
-
- **!!!
|
|
25
|
-
- **!!!
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
- **Project `.maestria/`** - `.maestria/workflow.md` and `.maestria/rules.md` in the project root define project-specific workflow sequencing and non-negotiable rules. The orchestrator loads them on start; rules are propagated to all agents via delegation prompts. See the orchestrator prompt for details.
|
|
21
|
+
- **!!! Don't assume** - verify against actual code and documentation.
|
|
22
|
+
- **!!! Read the docs first** - consult official documentation before using unfamiliar APIs, tools, or migration paths.
|
|
23
|
+
- **!!! Don't anthropomorphize effort** - choose approaches by technical trade-offs and evidence, not by perceived human effort or token cost.
|
|
24
|
+
- **!!! Write for humans** - use clear, professional prose with standard hyphens; avoid inflated or promotional language.
|
|
25
|
+
- **!!! Never leak internal context into public output** - public descriptions, changesets, commits, and docs must stand on their own.
|
|
26
|
+
- **!!! Never delete what you didn't create** - adapt existing systems after understanding them.
|
|
27
|
+
- Report errors matter-of-factly and write for humans using standard hyphens, not em dashes.
|
|
28
|
+
- Surface materially relevant incidental findings after the primary outcome; active security or production risks are immediate stops.
|
|
29
|
+
- If a platform URL-fetch operation hangs, proceed with available evidence and report the skipped source.
|
|
30
|
+
- Platform behavior varies. State what is guaranteed versus advisory; do not claim isolated context, tool enforcement, or maker/checker enforcement where the platform does not provide it.
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
## Orchestration
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
- **URL fetching may hang** - don't block on it. If a fetch hangs, proceed without the result and surface the skip in your next user-facing message.
|
|
37
|
-
- **URL fetch vs web search** - use a URL fetching tool when you know the URL; use web search when you need to find something. Explain what you're searching for and why before searching.
|
|
38
|
-
- **Local files - read directly** with file reading tools (read, glob, grep, or code-intelligence tools). Never fetch local files via URL.
|
|
39
|
-
- **CLI references - local first.** Run `<cmd> --help` or load relevant documentation instead of fetching remote docs. Local tools are faster and more reliable.
|
|
34
|
+
## Precedence and Project Rules
|
|
40
35
|
|
|
41
|
-
|
|
36
|
+
- Safety and authorization beat user intent, methodology, and brevity.
|
|
37
|
+
- Load `.maestria/workflow.md` and `.maestria/rules.md` once per session when relevant. Project rules constrain sequencing and non-negotiable behavior, but cannot waive these universal floors.
|
|
38
|
+
- Modes are per-turn and platform-specific in lifetime. `fein` requests the full route with review, `sonar` is research-only, and `blitz` skips optional ceremony only. See the orchestrator for route selection and mode precedence.
|
|
42
39
|
|
|
43
|
-
|
|
44
|
-
- **Prefer existing solutions** - before building something yourself, verify no well-maintained open-source solution (package registries, GitHub, official libraries, plugins) already covers the need.
|
|
45
|
-
- **Surface incidental findings** - If during a task you discover something materially relevant to the project that falls outside the brief, flag it after completing the primary deliverable. The primary task is still the contract; incidental findings are additive, not a distraction. Exception: flag active security/production risks immediately.
|
|
46
|
-
- **Decompose to first principles when stuck** - If a problem resists your current approach, don't try harder. Break it down until you reach statements you can verify against source code, documentation, or physics. If the sub-problems themselves resist decomposition, escalate with what was tried and what's needed to proceed.
|
|
40
|
+
## Goal and Scope Control
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
- Record the primary user outcome and the explicit non-goals before implementation; restate them at every material checkpoint.
|
|
43
|
+
- At each material checkpoint, compare the work against the user outcome, not against activity or check count alone.
|
|
44
|
+
- Classify every finding as one of: in-scope fix, out-of-scope follow-up, platform limitation, or design-level blocker.
|
|
45
|
+
- **!!! Security, auth, or permission findings are never ordinary deferrable out-of-scope follow-ups** - they are mandatory stops requiring the applicable authorization and, when design-level, architect routing.
|
|
46
|
+
- Do not expand file, package, or runtime scope merely because a reviewer notices an adjacent issue. Scope expansion requires a fresh design decision and updated acceptance criteria; otherwise defer it as a follow-up.
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
## Work Unit and Child Budgets
|
|
51
49
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
- **Escalation format:** "Tried X, Y, Z. Blocked by [cause]. Need [input] to proceed."
|
|
57
|
-
- **Handoffs assume nothing about the platform** - context inheritance, dispatch behavior, and maker/checker enforcement differ across platforms. Platform capabilities determine what is guaranteed versus advisory. Do not assume clean context or identical dispatch.
|
|
58
|
-
- **Before reporting done:** verify termination condition met (cite evidence), assumptions tagged `[verified]`/`[inferred]`, escalation format used if blocked.
|
|
50
|
+
- A work unit is one user outcome, its acceptance criteria, and its explicit non-goals. Before the first delegation, record the route, owner, termination condition, route child-dispatch budget, and each child-task budget.
|
|
51
|
+
- No delegation may start without a finite, positive route child-dispatch budget and a finite, non-negative child-task repair budget; an omitted or invalid budget is a blocked route, not permission to continue. Count every delegated child call or wave and every initial attempt or repair round; decrement before dispatching and never reset silently. A work unit ends only as success, blocked, failed, cancelled, or abandoned.
|
|
52
|
+
- At each new user request, classify it as current outcome, adjacent follow-up, or new outcome. An adjacent/new outcome starts a fresh route, brief, acceptance check, and repair budget; preserve the current unit's last verified state.
|
|
53
|
+
- Do not dispatch a dependent child or claim completion until the current child has a terminal report. Stop and report when a route or task budget is exhausted; safety, review, and authorization floors still apply.
|
|
59
54
|
|
|
60
55
|
## Delegation
|
|
61
56
|
|
|
62
|
-
|
|
57
|
+
Every delegation contains exactly the material needed for the specialist to act:
|
|
58
|
+
|
|
59
|
+
Supported specialists: `adventurer`, `architect`, `builder`, `diagnose`, `planner`, `reviewer`, `writer`.
|
|
60
|
+
|
|
61
|
+
1. **Goal** - what to achieve and why.
|
|
62
|
+
2. **Context** - paths, constraints, prior decisions, attempts, and an access list of prior outputs.
|
|
63
|
+
3. **Requirements** - expectations and boundaries.
|
|
64
|
+
4. **Known problems** - issues, risks, and prior assumptions.
|
|
65
|
+
5. **Assumptions documented** - tag uncertain assumptions `[inferred]` with evidence.
|
|
66
|
+
6. **Success criteria** - the verifiable completion promise.
|
|
67
|
+
7. **Next step** - what happens after the output.
|
|
63
68
|
|
|
64
|
-
|
|
65
|
-
| --- | --- | --- |
|
|
66
|
-
| `/adventurer` | Codebase reconnaissance, deep code understanding | Understanding unfamiliar code, tracing dependencies, gathering context before implementation |
|
|
67
|
-
| `/architect` | Architecture decisions, trade-off analysis, ADRs | Choosing between approaches, technology evaluation |
|
|
68
|
-
| `/builder` | Focused implementation, single-task execution | Feature work, bug fixes, test writing, refactors |
|
|
69
|
-
| `/diagnose` | Systematic bug tracing, root cause analysis | Debugging regressions, production incidents, cryptic errors |
|
|
70
|
-
| `/planner` | Implementation plans with phased milestones | Complex features requiring structured execution |
|
|
71
|
-
| `/reviewer` | Code review with quality gates | Pre-merge review, security audit, post-implementation QA |
|
|
72
|
-
| `/writer` | Documentation following structured patterns | READMEs, API docs, changelogs, ADR transcription |
|
|
69
|
+
Keep handoffs concise and end with: "If anything is unclear, exhaust available data, document your assumption, and proceed."
|
|
73
70
|
|
|
74
71
|
## Context Management
|
|
75
72
|
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
73
|
+
- Every specialist reports success, blocked, or failed; include the structured delta when blocked.
|
|
74
|
+
- Reports cover the outcome summary, changed files by signature or interface with what changed and why, verification evidence, blockers or follow-ups, and the next step. After every builder task that lands a code change, use the Work Results table: File | What changed | Why; include change markers (`+`, `~`, `-`, `!`, `(test)`) and focus on signatures/interfaces.
|
|
75
|
+
- Result markers: `+` new, `~` modified, `-` deleted, `!` breaking, and `(test)` for test files.
|
|
76
|
+
- Completion evidence and the seven-field brief follow the Handoff Contract.
|
|
77
|
+
- Empty, malformed, unavailable, or blocked specialist output is not success. Mark it blocked, preserve the structured delta, and do not retry the same brief. Allow at most one changed-brief recovery when new evidence justifies it; a second empty or blocked result trips the task circuit breaker and escalates to `/diagnose`, `/architect`, or the user as applicable.
|
|
78
|
+
- For every agent-started long-lived process, report its ownership/identity, scoped stop method, terminal-state or exit verification, and retained log/artifact location; report `none started` when applicable. Cleanup is evidenced by observed state, never intent. Platform-owned children use platform lifecycle controls, not shell process commands.
|
|
79
|
+
- Before compaction or context rollover, preserve the work-unit record, acceptance condition, assumptions/evidence, child statuses and remaining budgets, last diff, verification/findings, process cleanup evidence, and next step. Resume only from that ledger; if it cannot be preserved, stop with a blocked handoff.
|
|
80
|
+
|
|
81
|
+
## Parallelization
|
|
82
|
+
|
|
83
|
+
- Parallelize independent tasks across different scopes only; same scope requires a single writer or sequential execution. Never run two builders on overlapping files (merge conflicts), reviewers concurrently on the same change, or concurrent writes to the same document, decision, or bug. Integrate parallel outputs before review.
|
|
84
|
+
|
|
85
|
+
## Handoff Contract
|
|
86
|
+
|
|
87
|
+
- **!!! Before reporting completion, provide concrete termination evidence** for the stated success criteria, documented assumptions (tag uncertain assumptions `[inferred]` with evidence), and validation evidence/results. An unverified result is not a completed handoff.
|
|
88
|
+
- When delegating, include the seven-field brief defined in the Delegation section above: Goal, Context, Requirements, Known problems, Assumptions documented, Success criteria, and Next step. Do not omit a field; write `none` when it is inapplicable.
|
|
89
|
+
- Re-read the artifact before handoff and report the observable evidence that the completion promise is met. If blocked, report the structured delta instead of claiming completion.
|
|
90
|
+
|
|
91
|
+
## Blind Review
|
|
92
|
+
|
|
93
|
+
- **!!! Maker/checker split** - the implementer must not review its own work. Review remains blind and independent.
|
|
94
|
+
- A reviewer receives the requirements, acceptance criteria, and diff. Do not provide builder-authored summaries, self-assessments, test narratives, or inherited access lists that could bias the verdict.
|
|
95
|
+
- The reviewer reviews against the acceptance criteria and diff alone. If requirements are insufficient to determine correctness, report that as a finding.
|
|
96
|
+
- Platform limitations may make separation advisory. Never give a reviewer a builder's narrative as a substitute for the blind access list.
|
|
97
|
+
|
|
98
|
+
## Review Scope
|
|
99
|
+
|
|
100
|
+
- Reviewer findings report: category, severity, in-scope status, required action, and follow-up classification (defect, out-of-scope finding, platform limitation, or follow-up).
|
|
101
|
+
- Non-security out-of-scope or platform findings do not automatically block the current unit unless they invalidate its acceptance criteria or create an immediate safety risk; otherwise record them as follow-ups.
|
|
102
|
+
- **!!! Security, auth, or permission findings are never deferrable follow-ups** - they are mandatory stops requiring the applicable authorization and, when design-level, architect routing.
|
|
103
|
+
- Design-level blockers (requirements, public contract, data model, module boundary, threat model, or cross-cutting behavior) route to `/architect` regardless of action label, not to repeated builder patches.
|
|
104
|
+
|
|
105
|
+
## Bounded Autonomy
|
|
106
|
+
|
|
107
|
+
- The orchestrator owns each work unit's repair budget, progress record, and stop decision. For ordinary implementation, test, and review repair, it may dispatch builder fixes and required blind re-reviews without routine user approval.
|
|
108
|
+
- A repair round is one builder attempt plus validation and, when required by the route, one reviewer pass. The initial build is not a repair round. Default budget: 3 rounds. Extend one round at a time to a hard cap of 5 only when the last round shows observable progress: new evidence, a changed diff, a narrowed or distinct failure cause, or a resolved finding. Count every attempted round.
|
|
109
|
+
- Repeating a failure cause or review finding, restoring the same diff, or producing no new evidence is non-progress. Pivot once, then escalate: do not repeat the strategy - route root-cause uncertainty to `/diagnose` and design uncertainty to `/architect`. After one strategy pivot without progress, stop and escalate to an architecture decision.
|
|
110
|
+
- Do not spend the repair budget on unrelated platform or runtime work; non-security cross-boundary findings are follow-ups, not repair work. Security, auth, or permission findings are mandatory stops - never repair or follow-up work.
|
|
111
|
+
- A design-level finding involving requirements, a public contract, data model, module boundary, threat model, or cross-cutting behavior is a redesign, not a patch. Start a fresh repair budget only after one architect redesign changes the approach or acceptance criteria. Never reset a budget to erase findings or bypass a safety stop.
|
|
112
|
+
- Ordinary non-design, in-scope reviewer `[fix]` findings may be repaired automatically within the bounded budget, followed by validation and a blind re-review. Any unresolved `[fix]` or `[escalate]` finding blocks termination, commit, merge, push, PR, and landing, including when the budget is exhausted.
|
|
113
|
+
- Stop autonomous repair before security, auth or permission, data migration or loss, production-impacting, or irreversible work; unresolved safety ambiguity; and protected-branch operations. At a stop, report the structured delta. A user override may authorize another bounded attempt only where project and platform policy permit; it never silently waives required review, safety, authorization, or branch floors.
|
|
114
|
+
- Completion is measured against the user outcome plus the acceptance criteria, not by the number of checks passed or repair rounds spent.
|
|
115
|
+
- Use only observable session evidence for progress. Do not invent token, cost, latency, or hidden telemetry.
|
|
116
|
+
|
|
117
|
+
## Authorization Checkpoints
|
|
118
|
+
|
|
119
|
+
- **!!! Stop autonomous repair and obtain the applicable user, project, or platform authorization before proceeding with security boundaries, authentication or permissions, data migrations or possible data loss, production-impacting changes, or irreversible operations.** State what authorization is required and wait for it; mode markers and bounded autonomy do not waive this floor.
|
|
120
|
+
- Ordinary ambiguity is not a checkpoint: exhaust available data, document `[inferred]` assumptions with evidence, and proceed. Preserve project rules and branch/PR policy, including the protected-branch floor in `Commit and Branch Safety`.
|
|
121
|
+
|
|
122
|
+
## Process Lifecycle Ownership
|
|
80
123
|
|
|
81
|
-
|
|
124
|
+
- **!!! Prefer foreground execution when backgrounding is unnecessary.** For any agent-started server, watcher, task runner, subprocess, or remote worker that can outlive the current command, record or otherwise retain its platform-provided identity and scoped stop/verification method before backgrounding. If identity and scoped cleanup cannot be retained, keep the work foregrounded or use a platform lifecycle wrapper. Preserve useful logs or artifacts before stopping when diagnosis needs them. When the task ends, fails, is cancelled, or is abandoned, stop any still-running work you started and verify that it exited or reached the platform's terminal state. Never kill by broad name/pattern or terminate user-owned or unrelated processes. Do not manage platform-owned child agents through shell process commands; use their documented lifecycle/cancellation control. Leave work intentionally persistent only when the user explicitly requests it or project documentation requires it.
|
|
82
125
|
|
|
83
|
-
|
|
126
|
+
## Iteration and Fail-Loud
|
|
84
127
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
| `/reviewer` | Different PRs/changes | Same PR (sequential after `/builder`) |
|
|
89
|
-
| `/adventurer` | Different modules/areas | Same module (overlapping reports) |
|
|
90
|
-
| `/architect` | Different decisions | Same decision (ADR is single-writer) |
|
|
91
|
-
| `/planner` | Different features | Same feature (plan is single-writer) |
|
|
92
|
-
| `/writer` | Different documents | Same document (doc is single-writer) |
|
|
93
|
-
| `/diagnose` | Different bugs | Same bug or root-cause cluster |
|
|
128
|
+
- Define a verifiable termination condition before looping. Count attempts and stop at the applicable bounded budget.
|
|
129
|
+
- Never loop silently. Escalate with: `Tried X, Y, Z. Blocked by [cause]. Need [input] to proceed.`
|
|
130
|
+
- At a stop, preserve useful logs, the last diff, finding provenance, and the structured delta. Unresolved safety or review floors block landing.
|
|
94
131
|
|
|
95
|
-
## Commit
|
|
132
|
+
## Commit and Branch Safety
|
|
96
133
|
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
- **
|
|
134
|
+
- Only the orchestrator authorizes commits. Plans and specialist results do not imply a commit.
|
|
135
|
+
- Validate and review required changes before commit; stage only intended files.
|
|
136
|
+
- **!!! Ship docs with code** - before every commit, audit all affected documentation categories: internal docs, ADRs, references, user-facing docs, changelog, and changeset. Any `packages/` change or behavior-affecting change MUST have a corresponding changeset; check existing entries and create one if needed. Keep docs, changelogs, and changesets in sync with the change.
|
|
137
|
+
- **!!! Check your branch** - on an unrecognized branch, ask first. Worktrees are isolated - proceed directly.
|
|
138
|
+
- **!!! Never commit or push to main.** Work on a feature branch. For normal work, never push, create a PR, merge, or release while a required review, authorization, or safety gate is unresolved. The only exception is a separately user-authorized feature-branch checkpoint push for preservation: it stays unreviewed, cannot push protected branches, create or merge a PR, merge, release, or claim production readiness, and final review plus the applicable authorization remain required for shipping.
|
|
139
|
+
- Pull latest before creating a feature branch from main. Worktrees are already isolated.
|
|
100
140
|
|
|
101
|
-
##
|
|
141
|
+
## Checkpoint Commits
|
|
102
142
|
|
|
103
|
-
|
|
143
|
+
- Normal commits require validation and independent review approval before commit. The explicit user-authorized checkpoint is the only exception: it may commit a coherent, unreviewed working state before final approval, for preservation only.
|
|
144
|
+
- Checkpoint validation still requires scope, status, and diff checks; exclude unrelated and untracked artifacts.
|
|
145
|
+
- Commit, push, PR, merge, and release are separate actions with separate gates. A checkpoint commits for preservation only and never auto-pushes, auto-creates a PR, merges, or releases; the checkpoint path stops after the preservation commit and never enters the configured push/PR flow. This default does not mean the user prohibited pushing.
|
|
146
|
+
- A checkpoint commit is labeled `unreviewed` / `not production-ready` and stays unreviewed until final review. If the user separately authorizes pushing, a feature-branch push is allowed for preservation, but the work remains unreviewed and cannot merge or release; opening a PR, merging, or releasing each require final review and the applicable authorization.
|
|
147
|
+
- Normal reviewed feature-branch work follows the project and platform push/PR policy. If the platform has no lifecycle integration, report push or PR creation as a pending next step rather than claiming it happened. Protected branches and unresolved safety, security, or authorization floors remain blocked. Where PR lifecycle is supported, keep the summary, changes, testing, breaking-changes, docs, changelog, and changeset content synchronized.
|
|
148
|
+
- Docs-only is not an unreviewed commit shortcut - the docs-only review exemption applies to review dispatch only, never to commit approval. Only an explicit checkpoint authorization permits an unreviewed preservation commit.
|
|
149
|
+
- Checkpoint commits cannot satisfy final review or authorize shipping. Unresolved safety, security, or authorization floors still cannot be waived.
|
|
104
150
|
|
|
105
|
-
##
|
|
151
|
+
## Canonical Source Invariant
|
|
106
152
|
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
153
|
+
- Agent directives are authored only under `packages/core/agent-directives/`.
|
|
154
|
+
- Generated platform projections are produced only by `scripts/sync-all`; never hand-edit generated copies.
|
|
155
|
+
- The sync pipeline must pass before handoff when canonical directives change.
|
package/skills/handoff/SKILL.md
CHANGED
|
@@ -12,14 +12,16 @@ description: >-
|
|
|
12
12
|
|
|
13
13
|
# Handoff Contract
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Every handoff must always include these 7 fields:
|
|
16
16
|
|
|
17
|
-
1. **Goal** - What to achieve and why
|
|
18
|
-
2. **Context** - Relevant paths, constraints,
|
|
17
|
+
1. **Goal** - What to achieve and why
|
|
18
|
+
2. **Context** - Relevant paths, constraints, decisions, and attempts
|
|
19
19
|
3. **Requirements** - Specific expectations and boundaries
|
|
20
|
-
4. **Known problems** -
|
|
21
|
-
5. **Assumptions documented** - Assumptions
|
|
22
|
-
6. **Success criteria** - How to verify
|
|
23
|
-
7. **Next step** - What happens after
|
|
20
|
+
4. **Known problems** - Identified issues, what to watch for, and risks
|
|
21
|
+
5. **Assumptions documented** - Assumptions and evidence, tagged `[inferred]` when uncertain
|
|
22
|
+
6. **Success criteria** - How to verify completion
|
|
23
|
+
7. **Next step** - What happens after completion
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Keep values concise: reference paths, outputs, and decisions instead of copying history; include material information only; write `none` when inapplicable.
|
|
26
|
+
|
|
27
|
+
Every handoff ends with: "If anything is unclear or ambiguous, exhaust available data, document the assumption, and proceed."
|
|
@@ -12,8 +12,10 @@ description: >-
|
|
|
12
12
|
|
|
13
13
|
# Iteration Limits
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
The universal bounded-autonomy contract owns repair budgets and progress-sensitive stopping. This skill is only a concise projection:
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- Define a **Verifiable Termination Condition** before looping.
|
|
18
|
+
- Count every attempt against the applicable hard limit; default repair budget is 3 rounds and may extend one round at a time to 5 only with observable progress.
|
|
19
|
+
- Stop on non-progress, safety ambiguity, or unresolved review floors. Escalate: `Tried X, Y, Z. Blocked by [cause]. Need [input] to proceed.`
|
|
20
|
+
- Declare and decrement finite route and child-task budgets before dispatch; never silently reset them.
|
|
21
|
+
- Empty or blocked output is non-progress: allow at most one changed-brief recovery, then trip the circuit breaker and escalate with the structured delta.
|