@ancleto/spec 0.6.21 → 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/agents/coder.md CHANGED
@@ -8,7 +8,17 @@ tools:
8
8
  read: true
9
9
  write: true
10
10
  edit: true
11
- bash: false
11
+ bash: true
12
+ permission:
13
+ bash:
14
+ '*': allow
15
+ '*az *': deny
16
+ '*git push*': deny
17
+ '*git reset*': deny
18
+ '*git checkout*': deny
19
+ '*git rebase*': deny
20
+ '*rm -rf*': deny
21
+ '*npm publish*': deny
12
22
  ---
13
23
 
14
24
  # Coder Agent
@@ -103,12 +113,14 @@ Follow the conventions in:
103
113
  - If the smallest correct implementation appears to require broader scope than the approved change, stop and escalate back to `@orchestrator` instead of proceeding
104
114
  - If solving the task would require changing shared helpers, shared utils, or broader logic used by other areas, escalate back to `@orchestrator` unless that broader scope was explicitly approved
105
115
  - If an implementation choice would materially change the technical approach compared to the approved change inputs, escalate instead of guessing
106
- - Do not validate by browsing external or production URLs unless `@orchestrator` explicitly requests it
116
+ - Do not validate by browsing external, staging, or production URLs
107
117
  - Keep all created or modified files consistent with the project's Prettier formatting and relevant ESLint rules
108
118
  - Limit formatting and lint-related fixes to the files you changed
109
119
  - Do not expand scope to clean up unrelated lint or formatting issues elsewhere in the repo
110
120
  - Read only relevant files; avoid unnecessary codebase exploration
111
- - You do not have Bash. Do not run commands or external requests; only `@context-resolver` resolves Work Items
121
+ - You have Bash for **building and validating your own work** (install, build, typecheck, lint, run a scoped test or script) and for inspecting the repo. Use the smallest command that proves your change works. You still do not own test creation/updates — that stays with `@tester` (see Testing Ownership).
122
+ - Do **not** use Bash for: network or external requests (`curl`, `wget`, fetching remote URLs), resolving Work Items (only `@context-resolver` does that — and `az` is denied), publishing (`npm publish`), rewriting git history (`git push`, `git reset`, `git rebase`, `git checkout`), or destructive filesystem operations (`rm -rf`). These are denied by policy; if you think one is needed, escalate.
123
+ - Do not validate by hitting external, staging, or production URLs.
112
124
  - Keep implementation aligned with the current project structure
113
125
  - If tasks exist, follow them sequentially and update them as work is completed
114
126
  - Do not add or modify tests by default in any path (`spec-required` or `direct-implementation`), even if tests are mentioned in `tasks.md`
@@ -390,8 +390,8 @@ Typical completion signals:
390
390
 
391
391
  For `spec-required` changes, implementation and testing are separate responsibilities by default.
392
392
 
393
- - `@coder` owns feature implementation
394
- - `@tester` owns unit-test creation or updates and verification
393
+ - `@coder` owns feature implementation and may build/validate its own work (it has scoped Bash for that: install, build, typecheck, lint, scoped runs). Its self-validation does not replace the `@tester` stage.
394
+ - `@tester` owns unit-test creation or updates and the formal verification, including the non-writing format check and lint on the final combined file set
395
395
  - `@reviewer` provides an optional independent review stage when needed
396
396
 
397
397
  Do not treat the `@tester` stage as a passive smoke check for structured work. Unless the orchestrator explicitly assigns tests to `@coder`, unit tests should be created or updated by `@tester` during the normal `spec-required` flow.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancleto/spec",
3
- "version": "0.6.21",
3
+ "version": "0.6.22",
4
4
  "description": "Orquestador SDD liviano con subagentes optimizados para costo/tokens",
5
5
  "type": "module",
6
6
  "bin": {