claude-dev-env 1.40.0 → 1.42.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 (66) hide show
  1. package/CLAUDE.md +9 -1
  2. package/_shared/pr-loop/scripts/_claude_permissions_common.py +231 -3
  3. package/_shared/pr-loop/scripts/config/claude_permissions_constants.py +56 -2
  4. package/_shared/pr-loop/scripts/config/claude_settings_keys_constants.py +2 -0
  5. package/_shared/pr-loop/scripts/grant_project_claude_permissions.py +173 -6
  6. package/_shared/pr-loop/scripts/post_audit_thread.py +2 -2
  7. package/_shared/pr-loop/scripts/revoke_project_claude_permissions.py +135 -14
  8. package/_shared/pr-loop/scripts/tests/test_agent_config_carveout.py +385 -0
  9. package/_shared/pr-loop/scripts/tests/test_claude_permissions_constants.py +33 -0
  10. package/_shared/pr-loop/scripts/tests/test_grant_project_claude_permissions.py +1 -1
  11. package/_shared/pr-loop/scripts/tests/test_revoke_project_claude_permissions.py +4 -2
  12. package/hooks/_gh_pr_author_swap_utils.py +1211 -0
  13. package/hooks/blocking/gh_body_arg_blocker.py +9 -6
  14. package/hooks/blocking/gh_pr_author_enforcer.py +480 -0
  15. package/hooks/blocking/gh_pr_author_restore.py +100 -0
  16. package/hooks/blocking/pr_converge_bugteam_enforcer.py +170 -0
  17. package/hooks/blocking/pr_description_enforcer.py +1 -3
  18. package/hooks/blocking/test_gh_body_arg_blocker.py +25 -3
  19. package/hooks/blocking/test_gh_pr_author_enforcer.py +1166 -0
  20. package/hooks/blocking/test_gh_pr_author_restore.py +512 -0
  21. package/hooks/blocking/test_gh_pr_author_swap_utils.py +910 -0
  22. package/hooks/blocking/test_pr_converge_bugteam_enforcer.py +311 -0
  23. package/hooks/config/gh_pr_author_swap_constants.py +76 -0
  24. package/hooks/config/pr_converge_bugteam_enforcer_constants.py +55 -0
  25. package/hooks/config/pr_converge_bugteam_enforcer_state.py +67 -0
  26. package/hooks/config/pr_description_enforcer_constants.py +5 -0
  27. package/hooks/config/test_pr_description_enforcer_constants.py +82 -0
  28. package/hooks/hooks.json +40 -0
  29. package/hooks/lifecycle/pr_converge_bugteam_skill_tracker.py +204 -0
  30. package/hooks/lifecycle/test_pr_converge_bugteam_skill_tracker.py +283 -0
  31. package/hooks/session/gh_pr_author_session_cleanup.py +171 -0
  32. package/hooks/session/test_gh_pr_author_session_cleanup.py +575 -0
  33. package/hooks/test__gh_pr_author_swap_utils.py +333 -0
  34. package/package.json +1 -1
  35. package/skills/_shared/pr-loop/scripts/write_audit_outcomes.py +2 -2
  36. package/skills/_shared/pr-loop/scripts/write_fix_outcomes.py +2 -2
  37. package/skills/bugteam/reference/audit-contract.md +22 -0
  38. package/skills/bugteam/reference/github-pr-reviews.md +1 -1
  39. package/skills/bugteam/scripts/_claude_permissions_common.py +109 -0
  40. package/skills/bugteam/scripts/bugteam_fix_hookspath.py +8 -2
  41. package/skills/bugteam/scripts/config/claude_permissions_common_constants.py +51 -2
  42. package/skills/bugteam/scripts/grant_project_claude_permissions.py +115 -4
  43. package/skills/bugteam/scripts/revoke_project_claude_permissions.py +69 -17
  44. package/skills/bugteam/scripts/test__claude_permissions_common.py +48 -0
  45. package/skills/bugteam/scripts/test_agent_config_carveout.py +356 -0
  46. package/skills/bugteam/scripts/test_claude_permissions_common.py +18 -10
  47. package/skills/implement/SKILL.md +66 -0
  48. package/skills/implement/scripts/append_note.py +133 -0
  49. package/skills/implement/scripts/config/__init__.py +0 -0
  50. package/skills/implement/scripts/config/notes_constants.py +12 -0
  51. package/skills/implement/scripts/test_append_note.py +191 -0
  52. package/skills/pr-converge/SKILL.md +8 -2
  53. package/skills/pr-converge/config/constants.py +7 -1
  54. package/skills/pr-converge/reference/state-schema.md +36 -8
  55. package/skills/pr-converge/scripts/check_bugbot_ci.py +1 -1
  56. package/skills/pr-converge/scripts/check_convergence.py +167 -28
  57. package/skills/pr-converge/scripts/check_pending_reviews.py +1 -1
  58. package/skills/pr-converge/scripts/conftest.py +60 -0
  59. package/skills/pr-converge/scripts/fetch_copilot_reviews.py +1 -1
  60. package/skills/pr-converge/scripts/post_fix_reply.py +1 -1
  61. package/skills/pr-converge/scripts/test_check_bugbot_ci.py +1 -1
  62. package/skills/pr-converge/scripts/test_check_convergence.py +306 -0
  63. package/skills/pr-converge/scripts/test_evict_cached_config_modules.py +1 -1
  64. package/skills/refine/SKILL.md +257 -0
  65. package/skills/refine/templates/implementation-notes-template.html +56 -0
  66. package/skills/refine/templates/plan-template.md +60 -0
