safeword 0.78.3 → 0.78.4

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 (126) hide show
  1. package/codex-plugin/.codex-plugin/plugin.json +1 -1
  2. package/codex-plugin/hooks.json +5 -5
  3. package/dist/{architecture-RQ377ZER.js → architecture-TCSDEFKH.js} +7 -7
  4. package/dist/{architecture-document-KS3CLSYN.js → architecture-document-L2ADWVMV.js} +4 -4
  5. package/dist/{architecture-monorepo-NJWWU65G.js → architecture-monorepo-NKOQZBEY.js} +2 -2
  6. package/dist/{boundary-OPTC2RVJ.js → boundary-QP2H7C46.js} +2 -2
  7. package/dist/{chunk-CFME47IY.js → chunk-73TABQRT.js} +5 -5
  8. package/dist/{chunk-CNBZ3S5U.js → chunk-DBXX5K74.js} +4 -4
  9. package/dist/{chunk-AXAGJLMP.js → chunk-G757F3EU.js} +4 -4
  10. package/dist/{chunk-IDRLACDS.js → chunk-GFDINP7M.js} +11 -11
  11. package/dist/{chunk-MZKTOX6X.js → chunk-KS2ESRQL.js} +7 -7
  12. package/dist/chunk-LFC6CMMX.js +136 -0
  13. package/dist/chunk-LFC6CMMX.js.map +1 -0
  14. package/dist/{chunk-QLOUSTQE.js → chunk-LUNHU6Z3.js} +2 -2
  15. package/dist/{chunk-QLOUSTQE.js.map → chunk-LUNHU6Z3.js.map} +1 -1
  16. package/dist/{chunk-76XHADUG.js → chunk-RQ7RZYNB.js} +4 -4
  17. package/dist/{chunk-LH2FAQTI.js → chunk-VJUPD7JI.js} +5 -5
  18. package/dist/{chunk-CRGPYC35.js → chunk-YZ5JGDOV.js} +28 -134
  19. package/dist/chunk-YZ5JGDOV.js.map +1 -0
  20. package/dist/{cleanup-ELVHZPRC.js → cleanup-JNLZ7AXA.js} +4 -4
  21. package/dist/{cleanup-command-5BY4FWAT.js → cleanup-command-MFAYNYRW.js} +7 -7
  22. package/dist/cli.js +74 -66
  23. package/dist/cli.js.map +1 -1
  24. package/dist/{clients-WRPBRO6V.js → clients-7AJBKEWF.js} +2 -2
  25. package/dist/{codex-bootstrap-GYG7N4XU.js → codex-bootstrap-KFNUS63Y.js} +52 -21
  26. package/dist/codex-bootstrap-KFNUS63Y.js.map +1 -0
  27. package/dist/{codex-hook-7ILIPLYM.js → codex-hook-TNMYVOR7.js} +4 -4
  28. package/dist/{codify-HSDVRZFI.js → codify-RBWBRXQO.js} +2 -2
  29. package/dist/{commands-X4KBCMHS.js → commands-4UXHBZFD.js} +30 -29
  30. package/dist/commands-4UXHBZFD.js.map +1 -0
  31. package/dist/{config-TXJRCN3W.js → config-GS7BTZJD.js} +2 -2
  32. package/dist/{configured-paths-4CRHLBIF.js → configured-paths-CREUDQF3.js} +2 -2
  33. package/dist/{contract-B7NDKO5B.js → contract-42CIWIWV.js} +2 -2
  34. package/dist/{coordinator-ZMD3467F.js → coordinator-WOPGWDXK.js} +2 -2
  35. package/dist/{corpus-PUBXCCSN.js → corpus-CAFYEMBO.js} +2 -2
  36. package/dist/{doctor-RPXETRSJ.js → doctor-AZP5D7QP.js} +10 -10
  37. package/dist/{feature-directories-ASNDEM7J.js → feature-directories-6TLM7Y4H.js} +2 -2
  38. package/dist/{finalization-BGPOEBAL.js → finalization-AQT3SOP7.js} +4 -4
  39. package/dist/{gh-cli-OTX7PORT.js → gh-cli-XCQT5ST7.js} +2 -2
  40. package/dist/{github-rest-JCW32377.js → github-rest-CXFJ2NFF.js} +2 -2
  41. package/dist/index.js +1 -1
  42. package/dist/{job-NXXG4U5K.js → job-4POTQJZK.js} +2 -2
  43. package/dist/{learning-sync-2WIAOTW3.js → learning-sync-QVXBOP6J.js} +2 -2
  44. package/dist/{legacy-global-guidance-WTDI53H7.js → legacy-global-guidance-CPGUUNJI.js} +2 -2
  45. package/dist/{lint-gherkin-LS3CHW3J.js → lint-gherkin-LZ45NG4A.js} +2 -2
  46. package/dist/{operations-OZKEQCS4.js → operations-ODOA5CDG.js} +13 -11
  47. package/dist/{output-ZYTEW6SC.js → output-QTZCFLAY.js} +2 -2
  48. package/dist/{packet-7S6CZJQR.js → packet-5G6RT2EW.js} +2 -2
  49. package/dist/presets/typescript/index.js +1 -1
  50. package/dist/{profile-SDFSBKH5.js → profile-QGLZNLRU.js} +2 -2
  51. package/dist/{prompt-LYPODDC3.js → prompt-UCTSCXSS.js} +2 -2
  52. package/dist/{remove-P5JQNS5P.js → remove-UQPEXXNP.js} +5 -5
  53. package/dist/{retro-EQK2Z2Z6.js → retro-ELKR6GHF.js} +8 -8
  54. package/dist/{retro-draft-spool-MDPBVM6J.js → retro-draft-spool-M75BTT32.js} +2 -2
  55. package/dist/{retro-extract-CZMDD4WB.js → retro-extract-RA6THOC4.js} +2 -2
  56. package/dist/{review-pr-CWRD446M.js → review-pr-MN6QESAJ.js} +2 -2
  57. package/dist/{review-pr-publication-AIX2U3VM.js → review-pr-publication-6AVOGWR2.js} +2 -2
  58. package/dist/{run-T45X6Z6C.js → run-JFDGRAH2.js} +2 -2
  59. package/dist/{self-report-V7PHKTS6.js → self-report-5APRPB5P.js} +2 -2
  60. package/dist/{status-F5TFEIZ6.js → status-ATFG6Q3K.js} +4 -4
  61. package/dist/{status-S24PDFXB.js → status-HIQSP3F5.js} +10 -10
  62. package/dist/{sync-config-EUVBPUUG.js → sync-config-XPAJKBRO.js} +2 -2
  63. package/dist/{sync-tracker-5FSIIAMS.js → sync-tracker-3E5BWX73.js} +2 -2
  64. package/dist/{test-execution-HASVO6EL.js → test-execution-VDECX7TO.js} +2 -2
  65. package/dist/{test-plan-EM3PVGIX.js → test-plan-2L7A7UZV.js} +2 -2
  66. package/dist/{ticket-new-H6ZNIRS4.js → ticket-new-HZKNZ5GO.js} +2 -2
  67. package/dist/{ticket-sync-7QRH6PVT.js → ticket-sync-4QJD3KOL.js} +2 -2
  68. package/dist/{tracker-map-7AGCTWBZ.js → tracker-map-CFMFIEER.js} +2 -2
  69. package/dist/{tracker-sync-MLVYGFQJ.js → tracker-sync-MOPJE6M7.js} +2 -2
  70. package/package.json +1 -1
  71. package/dist/chunk-CRGPYC35.js.map +0 -1
  72. package/dist/codex-bootstrap-GYG7N4XU.js.map +0 -1
  73. package/dist/commands-X4KBCMHS.js.map +0 -1
  74. /package/dist/{architecture-RQ377ZER.js.map → architecture-TCSDEFKH.js.map} +0 -0
  75. /package/dist/{architecture-document-KS3CLSYN.js.map → architecture-document-L2ADWVMV.js.map} +0 -0
  76. /package/dist/{architecture-monorepo-NJWWU65G.js.map → architecture-monorepo-NKOQZBEY.js.map} +0 -0
  77. /package/dist/{boundary-OPTC2RVJ.js.map → boundary-QP2H7C46.js.map} +0 -0
  78. /package/dist/{chunk-CFME47IY.js.map → chunk-73TABQRT.js.map} +0 -0
  79. /package/dist/{chunk-CNBZ3S5U.js.map → chunk-DBXX5K74.js.map} +0 -0
  80. /package/dist/{chunk-AXAGJLMP.js.map → chunk-G757F3EU.js.map} +0 -0
  81. /package/dist/{chunk-IDRLACDS.js.map → chunk-GFDINP7M.js.map} +0 -0
  82. /package/dist/{chunk-MZKTOX6X.js.map → chunk-KS2ESRQL.js.map} +0 -0
  83. /package/dist/{chunk-76XHADUG.js.map → chunk-RQ7RZYNB.js.map} +0 -0
  84. /package/dist/{chunk-LH2FAQTI.js.map → chunk-VJUPD7JI.js.map} +0 -0
  85. /package/dist/{cleanup-ELVHZPRC.js.map → cleanup-JNLZ7AXA.js.map} +0 -0
  86. /package/dist/{cleanup-command-5BY4FWAT.js.map → cleanup-command-MFAYNYRW.js.map} +0 -0
  87. /package/dist/{clients-WRPBRO6V.js.map → clients-7AJBKEWF.js.map} +0 -0
  88. /package/dist/{codex-hook-7ILIPLYM.js.map → codex-hook-TNMYVOR7.js.map} +0 -0
  89. /package/dist/{codify-HSDVRZFI.js.map → codify-RBWBRXQO.js.map} +0 -0
  90. /package/dist/{config-TXJRCN3W.js.map → config-GS7BTZJD.js.map} +0 -0
  91. /package/dist/{configured-paths-4CRHLBIF.js.map → configured-paths-CREUDQF3.js.map} +0 -0
  92. /package/dist/{contract-B7NDKO5B.js.map → contract-42CIWIWV.js.map} +0 -0
  93. /package/dist/{coordinator-ZMD3467F.js.map → coordinator-WOPGWDXK.js.map} +0 -0
  94. /package/dist/{corpus-PUBXCCSN.js.map → corpus-CAFYEMBO.js.map} +0 -0
  95. /package/dist/{doctor-RPXETRSJ.js.map → doctor-AZP5D7QP.js.map} +0 -0
  96. /package/dist/{feature-directories-ASNDEM7J.js.map → feature-directories-6TLM7Y4H.js.map} +0 -0
  97. /package/dist/{finalization-BGPOEBAL.js.map → finalization-AQT3SOP7.js.map} +0 -0
  98. /package/dist/{gh-cli-OTX7PORT.js.map → gh-cli-XCQT5ST7.js.map} +0 -0
  99. /package/dist/{github-rest-JCW32377.js.map → github-rest-CXFJ2NFF.js.map} +0 -0
  100. /package/dist/{job-NXXG4U5K.js.map → job-4POTQJZK.js.map} +0 -0
  101. /package/dist/{learning-sync-2WIAOTW3.js.map → learning-sync-QVXBOP6J.js.map} +0 -0
  102. /package/dist/{legacy-global-guidance-WTDI53H7.js.map → legacy-global-guidance-CPGUUNJI.js.map} +0 -0
  103. /package/dist/{lint-gherkin-LS3CHW3J.js.map → lint-gherkin-LZ45NG4A.js.map} +0 -0
  104. /package/dist/{operations-OZKEQCS4.js.map → operations-ODOA5CDG.js.map} +0 -0
  105. /package/dist/{output-ZYTEW6SC.js.map → output-QTZCFLAY.js.map} +0 -0
  106. /package/dist/{packet-7S6CZJQR.js.map → packet-5G6RT2EW.js.map} +0 -0
  107. /package/dist/{profile-SDFSBKH5.js.map → profile-QGLZNLRU.js.map} +0 -0
  108. /package/dist/{prompt-LYPODDC3.js.map → prompt-UCTSCXSS.js.map} +0 -0
  109. /package/dist/{remove-P5JQNS5P.js.map → remove-UQPEXXNP.js.map} +0 -0
  110. /package/dist/{retro-EQK2Z2Z6.js.map → retro-ELKR6GHF.js.map} +0 -0
  111. /package/dist/{retro-draft-spool-MDPBVM6J.js.map → retro-draft-spool-M75BTT32.js.map} +0 -0
  112. /package/dist/{retro-extract-CZMDD4WB.js.map → retro-extract-RA6THOC4.js.map} +0 -0
  113. /package/dist/{review-pr-CWRD446M.js.map → review-pr-MN6QESAJ.js.map} +0 -0
  114. /package/dist/{review-pr-publication-AIX2U3VM.js.map → review-pr-publication-6AVOGWR2.js.map} +0 -0
  115. /package/dist/{run-T45X6Z6C.js.map → run-JFDGRAH2.js.map} +0 -0
  116. /package/dist/{self-report-V7PHKTS6.js.map → self-report-5APRPB5P.js.map} +0 -0
  117. /package/dist/{status-F5TFEIZ6.js.map → status-ATFG6Q3K.js.map} +0 -0
  118. /package/dist/{status-S24PDFXB.js.map → status-HIQSP3F5.js.map} +0 -0
  119. /package/dist/{sync-config-EUVBPUUG.js.map → sync-config-XPAJKBRO.js.map} +0 -0
  120. /package/dist/{sync-tracker-5FSIIAMS.js.map → sync-tracker-3E5BWX73.js.map} +0 -0
  121. /package/dist/{test-execution-HASVO6EL.js.map → test-execution-VDECX7TO.js.map} +0 -0
  122. /package/dist/{test-plan-EM3PVGIX.js.map → test-plan-2L7A7UZV.js.map} +0 -0
  123. /package/dist/{ticket-new-H6ZNIRS4.js.map → ticket-new-HZKNZ5GO.js.map} +0 -0
  124. /package/dist/{ticket-sync-7QRH6PVT.js.map → ticket-sync-4QJD3KOL.js.map} +0 -0
  125. /package/dist/{tracker-map-7AGCTWBZ.js.map → tracker-map-CFMFIEER.js.map} +0 -0
  126. /package/dist/{tracker-sync-MLVYGFQJ.js.map → tracker-sync-MOPJE6M7.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safeword",
3
- "version": "0.78.3",
3
+ "version": "0.78.4",
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.78.3 hook codex session-start --plugin-hook",
9
+ "command": "bunx --bun safeword@0.78.4 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.78.3 hook codex pre-tool-use --plugin-hook",
22
+ "command": "bunx --bun safeword@0.78.4 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.78.3 hook codex post-tool-use --plugin-hook",
35
+ "command": "bunx --bun safeword@0.78.4 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.78.3 hook codex user-prompt-submit --plugin-hook",
48
+ "command": "bunx --bun safeword@0.78.4 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.78.3 hook codex stop --plugin-hook",
61
+ "command": "bunx --bun safeword@0.78.4 hook codex stop --plugin-hook",
62
62
  "timeout": 600,
63
63
  "statusMessage": "Checking Safeword stop continuation"
64
64
  }
