opencode-codeops 1.8.1 → 1.10.0

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 (61) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +18 -0
  3. package/_shared/quality-profile.md +9 -0
  4. package/_shared/reasoning-effort.md +135 -0
  5. package/_shared/workspace-hygiene.md +53 -0
  6. package/agent-templates/codebase-scout.md +6 -0
  7. package/agent-templates/concurrency-auditor.md +7 -0
  8. package/agent-templates/design-challenger.md +6 -0
  9. package/agent-templates/domain-specialist-executor.md +6 -0
  10. package/agent-templates/domain-specialist-reviewer.md +6 -0
  11. package/agent-templates/financial-integrity-auditor.md +7 -0
  12. package/agent-templates/perf-auditor.md +6 -0
  13. package/agent-templates/phase-reviewer.md +6 -0
  14. package/agent-templates/plan-task-executor-opus.md +6 -0
  15. package/agent-templates/plan-task-executor.md +6 -0
  16. package/agent-templates/preflight-auditor.md +6 -0
  17. package/agent-templates/security-auditor.md +6 -0
  18. package/agent-templates/semantics-reviewer.md +7 -0
  19. package/agent-templates/spec-test-author.md +6 -0
  20. package/agents/concurrency-auditor.md +7 -0
  21. package/agents/correctness-reviewer.md +6 -0
  22. package/agents/demanding-executor.md +6 -0
  23. package/agents/design-challenger.md +6 -0
  24. package/agents/executor.md +6 -0
  25. package/agents/explorer.md +6 -0
  26. package/agents/financial-integrity-auditor.md +7 -0
  27. package/agents/performance-auditor.md +6 -0
  28. package/agents/preflight-auditor.md +6 -0
  29. package/agents/security-auditor.md +6 -0
  30. package/agents/semantics-reviewer.md +7 -0
  31. package/agents/spec-test-author.md +6 -0
  32. package/bin/lib/reasoning-effort.d.mts +85 -0
  33. package/bin/lib/reasoning-effort.mjs +331 -0
  34. package/bin/lib/tmp-hygiene.d.mts +38 -0
  35. package/bin/lib/tmp-hygiene.mjs +180 -0
  36. package/package.json +1 -1
  37. package/plugin/index.ts +146 -3
  38. package/scripts/__pycache__/install_agents.cpython-312.pyc +0 -0
  39. package/scripts/codeops_effort.py +216 -0
  40. package/scripts/fixtures/catalog-executor.golden.md +6 -0
  41. package/skills/analyze-project/SKILL.md +8 -0
  42. package/skills/clean-comments/SKILL.md +8 -0
  43. package/skills/exec-plan/SKILL.md +21 -0
  44. package/skills/exec-plan/execution-protocol.md +52 -7
  45. package/skills/git-commit/SKILL.md +11 -2
  46. package/skills/github-issues/SKILL.md +8 -0
  47. package/skills/grill-me/SKILL.md +18 -0
  48. package/skills/make-plan/SKILL.md +25 -0
  49. package/skills/make-plan/templates.md +2 -0
  50. package/skills/make-requirements/SKILL.md +18 -0
  51. package/skills/outcome-review/SKILL.md +8 -0
  52. package/skills/preflight/SKILL.md +18 -0
  53. package/skills/retro-requirements/SKILL.md +18 -0
  54. package/skills/roadmap/SKILL.md +8 -0
  55. package/skills/setup-codeops/SKILL.md +8 -0
  56. package/skills/setup-routing/SKILL.md +10 -0
  57. package/skills/setup-routing/routing.md +16 -1
  58. package/skills/techdocs/SKILL.md +8 -0
  59. package/skills/upgrade-plan/SKILL.md +18 -0
  60. package/standards/coding-standards-full.md +19 -0
  61. package/standards/coding-standards.md +6 -0
@@ -24,6 +24,16 @@ If `$ARGUMENTS` contains exactly one exact standalone `--explore-scope` token be
24
24
  do not report or plan optional additions. Exploration may propose `SE-*` items but
25
25
  never accepts them; only the user may choose `Keep`.
26
26
 
27
+ ## Auto-effort option
28
+
29
+ If `$ARGUMENTS` contains exactly one exact standalone `--auto-effort` or `--auto-effort=<level>`
30
+ token before the first `--` sentinel, remove it before resolving targets, paths, or modes; zero
31
+ occurrences means this skill's recommended level (`high`) is printed as a suggestion only, more
32
+ than one or an invalid level is an argument error; announce
33
+ `Auto-effort active — reasoning <level> applied for this run`; then read and apply
34
+ [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md) §Auto-effort option. The
35
+ run clears the level before its final summary.
36
+
27
37
  ## Plan readiness proof
