acstack 0.49.1 → 0.50.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 (41) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +27 -35
  3. package/agents/codex/frontend-verifier.toml +8 -5
  4. package/agents/codex/task-checker.toml +43 -173
  5. package/agents/codex/task-executor.toml +18 -88
  6. package/agents/codex/test-writer.toml +18 -26
  7. package/agents/frontend-verifier.md +8 -5
  8. package/agents/task-checker.md +43 -173
  9. package/agents/task-executor.md +18 -88
  10. package/agents/test-writer.md +18 -26
  11. package/assets/terminal-workspace/lib/commands.sh +7 -0
  12. package/assets/terminal-workspace/lib/pi-packages.sh +29 -0
  13. package/assets/terminal-workspace/pi/acstack-question-blocked.ts +31 -0
  14. package/assets/terminal-workspace/setup.sh +1 -0
  15. package/cli/dist/index.js +0 -2
  16. package/cli/dist/index.js.map +2 -2
  17. package/cli/package.json +1 -1
  18. package/docs/config-reference.md +31 -50
  19. package/docs/terminal-workspace.md +10 -1
  20. package/docs/workflows.md +28 -66
  21. package/orchestrator/AGENTS.md +144 -271
  22. package/package.json +1 -1
  23. package/pi/agents/frontend-verifier.md +8 -5
  24. package/pi/agents/task-checker.md +43 -173
  25. package/pi/agents/task-executor.md +20 -88
  26. package/pi/agents/test-writer.md +18 -26
  27. package/skills/browser-verify/SKILL.md +2 -2
  28. package/skills/grilling/SKILL.md +9 -10
  29. package/skills/implement/SKILL.md +23 -90
  30. package/skills/implement/decision-log.md +1 -1
  31. package/skills/implement/design-pass.md +159 -21
  32. package/skills/map/SKILL.md +4 -7
  33. package/skills/pre-commit-review/SKILL.md +24 -24
  34. package/skills/pre-commit-review/auto-fix.md +1 -1
  35. package/skills/pre-commit-review/interactive.md +1 -1
  36. package/skills/quick-fix/SKILL.md +20 -22
  37. package/skills/setup/SKILL.md +2 -2
  38. package/skills/setup/first-run.md +3 -12
  39. package/skills/setup/report.md +5 -10
  40. package/skills/setup/row-fixes.md +3 -6
  41. package/skills/implement/relaxed-tdd.md +0 -28
@@ -166,11 +166,11 @@ Add three options at the end of the list, whatever the check reported:
166
166
  So this option is the only way one of them reaches a question.
167
167
 
168
168
  - **Change one setting** – for a key the check has no opinion about, such as
169
- `workflow.tdd.strict`. Point the user at `docs/config-reference.md`, which
169
+ `workflow.maps.persist`. Point the user at `docs/config-reference.md`, which
170
170
  lists every key, its values and its default. Then write the key:
171
171
 
172
172
  ```bash
173
- ~/.claude/acstack/bin/acstack config set workflow.tdd.strict false
173
+ ~/.claude/acstack/bin/acstack config set workflow.maps.persist true
174
174
  ```
175
175
 
176
176
  Do not restate the reference here.
@@ -18,7 +18,7 @@ Profile: [detected]
18
18
  Directories: src/, tests/
19
19
  Commands: [from profile]
20
20
  Frontend: [if applicable]