@@ -9,11 +9,7 @@ import {
9
9
  planSelfHealProject,
10
10
  selfHealProject,
11
11
  selfHealProjectPreservingProse
12
- } from "./chunk-LH2FAQTI.js";
13
- import {
14
- discoverUnreadableWorkspaces,
15
- extractMonorepoArchitectureSnapshot
16
- } from "./chunk-VZ5B2SIO.js";
12
+ } from "./chunk-VJUPD7JI.js";
17
13
  import {
18
14
  GENERATED_ARCHITECTURE_FILENAME,
19
15
  isArchitectureDocumentEnforcementEnabled,
@@ -21,11 +17,15 @@ import {
21
17
  resolveGeneratedArchitecturePath,
22
18
  toRepoDirectory
23
19
  } from "./chunk-RVDXBHUG.js";
20
+ import {
21
+ discoverUnreadableWorkspaces,
22
+ extractMonorepoArchitectureSnapshot
23
+ } from "./chunk-VZ5B2SIO.js";
24
24
  import {
25
25
  readJson,
26
26
  writeJson
27
27
  } from "./chunk-HF3DXZEA.js";
28
- import "./chunk-QLOUSTQE.js";
28
+ import "./chunk-LUNHU6Z3.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-RQ377ZER.js.map
653
+ //# sourceMappingURL=architecture-TCSDEFKH.js.map
@@ -7,11 +7,11 @@ import {
7
7
  selfHeal,
8
8
  selfHealProject,
9
9
  selfHealProjectPreservingProse
10
- } from "./chunk-LH2FAQTI.js";
11
- import "./chunk-VZ5B2SIO.js";
10
+ } from "./chunk-VJUPD7JI.js";
12
11
  import "./chunk-RVDXBHUG.js";