28
38
 
29
39
  A plan is not ready merely because its documents exist. Before presenting it as executable,
@@ -106,6 +116,7 @@ Mini-plan shape:
106
116
 
107
117
  > **Type**: Task (lightweight) · **Feature**: search · **CodeOps Artifact Schema**: 1
108
118
  > **Progress**: 0/3 tasks (0%)
119
+ > **Reasoning**: medium — bounded UI change reusing existing patterns
109
120
 
110
121
  ## Objective
111
122
  Debounce the search box to 300ms to cut redundant queries.
@@ -121,6 +132,12 @@ shared debounce subsystem.
121
132
  **Verify**: [project verify command]
122
133
  ```
123
134
 
135
+ Every phase and every task mini-plan carries the same advisory
136
+ `> **Reasoning**: <level> — <reason>` line. Derive the level from the signals the plan already
137
+ records, using [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md) §Plan
138
+ suggestion derivation, and keep the reason a short plain-language phrase. The line is a
139
+ suggestion: no gate reads it, deleting it is valid, and its absence means "inherit".
140
+
124
141
  Everything below is the **full feature** pipeline; skip it for tasks.
125
142
 
126
143
  ## Project configuration
@@ -282,3 +299,11 @@ See the **roadmap skill** for the full Roadmap Keeper protocol.
282
299
  - **upgrade-plan skill** — upgrades outdated plans; the gate applies to new decisions only.
283
300
  - **techdocs skill** — architecture docs read during Phase 1.2 and updated during execution.
284
301
  - For coding, testing, and git standards, follow **your project's coding standards (AGENTS.md)** and use **git-commit skill** / **git-commit skill in push mode** for commits.
302
+
303
+ ---
304
+
305
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
306
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
307
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
308
+ > another session's temporary files. Full rules:
309
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -458,6 +458,8 @@ task-size criteria in [quality-checklist.md](quality-checklist.md))
458
458
  > committed, staged, unstaged, and untracked phase-start state)_
459
459
  > **Lenses**: [add-on lenses — include this line only when the target repo carries a quality
460
460
  > profile; informational: activation stays profile-driven]
461
+ > **Reasoning**: [advisory level — `low`, `medium`, `high`, or `max`, with a one-line reason;
462
+ > derivation in `../../_shared/reasoning-effort.md` §Plan suggestion derivation]
461
463
 
462
464
  ### Step 1.1: [Step Objective]
463
465
 
@@ -27,6 +27,16 @@ requirements decisions under that policy and propagate its downward-only context
27
27
  invoked supported children; an unsupported child fails closed. This mode does not grant action permission or scope expansion. **Normal mode:** without the exact token, every material choice
28
28
  still requires an explicit user decision; historical delegated records must not infer delegated authority.
29
29
 
30
+ ## Auto-effort option
31
+
32
+ If `$ARGUMENTS` contains exactly one exact standalone `--auto-effort` or `--auto-effort=<level>`
33
+ token before the first `--` sentinel, remove it before resolving targets, paths, or modes; zero
34
+ occurrences means this skill's recommended level (`high`) is printed as a suggestion only, more
35
+ than one or an invalid level is an argument error; announce
36
+ `Auto-effort active — reasoning <level> applied for this run`; then read and apply
37
+ [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md) §Auto-effort option. The
38
+ run clears the level before its final summary.
39
+
30
40
  Transform a rough project idea into a structured, complete set of formal
31
41
  **requirement documents (RDs)**. This skill is upstream of, and independent
32
42
  from, the make-plan skill — neither requires the other.
@@ -268,3 +278,11 @@ comparable systems → key discovery focus is in **`discovery-phases.md`**.
268
278
  - the upgrade-plan skill — upgrading outdated requirements (upgrade_requirements)
269
279
  - the roadmap skill — sync each newly drafted RD to stage `RD Drafted`
270
280
  - Read the project's AGENTS.md (or detected project conventions) for project-specific constraints
281
+
282
+ ---
283
+
284
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
285
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
286
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
287
+ > another session's temporary files. Full rules:
288
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -32,3 +32,11 @@ Outcome evidence is opt-in, local, and content-free. Invocation counts are not q
32
32
  6. Present the smallest change likely to improve the measured outcome and define how to evaluate it.
33
33
 
34
34
  Never upload or quote project content from the outcome store.
35
+
36
+ ---
37
+
38
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
39
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
40
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
41
+ > another session's temporary files. Full rules:
42
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -33,6 +33,16 @@ If `$ARGUMENTS` contains exactly one exact standalone `--explore-scope` token be
33
33
  do not report optional additions as findings or suggestions. Exploration records them
34
34
  as separate `SE-*` proposals; finding resolution never chooses `Keep`.
35
35
 
36
+ ## Auto-effort option
37
+
38
+ If `$ARGUMENTS` contains exactly one exact standalone `--auto-effort` or `--auto-effort=<level>`
39
+ token before the first `--` sentinel, remove it before resolving targets, paths, or modes; zero
40
+ occurrences means this skill's recommended level (`high`, or `max` with `--thorough`) is printed
41
+ as a suggestion only, more than one or an invalid level is an argument error; announce
42
+ `Auto-effort active — reasoning <level> applied for this run`; then read and apply
43
+ [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md) §Auto-effort option. The
44
+ run clears the level before its final summary.
45
+
36
46
  Run a rigorous quality audit of the artifact named in `$ARGUMENTS`, **grounded in the actual
37
47
  codebase**. Find every issue, ambiguity, contradiction, gap, and risk; verify every claim and
38
48
  assumption against the real code; present each finding with options + a recommendation; iterate
@@ -308,3 +318,11 @@ checklist. Full safeguards in [report-format.md](report-format.md).
308
318
  **Standalone:** when used without a follow-up, finish the scan + resolution, present the final
309
319
  status, then ask the user what to do next (apply fixes, create a plan, start execution, or review
310
320
  specific findings).
321
+
322
+ ---
323
+
324
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
325
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
326
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
327
+ > another session's temporary files. Full rules:
328
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -20,6 +20,16 @@ description: >-
20
20
 
21
21
  > **CodeOps Artifact Schema**: 1
22
22
 
23
+ ## Auto-effort option
24
+
25
+ If `$ARGUMENTS` contains exactly one exact standalone `--auto-effort` or `--auto-effort=<level>`
26
+ token before the first `--` sentinel, remove it before resolving targets, paths, or modes; zero
27
+ occurrences means this skill's recommended level (`high`) is printed as a suggestion only, more
28
+ than one or an invalid level is an argument error; announce
29
+ `Auto-effort active — reasoning <level> applied for this run`; then read and apply
30
+ [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md) §Auto-effort option. The
31
+ run clears the level before its final summary.
32
+
23
33
  Analyze an existing codebase — any language, any framework — and produce a
24
34
  structured **reconstruction brief** that can be fed to the make-requirements
25
35
  skill to generate formal requirement documents capable of rebuilding the entire
@@ -216,3 +226,11 @@ mapping is in **`phases.md`**.
216
226
  - the make-requirements skill — consumes `09-reconstruction-brief.md` to produce formal RDs (downstream; this brief is its input)
217
227
  - the make-plan skill — turns RDs into implementation plans (rebuild pipeline)
218
228
  - your project's coding/testing standards (AGENTS.md) — code-quality and test patterns to reference while analyzing
229
+
230
+ ---
231
+
232
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
233
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
234
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
235
+ > another session's temporary files. Full rules:
236
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -379,3 +379,11 @@ only facts you can read — do not invent settings.
379
379
  - Related skills: requirements (`RD Drafted` hook), preflight (`RD/Plan Preflighted`
380
380
  hooks), make-plan (`Plan Created` hook + linking), exec-plan (`Executing` / `Done` /
381
381
  `Blocked` hooks).
382
+
383
+ ---
384
+
385
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
386
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
387
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
388
+ > another session's temporary files. Full rules:
389
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -92,3 +92,11 @@ on), present only **genuinely viable** options, second-guessed and grounded in w
92
92
  actually reported, and lead with a recommendation. The user decides; never apply a migration
93
93
  without an explicit confirmation (or `--yes`). For consequential choices, apply the
94
94
  recommendation-hardening protocol (`_shared/recommendation-hardening.md`).
95
+
96
+ ---
97
+
98
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
99
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
100
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
101
+ > another session's temporary files. Full rules:
102
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -50,6 +50,8 @@ Present:
50
50
 
51
51
  - detected domains and concrete evidence;
52
52
  - phase tag → capability/effort policy;
53
+ - reasoning-effort defaults per role when risk signals justify them (see
54
+ [routing.md](routing.md) §Reasoning effort policy);
53
55
  - required specialist reviewers;
54
56
  - proposed concurrency limit;
55
57
  - whether custom TOML agents add value over dynamic packets; and
@@ -114,3 +116,11 @@ python3 "${CODEOPS_PLUGIN_ROOT}/scripts/install_agents.py" --project . --check
114
116
  ```
