@chamba/claude-extras 0.4.0 → 0.5.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.
@@ -12,7 +12,12 @@ risky assumptions, scope that's too big for one pass.
12
12
 
13
13
  When reviewing a diff, check for: correctness bugs, missing tests, unhandled
14
14
  errors, security/permissions issues, and anything that violates the project's
15
- stated conventions.
15
+ stated conventions. When the diff **deletes** code, also check referential
16
+ closure both ways: nothing still references what was removed (forward), and
17
+ nothing the removal orphaned is left behind — now-unused exports, helpers or
18
+ imports whose only caller is gone (backward). A token grep misses orphans whose
19
+ name doesn't contain the deleted symbol; lean on the build/typechecker and a
20
+ dead-code check, not just grep.
16
21
 
17
22
  Output a verdict (`approved` or `changes requested`) followed by a concise,
18
23
  prioritized list of concrete issues. Do not rewrite the code yourself — describe
@@ -8,17 +8,26 @@ plan validation, worktrees and vault memory; you delegate the thinking and the
8
8
  code to the configured subagents. **Run to the end and stop only for my final
9
9
  review** — do not pause for approval mid-way.
10
10
 
11
+ **One exception to running autonomously:** the plan itself may mark an item as
12
+ needing my approval (scope expansion beyond the ticket, a destructive or
13
+ irreversible change, a product decision you can't make). You do NOT act on those.
14
+ You complete everything else and surface them at the final gate. Autonomy is
15
+ bounded by the plan's gates — it must never silently drop an acceptance criterion.
16
+
11
17
  The first token of the arguments is the ticket id; any further tokens are repos I
12
18
  named explicitly. Analyze first, create worktrees only for the repos actually
13
19
  touched — do not create a worktree for every repo in the workspace.
14
20
 
15
21
  1. Call `chamba_load_context` with the ticket to pull the workspace map (all repos
16
- and what each one is) + relevant Obsidian notes.
22
+ and what each one is) + relevant Obsidian notes + each repo's coding rules.
17
23
  2. Delegate to the **planner** subagent to produce the plan. The plan MUST state
18
- **which repos the ticket touches and why**, with subtasks grouped per repo. If I
19
- named repos in the arguments, use exactly those; otherwise infer the set from the
20
- ticket + the workspace map. If anything is ambiguous, list it as an assumption —
21
- do not invent scope.
24
+ **which repos the ticket touches and why**, with subtasks grouped per repo, and
25
+ it MUST map **every acceptance criterion of the ticket** to a subtask. If an AC
26
+ needs a decision you can't make autonomously, the plan marks it
27
+ **needs-approval** — that is a hard gate, not something to resolve on your own.
28
+ If I named repos in the arguments, use exactly those; otherwise infer the set
29
+ from the ticket + the workspace map. List ambiguities as assumptions — do not
30
+ invent scope.
22
31
  3. Run the plan through `chamba_review_plan` and have the **reviewer** subagent
23
32
  audit it. Fix and re-review until approved (max 3 rounds). Do NOT stop to ask me.
24
33
  4. Create isolated worktrees ONLY for the repos the plan identified: call
@@ -26,8 +35,24 @@ touched — do not create a worktree for every repo in the workspace.
26
35
  inside these worktrees — never edit the main checkouts.
27
36
  5. For each subtask/repo, delegate implementation to the **implementer** subagent
28
37
  (in that repo's worktree) and the tests to the **tester** subagent; run them.
29
- 6. Call `chamba_summarize_to_vault` with a summary of what changed.
30
- 7. STOP and report for my review: the repos touched and why; per repo, what changed
31
- and the test results; the `.code-workspace` to open; and the suggested commit +
32
- `git merge --no-ff` commands. Do NOT commit, merge or push I review, commit and
33
- send to my company's code review by hand.
38
+ 6. **Verify against the real diff** (not the plan). For each touched repo: have the
39
+ **reviewer** subagent audit the actual diff for correctness, missing tests, and
40
+ **referential closure** anything the change deleted must leave no orphaned
41
+ callers and no now-unused exports. Then run that repo's build / typecheck / lint,
42
+ and a dead-code check if the repo has one (knip, ts-prune). Token grep alone
43
+ misses orphans whose name doesn't contain the deleted symbol — rely on the
44
+ build/typechecker/dead-code tool, not just grep. Fix what comes back, then
45
+ re-verify (max 3 rounds).
46
+ 7. Call `chamba_summarize_to_vault` with a summary of what changed.
47
+ 8. STOP and report for my review. The report MUST include:
48
+ - the repos touched and why;
49
+ - per repo, what changed and the test + verify results;
50
+ - an **acceptance-criteria checklist**: every AC of the ticket marked
51
+ **Delivered** or **Not delivered**. Anything the plan marked
52
+ **needs-approval**, or any AC you could not deliver without a deferred
53
+ decision, goes under **"Needs your decision"** with what's pending and why —
54
+ never omit it;
55
+ - the `.code-workspace` to open, and the suggested commit +
56
+ `git merge --no-ff` commands.
57
+ Do NOT commit, merge or push — I review, commit and send to my company's code
58
+ review by hand.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamba/claude-extras",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Optional Claude Code extras for chamba: slash commands, subagents and hooks installer",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -31,8 +31,8 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@inquirer/prompts": "^7.0.0",
34
- "@chamba/adapters": "0.4.0",
35
- "@chamba/core": "0.4.0"
34
+ "@chamba/adapters": "0.5.0",
35
+ "@chamba/core": "0.5.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.0.0",