12
+ import "./chunk-VZ5B2SIO.js";
13
13
  import "./chunk-HF3DXZEA.js";
14
- import "./chunk-QLOUSTQE.js";
14
+ import "./chunk-LUNHU6Z3.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-KS3CLSYN.js.map
25
+ //# sourceMappingURL=architecture-document-L2ADWVMV.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-QLOUSTQE.js";
8
+ import "./chunk-LUNHU6Z3.js";
9
9
  export {
10
10
  discoverUnreadableWorkspaces,
11
11
  discoverWorkspaces,
12
12
  extractMonorepoArchitectureSnapshot,
13
13
  monorepoFingerprintOf
14
14
  };
15
- //# sourceMappingURL=architecture-monorepo-NJWWU65G.js.map
15
+ //# sourceMappingURL=architecture-monorepo-NKOQZBEY.js.map
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  readFileSafe
27
27
  } from "./chunk-HF3DXZEA.js";
28
- import "./chunk-QLOUSTQE.js";
28
+ import "./chunk-LUNHU6Z3.js";
29
29
 
30
30
  // src/commands/boundary.ts
31
31
  import { execFileSync as execFileSync2 } from "child_process";
@@ -630,4 +630,4 @@ function boundary(options) {
630
630
  export {
631
631
  boundary
632
632
  };
633
- //# sourceMappingURL=boundary-OPTC2RVJ.js.map
633
+ //# sourceMappingURL=boundary-QP2H7C46.js.map
@@ -15,15 +15,15 @@ import {
15
15
  writeClaudeMigrationAttention,
16
16
  writeClaudePluginMode
17
17
  } from "./chunk-WVA4Q6BX.js";
18
+ import {
19
+ writeDurableFile,
20
+ writeDurableFileExclusive
21
+ } from "./chunk-QOLHGAD5.js";
18
22
  import {
19
23
  cataloguedClaudeLegacyPaths,
20
24
  isAcceptedHistoricalFile,
21
25
  isAcceptedHistoricalHook
22
26
  } from "./chunk-HNCUIXDY.js";
23
- import {
24
- writeDurableFile,
25
- writeDurableFileExclusive
26
- } from "./chunk-QOLHGAD5.js";
27
27
  import {
28
28
  createResult
29
29
  } from "./chunk-FOYGZ4MK.js";
@@ -833,4 +833,4 @@ export {
833
833
  migrateClaudeLegacyAutomatically,
834
834
  recoverClaudeCleanup
835
835
  };
836
- //# sourceMappingURL=chunk-CFME47IY.js.map
836
+ //# sourceMappingURL=chunk-73TABQRT.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ writeDurableFile
3
+ } from "./chunk-QOLHGAD5.js";
1
4
  import {
2
5
  SAFEWORD_SCHEMA
3
6
  } from "./chunk-IPTM5VE7.js";