115
117
 
116
118
  Report configured roles, model pins if any, read-only roles, fallbacks, and unresolved capability gaps.
119
+
120
+ ---
121
+
122
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
123
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
124
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
125
+ > another session's temporary files. Full rules:
126
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -27,7 +27,7 @@ CodeOps routing lives under the optional `routing` and `quality` fields in `code
27
27
 
28
28
  Allowed effort values follow the active OpenCode release. Prefer `medium` for bounded reconnaissance, `high` for correctness/security review, and higher supported levels only for genuinely demanding semantic or architectural work.
29
29
 
30
- An optional per-role `reasoning` field sets the provider reasoning-effort passthrough (`none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`). Generated project specialists default to `max` through their brief or the embedded `reasoningEffort`; a routing value wins over the brief. A model that rejects the option is overridden here — there is no automatic provider-capability detection.
30
+ An optional per-role `reasoning` field sets the provider reasoning-effort passthrough (`none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`). Generated project specialists default to `max` through their brief or the embedded `reasoningEffort`; a routing value wins over the brief and is embedded without provider-capability detection. At runtime the plugin applies a level only when the active model exposes a matching variant; an unsupported value leaves the request unchanged (see the policy below).
31
31
 
32
32
  ```json
33
33
  "roles": {
@@ -35,6 +35,21 @@ An optional per-role `reasoning` field sets the provider reasoning-effort passth
35
35
  }
