@maestria/opencode 0.6.20 → 0.6.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -157
- package/agents/builder.md +2 -23
- package/agents/orchestrator.md +12 -4
- package/agents/reviewer.md +2 -0
- package/package.json +1 -1
- package/rules/AGENTS.md +16 -5
package/README.md
CHANGED
|
@@ -1,180 +1,42 @@
|
|
|
1
1
|
# @maestria/opencode
|
|
2
2
|
|
|
3
|
-
An OpenCode plugin that encodes
|
|
3
|
+
An OpenCode plugin that encodes Maestria's AI-engineering methodology as agents, rules, and workflows - a harness that makes model output consistent and reliable (`Agent = Model + Harness`).
|
|
4
4
|
|
|
5
|
-
> This package is part of Maestria. See [VISION.md](
|
|
6
|
-
|
|
7
|
-
## Motivation
|
|
8
|
-
|
|
9
|
-
Raw LLMs are powerful but unreliable for production engineering work. They guess instead of verifying, implement instead of delegating, and produce plausible-sounding results that are subtly wrong. OpenCode's built-in agents give you a foundation, but they don't encode the methodology, discipline, and guardrails that turn a model into a reliable engineering partner.
|
|
10
|
-
|
|
11
|
-
This plugin exists to close that gap. It packages the harness - the rules, agents, and workflows - that makes AI engineering consistent and trustworthy. The principle is simple:
|
|
12
|
-
|
|
13
|
-
**Agent = Model + Harness**
|
|
14
|
-
|
|
15
|
-
The model provides capability. The harness provides reliability. Most agent failures are harness failures, not model failures.
|
|
16
|
-
|
|
17
|
-
The patterns in this plugin were extracted from months of daily AI-assisted engineering work. They represent configurations and workflows that survived repeated use - not theoretical best practices, but scar tissue from real failures. The orchestrator's delegation rules, the maker/checker split, the iteration limits, the `!!!` convention for non-negotiable rules - all of these came from specific failures that happened more than once.
|
|
18
|
-
|
|
19
|
-
This is not just another agent pack. Most agent packs focus on capability - giving agents more tools, more context, more autonomy. This plugin focuses on discipline: giving agents clear boundaries, explicit methodology, and structured handoffs. Capability is the default. Discipline is the differentiator.
|
|
20
|
-
|
|
21
|
-
To that end, the plugin is built on five design principles:
|
|
22
|
-
|
|
23
|
-
## Goals
|
|
24
|
-
|
|
25
|
-
- **Interoperability** - The methodology is harness-agnostic. Works with any LLM provider that OpenCode supports. No vendor lock-in, no model-specific prompt tricks.
|
|
26
|
-
- **Discipline** - Maker/checker split prevents self-approval. Iteration limits prevent infinite loops. Delegation chains prevent scope creep. These are first-class concepts, not afterthoughts.
|
|
27
|
-
- **Transparency** - Every agent is a markdown file with YAML frontmatter. Readable, editable, versionable. No TypeScript abstraction layer between you and the prompts. What you see is what the agent runs.
|
|
28
|
-
- **Evolvability** - Versioned releases encode new patterns as they're proven. The plugin improves by curation - patterns that survive repeated use get promoted; patterns that don't, don't.
|
|
29
|
-
- **Composability** - Agents are designed as pipeline stages. Adventurer discovers context, architect evaluates trade-offs, planner structures the work, builder implements, reviewer validates. The orchestrator chains them together. Each step produces a structured handoff for the next.
|
|
30
|
-
|
|
31
|
-
## Non-Goals
|
|
32
|
-
|
|
33
|
-
- **Does NOT bundle skills** - Skills (methodology packages for specific domains) are installed separately via the skills CLI. The plugin prescribes which skills to load and when, but does not include them.
|
|
34
|
-
- **Does NOT replace OpenCode's built-in agents** - `explore` and `general` remain available for unstructured work. The plugin's 8 subagents are specialists for structured workflows on top of that foundation.
|
|
35
|
-
- **Does NOT auto-extract patterns from sessions** - All rules and agent prompts are manually curated. No automated pattern extraction, no session mining, no implicit learning.
|
|
36
|
-
- **Does NOT require or provide a specific LLM provider** - Model selection is OpenCode configuration. No provider lock-in, no subscription or API key required. MIT-licensed, open source.
|
|
37
|
-
- **Does NOT work outside OpenCode** - This is an OpenCode plugin. Kimi Code and Hermes adaptations are in development as separate packages under the `@maestria` scope, each independently versioned and maintained.
|
|
38
|
-
- **Does NOT include telemetry, usage tracking, or external data collection** - No data leaves your machine. No analytics. No crash reporting. The plugin has zero network calls of its own.
|
|
39
|
-
- **Does NOT enforce rules programmatically** - Rules are guidance, not gates. The `!!!` convention signals non-negotiable rules, but the agent can still violate them. Enforcement happens through permissions and review, not runtime checks.
|
|
40
|
-
|
|
41
|
-
## What It Does
|
|
42
|
-
|
|
43
|
-
This plugin bundles a set of agents and rules that encode effective AI-engineering workflows:
|
|
44
|
-
|
|
45
|
-
- **Agents** - 8 specialized subagents for different phases of work:
|
|
46
|
-
- `@orchestrator` - Manager for complex multi-step tasks; restricted to delegating only to the 7 registered subagents via task permissions
|
|
47
|
-
- `@adventurer` - Codebase reconnaissance and deep code understanding before implementation
|
|
48
|
-
- `@architect` - Architecture decisions with decision matrices
|
|
49
|
-
- `@builder` - Focused implementation agent for atomic tasks
|
|
50
|
-
- `@diagnose` - Systematic 6-step regression tracing
|
|
51
|
-
- `@planner` - Create detailed implementation plans with phased milestones
|
|
52
|
-
- `@reviewer` - Code review with quality gates
|
|
53
|
-
- `@writer` - Documentation following structured patterns
|
|
54
|
-
|
|
55
|
-
- **Rules** - Global directives injected into every session's system prompt
|
|
5
|
+
> This package is part of Maestria. See [VISION.md](https://github.com/agustinusnathaniel/maestria/blob/main/VISION.md) for the project vision, motivation, and scope. The agents and rules are **generated** from the canonical directives in `packages/core/agent-directives/` by the [sync pipeline](https://github.com/agustinusnathaniel/maestria/blob/main/CONTRIBUTING.md#3-the-sync-pipeline-core-concept).
|
|
56
6
|
|
|
57
7
|
## Installation
|
|
58
8
|
|
|
59
|
-
### Option 1: Via CLI (recommended)
|
|
60
|
-
|
|
61
|
-
Install globally (available in all projects):
|
|
62
|
-
|
|
63
9
|
```bash
|
|
10
|
+
# Global install (recommended)
|
|
64
11
|
opencode plugin @maestria/opencode@latest -g
|
|
65
|
-
```
|
|
66
12
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```bash
|
|
13
|
+
# Project-level install
|
|
70
14
|
opencode plugin @maestria/opencode@latest
|
|
71
15
|
```
|
|
72
16
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
Add to your OpenCode config file:
|
|
76
|
-
|
|
77
|
-
- **Global:** `~/.config/opencode/opencode.jsonc`
|
|
78
|
-
- **Project-level:** `.opencode/opencode.jsonc` (in your project root)
|
|
79
|
-
|
|
80
|
-
```jsonc
|
|
81
|
-
{
|
|
82
|
-
"plugin": ["@maestria/opencode@latest"],
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
To pin a specific version, use `"@maestria/opencode@0.3.3"` instead of `"@maestria/opencode@latest"`. Restart OpenCode after adding the plugin.
|
|
87
|
-
|
|
88
|
-
## How It Works
|
|
89
|
-
|
|
90
|
-
1. **Plugin loads** - OpenCode installs `@maestria/opencode` from npm
|
|
91
|
-
2. **Config hook** - The plugin reads bundled agent markdown files, parses their frontmatter, and registers them programmatically with OpenCode
|
|
92
|
-
3. **Rules injected** - `system.transform` hook appends rules to every session
|
|
93
|
-
4. **Agents available** - All 8 agents are available as subagents via `@` mention
|
|
94
|
-
5. **State preserved** - `session.compacting` hook preserves task status across compaction events
|
|
95
|
-
|
|
96
|
-
### Design Philosophy
|
|
97
|
-
|
|
98
|
-
This plugin is built on the **Harness Engineering** principle: `Agent = Model + Harness`. The harness is what turns a raw LLM into a reliable coding agent - the model is just one component.
|
|
99
|
-
|
|
100
|
-
The 6 harness components map directly to plugin features:
|
|
101
|
-
|
|
102
|
-
| Component | Plugin Mapping |
|
|
103
|
-
| ----------------- | --------------------------------------------- |
|
|
104
|
-
| **Instructions** | `rules/AGENTS.md` injected into every session |
|
|
105
|
-
| **Tools** | Skill prescription system + MCP integration |
|
|
106
|
-
| **Sandboxes** | `permission` frontmatter on every agent |
|
|
107
|
-
| **Orchestration** | `mode: all/subagent` + `task()` delegation |
|
|
108
|
-
| **Guardrails** | `edit: deny`, `bash: ask`, iteration limits |
|
|
109
|
-
| **Observability** | Session compaction hooks, structured handoffs |
|
|
110
|
-
|
|
111
|
-
Most agent failures are configuration failures, not model failures. The plugin's agents are designed with this principle - precise rules, explicit boundaries, and clear delegation chains over raw capability.
|
|
112
|
-
|
|
113
|
-
## Updating
|
|
114
|
-
|
|
115
|
-
OpenCode does not auto-update plugins. Packages are cached locally at `~/.cache/opencode/packages/<name>@<version>/` - the npm registry is not consulted if the package is already cached. To update, re-run the install command with the same scope as the original install:
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
# If installed globally
|
|
119
|
-
opencode plugin @maestria/opencode@latest -g --force
|
|
120
|
-
|
|
121
|
-
# If installed at project level
|
|
122
|
-
opencode plugin @maestria/opencode@latest --force
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Use `--force` to replace an existing config entry. To force a fresh install from npm (bypassing the local cache), clear the cache first:
|
|
17
|
+
OpenCode does not auto-update plugins; re-run the install command with `--force` to update. To uninstall, remove the `@maestria/opencode` entry from the `plugin` array in `~/.config/opencode/opencode.jsonc` (global) or `.opencode/opencode.jsonc` (project), then optionally delete the cached package under `~/.cache/opencode/packages/`. Alternatively, use the [maestria CLI](https://maestria.sznm.dev/cli/) to manage installation across all platforms.
|
|
126
18
|
|
|
127
|
-
|
|
19
|
+
## What It Provides
|
|
128
20
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
21
|
+
- **8 agents** - `@orchestrator` (delegates to the 7 specialists) plus `@adventurer`, `@architect`, `@builder`, `@diagnose`, `@planner`, `@reviewer`, and `@writer`, each a readable, editable markdown file with YAML frontmatter.
|
|
22
|
+
- **Global rules** - a rules file injected into every session (`rules/AGENTS.md`) encoding the universal floors: evidence, safety, delegation, review, and bounded repair.
|
|
23
|
+
- **Zero telemetry** - no data leaves your machine; the plugin makes no network calls of its own.
|
|
132
24
|
|
|
133
|
-
|
|
25
|
+
## Support / Platform Notes
|
|
134
26
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
27
|
+
- OpenCode-specific; Kimi Code, Hermes, Cursor, and other adaptations ship as separate `@maestria` packages.
|
|
28
|
+
- Does not bundle skills; domain skills are installed separately via the skills CLI.
|
|
29
|
+
- Rules are advisory prompt guidance, not a sandbox. The only structural enforcement is OpenCode's `permission` frontmatter (for example, the orchestrator cannot edit).
|
|
30
|
+
- The generated agents are projections of the canonical core directives. To change behavior, edit `packages/core/agent-directives/` and re-run the sync pipeline - never edit the generated files under `agents/` directly.
|
|
138
31
|
|
|
139
|
-
|
|
32
|
+
## Documentation and Changelog
|
|
140
33
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
```
|
|
34
|
+
- [User-facing documentation](https://maestria.sznm.dev/opencode/) on the docs site
|
|
35
|
+
- [Changelog](https://github.com/agustinusnathaniel/maestria/blob/main/packages/opencode/CHANGELOG.md)
|
|
144
36
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
> **Tip:** Run `opencode debug paths` to see the cache directory resolved for your platform.
|
|
148
|
-
|
|
149
|
-
To pin a specific version, use `@<version>` instead of `@latest`:
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
opencode plugin @maestria/opencode@0.3.3
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## Uninstalling
|
|
156
|
-
|
|
157
|
-
There is no CLI command to remove a plugin. To uninstall, edit your OpenCode config file and remove the entry from the `plugin` array:
|
|
158
|
-
|
|
159
|
-
- **Global:** `~/.config/opencode/opencode.jsonc`
|
|
160
|
-
- **Project-level:** `.opencode/opencode.jsonc` (in your project root)
|
|
161
|
-
|
|
162
|
-
```jsonc
|
|
163
|
-
{
|
|
164
|
-
"plugin": [
|
|
165
|
-
// Remove or comment out the line below:
|
|
166
|
-
// "@maestria/opencode@latest",
|
|
167
|
-
],
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
You can also optionally delete the cached package:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
rm -rf ~/.cache/opencode/packages/@maestria/opencode*
|
|
175
|
-
```
|
|
37
|
+
## Development
|
|
176
38
|
|
|
177
|
-
|
|
39
|
+
See the [contributing guide](https://github.com/agustinusnathaniel/maestria/blob/main/CONTRIBUTING.md) for repository conventions.
|
|
178
40
|
|
|
179
41
|
## License
|
|
180
42
|
|
package/agents/builder.md
CHANGED
|
@@ -69,30 +69,9 @@ If the task is not atomic - if it spans multiple unrelated concerns - document t
|
|
|
69
69
|
3. **Verify** - Run tests or type checks to confirm correctness
|
|
70
70
|
4. **Report** - State what changed and why
|
|
71
71
|
|
|
72
|
-
## Implementation
|
|
72
|
+
## Implementation Judgment
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
For complex features, build incrementally:
|
|
77
|
-
|
|
78
|
-
1. Hardcoded version that demonstrates the concept
|
|
79
|
-
2. Add state management with mock data
|
|
80
|
-
3. Connect to real data/API
|
|
81
|
-
4. Add error handling and loading states
|
|
82
|
-
5. Optimize and polish
|
|
83
|
-
|
|
84
|
-
Each step is verifiable before moving to the next.
|
|
85
|
-
|
|
86
|
-
### Constraint Escalation
|
|
87
|
-
|
|
88
|
-
Start with tight constraints, relax as needed:
|
|
89
|
-
|
|
90
|
-
- Round 0: "Check if the problem is already solved - is there a well-maintained open-source library or existing dependency that handles this?"
|
|
91
|
-
- Round 1: "Solve this with existing dependencies only"
|
|
92
|
-
- Round 2: "Now you can use standard library features"
|
|
93
|
-
- Round 3: "Add external dependencies if necessary"
|
|
94
|
-
|
|
95
|
-
This reveals what actually requires heavy tools vs. what's simple.
|
|
74
|
+
Start with the smallest change that satisfies acceptance. Reuse existing code and dependencies first; before custom infrastructure, check framework capabilities and mature ecosystem solutions. Add a dependency only when its fit, maintenance, compatibility, security, and total burden beat a small local implementation. Add layers only when the product requires them.
|
|
96
75
|
|
|
97
76
|
## Skill Prescription
|
|
98
77
|
|
package/agents/orchestrator.md
CHANGED
|
@@ -43,13 +43,13 @@ Apply explicit mode precedence and safety exceptions first, then choose the smal
|
|
|
43
43
|
|
|
44
44
|
| Route | Use when | Result |
|
|
45
45
|
| --- | --- | --- |
|
|
46
|
-
| `full` | `fein`, multiple dependent perspectives,
|
|
46
|
+
| `full` | `fein`, multiple dependent perspectives, high risk, or meaningful uncertainty that needs design and implementation | Reconnaissance or design, implementation, and independent review as justified |
|
|
47
47
|
| `focused` | One specialist can own a concrete outcome, investigation, or implementation | One specialist, with independent review for meaningful builder work |
|
|
48
48
|
| `direct` | The current session can safely complete known, low-risk work and the host permits it | The current session completes and verifies the work |
|
|
49
49
|
|
|
50
50
|
Security, authentication, permissions, data migration or loss, production impact, irreversible changes, and unresolved safety ambiguity override `direct` and `blitz`. Use at least `focused`, or `full` when the issue is cross-cutting or high-risk. Ask only where project rules require a checkpoint.
|
|
51
51
|
|
|
52
|
-
**!!! Check the branch** before git mutation.
|
|
52
|
+
**!!! Check the branch** before git mutation. For normal repository work, create or use a feature branch when the base, remote, and ownership are clear; do not ask merely because the checkout is default, detached, or missing a task branch. Worktrees are isolated. Never commit or push a protected branch.
|
|
53
53
|
|
|
54
54
|
For focused builder work, review behavior, public interfaces or configuration, multiple production files, data, auth, or security changes. Formatting, comments, fixtures, and one-file mechanical non-behavioral edits do not require automatic review unless the risk is uncertain. This is a review decision, not permission to make an unreviewed commit.
|
|
55
55
|
|
|
@@ -98,7 +98,7 @@ Triage findings in this order:
|
|
|
98
98
|
3. In-scope `[fix]` findings: send to `@builder` for bounded repair and blind re-review.
|
|
99
99
|
4. Out-of-scope or platform findings: record as follow-ups. `[dismiss]` means document the rationale. `[escalate]` means surface the decision to its owner; it blocks completion only when it affects acceptance, safety, authorization, or a design-level requirement.
|
|
100
100
|
|
|
101
|
-
Approve when no blocking finding remains and
|
|
101
|
+
Approve when acceptance evidence is complete and no blocking/material finding remains. Minor preferences and suggestions do not block delivery. Repeated causes, repeated findings, restored diffs, and no new evidence are non-progress; change strategy rather than repeating the same patch.
|
|
102
102
|
|
|
103
103
|
## Workflow and Delegation
|
|
104
104
|
|
|
@@ -120,7 +120,15 @@ Modes are case-insensitive and per-turn unless the platform documents another li
|
|
|
120
120
|
|
|
121
121
|
## Commit and Session Flow
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
For implementation work, own the delivery path: `inspect -> plan -> implement -> validate -> review -> repair -> commit -> push -> PR`.
|
|
124
|
+
|
|
125
|
+
When the repository, branch, remote, ownership, and host capabilities support PR delivery, complete it without ceremonial approval. Do not stop at a local diff, commit, pushed branch, or `PR pending`. Merge, release, and production actions remain separate.
|
|
126
|
+
|
|
127
|
+
The parent session owns continuation until the selected implementation outcome reaches its terminal artifact. Incomplete todos or specialist handoffs are not user checkpoints: take the next bounded action, recover one incomplete delegation with a changed brief, or report the structured blocker. Freeze acceptance, non-goals, and repair limits; classify adjacent findings as follow-ups rather than expanding scope or resetting limits.
|
|
128
|
+
|
|
129
|
+
Research-only, planning-only, explicitly read-only, `sonar`, and host-blocked routes terminate at their requested artifact or exact blocker. Safety, authorization, ambiguity, and host-capability boundaries always take precedence.
|
|
130
|
+
|
|
131
|
+
An explicitly authorized checkpoint may preserve unreviewed work but never authorizes shipping. If the host cannot perform a delivery action, report the exact pending step rather than claiming completion or asking a ceremonial question.
|
|
124
132
|
|
|
125
133
|
1. Select the route and load relevant project rules.
|
|
126
134
|
2. Complete the work directly or delegate with a concise outcome brief.
|
package/agents/reviewer.md
CHANGED
|
@@ -148,6 +148,8 @@ When the orchestrator dispatches a general review plus risk-matched specialist l
|
|
|
148
148
|
- **!!! Flag collateral deletions** in the diff.
|
|
149
149
|
- Provide specific, actionable feedback with line references and concrete fixes.
|
|
150
150
|
- Classify issues as critical / major / minor / suggestion.
|
|
151
|
+
- Review against the acceptance bar, not idealized code. Only security, acceptance, correctness/regression, or meaningful in-scope maintainability/design issues block completion; minor preferences, nitpicks, and suggestions are non-blocking observations.
|
|
152
|
+
- When acceptance evidence is complete and no material blocker remains, approve and stop. Do not create another review pass merely to find additional polish.
|
|
151
153
|
- If you cannot reproduce an issue, say so.
|
|
152
154
|
- If no issues are found, say so and state what you verified.
|
|
153
155
|
- If scope is unclear: document assumption from diff context and proceed.
|
package/package.json
CHANGED
package/rules/AGENTS.md
CHANGED
|
@@ -10,7 +10,8 @@ This is the cross-platform behavior contract. It defines outcomes, evidence, saf
|
|
|
10
10
|
`!!!` marks a non-negotiable default-path rule. Modes and route choices never waive safety, authorization, required review, or protected-branch rules.
|
|
11
11
|
|
|
12
12
|
- **!!! Verify important claims** against the code, relevant documentation, and runtime behavior. Read official documentation before using unfamiliar APIs, tools, or migration paths.
|
|
13
|
-
- **!!!
|
|
13
|
+
- **!!! Match effort to stakes.** Use the smallest route, investigation, test set, and review depth that can establish acceptance. Escalate only when uncertainty, impact, or complexity warrants it.
|
|
14
|
+
- **!!! Prefer reuse over reinvention.** Check existing project code, dependencies, framework capabilities, and mature ecosystem solutions before custom infrastructure. Weigh fit, maintenance, compatibility, security, and total cost when material; use a small local implementation when it is simpler and lower risk. Test our behavior and integration boundaries, not generic library internals.
|
|
14
15
|
- Do not avoid useful analysis or investigation by anthropomorphizing machine effort; choose approaches by technical trade-offs and evidence.
|
|
15
16
|
- Audit and ship affected documentation and required changesets with code when project policy requires them.
|
|
16
17
|
- **!!! Exhaust available evidence before asking.** Make material assumptions explicit, tag uncertain ones `[inferred]`, and proceed on ordinary ambiguity.
|
|
@@ -31,6 +32,14 @@ This is the cross-platform behavior contract. It defines outcomes, evidence, saf
|
|
|
31
32
|
- Adjacent findings do not expand the current task automatically. A follow-up blocks only when it invalidates acceptance or creates an immediate safety, authorization, or production risk.
|
|
32
33
|
- Security, authentication, authorization, and permission findings are mandatory stops. Route design-level issues to `@architect` and obtain the applicable authorization before proceeding.
|
|
33
34
|
|
|
35
|
+
## Session Continuation and Delivery
|
|
36
|
+
|
|
37
|
+
- **!!! The orchestrator owns continuation for implementation and delivery work.** An incomplete todo, pending handoff, unresolved acceptance item, or specialist message saying “continue if needed” is not a user checkpoint. Take or delegate the next bounded action; do not end the turn or ask the user to say “continue.” Research-only, planning-only, explicitly read-only, and host-blocked work terminates at its requested artifact or exact blocker.
|
|
38
|
+
- A specialist's read-only or no-edit result ends that delegation, not the parent work unit. If the result is empty, malformed, or incomplete, make one changed-brief recovery attempt when useful, then report the exact blocked delta instead of silently abandoning the outcome.
|
|
39
|
+
- Freeze the outcome, acceptance criteria, non-goals, and review budget at the start of the work unit. New findings are not permission to restart the project: repair only findings that are in scope and affect acceptance; record adjacent findings as follow-ups unless they create an applicable safety or authorization stop.
|
|
40
|
+
- Do not reset a review or repair budget by splitting the same outcome into more delegations, changing specialist names, or relabelling the finding. A new scope requires a new outcome and acceptance criteria.
|
|
41
|
+
- For implementation work, continue through validation and the project's normal delivery artifact. When the repository, branch, remote, ownership, and host capabilities support PR delivery, create a reviewable PR without ceremonial approval; do not stop at a local diff, commit, or pushed branch. Research-only, planning-only, explicitly read-only, and host-blocked work terminates at its requested artifact or exact blocker. Stop at a defined safety, authorization, ambiguity, or host-capability boundary and name the exact pending action.
|
|
42
|
+
|
|
34
43
|
## Delegation and Context
|
|
35
44
|
|
|
36
45
|
Supported specialists are `adventurer`, `architect`, `builder`, `diagnose`, `planner`, `reviewer`, and `writer`.
|
|
@@ -53,16 +62,18 @@ Supported specialists are `adventurer`, `architect`, `builder`, `diagnose`, `pla
|
|
|
53
62
|
## Bounded Repair and Fail-Loud Behavior
|
|
54
63
|
|
|
55
64
|
- Ordinary in-scope repair may continue without routine user approval while it is making observable progress and remains within scope.
|
|
56
|
-
-
|
|
65
|
+
- Review is a convergence gate, not an invitation to polish indefinitely. Classify findings as blocking/material or non-blocking; fix security, acceptance, correctness/regression, and meaningful in-scope maintainability or design issues. Minor preferences and suggestions are follow-ups.
|
|
66
|
+
- Default to one independent review and one repair/re-review pass. Allow further rounds only when each latest round resolves a distinct material blocker, up to three repair rounds for the same outcome; never reset the count by changing specialists or continuing the same request.
|
|
57
67
|
- Repeated causes, repeated findings, restored diffs, or no new evidence are non-progress. Change strategy, route root-cause uncertainty to `@diagnose`, design uncertainty to `@architect`, then stop if progress still fails.
|
|
58
68
|
- Do not loop silently. Report: `Tried X, Y, Z. Blocked by [cause]. Need [input] to proceed.` Preserve the last diff and finding provenance.
|
|
59
69
|
|
|
60
70
|
## Authorization, Lifecycle, and Branches
|
|
61
71
|
|
|
62
72
|
- Stop and obtain applicable authorization before security-boundary changes, authentication or permissions work, data migration or possible loss, production-impacting changes, or irreversible operations. Ordinary ambiguity is not an authorization checkpoint.
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
73
|
+
- For normal repository work, branch, commit, push, and PR are part of delivery after acceptance evidence and required review. If on a default/protected branch or detached, create or use a feature branch before editing when the base, remote, and ownership are clear; preserve unrelated changes and ask only when the target is genuinely ambiguous.
|
|
74
|
+
- Inspect status and the intended diff, stage only intended files, and use logical conventional commits. Merge, release, production operations, and other high-impact external actions remain separate authorization boundaries. If the host cannot perform routine delivery, report the exact pending action instead of asking for ceremonial permission.
|
|
75
|
+
- Track task-owned long-lived processes. Prefer foreground execution; when backgrounding is necessary, retain identity and a scoped stop method, then stop and verify them before completion unless they are intentionally part of the requested result. Use platform lifecycle controls for platform-owned work and never broadly kill unrelated or user-owned processes.
|
|
76
|
+
- Never commit or push protected branches. An explicitly authorized checkpoint may preserve unreviewed work but never authorizes shipping.
|
|
66
77
|
|
|
67
78
|
## Canonical Source Invariant
|
|
68
79
|
|