@@ -7,9 +10,6 @@ import {
7
10
  import {
8
11
  CODEX_MIGRATION_SCHEMA
9
12
  } from "./chunk-AVAUUIDB.js";
10
- import {
11
- writeDurableFile
12
- } from "./chunk-QOLHGAD5.js";
13
13
 
14
14
  // src/codex-plugin/legacy-authority.ts
15
15
  import { accessSync, constants, lstatSync, readFileSync } from "fs";
@@ -772,4 +772,4 @@ export {
772
772
  observeCodexSessionProof,
773
773
  observeCodexHookProof
774
774
  };
775
- //# sourceMappingURL=chunk-CNBZ3S5U.js.map
775
+ //# sourceMappingURL=chunk-DBXX5K74.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- CODEX_MIGRATION_SCHEMA
3
- } from "./chunk-AVAUUIDB.js";
4
1
  import {
5
2
  durableRename,
6
3
  writeDurableFile
@@ -8,6 +5,9 @@ import {
8
5
  import {
9
6
  CodexMigrationError
10
7
  } from "./chunk-CDWNLTHY.js";
8
+ import {
9
+ CODEX_MIGRATION_SCHEMA
10
+ } from "./chunk-AVAUUIDB.js";
11
11
 
12
12
  // src/codex-plugin/finalization.ts
13
13
  import { createHash, randomUUID } from "crypto";
@@ -492,4 +492,4 @@ export {
492
492
  observeCodexRecoveryPlan,
493
493
  applyCodexFinalization
494
494
  };
495
- //# sourceMappingURL=chunk-AXAGJLMP.js.map
495
+ //# sourceMappingURL=chunk-G757F3EU.js.map
@@ -39,6 +39,16 @@ import {
39
39
  hasLegacyClaudePluginMode,
40
40
  readClaudePluginMode
41
41
  } from "./chunk-WVA4Q6BX.js";
42
+ import {
43
+ codexFinalizationIsComplete
44
+ } from "./chunk-G757F3EU.js";
45
+ import {
46
+ findDanglingDependencies,
47
+ findTicketsInCycles,
48
+ formatTicketReference,
49
+ inspectTicketIndexConflicts,
50
+ readTickets
51
+ } from "./chunk-MVFHTUQ3.js";
42
52
  import {
43
53
  BDD_LANE_FILE_PATHS,
44
54
  BDD_LANE_SCRIPT,
@@ -51,16 +61,6 @@ import {
51
61
  import {
52
62
  getPythonToolDependencyGaps
53
63
  } from "./chunk-JSR3HXFT.js";
54
- import {
55
- codexFinalizationIsComplete
56
- } from "./chunk-AXAGJLMP.js";
57
- import {
58
- findDanglingDependencies,
59
- findTicketsInCycles,
60
- formatTicketReference,
61
- inspectTicketIndexConflicts,
62
- readTickets
63
- } from "./chunk-MVFHTUQ3.js";
64
64
  import {
65
65
  createResult
66
66
  } from "./chunk-FOYGZ4MK.js";
@@ -1088,4 +1088,4 @@ export {
1088
1088
  observeCursorProject,
1089
1089
  unselectedCursorFinding
1090
1090
  };
1091
- //# sourceMappingURL=chunk-IDRLACDS.js.map
1091
+ //# sourceMappingURL=chunk-GFDINP7M.js.map
@@ -3,10 +3,7 @@ import {
3
3
  observeCursorProject,
4
4
  projectLifecycleSchema,
5
5
  unselectedCursorFinding
6
- } from "./chunk-IDRLACDS.js";
7
- import {
8
- detectPackageManager
9
- } from "./chunk-JSR3HXFT.js";
6
+ } from "./chunk-GFDINP7M.js";
10
7
  import {
11
8
  legacyGlobalGuidanceDiagnostic,
12
9
  observeLegacyGlobalGuidance
@@ -18,6 +15,9 @@ import {
18
15
  import {
19
16
  DEFAULT_AGENT_INTEGRATIONS
20
17
  } from "./chunk-23BNG6FE.js";
18
+ import {
19
+ detectPackageManager
20
+ } from "./chunk-JSR3HXFT.js";
21
21
  import {
22
22
  combineEffects,
23
23
  combinedResultState,
@@ -78,11 +78,11 @@ async function observeLifecycleSurfaces(cwd, agents, environment = process.env)
78
78
  const project = await observeStatus(cwd, agents, environment);
79
79
  const surfaces = [{ name: "project", result: project }];
80
80
  if (agents.includes("claude")) {
81
- const { observeClaudeStatus } = await import("./status-F5TFEIZ6.js");
81
+ const { observeClaudeStatus } = await import("./status-ATFG6Q3K.js");
82
82
  surfaces.push({ name: "claude", result: observeClaudeStatus(cwd) });
83
83
  }
84
84
  if (agents.includes("codex")) {
85
- const { observeCodexMigration } = await import("./operations-OZKEQCS4.js");
85
+ const { observeCodexMigration } = await import("./operations-ODOA5CDG.js");
86
86
  surfaces.push({ name: "codex", result: observeCodexMigration(cwd, environment) });
87
87
  }
88
88
  if (agents.includes("cursor")) {
@@ -238,4 +238,4 @@ export {
238
238
  summarizeLifecycleStatus,
239
239
  observeLifecycleStatus
240
240
  };
241
- //# sourceMappingURL=chunk-MZKTOX6X.js.map
241
+ //# sourceMappingURL=chunk-KS2ESRQL.js.map
@@ -0,0 +1,136 @@
1
+ import {
2
+ SAFEWORD_SCHEMA
3
+ } from "./chunk-IPTM5VE7.js";
4
+ import {
5
+ CODEX_MIGRATION_SCHEMA
6
+ } from "./chunk-AVAUUIDB.js";
7
+
8
+ // src/codex-plugin/migration.ts
9
+ function codexInstallRequiresMutation(observation) {
10
+ return observation.plugin.enabled !== true || observation.state === "plugin_update_required";
11
+ }
12
+ var CODEX_RESTART_ACTION = "Fully restart Codex, then resume this task";
13
+ var CODEX_RESTART_INSTRUCTION = `${CODEX_RESTART_ACTION} and review the installed hooks with /hooks.`;
14
+ var CODEX_RESTART_CONTEXT = "This Codex app may keep its loaded Safeword catalogue.";
15
+ function codexPluginVersionMatchesPackage(plugin) {
16
+ return plugin.version === null || plugin.version === SAFEWORD_SCHEMA.version;
17
+ }
18
+ function pluginProtectionIsCurrent(facts) {
19
+ return !facts.activationPending && facts.plugin.enabled === true && codexPluginVersionMatchesPackage(facts.plugin) && facts.proof.status === "current" && (facts.plugin.version === null || facts.proof.plugin_version === facts.plugin.version);
20
+ }
21
+ function deriveCodexMigrationResult(facts) {
22
+ const hasLegacy = facts.legacyAssets.length > 0 || facts.legacyEvents.length > 0;
23
+ const protectedStatus = legacyProtection(facts, hasLegacy);
24
+ const state = migrationState(facts, hasLegacy);
25
+ const next = nextAction(state);
26
+ return {
27
+ schema_version: "2",
28
+ ok: state === "plugin",
29
+ state,
30
+ protected: facts.recoveryRequired ? "uncertain" : protectedStatus,
31
+ changed: false,
32
+ plugin: facts.plugin,
33
+ proof: facts.proof,
34
+ legacy: {
35
+ events: facts.legacyEvents,
36
+ viable_events: facts.viableLegacyEvents,
37
+ assets: facts.legacyAssets
38
+ },
39
+ effects: { files: [] },
40
+ errors: [],
41
+ next_actions: next === void 0 ? [] : [next]
42
+ };
43
+ }
44
+ var MIGRATION_STATE_RULES = [
45
+ { state: "recovery_required", matches: (facts) => facts.recoveryRequired },
46
+ {
47
+ state: "plugin_setup_required",
48
+ matches: (facts) => facts.finalized && facts.plugin.enabled !== true
49
+ },
50
+ {
51
+ state: "plugin_disabled",
52
+ matches: (facts) => facts.plugin.installed && facts.plugin.enabled === false
53
+ },
54
+ {
55
+ state: "plugin_update_required",
56
+ matches: (facts) => facts.plugin.enabled === true && !codexPluginVersionMatchesPackage(facts.plugin)
57
+ },
58
+ {
59
+ state: "plugin_installed_app_restart_required",
60
+ matches: (facts) => facts.activationPending && facts.plugin.enabled === true
61
+ },
62
+ {
63
+ state: "plugin_enabled_hook_unproven",
64
+ matches: (facts) => facts.plugin.enabled === true && !pluginProtectionIsCurrent(facts)
65
+ },
66
+ {
67
+ state: "compatibility",
68
+ matches: (facts, hasLegacy) => pluginProtectionIsCurrent(facts) && hasLegacy
69
+ },
70
+ {
71
+ state: "plugin",
72
+ matches: (facts) => pluginProtectionIsCurrent(facts)
73
+ },
74
+ { state: "legacy", matches: (_facts, hasLegacy) => hasLegacy }
75
+ ];
76
+ function migrationState(facts, hasLegacy) {
77
+ return MIGRATION_STATE_RULES.find((rule) => rule.matches(facts, hasLegacy))?.state ?? "not_configured";
78
+ }
79
+ function legacyProtection(facts, hasLegacy) {
80
+ if (pluginProtectionIsCurrent(facts)) return "protected";
81
+ if (!hasLegacy || facts.viableLegacyEvents.length === 0) return "unprotected";
82
+ return facts.viableLegacyEvents.length === facts.legacyEvents.length ? "protected" : "partial";
83
+ }
84
+ var NEXT_COMMANDS = {
85
+ recovery_required: "safeword codex recover",
86
+ compatibility: "safeword codex migrate --finalize",
87
+ plugin: void 0,
88
+ plugin_installed_app_restart_required: void 0,
89
+ plugin_enabled_hook_unproven: void 0,
90
+ plugin_setup_required: "safeword codex migrate",
91
+ plugin_disabled: "safeword codex migrate",
92
+ plugin_update_required: "safeword codex migrate",
93
+ legacy: "safeword codex migrate",
94
+ not_configured: "safeword codex migrate"
95
+ };
96
+ function nextAction(state) {
97
+ if (state === "plugin_installed_app_restart_required" || state === "plugin_enabled_hook_unproven") {
98
+ return {
99
+ kind: "human",
100
+ instruction: CODEX_RESTART_INSTRUCTION,
101
+ mutates: false,
102
+ requires_human: true
103
+ };
104
+ }
105
+ const command = NEXT_COMMANDS[state];
106
+ return command === void 0 ? void 0 : { command, mutates: true, requires_human: true };
107
+ }
108
+ function renderCodexMigrationHuman(result) {
109
+ const lines = [`Codex migration: ${result.state}`, `Protection: ${result.protected}`];
110
+ if (result.state === "plugin_setup_required") {
111
+ lines.push(`Setup: ${CODEX_MIGRATION_SCHEMA.paths.bootstrapSkill}`);
112
+ } else if (result.state === "plugin_installed_app_restart_required" || result.state === "plugin_enabled_hook_unproven") {
113
+ lines.push(CODEX_RESTART_CONTEXT);
114
+ }
115
+ const next = result.next_actions[0];
116
+ if (next !== void 0) {
117
+ lines.push(`Next: ${"command" in next ? next.command : next.instruction}`);
118
+ }
119
+ return `${lines.join("\n")}
120
+ `;
121
+ }
122
+ function codexMigrationExitCode(result) {
123
+ if (result.errors.length > 0) return 1;
124
+ return result.ok ? 0 : 2;
125
+ }
126
+
127
+ export {
128
+ codexInstallRequiresMutation,
129
+ CODEX_RESTART_ACTION,
130
+ CODEX_RESTART_CONTEXT,
131
+ codexPluginVersionMatchesPackage,
132
+ deriveCodexMigrationResult,
133
+ renderCodexMigrationHuman,
134
+ codexMigrationExitCode
135
+ };
136
+ //# sourceMappingURL=chunk-LFC6CMMX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/codex-plugin/migration.ts"],"sourcesContent":["import { SAFEWORD_SCHEMA } from '../schema.js';\nimport { CODEX_MIGRATION_SCHEMA } from './inventory.js';\nimport type { CodexHookProofObservation } from './profile-proof.js';\n\ntype CodexMigrationState =\n | 'recovery_required'\n | 'plugin_setup_required'\n | 'plugin_disabled'\n | 'plugin_update_required'\n | 'legacy'\n | 'plugin_installed_app_restart_required'\n | 'plugin_enabled_hook_unproven'\n | 'compatibility'\n | 'plugin'\n | 'not_configured';\n\nexport interface CodexPluginObservation {\n installed: boolean;\n enabled: boolean | null;\n version: string | null;\n observation: 'observed' | 'unknown';\n}\n\nexport interface CodexMigrationResultV2 {\n schema_version: '2';\n ok: boolean;\n state: CodexMigrationState;\n /** Protection availability; interpret with `state` to identify its provider or absence. */\n protected: 'protected' | 'partial' | 'unprotected' | 'uncertain';\n changed: boolean;\n plugin: CodexPluginObservation;\n proof: CodexHookProofObservation;\n legacy: { events: string[]; viable_events: string[]; assets: string[] };\n effects: { files: { path: string; action: 'create' | 'update' | 'remove' | 'restore' }[] };\n errors: { code: string; message: string; retryable: boolean }[];\n next_actions: (\n | { command: string; mutates: boolean; requires_human: boolean }\n | {\n kind: 'human';\n instruction: string;\n mutates: false;\n requires_human: true;\n }\n )[];\n}\n\nexport interface CodexMigrationFacts {\n plugin: CodexPluginObservation;\n proof: CodexHookProofObservation;\n legacyAssets: string[];\n legacyEvents: string[];\n viableLegacyEvents: string[];\n finalized: boolean;\n recoveryRequired: boolean;\n activationPending: boolean;\n}\n\nexport function codexInstallRequiresMutation(observation: CodexMigrationResultV2): boolean {\n return observation.plugin.enabled !== true || observation.state === 'plugin_update_required';\n}\n\nexport const CODEX_RESTART_ACTION = 'Fully restart Codex, then resume this task';\nconst CODEX_RESTART_INSTRUCTION = `${CODEX_RESTART_ACTION} and review the installed hooks with /hooks.`;\n\n/**\n * Why the app may still be stale. The instruction that resolves it travels as a\n * typed human next action, so renderers must not repeat it here — a message and\n * a `Next:` line carrying the same sentence reads as a stutter, not as emphasis.\n */\nexport const CODEX_RESTART_CONTEXT = 'This Codex app may keep its loaded Safeword catalogue.';\n\nexport function codexPluginVersionMatchesPackage(plugin: CodexPluginObservation): boolean {\n // Older Codex clients may omit nullable catalog version metadata. In that\n // case, current execution proof still binds protection to both the exact\n // packaged plugin version and hook-manifest digest.\n return plugin.version === null || plugin.version === SAFEWORD_SCHEMA.version;\n}\n\nfunction pluginProtectionIsCurrent(facts: CodexMigrationFacts): boolean {\n return (\n !facts.activationPending &&\n facts.plugin.enabled === true &&\n codexPluginVersionMatchesPackage(facts.plugin) &&\n facts.proof.status === 'current' &&\n (facts.plugin.version === null || facts.proof.plugin_version === facts.plugin.version)\n );\n}\n\nexport function deriveCodexMigrationResult(facts: CodexMigrationFacts): CodexMigrationResultV2 {\n const hasLegacy = facts.legacyAssets.length > 0 || facts.legacyEvents.length > 0;\n const protectedStatus = legacyProtection(facts, hasLegacy);\n const state = migrationState(facts, hasLegacy);\n const next = nextAction(state);\n\n return {\n schema_version: '2',\n ok: state === 'plugin',\n state,\n protected: facts.recoveryRequired ? 'uncertain' : protectedStatus,\n changed: false,\n plugin: facts.plugin,\n proof: facts.proof,\n legacy: {\n events: facts.legacyEvents,\n viable_events: facts.viableLegacyEvents,\n assets: facts.legacyAssets,\n },\n effects: { files: [] },\n errors: [],\n next_actions: next === undefined ? [] : [next],\n };\n}\n\nconst MIGRATION_STATE_RULES: readonly {\n state: CodexMigrationState;\n matches: (facts: CodexMigrationFacts, hasLegacy: boolean) => boolean;\n}[] = [\n { state: 'recovery_required', matches: facts => facts.recoveryRequired },\n {\n state: 'plugin_setup_required',\n matches: facts => facts.finalized && facts.plugin.enabled !== true,\n },\n {\n state: 'plugin_disabled',\n matches: facts => facts.plugin.installed && facts.plugin.enabled === false,\n },\n {\n state: 'plugin_update_required',\n matches: facts =>\n facts.plugin.enabled === true && !codexPluginVersionMatchesPackage(facts.plugin),\n },\n {\n state: 'plugin_installed_app_restart_required',\n matches: facts => facts.activationPending && facts.plugin.enabled === true,\n },\n {\n state: 'plugin_enabled_hook_unproven',\n matches: facts => facts.plugin.enabled === true && !pluginProtectionIsCurrent(facts),\n },\n {\n state: 'compatibility',\n matches: (facts, hasLegacy) => pluginProtectionIsCurrent(facts) && hasLegacy,\n },\n {\n state: 'plugin',\n matches: facts => pluginProtectionIsCurrent(facts),\n },\n { state: 'legacy', matches: (_facts, hasLegacy) => hasLegacy },\n];\n\nfunction migrationState(facts: CodexMigrationFacts, hasLegacy: boolean): CodexMigrationState {\n return (\n MIGRATION_STATE_RULES.find(rule => rule.matches(facts, hasLegacy))?.state ?? 'not_configured'\n );\n}\n\nfunction legacyProtection(\n facts: CodexMigrationFacts,\n hasLegacy: boolean,\n): CodexMigrationResultV2['protected'] {\n if (pluginProtectionIsCurrent(facts)) return 'protected';\n if (!hasLegacy || facts.viableLegacyEvents.length === 0) return 'unprotected';\n return facts.viableLegacyEvents.length === facts.legacyEvents.length ? 'protected' : 'partial';\n}\n\nconst NEXT_COMMANDS = {\n recovery_required: 'safeword codex recover',\n compatibility: 'safeword codex migrate --finalize',\n plugin: undefined,\n plugin_installed_app_restart_required: undefined,\n plugin_enabled_hook_unproven: undefined,\n plugin_setup_required: 'safeword codex migrate',\n plugin_disabled: 'safeword codex migrate',\n plugin_update_required: 'safeword codex migrate',\n legacy: 'safeword codex migrate',\n not_configured: 'safeword codex migrate',\n} as const satisfies Readonly<Record<CodexMigrationState, string | undefined>>;\n\nfunction nextAction(\n state: CodexMigrationState,\n): CodexMigrationResultV2['next_actions'][number] | undefined {\n if (\n state === 'plugin_installed_app_restart_required' ||\n state === 'plugin_enabled_hook_unproven'\n ) {\n return {\n kind: 'human',\n instruction: CODEX_RESTART_INSTRUCTION,\n mutates: false,\n requires_human: true,\n };\n }\n const command = NEXT_COMMANDS[state];\n return command === undefined ? undefined : { command, mutates: true, requires_human: true };\n}\n\nexport function renderCodexMigrationHuman(result: CodexMigrationResultV2): string {\n const lines = [`Codex migration: ${result.state}`, `Protection: ${result.protected}`];\n if (result.state === 'plugin_setup_required') {\n lines.push(`Setup: ${CODEX_MIGRATION_SCHEMA.paths.bootstrapSkill}`);\n } else if (\n result.state === 'plugin_installed_app_restart_required' ||\n result.state === 'plugin_enabled_hook_unproven'\n ) {\n lines.push(CODEX_RESTART_CONTEXT);\n }\n const next = result.next_actions[0];\n if (next !== undefined) {\n lines.push(`Next: ${'command' in next ? next.command : next.instruction}`);\n }\n return `${lines.join('\\n')}\\n`;\n}\n\nexport function codexMigrationExitCode(result: CodexMigrationResultV2): 0 | 1 | 2 {\n if (result.errors.length > 0) return 1;\n return result.ok ? 0 : 2;\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  // <define:__SAFEWORD_RELAY_BUILD_ATTESTATION__>
2
- var define_SAFEWORD_RELAY_BUILD_ATTESTATION_default = { ancestorPairs: [], artifacts: {}, buildCommit: "340c251a38b0e452074e97c17673f3932a4ad8d5", enabled: false, manifestBase64: "ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K", manifestSha256: "946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262" };
2
+ var define_SAFEWORD_RELAY_BUILD_ATTESTATION_default = { ancestorPairs: [], artifacts: {}, buildCommit: "f1d216fe0dcd256c63531665295f8f3247be1ce7", enabled: false, manifestBase64: "ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K", manifestSha256: "946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262" };
3
3
 
4
4
  export {
5
5
  define_SAFEWORD_RELAY_BUILD_ATTESTATION_default
6
6
  };
7
- //# sourceMappingURL=chunk-QLOUSTQE.js.map
7
+ //# sourceMappingURL=chunk-LUNHU6Z3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["<define:__SAFEWORD_RELAY_BUILD_ATTESTATION__>"],"sourcesContent":["{\"ancestorPairs\":[],\"artifacts\":{},\"buildCommit\":\"340c251a38b0e452074e97c17673f3932a4ad8d5\",\"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\":\"f1d216fe0dcd256c63531665295f8f3247be1ce7\",\"enabled\":false,\"manifestBase64\":\"ewogICJlbmFibGVkIjogZmFsc2UsCiAgInZlcnNpb24iOiAxCn0K\",\"manifestSha256\":\"946401206ee213e84b672a7f2a400cfa7da911c2f5d6da1c051e63940ed27262\"}"],"mappings":";AAAA,wDAAC,eAAgB,CAAC,GAAE,WAAY,CAAC,GAAE,aAAc,4CAA2C,SAAU,OAAM,gBAAiB,wDAAuD,gBAAiB,mEAAkE;","names":[]}
@@ -3,15 +3,15 @@ import {
3
3
  createProjectContext,
4
4
  reconcile
5
5
  } from "./chunk-2XR7J5WL.js";
6
+ import {
7
+ onlineRequired
8
+ } from "./chunk-QAHJSG53.js";
6
9
  import {
7
10
  SAFEWORD_SCHEMA
8
11
  } from "./chunk-IPTM5VE7.js";
9
12
  import {
10
13
  uninstallDependencies
11
14
  } from "./chunk-JSR3HXFT.js";
12
- import {
13
- onlineRequired
14
- } from "./chunk-QAHJSG53.js";
15
15
  import {
16
16
  createPlan,
17
17
  isPlanIdentity,
@@ -363,4 +363,4 @@ export {
363
363
  diffFileSnapshots,
364
364
  removeProject
365
365
  };
366
- //# sourceMappingURL=chunk-76XHADUG.js.map
366
+ //# sourceMappingURL=chunk-RQ7RZYNB.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ GENERATED_ARCHITECTURE_FILENAME,
3
+ resolveGeneratedArchitecturePath
4
+ } from "./chunk-RVDXBHUG.js";
1
5
  import {
2
6
  PURPOSE_PLACEHOLDER,
3
7
  dependencySectionNames,
@@ -9,10 +13,6 @@ import {
9
13
  readDelimitedBlock,
10
14
  readPyprojectDependencies
11
15
  } from "./chunk-VZ5B2SIO.js";
12
- import {
13
- GENERATED_ARCHITECTURE_FILENAME,
14
- resolveGeneratedArchitecturePath
15
- } from "./chunk-RVDXBHUG.js";
16
16
  import {
17
17
  readJson
18
18
  } from "./chunk-HF3DXZEA.js";
@@ -543,4 +543,4 @@ export {
543
543
  selfHealProjectPreservingProse,
544
544
  planSelfHealProject
545
545
  };
546
- //# sourceMappingURL=chunk-LH2FAQTI.js.map
546
+ //# sourceMappingURL=chunk-VJUPD7JI.js.map