36
36
  ```
37
37
 
38
+ ## Reasoning effort policy
39
+
40
+ A role's `reasoning` entry is a project default, not the only source. The runtime resolution
41
+ order is `dispatch marker > session auto-effort > routing role default > inherit parent variant`
42
+ (see [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md)). A dispatch marker
43
+ comes from an execution plan's per-phase suggestion; a session level comes from an explicit
44
+ `--auto-effort` run. Both override the routing default for their scope, and routing applies only
45
+ when a role entry exists — with no entry the child inherits the parent variant.
46
+
47
+ The suggestion vocabulary is `low`, `medium`, `high`, and `max`, while the routing field accepts
48
+ the wider provider enum (`none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`). The deepseek
49
+ flash model exposes `low`/`medium`/`high`/`max`; prefer `low` for mechanical work, `medium` for
50
+ bounded implementation, `high` for planning and review, and `max` only for adversarial analysis.
51
+ An unsupported value is skipped at runtime, so a routing entry never produces a provider error.
52
+
38
53
  Model pins are optional per role. When omitted, OpenCode resolves the model from the explicit spawn, project defaults, and parent session. A missing pin must never block the workflow.
39
54
 
40
55
  Reviewer selection is driven by risk tags:
@@ -197,3 +197,11 @@ auto-compacts context — no manual threshold handling is needed.)
197
197
  - [templates.md](templates.md) — all VitePress file templates (index, architecture/*, ADR log + ADR template, guides/*, reference/*). Read when writing any document in Phase 4.
198
198
  - [vitepress-setup.md](vitepress-setup.md) — Phase 3 install, `config.ts`, npm scripts, `.gitignore`, and sidebar auto-update. Read when scaffolding VitePress or adding pages.
199
199
  - [authoring-and-update.md](authoring-and-update.md) — Phase 5 authoring guidelines + Mermaid types, Phase 6 incremental/comprehensive update protocol with the Design Intent Preservation rule, and the review_techdocs health check. Read before authoring, before any auto-update, and for review_techdocs.
200
+
201
+ ---
202
+
203
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
204
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
205
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
206
+ > another session's temporary files. Full rules:
207
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -7,6 +7,16 @@ description: Upgrade an existing CodeOps requirements set, specification, plan,
7
7
 
8
8
  The current CodeOps artifact schema is `1`. Historical Claude CodeOps `3.x` stamps describe the producing skill release, not this schema. Treat them as legacy input requiring assessment, not as numeric predecessors of schema 1.
9
9
 
10
+ ## Auto-effort option
11
+
12
+ If `$ARGUMENTS` contains exactly one exact standalone `--auto-effort` or `--auto-effort=<level>`
13
+ token before the first `--` sentinel, remove it before resolving targets, paths, or modes; zero
14
+ occurrences means this skill's recommended level (`high`) is printed as a suggestion only, more
15
+ than one or an invalid level is an argument error; announce
16
+ `Auto-effort active — reasoning <level> applied for this run`; then read and apply
17
+ [../../_shared/reasoning-effort.md](../../_shared/reasoning-effort.md) §Auto-effort option. The
18
+ run clears the level before its final summary.
19
+
10
20
  ## Scope
11
21
 
12
22
  Upgrade content and structure in place. Layout moves belong to `setup-codeops`. Never combine a layout migration and semantic/schema upgrade into one irreversible operation.
@@ -73,3 +83,11 @@ approved drift repair; and the Git diff contains only the approved migration.
73
83
 
74
84
  Report old formats, new schema, files changed, ambiguities resolved, RD-to-plan coverage, preserved
75
85
  progress, and residual risk. Do not auto-advance lifecycle stages.
86
+
87
+ ---
88
+
89
+ > **Workspace hygiene (non-negotiable):** put every temporary artifact this run creates in
90
+ > `$CODEOPS_TMPDIR` (fallback: the OS temp directory), never in the repository, and delete them
91
+ > all before reporting completion. Never delete user files, versioned artifacts, worktrees, or
92
+ > another session's temporary files. Full rules:
93
+ > [_shared/workspace-hygiene.md](../../_shared/workspace-hygiene.md).
@@ -50,6 +50,25 @@ These apply to all code I write unless this project's `AGENTS.md` overrides a sp
50
50
  - **Prevent injection:** parameterized queries (never string-concatenate SQL/NoSQL), escape output / use framework auto-escaping (XSS), never pass unsanitized input to shells/`eval` (command injection), canonicalize and reject `..`/absolute paths (path traversal), anti-CSRF tokens + `SameSite` cookies, rate-limit auth endpoints.
51
51
  - **Protect data:** TLS in transit; encrypt sensitive data at rest; hash passwords with `bcrypt`/`argon2`/`scrypt`; never hardcode secrets (use env vars / secret managers); never log secrets or PII; return minimal errors in production; restrictive CORS; request-size limits; audit dependencies; run containers as non-root from minimal images.
52
52
 
53
+ # Workspace hygiene (NON-NEGOTIABLE)
54
+
55
+ - **Own your temporary artifacts.** Verification logs, diffs, patch files, commit-message files,
56
+ scratch directories, fixture trees, and downloaded artifacts are borrowed space. Put them under
57
+ `$CODEOPS_TMPDIR` when the CodeOps plugin exports it (one directory per session); otherwise use
58
+ the OS temp directory. Never write temporary files into the repository.
59
+ - **Delete at completion.** Before reporting any task, phase, or session complete, delete every
60
+ temporary artifact the run created — including verification logs. If the user asked for an
61
+ artifact to be kept, name its exact path and keep that file only.
62
+ - **Never delete what you do not own.** User files, repository content, versioned artifacts,
63
+ `codeops/` planning artifacts, and git worktrees are durable. Never touch another session's
64
+ temporary files, and never follow a symlink out of the temp root.
65
+ - **No secrets in temp files.** Do not write secrets into a temporary file; if one already holds a
66
+ secret, delete it and say so without printing its contents.
67
+ - **Report it.** The final summary states `Cleanup: done`, or names what was kept and why, or
68
+ reports a failed deletion with its path and reason.
69
+ - The canonical protocol, including the plugin's automatic safety net, is
70
+ `_shared/workspace-hygiene.md`.
71
+
53
72
  # Testing standards
54
73
 
55
74
  - **Run the project's verify command (build + test) before completing any task or committing.** No code is "done" while any test fails.
@@ -42,6 +42,12 @@ Do not duplicate these standards in `~/.config/opencode/AGENTS.md` — the plugi
42
42
  artifacts get validation too — see the full standards' validation-command table.
43
43
 
44
44
  # Working style
45
+ - **Cleanup after yourself (NON-NEGOTIABLE).** Put every temporary artifact you create — logs,
46
+ diffs, patches, commit-message files, scratch directories — under `$CODEOPS_TMPDIR` when it is
47
+ set (otherwise the OS temp directory), never inside the repository, and delete them all before
48
+ reporting a task complete. Never delete user files, versioned artifacts, worktrees, or another
49
+ session's temporary files. If something must outlive the task, name it and say why. Full rules:
50
+ `_shared/workspace-hygiene.md`.
45
51
  - **Ask before assuming**; **verify previous work** before building on it.
46
52
  - **Do not overengineer:** use the simplest implementation that fully satisfies the authorized
47
53
  requirements and existing project conventions. Do not add abstractions, layers, dependencies,