21
- Workflow: strict TDD, strict orchestrator, spec sync on, grilling via question tool
21
+ Workflow: adaptive verification, spec sync on, grilling via question tool
22
22
  ```
23
23
 
24
24
  ## Step 4: Ask what to customise
@@ -46,8 +46,6 @@ numbered list. It holds two questions in one call:
46
46
  "multiSelect": true,
47
47
  "options": [
48
48
  {"label": "Grilling", "description": "How grilling asks its questions – a question tool (default) or plain prose"},
49
- {"label": "TDD strictness", "description": "Relaxed writes the tests after the code; all three phases still run"},
50
- {"label": "Orchestrator", "description": "Allow direct code work instead of subagent delegation"},
51
49
  {"label": "Spec sync", "description": "Disable automatic spec sync on commit"}
52
50
  ]
53
51
  }
@@ -71,17 +69,10 @@ user did not select.
71
69
  - **Grilling** – ask `tool`, the host's question tool, against `inline` prose.
72
70
  Recommend `tool`. It writes `workflow.grilling.questions`.
73
71
 
74
- - **TDD strictness** – ask strict against relaxed, and write
75
- `workflow.tdd.strict`.
72
+ - Apply the shared Implementation discipline in `orchestrator/AGENTS.md` without adding workflow switches
73
+ - Do not offer or generate the deprecated TDD booleans
76
74
 
77
- Strict runs the test-writer first, so the tests exist before the code.
78
- Relaxed runs the task-executor first and the test-writer after it. Relaxed
79
- drops no phase, and all three agents run under both.
80
75
 
81
- Recommend strict, because the relaxed test-writer works beside an
82
- implementation it must not read.
83
-
84
- - **Orchestrator** – ask strict against relaxed.
85
76
  - **Spec sync** – ask enabled against disabled.
86
77
  - **Python venv** – ask the activation command. Ask it only for a Python profile.
87
78
 
@@ -13,8 +13,7 @@ Profile: [profile]
13
13
  Source: [source dir]
14
14
  Tests: [tests dir]
15
15
  Grilling: [question tool/inline prose]
16
- TDD: [strict/relaxed]
17
- Orchestrator: [strict/relaxed]
16
+ Verification: adaptive (shared Implementation discipline)
18
17
  Spec sync: [enabled/disabled]
19
18
  Frontend: [configured/not configured]
20
19
  Browser: [project's preferred mode / not configured]
@@ -30,14 +29,10 @@ Health check: [n] pass, [n] fail, [n] info
30
29
  Next: describe what you want to build, or run /acstack:bootstrap for existing code.
31
30
  ```
32
31
 
33
- Fill the `Host:` line and the `Orchestrator:` line from two different sources.
34
- `Orchestrator:` is this project's delegation policy, read from
35
- `workflow.tdd.orchestrator_strict` in `acstack/project.yaml`. It says whether
36
- the coordinator may write code itself. `Host:` is about the machine. It names
37
- which tool owns terminal panes and git worktrees, and which browser modes work
38
- here.
39
-
40
- The `host` skill declares both, and the global config holds them.
32
+ - Fill `Host:` from the machine declarations in global config
33
+ - The `host` skill owns terminal panes, worktrees, and available browser modes
34
+ - Existing deprecated workflow booleans do not control verification or delegation, including explicit `true`
35
+ - Do not rewrite existing configuration merely because it contains those keys
41
36
 
42
37
  Fill `Workspace:` from `host.terminal_workspace`: `yes` on `true`, `declined` on
43
38
  `false`, and `not asked` when it is unset.
@@ -50,13 +50,10 @@ frontend and has not turned browser verification on. Turn it on:
50
50
  read it. Without it, every path through spec sync skips in silence, and the
51
51
  living specs never update.
52
52
 
53
- Launch a **read-only codebase-search subagent** over `directories.source` to propose domains.
54
- Use `Explore` on Claude Code and `scout` on pi.
53
+ Investigate `directories.source` directly or through useful delegation under the shared Implementation discipline in `orchestrator/AGENTS.md`.
54
+ Propose top-level functional areas with a kebab-case name, their paths, and one line saying what each owns.
55
55
 
56
- Ask it for the top-level functional areas.
57
- Ask for a kebab-case name, the paths that belong to it, and one line saying what it owns.
58
-
59
- Guidance for the subagent:
56
+ Guidance for the proposal:
60
57
 
61
58
  - Group by responsibility, not by layer. Use `auth`, `billing` and `search`,
62
59
  never `models`, `controllers` and `utils`.
@@ -1,28 +0,0 @@
1
- # Relaxed TDD
2
-
3
- This file holds what changes in step 5 of `SKILL.md` when
4
- `acstack/project.yaml` sets `workflow.tdd.strict: false`. Read it only then.
5
-
6
- `workflow.tdd.strict: false`, relaxed TDD, runs step 2 before step 1. It
7
- skips nothing. Relaxed TDD means nobody writes the tests first, and the
8
- first three subagents still run.
9
-
10
- The frontend-verifier's gate is the same under either setting.
11
-
12
- The format step stays immediately before the checker, so under relaxed
13
- it formats the new tests as well.
14
-
15
- Relaxed costs the test-writer some of its independence, and you state that
16
- cost rather than hide it. The implementation already sits in the working
17
- tree when the test-writer runs. Tell it to write the tests from the node's
18
- requirements, and to leave the implementation unread.
19
-
20
- Under strict there is no implementation for it to read, which is the
21
- stronger guarantee.
22
-
23
- The checker's gate moves with the setting. Under `true` the new tests failed
24
- before the executor and pass after it.
25
-
26
- Under `false` nothing can show them failing without the implementation. The
27
- checker then holds the new tests to existing and passing. It holds the full
28
- suite to passing, and the test count to not dropping.