@@ -0,0 +1,60 @@
1
+ ---
2
+ type: plan
3
+ project: <project-or-topic-area>
4
+ date: <YYYY-MM-DD>
5
+ status: Draft
6
+ tags: [refine, plan]
7
+ ---
8
+
9
+ # <Plan title>
10
+
11
+ One-paragraph framing of what the plan delivers and why now.
12
+
13
+ ## Goal
14
+
15
+ What completing this plan produces. Stated as an outcome, not an activity.
16
+
17
+ ## Non-goals
18
+
19
+ What is intentionally out of scope. Each item is a thing a reader might assume is included.
20
+
21
+ - <Non-goal one>
22
+ - <Non-goal two>
23
+
24
+ ## Current state
25
+
26
+ What exists today that this plan builds on or changes. Cite files, hooks, skills, decisions found during the fan-out. Each bullet is one concrete claim with a path or reference.
27
+
28
+ - `<path/to/file>` — <what it currently does that matters>
29
+ - `<vault note path>` — <decision or prior session this plan inherits from>
30
+
31
+ ## Implementation
32
+
33
+ Ordered steps. Each step states the file or surface it touches and the concrete change. Subagents to spawn are named with their `subagent_type`.
34
+
35
+ 1. **<Step title>** — <file path or surface>. <Concrete change>.
36
+ 2. **<Step title>** — <file path or surface>. <Concrete change>.
37
+ 3. **<Step title>** — <file path or surface>. <Concrete change>.
38
+
39
+ ## Decisions log
40
+
41
+ Each meaningful choice the interview surfaced, with the reasoning. Future-you reads this to understand why the plan looks the way it does.
42
+
43
+ | Decision | Choice | Reasoning |
44
+ |---|---|---|
45
+ | <Question the interview answered> | <What was chosen> | <Why this over the alternatives> |
46
+ | <Question the interview answered> | <What was chosen> | <Why this over the alternatives> |
47
+
48
+ ## Risks / open questions
49
+
50
+ What could break this plan, and what is still unresolved. Each item is actionable — either has a mitigation or is flagged for the user to resolve before implementation begins.
51
+
52
+ - **<Risk one>** — <Mitigation, or "open: needs decision before step N">
53
+ - **<Risk two>** — <Mitigation, or "open: needs decision before step N">
54
+
55
+ ## Acceptance
56
+
57
+ What "done" looks like. Observable behavior, file existence, command output — concrete and verifiable.
58
+
59
+ - [ ] <Verifiable outcome one>
60
+ - [ ] <Verifiable outcome two>