safeword 0.82.1 → 0.82.2

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 (163) hide show
  1. package/codex-plugin/.codex-plugin/plugin.json +1 -1
  2. package/codex-plugin/hooks.json +5 -5
  3. package/codex-plugin/skills/audit/SKILL.md +5 -5
  4. package/codex-plugin/skills/bdd/references/PLAN_IMPLEMENTATION.md +2 -2
  5. package/codex-plugin/skills/bdd/references/TDD.md +1 -1
  6. package/codex-plugin/skills/explain/SKILL.md +1 -1
  7. package/codex-plugin/skills/lint/SKILL.md +37 -36
  8. package/codex-plugin/skills/quality-review/SKILL.md +2 -2
  9. package/codex-plugin/skills/retro-filer/SKILL.md +2 -2
  10. package/codex-plugin/skills/review-spec/SKILL.md +2 -2
  11. package/codex-plugin/skills/self-review/SKILL.md +1 -1
  12. package/dist/{architecture-ZVJK2NZ3.js → architecture-NPE5WWRD.js} +2 -2
  13. package/dist/{architecture-document-DALFVS25.js → architecture-document-HEJFGVXI.js} +2 -2
  14. package/dist/{architecture-monorepo-VU7DACXA.js → architecture-monorepo-VBOE4JZG.js} +2 -2
  15. package/dist/{boundary-XHFIVKVC.js → boundary-H4LF7FRO.js} +2 -2
  16. package/dist/{chunk-4RKQ45FM.js → chunk-4Z4XW6QY.js} +4 -4
  17. package/dist/{chunk-KIJXSO33.js → chunk-576AI534.js} +4 -4
  18. package/dist/{chunk-GJ7W2RU4.js → chunk-BJQI3IGK.js} +2 -2
  19. package/dist/{chunk-GJ7W2RU4.js.map → chunk-BJQI3IGK.js.map} +1 -1
  20. package/dist/{chunk-XWUC62LL.js → chunk-CCKNBYJI.js} +2 -2
  21. package/dist/{chunk-J6252347.js → chunk-CHE6ZBQ6.js} +2 -2
  22. package/dist/{chunk-RAMTQHDA.js → chunk-DKC24YSC.js} +2 -2
  23. package/dist/{chunk-4PHHWKZI.js → chunk-HK6ANRI2.js} +2 -2
  24. package/dist/{chunk-C6BPSSJT.js → chunk-HKIO46CG.js} +3 -3
  25. package/dist/{chunk-UYQWTOVF.js → chunk-LTSHW45K.js} +3 -3
  26. package/dist/{chunk-6EKCHOJJ.js → chunk-MDWWJJYW.js} +3 -3
  27. package/dist/{chunk-XEDNCD3L.js → chunk-PH5RZ4AK.js} +2 -2
  28. package/dist/{chunk-HC4BPCWR.js → chunk-QWNT3JKY.js} +2 -2
  29. package/dist/{chunk-HC4BPCWR.js.map → chunk-QWNT3JKY.js.map} +1 -1
  30. package/dist/{chunk-GNFSXBIR.js → chunk-T2NYPOU6.js} +2 -2
  31. package/dist/{chunk-TS4IUBJG.js → chunk-X5XZGLAL.js} +3 -3
  32. package/dist/{chunk-NPZI5JCP.js → chunk-ZKIIFM3P.js} +16 -16
  33. package/dist/{cleanup-U3YEJHHI.js → cleanup-LCSL3AQ6.js} +5 -5
  34. package/dist/{cleanup-command-QDMIBYM2.js → cleanup-command-M5KOELC5.js} +6 -6
  35. package/dist/cli.js +75 -75
  36. package/dist/{clients-AJSKEQJI.js → clients-E6VB3AXJ.js} +2 -2
  37. package/dist/{codex-bootstrap-VHJF6JIB.js → codex-bootstrap-LHUTZKKS.js} +7 -7
  38. package/dist/{codex-hook-OJQTVUIE.js → codex-hook-A6MWHZS7.js} +6 -6
  39. package/dist/{codify-4C6YCJDE.js → codify-RXZNXKCX.js} +2 -2
  40. package/dist/{commands-53KTGKQB.js → commands-YX25XOWJ.js} +11 -11
  41. package/dist/{config-SZXJS2TB.js → config-2JTUFZFV.js} +2 -2
  42. package/dist/{configured-paths-2UDOX7EZ.js → configured-paths-EOWAUJEB.js} +2 -2
  43. package/dist/{conformance-QLREBKIK.js → conformance-JPOJQ2L6.js} +2 -2
  44. package/dist/{contract-WPA4REKP.js → contract-6XWSTAXB.js} +2 -2
  45. package/dist/{coordinator-BM47MWD4.js → coordinator-UNL252OF.js} +2 -2
  46. package/dist/{corpus-KT7KMVRZ.js → corpus-JJBP63KR.js} +2 -2
  47. package/dist/{cursor-FGLI5TJ2.js → cursor-3P3N4TCT.js} +7 -7
  48. package/dist/{doctor-HWTB23DN.js → doctor-6ZA5JMZG.js} +9 -9
  49. package/dist/{drain-retro-spool-NQGKLSRZ.js → drain-retro-spool-6KXZRT7R.js} +2 -2
  50. package/dist/{feature-directories-YEMW62HM.js → feature-directories-EMKKUJJE.js} +2 -2
  51. package/dist/{finalization-D5W7ZK4N.js → finalization-JFXNEEIU.js} +2 -2
  52. package/dist/{gh-cli-5376CA3U.js → gh-cli-2DQEX6FA.js} +2 -2
  53. package/dist/{github-rest-7PO4YGTA.js → github-rest-VCHNQJJT.js} +2 -2
  54. package/dist/index.js +1 -1
  55. package/dist/{job-RXOAB3AN.js → job-YC2TK7BR.js} +10 -3
  56. package/dist/job-YC2TK7BR.js.map +1 -0
  57. package/dist/{learning-sync-SOYTB4BL.js → learning-sync-7YXNWIZL.js} +2 -2
  58. package/dist/{legacy-global-guidance-YVE243ME.js → legacy-global-guidance-5YCLEWSF.js} +2 -2
  59. package/dist/{lint-gherkin-N4DDUD5H.js → lint-gherkin-RGWPEX3F.js} +2 -2
  60. package/dist/{namespace-root-MZEDRFC2.js → namespace-root-7X44IPTG.js} +2 -2
  61. package/dist/opencode/dispatcher.js +2 -2
  62. package/dist/{operations-R66CHR6Z.js → operations-7ETQJU3L.js} +7 -7
  63. package/dist/{output-DZ4GD6ZA.js → output-PM4VFRKX.js} +2 -2
  64. package/dist/{packet-MX4W6GZ6.js → packet-6FVR4BW7.js} +2 -2
  65. package/dist/presets/typescript/index.js +1 -1
  66. package/dist/{profile-NJGBR4FA.js → profile-DTL6PMTU.js} +2 -2
  67. package/dist/{profile-AMBYKDY5.js → profile-LLL724SN.js} +2 -2
  68. package/dist/{prompt-ULW2LL5H.js → prompt-KD3XUQ7R.js} +2 -2
  69. package/dist/{public-retros-7XLGBNX7.js → public-retros-6YMTLWF3.js} +2 -2
  70. package/dist/{remove-S2PB3DPJ.js → remove-AM6GPKNX.js} +5 -5
  71. package/dist/{retro-XRSPK4AU.js → retro-DDAVLHEK.js} +8 -8
  72. package/dist/{retro-draft-spool-D4XAPU7L.js → retro-draft-spool-GXKO5YXA.js} +2 -2
  73. package/dist/{retro-drain-S4DM7EMX.js → retro-drain-5LL32AHV.js} +3 -3
  74. package/dist/{retro-extract-5BAOV5RH.js → retro-extract-JJR6ITUK.js} +2 -2
  75. package/dist/{review-knowledge-4VPK3RGK.js → review-knowledge-YI5OIM4N.js} +2 -2
  76. package/dist/{review-pr-OODHKP5Y.js → review-pr-GIPKHXFH.js} +2 -2
  77. package/dist/{review-pr-publication-ZV2SW7PB.js → review-pr-publication-6ALYSKTP.js} +2 -2
  78. package/dist/{run-MU7X3DBT.js → run-O7LVZRC3.js} +2 -2
  79. package/dist/{schema-T5KICZ3A.js → schema-WJLOZ7HA.js} +6 -6
  80. package/dist/{self-report-HRJCQLGP.js → self-report-7LQXCVL7.js} +2 -2
  81. package/dist/{status-I2XLUXBJ.js → status-CLSFAZWH.js} +5 -5
  82. package/dist/{status-4X22GCL3.js → status-HL7NITNU.js} +9 -9
  83. package/dist/{sync-config-O5XZWBHD.js → sync-config-GVVXMF4B.js} +2 -2
  84. package/dist/{sync-tracker-TUPVSBAJ.js → sync-tracker-PKCHJTLN.js} +2 -2
  85. package/dist/{test-execution-CSU3525M.js → test-execution-Z2CIJL7M.js} +2 -2
  86. package/dist/{test-plan-A6VPBUBB.js → test-plan-A72XWZUF.js} +2 -2
  87. package/dist/{ticket-new-K4UUI75P.js → ticket-new-XPCJAQNJ.js} +2 -2
  88. package/dist/{ticket-sync-VNZ747FF.js → ticket-sync-43SJBF5L.js} +2 -2
  89. package/dist/{tracker-map-ZA5STMSX.js → tracker-map-P54CEJWE.js} +2 -2
  90. package/dist/{tracker-sync-O37J75EQ.js → tracker-sync-OSA3N4YP.js} +2 -2
  91. package/package.json +1 -1
  92. package/templates/commands/lint.md +2 -50
  93. package/templates/skills/lint/SKILL.md +37 -36
  94. package/dist/job-RXOAB3AN.js.map +0 -1
  95. /package/dist/{architecture-ZVJK2NZ3.js.map → architecture-NPE5WWRD.js.map} +0 -0
  96. /package/dist/{architecture-document-DALFVS25.js.map → architecture-document-HEJFGVXI.js.map} +0 -0
  97. /package/dist/{architecture-monorepo-VU7DACXA.js.map → architecture-monorepo-VBOE4JZG.js.map} +0 -0
  98. /package/dist/{boundary-XHFIVKVC.js.map → boundary-H4LF7FRO.js.map} +0 -0
  99. /package/dist/{chunk-4RKQ45FM.js.map → chunk-4Z4XW6QY.js.map} +0 -0
  100. /package/dist/{chunk-KIJXSO33.js.map → chunk-576AI534.js.map} +0 -0
  101. /package/dist/{chunk-XWUC62LL.js.map → chunk-CCKNBYJI.js.map} +0 -0
  102. /package/dist/{chunk-J6252347.js.map → chunk-CHE6ZBQ6.js.map} +0 -0
  103. /package/dist/{chunk-RAMTQHDA.js.map → chunk-DKC24YSC.js.map} +0 -0
  104. /package/dist/{chunk-4PHHWKZI.js.map → chunk-HK6ANRI2.js.map} +0 -0
  105. /package/dist/{chunk-C6BPSSJT.js.map → chunk-HKIO46CG.js.map} +0 -0
  106. /package/dist/{chunk-UYQWTOVF.js.map → chunk-LTSHW45K.js.map} +0 -0
  107. /package/dist/{chunk-6EKCHOJJ.js.map → chunk-MDWWJJYW.js.map} +0 -0
  108. /package/dist/{chunk-XEDNCD3L.js.map → chunk-PH5RZ4AK.js.map} +0 -0
  109. /package/dist/{chunk-GNFSXBIR.js.map → chunk-T2NYPOU6.js.map} +0 -0
  110. /package/dist/{chunk-TS4IUBJG.js.map → chunk-X5XZGLAL.js.map} +0 -0
  111. /package/dist/{chunk-NPZI5JCP.js.map → chunk-ZKIIFM3P.js.map} +0 -0
  112. /package/dist/{cleanup-U3YEJHHI.js.map → cleanup-LCSL3AQ6.js.map} +0 -0
  113. /package/dist/{cleanup-command-QDMIBYM2.js.map → cleanup-command-M5KOELC5.js.map} +0 -0
  114. /package/dist/{clients-AJSKEQJI.js.map → clients-E6VB3AXJ.js.map} +0 -0
  115. /package/dist/{codex-bootstrap-VHJF6JIB.js.map → codex-bootstrap-LHUTZKKS.js.map} +0 -0
  116. /package/dist/{codex-hook-OJQTVUIE.js.map → codex-hook-A6MWHZS7.js.map} +0 -0
  117. /package/dist/{codify-4C6YCJDE.js.map → codify-RXZNXKCX.js.map} +0 -0
  118. /package/dist/{commands-53KTGKQB.js.map → commands-YX25XOWJ.js.map} +0 -0
  119. /package/dist/{config-SZXJS2TB.js.map → config-2JTUFZFV.js.map} +0 -0
  120. /package/dist/{configured-paths-2UDOX7EZ.js.map → configured-paths-EOWAUJEB.js.map} +0 -0
  121. /package/dist/{conformance-QLREBKIK.js.map → conformance-JPOJQ2L6.js.map} +0 -0
  122. /package/dist/{contract-WPA4REKP.js.map → contract-6XWSTAXB.js.map} +0 -0
  123. /package/dist/{coordinator-BM47MWD4.js.map → coordinator-UNL252OF.js.map} +0 -0
  124. /package/dist/{corpus-KT7KMVRZ.js.map → corpus-JJBP63KR.js.map} +0 -0
  125. /package/dist/{cursor-FGLI5TJ2.js.map → cursor-3P3N4TCT.js.map} +0 -0
  126. /package/dist/{doctor-HWTB23DN.js.map → doctor-6ZA5JMZG.js.map} +0 -0
  127. /package/dist/{drain-retro-spool-NQGKLSRZ.js.map → drain-retro-spool-6KXZRT7R.js.map} +0 -0
  128. /package/dist/{feature-directories-YEMW62HM.js.map → feature-directories-EMKKUJJE.js.map} +0 -0
  129. /package/dist/{finalization-D5W7ZK4N.js.map → finalization-JFXNEEIU.js.map} +0 -0
  130. /package/dist/{gh-cli-5376CA3U.js.map → gh-cli-2DQEX6FA.js.map} +0 -0
  131. /package/dist/{github-rest-7PO4YGTA.js.map → github-rest-VCHNQJJT.js.map} +0 -0
  132. /package/dist/{learning-sync-SOYTB4BL.js.map → learning-sync-7YXNWIZL.js.map} +0 -0
  133. /package/dist/{legacy-global-guidance-YVE243ME.js.map → legacy-global-guidance-5YCLEWSF.js.map} +0 -0
  134. /package/dist/{lint-gherkin-N4DDUD5H.js.map → lint-gherkin-RGWPEX3F.js.map} +0 -0
  135. /package/dist/{namespace-root-MZEDRFC2.js.map → namespace-root-7X44IPTG.js.map} +0 -0
  136. /package/dist/{operations-R66CHR6Z.js.map → operations-7ETQJU3L.js.map} +0 -0
  137. /package/dist/{output-DZ4GD6ZA.js.map → output-PM4VFRKX.js.map} +0 -0
  138. /package/dist/{packet-MX4W6GZ6.js.map → packet-6FVR4BW7.js.map} +0 -0
  139. /package/dist/{profile-AMBYKDY5.js.map → profile-DTL6PMTU.js.map} +0 -0
  140. /package/dist/{profile-NJGBR4FA.js.map → profile-LLL724SN.js.map} +0 -0
  141. /package/dist/{prompt-ULW2LL5H.js.map → prompt-KD3XUQ7R.js.map} +0 -0
  142. /package/dist/{public-retros-7XLGBNX7.js.map → public-retros-6YMTLWF3.js.map} +0 -0
  143. /package/dist/{remove-S2PB3DPJ.js.map → remove-AM6GPKNX.js.map} +0 -0
  144. /package/dist/{retro-XRSPK4AU.js.map → retro-DDAVLHEK.js.map} +0 -0
  145. /package/dist/{retro-draft-spool-D4XAPU7L.js.map → retro-draft-spool-GXKO5YXA.js.map} +0 -0
  146. /package/dist/{retro-drain-S4DM7EMX.js.map → retro-drain-5LL32AHV.js.map} +0 -0
  147. /package/dist/{retro-extract-5BAOV5RH.js.map → retro-extract-JJR6ITUK.js.map} +0 -0
  148. /package/dist/{review-knowledge-4VPK3RGK.js.map → review-knowledge-YI5OIM4N.js.map} +0 -0
  149. /package/dist/{review-pr-OODHKP5Y.js.map → review-pr-GIPKHXFH.js.map} +0 -0
  150. /package/dist/{review-pr-publication-ZV2SW7PB.js.map → review-pr-publication-6ALYSKTP.js.map} +0 -0
  151. /package/dist/{run-MU7X3DBT.js.map → run-O7LVZRC3.js.map} +0 -0
  152. /package/dist/{schema-T5KICZ3A.js.map → schema-WJLOZ7HA.js.map} +0 -0
  153. /package/dist/{self-report-HRJCQLGP.js.map → self-report-7LQXCVL7.js.map} +0 -0
  154. /package/dist/{status-4X22GCL3.js.map → status-CLSFAZWH.js.map} +0 -0
  155. /package/dist/{status-I2XLUXBJ.js.map → status-HL7NITNU.js.map} +0 -0
  156. /package/dist/{sync-config-O5XZWBHD.js.map → sync-config-GVVXMF4B.js.map} +0 -0
  157. /package/dist/{sync-tracker-TUPVSBAJ.js.map → sync-tracker-PKCHJTLN.js.map} +0 -0
  158. /package/dist/{test-execution-CSU3525M.js.map → test-execution-Z2CIJL7M.js.map} +0 -0
  159. /package/dist/{test-plan-A6VPBUBB.js.map → test-plan-A72XWZUF.js.map} +0 -0
  160. /package/dist/{ticket-new-K4UUI75P.js.map → ticket-new-XPCJAQNJ.js.map} +0 -0
  161. /package/dist/{ticket-sync-VNZ747FF.js.map → ticket-sync-43SJBF5L.js.map} +0 -0
  162. /package/dist/{tracker-map-ZA5STMSX.js.map → tracker-map-P54CEJWE.js.map} +0 -0
  163. /package/dist/{tracker-sync-O37J75EQ.js.map → tracker-sync-OSA3N4YP.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safeword",
3
- "version": "0.82.1",
3
+ "version": "0.82.2",
4
4
  "description": "Safeword workflow guidance and gates for Codex.",
5
5
  "author": {
6
6
  "name": "Arcade AI"
@@ -6,7 +6,7 @@
6
6
  "hooks": [
7
7
  {
8
8
  "type": "command",
9
- "command": "bunx --bun safeword@0.82.1 hook codex session-start --plugin-hook",
9
+ "command": "bunx --bun safeword@0.82.2 hook codex session-start --plugin-hook",
10
10
  "timeout": 120,
11
11
  "statusMessage": "Loading Safeword standing instructions"
12
12
  }
@@ -19,7 +19,7 @@
19
19
  "hooks": [
20
20
  {
21
21
  "type": "command",
22
- "command": "bunx --bun safeword@0.82.1 hook codex pre-tool-use --plugin-hook",
22
+ "command": "bunx --bun safeword@0.82.2 hook codex pre-tool-use --plugin-hook",
23
23
  "timeout": 30,
24
24
  "statusMessage": "Checking Safeword edit gates"
25
25
  }
@@ -32,7 +32,7 @@
32
32
  "hooks": [
33
33
  {
34
34
  "type": "command",
35
- "command": "bunx --bun safeword@0.82.1 hook codex post-tool-use --plugin-hook",
35
+ "command": "bunx --bun safeword@0.82.2 hook codex post-tool-use --plugin-hook",
36
36
  "timeout": 30,
37
37
  "statusMessage": "Surfacing Safeword post-tool context"
38
38
  }
@@ -45,7 +45,7 @@
45
45
  "hooks": [
46
46
  {
47
47
  "type": "command",
48
- "command": "bunx --bun safeword@0.82.1 hook codex user-prompt-submit --plugin-hook",
48
+ "command": "bunx --bun safeword@0.82.2 hook codex user-prompt-submit --plugin-hook",
49
49
  "timeout": 30,
50
50
  "statusMessage": "Checking queued Safeword prompt context"
51
51
  }
@@ -58,7 +58,7 @@
58
58
  "hooks": [
59
59
  {
60
60
  "type": "command",
61
- "command": "bunx --bun safeword@0.82.1 hook codex stop --plugin-hook",
61
+ "command": "bunx --bun safeword@0.82.2 hook codex stop --plugin-hook",
62
62
  "timeout": 600,
63
63
  "statusMessage": "Checking Safeword stop continuation"
64
64
  }
@@ -561,7 +561,7 @@ Changed project learnings in the resolved namespace root's `learnings/*.md` must
561
561
  PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2> /dev/null || pwd)}"
562
562
  source "$PROJECT_DIR/.safeword/hooks/lib/audit-scope.sh"
563
563
  audit_scope_initialize "$PROJECT_DIR" || exit $?
564
- NS_ROOT="$(bunx --bun safeword@0.82.1 project namespace-root --cwd "$PROJECT_DIR")"
564
+ NS_ROOT="$(bunx --bun safeword@0.82.2 project namespace-root --cwd "$PROJECT_DIR")"
565
565
 
566
566
  learning_is_in_audit_scope() {
567
567
  [ "$AUDIT_SCOPE_MODE" = "repository" ] && return 0
@@ -721,13 +721,13 @@ audit_scope_initialize "$PROJECT_DIR" || exit $?
721
721
 
722
722
  # Resolve the namespace root (honors config paths.projectRoot in real runs).
723
723
  # Fall back on directory existence — robust when the resolver hook is absent.
724
- NS_ROOT="$(bunx --bun safeword@0.82.1 project namespace-root --cwd "$PROJECT_DIR" 2> /dev/null)"
724
+ NS_ROOT="$(bunx --bun safeword@0.82.2 project namespace-root --cwd "$PROJECT_DIR" 2> /dev/null)"
725
725
  [ -d "$NS_ROOT" ] || {
726
726
  if [ -d "$PROJECT_DIR/.project" ]; then NS_ROOT="$PROJECT_DIR/.project"; else NS_ROOT="$PROJECT_DIR/.safeword-project"; fi
727
727
  }
728
- PERSONAS_FILE="$(bunx --bun safeword@0.82.1 project namespace-root --cwd "$PROJECT_DIR" --key personas 2> /dev/null)"
729
- SURFACES_FILE="$(bunx --bun safeword@0.82.1 project namespace-root --cwd "$PROJECT_DIR" --key surfaces 2> /dev/null)"
730
- GLOSSARY_FILE="$(bunx --bun safeword@0.82.1 project namespace-root --cwd "$PROJECT_DIR" --key glossary 2> /dev/null)"
728
+ PERSONAS_FILE="$(bunx --bun safeword@0.82.2 project namespace-root --cwd "$PROJECT_DIR" --key personas 2> /dev/null)"
729
+ SURFACES_FILE="$(bunx --bun safeword@0.82.2 project namespace-root --cwd "$PROJECT_DIR" --key surfaces 2> /dev/null)"
730
+ GLOSSARY_FILE="$(bunx --bun safeword@0.82.2 project namespace-root --cwd "$PROJECT_DIR" --key glossary 2> /dev/null)"
731
731
  [ -n "$PERSONAS_FILE" ] || PERSONAS_FILE="$NS_ROOT/personas.md"
732
732
  [ -n "$SURFACES_FILE" ] || SURFACES_FILE="$NS_ROOT/surfaces.md"
733
733
  [ -n "$GLOSSARY_FILE" ] || GLOSSARY_FILE="$NS_ROOT/glossary.md"
@@ -159,10 +159,10 @@ findings remain. Return findings through the typed reviewer result contract.
159
159
 
160
160
  ## Exit: review, then (optionally) the user
161
161
 
162
- 1. **Independent review first.** At review time, run `bunx --bun safeword@0.82.1 project review-knowledge --json`. Resolve a review-capable Safeword CLI, then invoke the coordinator with the current files identified by the resolver:
162
+ 1. **Independent review first.** At review time, run `bunx --bun safeword@0.82.2 project review-knowledge --json`. Resolve a review-capable Safeword CLI, then invoke the coordinator with the current files identified by the resolver:
163
163
 
164
164
  ```bash
165
- SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.1 review run plan-implementation --agent-handoff --json --context spec.md ticket.md feature-file principles-file personas-file surfaces-file architecture-records -- impl-plan.md
165
+ SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.2 review run plan-implementation --agent-handoff --json --context spec.md ticket.md feature-file principles-file personas-file surfaces-file architecture-records -- impl-plan.md
166
166
  ```
167
167
 
168
168
  The shared coordinator sends that bounded packet to the opposite headless agent when available; its typed verdict, failure classification, and independence level are authoritative. `impl-plan.md` is the work under review; all resolved feature and project artifacts are bounded context. Only when that typed result is `REVIEW_ROUTES_EXHAUSTED`, invoke `$safeword:finish-review` immediately with the original result and the same accepted targets; return every other result unchanged and do not substitute another private subagent. Fix findings, re-resolve the sources, re-review, then stamp the exit with the returned agent provenance (`write-review-stamp.ts --author-agent "author-agent" --reviewer-agent "actual-reviewer" --independence "independence" --phase plan-implementation`, where the review gate is enabled). Add `--model` only when the executed reviewer reports a verifiable model identifier; the coordinator never invents one. Human handoff happens **only after** this review passes — raw planning output is never presented for approval. Exception, any time: information only the user has (intent, priorities, constraints not in code or docs) routes to the user the moment the gap appears — `$safeword:elicit`.
@@ -196,7 +196,7 @@ Off by default. When `.safeword/config.json` sets `architectureReviewGate: true`
196
196
  2. **A fresh-context review.** Resolve a review-capable Safeword CLI, then run the shared coordinator with only the bounded design evidence:
197
197
 
198
198
  ```bash
199
- SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.1 review run plan-implementation impl-plan.md ticket-spec feature-file --agent-handoff --json
199
+ SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.2 review run plan-implementation impl-plan.md ticket-spec feature-file --agent-handoff --json
200
200
  ```
201
201
 
202
202
  The shared coordinator prefers the opposite headless agent. Only when its typed result is `REVIEW_ROUTES_EXHAUSTED`, invoke `$safeword:finish-review` with the original result and the same accepted targets; return every other result unchanged. Degraded findings cannot satisfy a required independent-review gate. On an independent pass, stamp it:
@@ -39,7 +39,7 @@ Gather the durable trail safeword already keeps, then narrate it. Run:
39
39
 
40
40
  ```bash
41
41
  PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2> /dev/null || pwd)}"
42
- NS_ROOT="$(bunx --bun safeword@0.82.1 project namespace-root --cwd "$PROJECT_DIR")"
42
+ NS_ROOT="$(bunx --bun safeword@0.82.2 project namespace-root --cwd "$PROJECT_DIR")"
43
43
  # What you're on now: the last re-entry line names the current ticket + Next
44
44
  tail -3 "$NS_ROOT/re-entry.md" 2> /dev/null
45
45
  # Fallback when re-entry is empty: in_progress tickets (not epics)
@@ -7,50 +7,51 @@ description: Run linters and formatters to fix code style issues. Use when
7
7
 
8
8
  # Lint
9
9
 
10
- Run the full linting and formatting suite for the detected project type(s).
10
+ Give fast lint and formatting feedback for the files changed in the current
11
+ worktree. This is an iterative cleanup lane, not authoritative release evidence;
12
+ `$safeword:verify` owns the project's full lint, type-check, build, and test suites.
11
13
 
12
14
  ## Instructions
13
15
 
14
- Run these commands based on project type. All detected languages run for polyglot projects.
16
+ 1. Collect tracked and untracked changed files with `git diff --name-only
17
+ --diff-filter=ACMR HEAD` and `git ls-files --others --exclude-standard`.
18
+ 2. Group them by language. Run every applicable language below in a polyglot
19
+ project, but pass only those changed files (or their Go package directories).
20
+ 3. If there are no changed source files, report that and stop.
21
+ 4. Only when the user explicitly asks for a **full** lint, run the repository's
22
+ existing full lint/format scripts instead. Do not infer that request merely
23
+ because implementation finished; `$safeword:verify` is the full closing gate.
24
+
25
+ Use the repository's installed tools and configuration. Examples (`<files...>`
26
+ means the explicit changed-file list, never `.`):
15
27
 
16
28
  ```bash
17
- # Python linting (if pyproject.toml or requirements.txt exists)
18
- ([ -f pyproject.toml ] || [ -f requirements.txt ]) && {
19
- # Ruff - fix code quality issues
20
- ruff check --fix . 2>&1 || true
21
- # Ruff - format all files
22
- ruff format . 2>&1 || true
23
- # mypy - type check
24
- mypy . 2>&1 || true
25
- }
26
-
27
- # JS/TS linting (if package.json exists)
28
- [ -f package.json ] && {
29
- # ESLint - use lint:eslint if exists (projects with existing linter), else lint
30
- if grep -q '"lint:eslint"' package.json 2> /dev/null; then
31
- bun run lint:eslint 2>&1 || true
32
- else
33
- bun run lint 2>&1 || true
34
- fi
35
- # Prettier - format all files
36
- bun run --if-present format 2>&1 || true
37
- # TypeScript type check (if tsconfig.json exists)
38
- [ -f tsconfig.json ] && bunx tsc --noEmit 2>&1 || true
39
- }
40
-
41
- # Go linting (if go.mod exists)
42
- if [ -f go.mod ]; then
43
- # golangci-lint - fix and report issues
44
- golangci-lint run --fix ./... 2>&1 || true
45
- # golangci-lint - format
46
- golangci-lint fmt ./... 2>&1 || true
47
- fi
29
+ # Python
30
+ ruff check --fix <changed-python-files...>
31
+ ruff format <changed-python-files...>
32
+ mypy <changed-python-files...>
33
+
34
+ # JavaScript / TypeScript
35
+ bunx eslint --fix -- <changed-js-ts-files...>
36
+ bunx prettier --write -- <changed-js-ts-files...>
37
+
38
+ # Go (translate changed .go files to unique package directory patterns)
39
+ golangci-lint run --fix <changed-go-package-patterns...>
40
+ golangci-lint fmt <changed-go-package-patterns...>
48
41
  ```
49
42
 
43
+ Do not append changed files to a script that already contains `eslint .`,
44
+ `prettier .`, or another repository-wide target: the `.` still expands the run
45
+ to the whole repository. Do not hide failures with `|| true`; capture each exit
46
+ status, continue with the other applicable language groups, then report every
47
+ failure.
48
+
50
49
  ## Summary
51
50
 
52
51
  After running, report:
53
52
 
54
- 1. Any linting errors that couldn't be auto-fixed (Ruff, ESLint, or golangci-lint)
55
- 2. Any formatting issues
56
- 3. Type errors (mypy or TypeScript)
53
+ 1. The changed-file scope used, or that the user explicitly requested full scope
54
+ 2. Any linting errors that couldn't be auto-fixed (Ruff, ESLint, or golangci-lint)
55
+ 3. Any formatting issues
56
+ 4. Type errors reported by a targeted tool; remind the user that `$safeword:verify` owns
57
+ authoritative project-wide type checking
@@ -50,7 +50,7 @@ If in a BDD workflow, read the current ticket from `<namespace-root>/tickets/` a
50
50
 
51
51
  ### Project-principle challenge
52
52
 
53
- For a BDD ticket, run `bunx --bun safeword@0.82.1 project review-knowledge --json` at the
53
+ For a BDD ticket, run `bunx --bun safeword@0.82.2 project review-knowledge --json` at the
54
54
  start of each pass and read the current `principles`, `personas`, and `surfaces`
55
55
  paths and content it returns (including overrides such as `paths.principles`).
56
56
  Do not substitute labels or intake-era content.
@@ -212,7 +212,7 @@ Each pass:
212
212
  guarantee a bare `safeword` on `PATH`:
213
213
 
214
214
  ```bash
215
- SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.1 review run quality-review [--context path/to/evidence] --agent-handoff --json -- changed-file [more-changed-files...]
215
+ SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.2 review run quality-review [--context path/to/evidence] --agent-handoff --json -- changed-file [more-changed-files...]
216
216
  ```
217
217
 
218
218
  A healthy deep review may return `REVIEW_PENDING` after its foreground
@@ -17,7 +17,7 @@ a caller-nominated path. The spool contains sanitized safeword findings for
17
17
  ## Procedure
18
18
 
19
19
  1. Before reading or making any tracker call, run
20
- `bunx --bun safeword@0.82.1 project retro-drain "<spool-path>" --validated-jsonl`.
20
+ `bunx --bun safeword@0.82.2 project retro-drain "<spool-path>" --validated-jsonl`.
21
21
  Use only its JSONL stdout as the filing input. A nonzero exit means validation
22
22
  failed: make no search, comment, or create call, leave the spool unchanged,
23
23
  and report `retro-filer: cannot file - draft validation failed`. If its output
@@ -60,7 +60,7 @@ a caller-nominated path. The spool contains sanitized safeword findings for
60
60
  the draft only when the append succeeded and the exact ack is visible. If the
61
61
  append or verification fails, leave the draft in place.
62
62
  5. Create at most five new issues per run. Drain only by running
63
- `bunx --bun safeword@0.82.1 project retro-drain "<spool-path>"`; never rewrite or
63
+ `bunx --bun safeword@0.82.2 project retro-drain "<spool-path>"`; never rewrite or
64
64
  delete the spool directly. The helper removes only drafts whose valid ack is
65
65
  reader-visible, so unfiled or unacknowledged drafts remain. If tracker write
66
66
  access is unavailable, leave the spool unchanged and report
@@ -35,7 +35,7 @@ Adversarially review a ticket's scenarios: treat them as if you're trying to bre
35
35
  - **Manual re-run** — invoke `$safeword:review-spec` anytime after `define-behavior` (e.g., scenarios changed during implement and you want to re-validate). Allowed on a closed ticket too — a post-hoc audit is still readable.
36
36
 
37
37
  Read the active ticket's `.feature` source first. At review time, run
38
- `bunx --bun safeword@0.82.1 project review-knowledge --json` and read the current
38
+ `bunx --bun safeword@0.82.2 project review-knowledge --json` and read the current
39
39
  `principles`, `personas`, and `surfaces` source paths and content it returns, so
40
40
  the review is grounded in project knowledge rather than labels or stale intake
41
41
  context. The resolver honors `paths.principles`, `paths.personas`, and
@@ -58,7 +58,7 @@ Resolve a review-capable Safeword CLI first; source checkouts do not guarantee
58
58
  a bare `safeword` on `PATH`:
59
59
 
60
60
  ```bash
61
- SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.1 review run scenario-gate feature-file [legacy-test-definitions] --context ticket-spec [dimensions-file] principles-file personas-file surfaces-file --agent-handoff --json
61
+ SAFEWORD_REVIEW_PROGRESS=1 bunx --bun safeword@0.82.2 review run scenario-gate feature-file [legacy-test-definitions] --context ticket-spec [dimensions-file] principles-file personas-file surfaces-file --agent-handoff --json
62
62
  ```
63
63
 
64
64
  The coordinator's assigned/actual reviewer, failure classification, and
@@ -45,7 +45,7 @@ installed helper — report it to the user and resolve before retrying.
45
45
  ## Review the spec (do this now, with the stamp written)
46
46
 
47
47
  The stamp records that a review was invoked; the actual scrutiny is yours. At
48
- review time, run `bunx --bun safeword@0.82.1 project review-knowledge --json` and use its
48
+ review time, run `bunx --bun safeword@0.82.2 project review-knowledge --json` and use its
49
49
  current `principles`, `personas`, and `surfaces` source paths and content—not
50
50
  labels remembered from intake. These resolve from `paths.principles`,
51
51
  `paths.personas`, and `paths.surfaces` when configured. Read those sources with the active ticket's
@@ -25,7 +25,7 @@ import {
25
25
  readJson,
26
26
  writeJson
27
27
  } from "./chunk-HF3DXZEA.js";
28
- import "./chunk-GJ7W2RU4.js";
28
+ import "./chunk-BJQI3IGK.js";
29
29
 
30
30
  // src/commands/architecture.ts
31
31
  import { execFileSync } from "child_process";
@@ -650,4 +650,4 @@ export {
650
650
  architectureStage,
651
651
  architectureStaged
652
652
  };
653
- //# sourceMappingURL=architecture-ZVJK2NZ3.js.map
653
+ //# sourceMappingURL=architecture-NPE5WWRD.js.map
@@ -11,7 +11,7 @@ import {
11
11
  import "./chunk-NEOV7ZY3.js";
12
12
  import "./chunk-VZ5B2SIO.js";
13
13
  import "./chunk-HF3DXZEA.js";
14
- import "./chunk-GJ7W2RU4.js";
14
+ import "./chunk-BJQI3IGK.js";
15
15
  export {
16
16
  isSafewordOwned,
17
17
  isWouldChangeAction,
@@ -22,4 +22,4 @@ export {
22
22
  selfHealProject,
23
23
  selfHealProjectPreservingProse
24
24
  };
25
- //# sourceMappingURL=architecture-document-DALFVS25.js.map
25
+ //# sourceMappingURL=architecture-document-HEJFGVXI.js.map
@@ -5,11 +5,11 @@ import {
5
5
  monorepoFingerprintOf
6
6
  } from "./chunk-VZ5B2SIO.js";
7
7
  import "./chunk-HF3DXZEA.js";
8
- import "./chunk-GJ7W2RU4.js";
8
+ import "./chunk-BJQI3IGK.js";
9
9
  export {
10
10
  discoverUnreadableWorkspaces,
11
11
  discoverWorkspaces,
12
12
  extractMonorepoArchitectureSnapshot,
13
13
  monorepoFingerprintOf
14
14
  };
15
- //# sourceMappingURL=architecture-monorepo-VU7DACXA.js.map
15
+ //# sourceMappingURL=architecture-monorepo-VBOE4JZG.js.map
@@ -26,7 +26,7 @@ import {
26
26
  import {
27
27
  readFileSafe
28
28
  } from "./chunk-HF3DXZEA.js";
29
- import "./chunk-GJ7W2RU4.js";
29
+ import "./chunk-BJQI3IGK.js";
30
30
 
31
31
  // src/commands/boundary.ts
32
32
  import { execFileSync as execFileSync2 } from "child_process";
@@ -650,4 +650,4 @@ function boundary(options) {
650
650
  export {
651
651
  boundary
652
652
  };
653
- //# sourceMappingURL=boundary-XHFIVKVC.js.map
653
+ //# sourceMappingURL=boundary-H4LF7FRO.js.map
@@ -25,7 +25,7 @@ import {
25
25
  codexPluginVersionMatchesPackage,
26
26
  deriveCodexMigrationResult,
27
27
  renderCodexMigrationHuman
28
- } from "./chunk-4PHHWKZI.js";
28
+ } from "./chunk-HK6ANRI2.js";
29
29
  import {
30
30
  createResult
31
31
  } from "./chunk-FOYGZ4MK.js";
@@ -38,13 +38,13 @@ import {
38
38
  legacyCommandIdentity,
39
39
  observeCodexHookProof,
40
40
  writeCodexActivationMarker
41
- } from "./chunk-RAMTQHDA.js";
41
+ } from "./chunk-DKC24YSC.js";
42
42
  import {
43
43
  writeDurableFile
44
44
  } from "./chunk-QOLHGAD5.js";
45
45
  import {
46
46
  SAFEWORD_SCHEMA
47
- } from "./chunk-XWUC62LL.js";
47
+ } from "./chunk-CCKNBYJI.js";
48
48
  import {
49
49
  parse
50
50
  } from "./chunk-DQVGWAEO.js";
@@ -1180,4 +1180,4 @@ export {
1180
1180
  migrateCodexPlugin,
1181
1181
  recoverCodexMigration
1182
1182
  };
1183
- //# sourceMappingURL=chunk-4RKQ45FM.js.map
1183
+ //# sourceMappingURL=chunk-4Z4XW6QY.js.map
@@ -2,7 +2,7 @@ import {
2
2
  PRODUCTION_INTEGRATIONS,
3
3
  checkHealth,
4
4
  coordinateSelectedIntegrations
5
- } from "./chunk-NPZI5JCP.js";
5
+ } from "./chunk-ZKIIFM3P.js";
6
6
  import {
7
7
  compareVersions,
8
8
  isSafePackageVersion
@@ -13,10 +13,10 @@ import {
13
13
  } from "./chunk-D5ENZR6N.js";
14
14
  import {
15
15
  unselectedCursorFinding
16
- } from "./chunk-C6BPSSJT.js";
16
+ } from "./chunk-HKIO46CG.js";
17
17
  import {
18
18
  projectLifecycleSchema
19
- } from "./chunk-TS4IUBJG.js";
19
+ } from "./chunk-X5XZGLAL.js";
20
20
  import {
21
21
  DEFAULT_AGENT_INTEGRATIONS
22
22
  } from "./chunk-4L4NYOC3.js";
@@ -266,4 +266,4 @@ export {
266
266
  summarizeLifecycleStatus,
267
267
  observeLifecycleStatus
268
268
  };
269
- //# sourceMappingURL=chunk-KIJXSO33.js.map
269
+ //# sourceMappingURL=chunk-576AI534.js.map
@@ -1,7 +1,7 @@
1
1
  // <define:__SAFEWORD_RELAY_BUILD_ATTESTATION__>
2
- var define_SAFEWORD_RELAY_BUILD_ATTESTATION_default = { ancestorPairs: [], artifacts: {}, buildCommit: "43a53b1c9a6d7d9bad6f02445087ee94ba4002c0", enabled: false, manifestBase64: "ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K", manifestSha256: "946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262" };
2
+ var define_SAFEWORD_RELAY_BUILD_ATTESTATION_default = { ancestorPairs: [], artifacts: {}, buildCommit: "fc92f5096e74b5096874c9a10d789e724b243587", enabled: false, manifestBase64: "ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K", manifestSha256: "946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262" };
3
3
 
4
4
  export {
5
5
  define_SAFEWORD_RELAY_BUILD_ATTESTATION_default
6
6
  };
7
- //# sourceMappingURL=chunk-GJ7W2RU4.js.map
7
+ //# sourceMappingURL=chunk-BJQI3IGK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["<define:__SAFEWORD_RELAY_BUILD_ATTESTATION__>"],"sourcesContent":["{\"ancestorPairs\":[],\"artifacts\":{},\"buildCommit\":\"43a53b1c9a6d7d9bad6f02445087ee94ba4002c0\",\"enabled\":false,\"manifestBase64\":\"ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K\",\"manifestSha256\":\"946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262\"}"],"mappings":";AAAA,wDAAC,eAAgB,CAAC,GAAE,WAAY,CAAC,GAAE,aAAc,4CAA2C,SAAU,OAAM,gBAAiB,wDAAuD,gBAAiB,mEAAkE;","names":[]}
1
+ {"version":3,"sources":["<define:__SAFEWORD_RELAY_BUILD_ATTESTATION__>"],"sourcesContent":["{\"ancestorPairs\":[],\"artifacts\":{},\"buildCommit\":\"fc92f5096e74b5096874c9a10d789e724b243587\",\"enabled\":false,\"manifestBase64\":\"ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K\",\"manifestSha256\":\"946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262\"}"],"mappings":";AAAA,wDAAC,eAAgB,CAAC,GAAE,WAAY,CAAC,GAAE,aAAc,4CAA2C,SAAU,OAAM,gBAAiB,wDAAuD,gBAAiB,mEAAkE;","names":[]}
@@ -14,7 +14,7 @@ import {
14
14
  acceptedHistoricalHookEntries,
15
15
  filterOutEquivalentSafewordHooks,
16
16
  filterOutSafewordHooks
17
- } from "./chunk-HC4BPCWR.js";
17
+ } from "./chunk-QWNT3JKY.js";
18
18
  import {
19
19
  CURSOR_COMMAND_WRAPPERS,
20
20
  CURSOR_RULE_WRAPPERS,
@@ -2746,4 +2746,4 @@ export {
2746
2746
  schemaForProjectSurfaces,
2747
2747
  schemaForSharedAgentRuntime
2748
2748
  };
2749
- //# sourceMappingURL=chunk-XWUC62LL.js.map
2749
+ //# sourceMappingURL=chunk-CCKNBYJI.js.map
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-FOYGZ4MK.js";
18
18
  import {
19
19
  SAFEWORD_SCHEMA
20
- } from "./chunk-XWUC62LL.js";
20
+ } from "./chunk-CCKNBYJI.js";
21
21
  import {
22
22
  uninstallDependencies
23
23
  } from "./chunk-DQVGWAEO.js";
@@ -363,4 +363,4 @@ export {
363
363
  diffFileSnapshots,
364
364
  removeProject
365
365
  };
366
- //# sourceMappingURL=chunk-J6252347.js.map
366
+ //# sourceMappingURL=chunk-CHE6ZBQ6.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-QOLHGAD5.js";
4
4
  import {
5
5
  SAFEWORD_SCHEMA
6
- } from "./chunk-XWUC62LL.js";
6
+ } from "./chunk-CCKNBYJI.js";
7
7
  import {
8
8
  parse
9
9
  } from "./chunk-DQVGWAEO.js";
@@ -772,4 +772,4 @@ export {
772
772
  observeCodexSessionProof,
773
773
  observeCodexHookProof
774
774
  };
775
- //# sourceMappingURL=chunk-RAMTQHDA.js.map
775
+ //# sourceMappingURL=chunk-DKC24YSC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SAFEWORD_SCHEMA
3
- } from "./chunk-XWUC62LL.js";
3
+ } from "./chunk-CCKNBYJI.js";
4
4
  import {
5
5
  CODEX_MIGRATION_SCHEMA
6
6
  } from "./chunk-AVAUUIDB.js";
@@ -135,4 +135,4 @@ export {
135
135
  renderCodexMigrationHuman,
136
136
  codexMigrationExitCode
137
137
  };
138
- //# sourceMappingURL=chunk-4PHHWKZI.js.map
138
+ //# sourceMappingURL=chunk-HK6ANRI2.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  projectLifecycleSchema
3
- } from "./chunk-TS4IUBJG.js";
3
+ } from "./chunk-X5XZGLAL.js";
4
4
  import {
5
5
  createResult
6
6
  } from "./chunk-FOYGZ4MK.js";
7
7
  import {
8
8
  isCursorProjectPath
9
- } from "./chunk-XWUC62LL.js";
9
+ } from "./chunk-CCKNBYJI.js";
10
10
 
11
11
  // src/lifecycle/cursor.ts
12
12
  import { existsSync } from "fs";
@@ -69,4 +69,4 @@ export {
69
69
  observeCursorProject,
70
70
  unselectedCursorFinding
71
71
  };
72
- //# sourceMappingURL=chunk-C6BPSSJT.js.map
72
+ //# sourceMappingURL=chunk-HKIO46CG.js.map
@@ -5,11 +5,11 @@ import {
5
5
  CODEX_PLUGIN_HOOK_EVENTS,
6
6
  legacyCodexEventIsViable,
7
7
  recordCodexHookProof
8
- } from "./chunk-RAMTQHDA.js";
8
+ } from "./chunk-DKC24YSC.js";
9
9
  import {
10
10
  SAFEWORD_SCHEMA,
11
11
  generateOwnedPathsModule
12
- } from "./chunk-XWUC62LL.js";
12
+ } from "./chunk-CCKNBYJI.js";
13
13
  import {
14
14
  hasSafewordProjectMarker,
15
15
  resolveNamespaceRoot
@@ -606,4 +606,4 @@ export {
606
606
  packagedNamespaceRootLabel,
607
607
  codexHook
608
608
  };
609
- //# sourceMappingURL=chunk-UYQWTOVF.js.map
609
+ //# sourceMappingURL=chunk-LTSHW45K.js.map
@@ -5,7 +5,7 @@ import {
5
5
  assertSafeClaudeCleanupTarget,
6
6
  containedClaudeCleanupPath,
7
7
  observeClaudeLegacy
8
- } from "./chunk-GNFSXBIR.js";
8
+ } from "./chunk-T2NYPOU6.js";
9
9
  import {
10
10
  CLAUDE_MIGRATION_SCHEMA,
11
11
  advisoryStateDigest,
@@ -26,7 +26,7 @@ import {
26
26
  cataloguedClaudeLegacyPaths,
27
27
  isAcceptedHistoricalFile,
28
28
  isAcceptedHistoricalHook
29
- } from "./chunk-HC4BPCWR.js";
29
+ } from "./chunk-QWNT3JKY.js";
30
30
 
31
31
  // src/claude-plugin/cleanup.ts
32
32
  import { createHash, randomUUID } from "crypto";
@@ -833,4 +833,4 @@ export {
833
833
  migrateClaudeLegacyAutomatically,
834
834
  recoverClaudeCleanup
835
835
  };
836
- //# sourceMappingURL=chunk-6EKCHOJJ.js.map
836
+ //# sourceMappingURL=chunk-MDWWJJYW.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  legacyObservationIsEmpty,
9
9
  observeClaudeLegacy
10
- } from "./chunk-GNFSXBIR.js";
10
+ } from "./chunk-T2NYPOU6.js";
11
11
  import {
12
12
  CLAUDE_MIGRATION_SCHEMA,
13
13
  claudeConfigDirectory
@@ -306,4 +306,4 @@ export {
306
306
  equivalentClaudeInstallations,
307
307
  observeClaudeStatus
308
308
  };
309
- //# sourceMappingURL=chunk-XEDNCD3L.js.map
309
+ //# sourceMappingURL=chunk-PH5RZ4AK.js.map
@@ -89,7 +89,7 @@ var CLAUDE_HISTORICAL_CATALOGUE = {
89
89
  ".claude/skills/figure-it-out/SKILL.md": "18e2b44e9a91562079b3e1f52fcd9f952b5f57a0f0e7647b0273809848a75c0d",
90
90
  ".claude/skills/finish-review/REVIEWER.md": "7575d91eb96a1c4930c8e68da1f4bb982d052c5e89f75fb38ed6422a8df96562",
91
91
  ".claude/skills/finish-review/SKILL.md": "e9ed5d198994b6cca12c62b1a4c13a1db2d82d65fc8a9173a41c5b5cf312cd52",
92
- ".claude/skills/lint/SKILL.md": "fdde749fe9ce764f6f9325f963c092d457960494fe78dd04d65d53a50e7cfd19",
92
+ ".claude/skills/lint/SKILL.md": "f8bc868fb10a06ca46a22236309b9f0c3ffbd70eecc024d3c79de8ef0e42fd14",
93
93
  ".claude/skills/quality-review/SKILL.md": "a884e61bb52222ecfc3d67b0332b79a72fa359fac6c87fca87efe6eb65a8a4ca",
94
94
  ".claude/skills/refactor/SKILL.md": "a51a858fb13b50cbc86789edbde8a39e364b5cdd7d5d3b025d555d90b221760e",
95
95
  ".claude/skills/retro-filer/SKILL.md": "ea126f3805a2befefb4db2011439f075ebfd6eca31b78bd5f284ac11d667b4f0",
@@ -1571,4 +1571,4 @@ export {
1571
1571
  acceptedHistoricalHookEntries,
1572
1572
  cataloguedClaudeLegacyPaths
1573
1573
  };
1574
- //# sourceMappingURL=chunk-HC4BPCWR.js.map
1574
+ //# sourceMappingURL=chunk-QWNT3JKY.js.map