pantheon-opencode 1.6.0-beta.6 → 1.6.0-beta.8
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.md +19 -769
- package/CHANGELOG.md +53 -0
- package/README.md +78 -9
- package/README.pt-BR.md +10 -4
- package/package.json +5 -1
- package/plugin.json +2 -2
- package/pyproject.toml +3 -1
- package/scripts/build-agents-md.mjs +159 -26
- package/scripts/install/agents-md.mjs +2 -2
- package/scripts/install/config-migration.mjs +115 -1
- package/scripts/install/interactive.mjs +1 -1
- package/scripts/install/opencode.mjs +245 -12
- package/scripts/install/shared.mjs +115 -7
- package/scripts/sync-artifacts.mjs +2 -2
- package/scripts/test-opencode-v2-sandbox.sh +155 -4
- package/scripts/validate-sandbox-install.mjs +138 -0
- package/skills-lock.json +5 -5
- package/src/agents/aphrodite.md +18 -36
- package/src/agents/demeter.md +8 -27
- package/src/agents/gaia.md +1 -0
- package/src/agents/hephaestus.md +10 -20
- package/src/agents/hermes.md +15 -37
- package/src/agents/mnemosyne.md +14 -42
- package/src/agents/prometheus.md +16 -19
- package/src/agents/talos.md +4 -1
- package/src/agents/themis.md +4 -4
- package/src/agents/zeus.md +24 -127
- package/src/instructions/agent-return-format.instructions.md +2 -3
- package/src/instructions/backend-standards.instructions.md +2 -0
- package/src/instructions/frontend-standards.instructions.md +3 -1
- package/src/instructions/memory-protocol.instructions.md +11 -121
- package/src/instructions/zeus-anti-stall.instructions.md +14 -69
- package/src/instructions/zeus-communication-rules.instructions.md +0 -1
- package/src/instructions/zeus-council-synthesis.instructions.md +32 -260
- package/src/instructions/zeus-memory-operations.instructions.md +26 -0
- package/src/instructions/zeus-timeout-retry.instructions.md +40 -87
- package/src/pantheon/v2-delegation-enforce.ts +87 -0
- package/src/pantheon/v2-execute-after.ts +186 -0
- package/src/pantheon/v2-unsupported.mjs +0 -23
- package/src/plugin-v2.ts +271 -36
- package/src/plugins/tui/dist/tui.d.ts +11 -8
- package/src/plugins/tui/dist/tui.d.ts.map +1 -1
- package/src/plugins/tui/dist/tui.js +53 -37
- package/src/plugins/tui/package-lock.json +30 -33
- package/src/plugins/tui/package.json +5 -1
- package/src/plugins/tui/src/index.tsx +103 -82
- package/src/plugins/tui/tsdown.config.ts +17 -0
- package/src/routing.yml +10 -5
- package/src/skills/README.md +3 -3
- package/src/skills/artifact-management/SKILL.md +12 -5
- package/src/skills/auto-continue/SKILL.md +37 -28
- package/src/skills/code-review-checklist/SKILL.md +5 -5
- package/src/skills/context-compression/SKILL.md +26 -879
- package/src/skills/tdd-with-agents/SKILL.md +18 -10
|
@@ -18,16 +18,16 @@ Disciplined automatic continuation through multi-step tasks. Eliminates unnecess
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## Risk-Proportional Gates
|
|
22
22
|
|
|
23
23
|
| Gate | Trigger | What happens |
|
|
24
24
|
|---|---|---|
|
|
25
|
-
| **GATE 0 —
|
|
26
|
-
| **GATE 1 — Plan Approval** |
|
|
27
|
-
| **GATE 2 —
|
|
28
|
-
| **GATE 3 — Git
|
|
25
|
+
| **GATE 0 — Explicit Council** | User explicitly invokes council and it returns `AWAITING_APPROVAL` | Stop and follow the approval the council requests; do not launch a council automatically for ordinary implementation. |
|
|
26
|
+
| **GATE 1 — Plan Approval** | A plan was requested or scope/risk makes planning necessary | Ask before implementation only when the plan introduces a material choice or risk; omit this gate for a bounded, clear fix. |
|
|
27
|
+
| **GATE 2 — Risk Review** | Auth/security, data/schema/migration, API contract, production configuration, or other material risk | Themis review and human approval before sensitive or irreversible action. For a trivial, isolated, reversible edit, provide a concise result instead of manufacturing a review phase. |
|
|
28
|
+
| **GATE 3 — Git / External Action** | Commit, push, merge, production deploy, destructive operation, global configuration, or broad permission change | Always stop for explicit human approval. Full-auto never authorizes these actions by implication. |
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
An explicit `AWAITING_APPROVAL` from an invoked council remains a hard stop. Authentication/security and data/schema changes retain their review and approval gates even in full-auto.
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -36,7 +36,7 @@ Disciplined automatic continuation through multi-step tasks. Eliminates unnecess
|
|
|
36
36
|
**Continue automatically when:**
|
|
37
37
|
- Next todo is a direct consequence of the current one
|
|
38
38
|
- Action is reversible (file edits, tests, linting)
|
|
39
|
-
- Scope is within the
|
|
39
|
+
- Scope is within the user's explicitly authorized task (a prior plan is not required for a small clear fix)
|
|
40
40
|
- No new ambiguity has emerged
|
|
41
41
|
|
|
42
42
|
**Stop and ask when:**
|
|
@@ -44,20 +44,23 @@ Disciplined automatic continuation through multi-step tasks. Eliminates unnecess
|
|
|
44
44
|
- An unexpected error changes the approach
|
|
45
45
|
- A dependency is missing or broken
|
|
46
46
|
- Remaining context is too thin to carry the task through — write an explicit handoff instead
|
|
47
|
+
- The task reaches a sensitive gate in the table above; full-auto does not override it
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
### Full-auto Authorization
|
|
50
|
+
|
|
51
|
+
Full-auto may continue only within a task and scope the user explicitly authorized. It may run reversible edits and proportionate verification; it must stop for auth/security, data/schema changes with risk, destructive or global changes, broad permissions, deploy, push, or merge. Never infer permission to expand the scope from a full-auto request.
|
|
49
52
|
|
|
50
53
|
---
|
|
51
54
|
|
|
52
55
|
## Implementation Pattern
|
|
53
56
|
|
|
54
57
|
```
|
|
55
|
-
1. Create todos for
|
|
58
|
+
1. Create todos only for multi-step work; a one-step fix needs no todo ceremony
|
|
56
59
|
2. Mark first todo in_progress
|
|
57
60
|
3. Complete work → mark completed immediately
|
|
58
61
|
4. Mark next todo in_progress → repeat
|
|
59
62
|
5. Do NOT ask "should I continue?" between clear steps
|
|
60
|
-
6. Stop at
|
|
63
|
+
6. Stop at any applicable risk gate; do not require a plan/review gate for a low-risk edit
|
|
61
64
|
7. After gate approval, resume with next todo
|
|
62
65
|
```
|
|
63
66
|
|
|
@@ -89,9 +92,9 @@ Phase N complete. Summary:
|
|
|
89
92
|
|
|
90
93
|
### Cooldown Rules
|
|
91
94
|
1. **Between parallel waves (no dependency):** No cooldown needed — wave results are independent
|
|
92
|
-
2. **Between sequential
|
|
93
|
-
3. **After Themis review
|
|
94
|
-
4. **Session reuse check:**
|
|
95
|
+
2. **Between sequential phases:** Summarize when dependencies or risk changed; skip ceremony for one-step work
|
|
96
|
+
3. **After required Themis review:** Reassess findings before continuing
|
|
97
|
+
4. **Session reuse check:** Reuse a prior specialist session only when it reduces real context duplication
|
|
95
98
|
|
|
96
99
|
### Abbreviated Cooldown
|
|
97
100
|
When auto-continuing between sequential non-gated phases, the cooldown is abbreviated to one line:
|
|
@@ -163,19 +166,25 @@ Should I now run the migration tests? [waiting]
|
|
|
163
166
|
Session state is **not** file-based. It lives in **pantheon-persistence** under the
|
|
164
167
|
`checkpoint:<slug>` namespace and is cleaned up automatically by a 4h TTL.
|
|
165
168
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
169
|
+
Use checkpoints only when `context_save` and `context_get` are explicitly
|
|
170
|
+
present in the active session's tool list. If unavailable, do not attempt a
|
|
171
|
+
checkpoint or guess a session ID; carry the handoff in the normal response.
|
|
172
|
+
|
|
173
|
+
When available, call `context_save` with `content=JSON.stringify(state)` and an
|
|
174
|
+
explicit `session_id`. A successful save needs no immediate `context_get`; read
|
|
175
|
+
only when resuming or when the save result is uncertain. Reuse the same session
|
|
176
|
+
ID so the `latest` pointer survives compaction. `state` must be an object — never pass a bare string as `content`: its
|
|
177
|
+
`goal`/`phase`/`delegations`/`heartbeat` values are objects and `tail` is an array.
|
|
178
|
+
`goal` is optional; when unset, omit the key rather than passing a string placeholder.
|
|
170
179
|
|
|
171
180
|
### Heartbeat Check
|
|
172
|
-
-
|
|
173
|
-
- Write a heartbeat after
|
|
181
|
+
- Check heartbeat only when checkpoint tools are available and the workflow needs a durable resume.
|
|
182
|
+
- Write a heartbeat after anti-stall recovery only when the current session exposes checkpoint tools.
|
|
174
183
|
|
|
175
184
|
### Checkpoint Rules
|
|
176
|
-
1. Save
|
|
177
|
-
2. Include current phase
|
|
178
|
-
3. On resume
|
|
185
|
+
1. Save checkpoints only for long-running/multi-phase work, context-loss risk, or substantive parallel work — not a one-off command or bounded fix
|
|
186
|
+
2. Include current phase and remaining tasks when a checkpoint is warranted
|
|
187
|
+
3. On resume, read the latest checkpoint only with a known session ID; otherwise request the missing handoff context.
|
|
179
188
|
|
|
180
189
|
> Do not create `heartbeat.json`, `checkpoint-<N>.json`, or `session.json` under
|
|
181
190
|
> `.pantheon/deepwork/`. That file-based mechanism is retired — TTL handles cleanup, and reading
|
|
@@ -189,10 +198,10 @@ Configurable gates for different platforms and risk levels:
|
|
|
189
198
|
|
|
190
199
|
| Gate | Default | Auto-Approval Condition |
|
|
191
200
|
|------|---------|------------------------|
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
201
|
+
| Council | Only when explicitly invoked | Never auto-start a council for ordinary implementation |
|
|
202
|
+
| Plan approval | Only for requested or risk-required plans | Skip for bounded, clear work |
|
|
203
|
+
| Themis review | Required for sensitive/material changes | May omit for trivial isolated edits; never auto-bypass required findings |
|
|
204
|
+
| Git / external actions | Never Auto | Commit, push, merge, deploy, destructive/global changes require explicit approval |
|
|
196
205
|
| Deploy | Always Ask | N/A — always requires human |
|
|
197
206
|
| Destructive DB Ops | Always Ask | N/A — always requires human |
|
|
198
207
|
|
|
@@ -205,8 +214,8 @@ auto-continue:
|
|
|
205
214
|
idle_stall: 120 # seconds before stall detection
|
|
206
215
|
idle_pause: 300 # seconds before auto-pause
|
|
207
216
|
gates:
|
|
208
|
-
plan_approval:
|
|
209
|
-
themis_review:
|
|
217
|
+
plan_approval: when_required_by_scope_or_risk
|
|
218
|
+
themis_review: required_for_sensitive_or_material_changes
|
|
210
219
|
git_commit: never_auto
|
|
211
220
|
deploy: always_ask
|
|
212
221
|
destructive_ops: always_ask
|
|
@@ -52,11 +52,11 @@ biome check --write --unsafe <files>
|
|
|
52
52
|
- [ ] Proper file sizes (<300 lines)
|
|
53
53
|
|
|
54
54
|
### Testing
|
|
55
|
-
- [ ]
|
|
56
|
-
- [ ]
|
|
57
|
-
- [ ] Integration tests
|
|
58
|
-
- [ ]
|
|
59
|
-
- [ ]
|
|
55
|
+
- [ ] Tests cover the changed behavior where meaningful; documentation/format-only changes do not need invented tests
|
|
56
|
+
- [ ] Apply an explicit repository coverage threshold only when measurable and relevant to the changed code
|
|
57
|
+
- [ ] Integration tests where the change crosses workflow boundaries
|
|
58
|
+
- [ ] Relevant edge cases tested for the changed behavior/risk
|
|
59
|
+
- [ ] Relevant error conditions tested
|
|
60
60
|
|
|
61
61
|
### Security (OWASP Top 10)
|
|
62
62
|
- [ ] Input validation present
|