@12ui/design 0.2.55 → 0.2.56

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 (127) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/cli-arguments.d.ts.map +1 -1
  3. package/dist/cli-arguments.js +1 -0
  4. package/dist/cli-arguments.js.map +1 -1
  5. package/dist/cli-conversion-derivation.d.ts +2 -1
  6. package/dist/cli-conversion-derivation.d.ts.map +1 -1
  7. package/dist/cli-conversion-derivation.js +9 -1
  8. package/dist/cli-conversion-derivation.js.map +1 -1
  9. package/dist/cli-convert-command.js +1 -1
  10. package/dist/cli-convert-command.js.map +1 -1
  11. package/dist/cli-draft-command.d.ts +11 -0
  12. package/dist/cli-draft-command.d.ts.map +1 -1
  13. package/dist/cli-draft-command.js +10 -1
  14. package/dist/cli-draft-command.js.map +1 -1
  15. package/dist/cli-help/design.d.ts +1 -1
  16. package/dist/cli-help/design.d.ts.map +1 -1
  17. package/dist/cli-help/design.js +7 -1
  18. package/dist/cli-help/design.js.map +1 -1
  19. package/dist/cli-help/index.d.ts +1 -1
  20. package/dist/cli-improve-command.d.ts.map +1 -1
  21. package/dist/cli-improve-command.js +252 -68
  22. package/dist/cli-improve-command.js.map +1 -1
  23. package/dist/cli-next-command.d.ts.map +1 -1
  24. package/dist/cli-next-command.js +44 -4
  25. package/dist/cli-next-command.js.map +1 -1
  26. package/dist/cli-usage.js +1 -1
  27. package/dist/improve-conversion-attempts.d.ts +92 -0
  28. package/dist/improve-conversion-attempts.d.ts.map +1 -0
  29. package/dist/improve-conversion-attempts.js +88 -0
  30. package/dist/improve-conversion-attempts.js.map +1 -0
  31. package/dist/improve-conversion-stage.d.ts +7 -0
  32. package/dist/improve-conversion-stage.d.ts.map +1 -1
  33. package/dist/improve-conversion-stage.js +197 -30
  34. package/dist/improve-conversion-stage.js.map +1 -1
  35. package/dist/improve-convert-resilience.d.ts +125 -0
  36. package/dist/improve-convert-resilience.d.ts.map +1 -1
  37. package/dist/improve-convert-resilience.js +165 -1
  38. package/dist/improve-convert-resilience.js.map +1 -1
  39. package/dist/improve-delivery-stages.d.ts.map +1 -1
  40. package/dist/improve-delivery-stages.js +1 -0
  41. package/dist/improve-delivery-stages.js.map +1 -1
  42. package/dist/improve-dom-diff.d.ts +2 -0
  43. package/dist/improve-dom-diff.d.ts.map +1 -1
  44. package/dist/improve-dom-diff.js +7 -0
  45. package/dist/improve-dom-diff.js.map +1 -1
  46. package/dist/improve-dom-gate.d.ts +7 -0
  47. package/dist/improve-dom-gate.d.ts.map +1 -1
  48. package/dist/improve-dom-gate.js +13 -0
  49. package/dist/improve-dom-gate.js.map +1 -1
  50. package/dist/improve-generation-stages.d.ts +3 -0
  51. package/dist/improve-generation-stages.d.ts.map +1 -1
  52. package/dist/improve-generation-stages.js +24 -7
  53. package/dist/improve-generation-stages.js.map +1 -1
  54. package/dist/improve-kit-assets.d.ts +129 -0
  55. package/dist/improve-kit-assets.d.ts.map +1 -0
  56. package/dist/improve-kit-assets.js +333 -0
  57. package/dist/improve-kit-assets.js.map +1 -0
  58. package/dist/improve-kit-readme.d.ts +11 -2
  59. package/dist/improve-kit-readme.d.ts.map +1 -1
  60. package/dist/improve-kit-readme.js +192 -26
  61. package/dist/improve-kit-readme.js.map +1 -1
  62. package/dist/improve-kit-stall.d.ts +67 -0
  63. package/dist/improve-kit-stall.d.ts.map +1 -0
  64. package/dist/improve-kit-stall.js +159 -0
  65. package/dist/improve-kit-stall.js.map +1 -0
  66. package/dist/improve-kit-status.d.ts +69 -0
  67. package/dist/improve-kit-status.d.ts.map +1 -0
  68. package/dist/improve-kit-status.js +145 -0
  69. package/dist/improve-kit-status.js.map +1 -0
  70. package/dist/improve-options.d.ts +10 -1
  71. package/dist/improve-options.d.ts.map +1 -1
  72. package/dist/improve-options.js +62 -15
  73. package/dist/improve-options.js.map +1 -1
  74. package/dist/improve-plan-annotated-render.d.ts +33 -0
  75. package/dist/improve-plan-annotated-render.d.ts.map +1 -0
  76. package/dist/improve-plan-annotated-render.js +175 -0
  77. package/dist/improve-plan-annotated-render.js.map +1 -0
  78. package/dist/improve-plan-annotator.d.ts +2 -1
  79. package/dist/improve-plan-annotator.d.ts.map +1 -1
  80. package/dist/improve-plan-annotator.js +21 -45
  81. package/dist/improve-plan-annotator.js.map +1 -1
  82. package/dist/improve-raster-layers-section.d.ts +21 -0
  83. package/dist/improve-raster-layers-section.d.ts.map +1 -0
  84. package/dist/improve-raster-layers-section.js +45 -0
  85. package/dist/improve-raster-layers-section.js.map +1 -0
  86. package/dist/improve-reset.d.ts +122 -0
  87. package/dist/improve-reset.d.ts.map +1 -0
  88. package/dist/improve-reset.js +141 -0
  89. package/dist/improve-reset.js.map +1 -0
  90. package/dist/improve-run-summary.d.ts +35 -0
  91. package/dist/improve-run-summary.d.ts.map +1 -0
  92. package/dist/improve-run-summary.js +134 -0
  93. package/dist/improve-run-summary.js.map +1 -0
  94. package/dist/improve-stage-shared.d.ts +5 -0
  95. package/dist/improve-stage-shared.d.ts.map +1 -1
  96. package/dist/improve-stage-shared.js.map +1 -1
  97. package/dist/improve-stop-handler.d.ts +73 -0
  98. package/dist/improve-stop-handler.d.ts.map +1 -0
  99. package/dist/improve-stop-handler.js +126 -0
  100. package/dist/improve-stop-handler.js.map +1 -0
  101. package/dist/improve-terminal-event.d.ts +118 -0
  102. package/dist/improve-terminal-event.d.ts.map +1 -0
  103. package/dist/improve-terminal-event.js +81 -0
  104. package/dist/improve-terminal-event.js.map +1 -0
  105. package/dist/improve-workspace.d.ts +15 -0
  106. package/dist/improve-workspace.d.ts.map +1 -1
  107. package/dist/improve-workspace.js +3 -0
  108. package/dist/improve-workspace.js.map +1 -1
  109. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  110. package/dist/legacy-skill-catalog.js +20 -0
  111. package/dist/legacy-skill-catalog.js.map +1 -1
  112. package/dist/redesign-capture.d.ts +16 -0
  113. package/dist/redesign-capture.d.ts.map +1 -1
  114. package/dist/redesign-capture.js +49 -3
  115. package/dist/redesign-capture.js.map +1 -1
  116. package/dist/run-journal-unfinished.d.ts +56 -0
  117. package/dist/run-journal-unfinished.d.ts.map +1 -0
  118. package/dist/run-journal-unfinished.js +126 -0
  119. package/dist/run-journal-unfinished.js.map +1 -0
  120. package/dist/run-journal.d.ts +25 -1
  121. package/dist/run-journal.d.ts.map +1 -1
  122. package/dist/run-journal.js +15 -1
  123. package/dist/run-journal.js.map +1 -1
  124. package/open-design.json +2 -2
  125. package/package.json +1 -1
  126. package/skills/12ui-design/SKILL.md +2 -0
  127. package/skills/12ui-design/improve.md +67 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-run-summary.js","sourceRoot":"","sources":["../src/improve-run-summary.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { runConversionCommand } from './cli-convert-command.js';
2
2
  import { runDraftCommand } from './cli-draft-command.js';
3
3
  import { captureImprovePage } from './redesign-capture.js';
4
+ import type { ImproveStopTarget } from './improve-stop-handler.js';
4
5
  import type { RunJournalNotes } from './run-journal.js';
5
6
  import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
6
7
  export type ImproveCommandDependencies = {
@@ -13,6 +14,10 @@ export type ImproveCommandDependencies = {
13
14
  sleep?: (milliseconds: number) => Promise<void>;
14
15
  onRunDirectory?: (runDir: string) => void;
15
16
  journal?: RunJournalNotes;
17
+ /** Where the stop handler listens; `process` unless a test supplies one. */
18
+ stopTarget?: ImproveStopTarget;
19
+ /** How a stopped run leaves; `process.exit` unless a test supplies one. */
20
+ exit?: (code: number) => void;
16
21
  };
17
22
  export declare const improveSha256: (bytes: Uint8Array) => string;
18
23
  export declare const noteImproveStage: (args: {
@@ -1 +1 @@
1
- {"version":3,"file":"improve-stage-shared.d.ts","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MAA0D,CAAC;AAE7G,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB,KAAG,OAAO,CAAC,aAAa,CAmBxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,aAAa,EACrB,OAAO,YAAY,KAClB,OAAO,CAAC,aAAa,CAOtB,CAAC"}
1
+ {"version":3,"file":"improve-stage-shared.d.ts","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MAA0D,CAAC;AAE7G,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB,KAAG,OAAO,CAAC,aAAa,CAmBxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,aAAa,EACrB,OAAO,YAAY,KAClB,OAAO,CAAC,aAAa,CAOtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"improve-stage-shared.js","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAchC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAOtC,EAA0B,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAkB;QAC5B,GAAG,IAAI,CAAC,MAAM;QACd,MAAM,EAAE;YACN,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YACrB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACvB,GAAG,QAAQ;gBACX,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D,CAAC,CAAC,CAAC;gBACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;aACnC;SACF;KACF,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAqB,EACrB,KAAmB,EACK,EAAE,CAAC,gBAAgB,CAAC;IAC5C,MAAM;IACN,KAAK;IACL,eAAe,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,SAAS;IACrD,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"improve-stage-shared.js","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAkBhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAOtC,EAA0B,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAkB;QAC5B,GAAG,IAAI,CAAC,MAAM;QACd,MAAM,EAAE;YACN,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YACrB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACvB,GAAG,QAAQ;gBACX,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D,CAAC,CAAC,CAAC;gBACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;aACnC;SACF;KACF,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAqB,EACrB,KAAmB,EACK,EAAE,CAAC,gBAAgB,CAAC;IAC5C,MAAM;IACN,KAAK;IACL,eAAe,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,SAAS;IACrD,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { type ImproveLiveStage, type ImproveStopSignal } from './improve-terminal-event.js';
2
+ import type { RunJournalNotes } from './run-journal.js';
3
+ import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
4
+ /**
5
+ * A stopped run owes the same kit a stalled run owes, and the same record.
6
+ *
7
+ * The pipedrive lane killed a conversion at 97 seconds. Nothing threw, so no
8
+ * README, no `plan/STALL.md`, no end-of-run summary and no terminal journal
9
+ * event were ever written, and the reader was left with an empty `target/` and
10
+ * a PNG — the exact starting condition that produced a hand-authored hero.
11
+ * Ctrl-C is not a silent exit.
12
+ *
13
+ * The handler is armed for the WHOLE run, not just the delivery stages: a kill
14
+ * during capture, draft or pick used to leave nothing at all. The stage it
15
+ * reports comes from the LIVE invocation first and the record only second —
16
+ * see `ImproveLiveStage`, and the pipedrive kit of 2026-09-02, where a record
17
+ * left settled by an earlier replay read as complete while a `--fresh`
18
+ * conversion this process had dispatched was still in flight.
19
+ *
20
+ * WHAT THIS PATH DOES NOT WRITE: `improve.json`. It reads it, and never the
21
+ * other way round. Making a stopped `--fresh` or retry conversion resumable
22
+ * needs its idempotency key on the record, and the convert stage puts it there
23
+ * BEFORE it dispatches (`improve-conversion-attempts.ts`) — so by the time a
24
+ * signal arrives the fact is already durable, and a record write racing a
25
+ * second signal after the journal end line buys nothing.
26
+ */
27
+ export type { ImproveStopSignal };
28
+ export type ImproveStopArtifacts = {
29
+ /** Absent when nothing was in flight and every stage in range had settled. */
30
+ stage?: ImproveStage;
31
+ /** Absent for the same reason: a complete kit is owed no STALL.md. */
32
+ stall?: string;
33
+ readme: string;
34
+ summary: string;
35
+ errorClass: string;
36
+ };
37
+ export declare const writeImproveStopArtifacts: (args: {
38
+ record: ImproveRecord;
39
+ signal: ImproveStopSignal;
40
+ requestedTo?: ImproveStage;
41
+ journal?: RunJournalNotes;
42
+ /** The stage this invocation entered and had not finished. See `ImproveLiveStage`. */
43
+ live?: ImproveStage;
44
+ }) => Promise<ImproveStopArtifacts>;
45
+ export type ImproveStopTarget = {
46
+ once: (signal: ImproveStopSignal, listener: () => void) => unknown;
47
+ off: (signal: ImproveStopSignal, listener: () => void) => unknown;
48
+ };
49
+ /**
50
+ * Arm the stop path and return the disarm function. The record is read through
51
+ * a getter because the caller reassigns it as each stage settles, and the kit
52
+ * written on the way out has to describe the record as it stands at the moment
53
+ * of the stop.
54
+ *
55
+ * What this cannot do: SIGKILL, which a lane timeout may send, runs no handler
56
+ * at all. That case leaves the journal's last progress line as the record, and
57
+ * `12ui next` reads it as an unfinished paid run — which is the truth.
58
+ */
59
+ export declare const registerImproveStopHandler: (args: {
60
+ getRecord: () => ImproveRecord;
61
+ /**
62
+ * The stage this invocation is inside right now. Without it the handler can
63
+ * only ask the record, which a `--fresh` conversion in flight makes a liar.
64
+ */
65
+ getLiveStage?: ImproveLiveStage;
66
+ write: (line: string) => void;
67
+ requestedTo?: ImproveStage;
68
+ journal?: RunJournalNotes;
69
+ onStopped?: (result: ImproveStopArtifacts) => void;
70
+ target?: ImproveStopTarget;
71
+ exit?: (code: number) => void;
72
+ }) => (() => void);
73
+ //# sourceMappingURL=improve-stop-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-stop-handler.d.ts","sourceRoot":"","sources":["../src/improve-stop-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,MAAM,oBAAoB,GAAG;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,yBAAyB,GAAU,MAAM;IACpD,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,sFAAsF;IACtF,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,KAAG,OAAO,CAAC,oBAAoB,CA+D/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC;IACnE,GAAG,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,SAAS,EAAE,MAAM,aAAa,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,KAAG,CAAC,MAAM,IAAI,CAuCd,CAAC"}
@@ -0,0 +1,126 @@
1
+ import path from 'node:path';
2
+ import { writeImproveReadme } from './improve-kit-readme.js';
3
+ import { writeImproveStallReport } from './improve-kit-stall.js';
4
+ import { buildImproveRunSummary } from './improve-run-summary.js';
5
+ import { improveUnsettledStage, IMPROVE_SIGNALLED_AFTER_COMPLETION, noteImproveTerminalEvent, } from './improve-terminal-event.js';
6
+ import { improvePaths, readImproveRecord, } from './improve-workspace.js';
7
+ /** Exit codes for a signalled stop are 128 plus the signal number. */
8
+ const EXIT_CODE = { SIGINT: 130, SIGTERM: 143 };
9
+ export const writeImproveStopArtifacts = async (args) => {
10
+ // WHAT DECIDES. Live invocation state first, the record only when this
11
+ // invocation has nothing in flight. A stage this process is still inside is
12
+ // proof the run is not complete, whatever the record says — and after
13
+ // `--fresh` the record says the opposite, because the clear it wrote to disk
14
+ // has not reached the copy held here. "Signalled after completion" is only
15
+ // true when no stage is in flight AND every requested stage has settled.
16
+ const stage = args.live ?? improveUnsettledStage(args.record, args.requestedTo);
17
+ const context = args.requestedTo ? { requestedTo: args.requestedTo } : {};
18
+ const paths = improvePaths(args.record.runDir);
19
+ // The handler stays armed until the `finally` block, so a signal can land
20
+ // after the last requested stage has settled. That run is complete: writing
21
+ // "# INCOMPLETE — this run was stopped" over it, and journalling a stop that
22
+ // leaves a hosted run open, is the kit lying in the opposite direction from
23
+ // the pipedrive defect. It gets the terminal line, the README and the
24
+ // ordinary summary, and no STALL.md.
25
+ if (!stage) {
26
+ const errorClass = await noteImproveTerminalEvent({
27
+ record: args.record,
28
+ stage: args.requestedTo ?? 'plan',
29
+ kind: 'stopped',
30
+ error: new Error(`The run was stopped with ${args.signal} after every requested stage settled.`),
31
+ signal: args.signal,
32
+ errorClass: IMPROVE_SIGNALLED_AFTER_COMPLETION,
33
+ writes: [paths.readme],
34
+ ...(args.journal ? { journal: args.journal } : {}),
35
+ });
36
+ return {
37
+ readme: await writeImproveReadme(args.record, context),
38
+ summary: await buildImproveRunSummary({ record: args.record, ...context }),
39
+ errorClass,
40
+ };
41
+ }
42
+ const error = new Error(`The run was stopped with ${args.signal} before ${stage} settled.`);
43
+ // The record closes FIRST. Everything after this is a filesystem write that a
44
+ // second signal can cut short; the journal line cannot be written later.
45
+ const errorClass = await noteImproveTerminalEvent({
46
+ record: args.record,
47
+ stage,
48
+ kind: 'stopped',
49
+ error,
50
+ signal: args.signal,
51
+ writes: [path.join(paths.planDir, 'STALL.md'), paths.readme],
52
+ ...(args.live ? { inFlight: true } : {}),
53
+ ...(args.journal ? { journal: args.journal } : {}),
54
+ });
55
+ // The kit is written from the DURABLE record, the way the stall path in
56
+ // `cli-improve-command.ts` already does: a stage in flight has written down
57
+ // what it abandoned and what it cleared, and the in-memory copy predates
58
+ // that. It is read only AFTER the end line, so the one-read-before-the-end
59
+ // rule this module's header states still holds.
60
+ const durable = await readImproveRecord(paths.record) ?? args.record;
61
+ const stall = await writeImproveStallReport({
62
+ record: durable,
63
+ stage,
64
+ error,
65
+ kind: 'stopped',
66
+ ...(args.live ? { inFlight: true } : {}),
67
+ ...context,
68
+ });
69
+ const readme = await writeImproveReadme(durable, context);
70
+ const summary = await buildImproveRunSummary({ record: durable, ...context });
71
+ return { stage, stall, readme, summary, errorClass };
72
+ };
73
+ /**
74
+ * Arm the stop path and return the disarm function. The record is read through
75
+ * a getter because the caller reassigns it as each stage settles, and the kit
76
+ * written on the way out has to describe the record as it stands at the moment
77
+ * of the stop.
78
+ *
79
+ * What this cannot do: SIGKILL, which a lane timeout may send, runs no handler
80
+ * at all. That case leaves the journal's last progress line as the record, and
81
+ * `12ui next` reads it as an unfinished paid run — which is the truth.
82
+ */
83
+ export const registerImproveStopHandler = (args) => {
84
+ const target = args.target ?? process;
85
+ const exit = args.exit ?? ((code) => { process.exit(code); });
86
+ const signals = ['SIGINT', 'SIGTERM'];
87
+ let stopping = false;
88
+ const listeners = new Map();
89
+ const disarm = () => {
90
+ for (const [signal, listener] of listeners)
91
+ target.off(signal, listener);
92
+ listeners.clear();
93
+ };
94
+ for (const signal of signals) {
95
+ const listener = () => {
96
+ if (stopping)
97
+ return;
98
+ stopping = true;
99
+ disarm();
100
+ void (async () => {
101
+ try {
102
+ const live = args.getLiveStage?.();
103
+ const result = await writeImproveStopArtifacts({
104
+ record: args.getRecord(),
105
+ signal,
106
+ ...(live ? { live } : {}),
107
+ ...(args.requestedTo ? { requestedTo: args.requestedTo } : {}),
108
+ ...(args.journal ? { journal: args.journal } : {}),
109
+ });
110
+ args.write(result.summary);
111
+ args.onStopped?.(result);
112
+ }
113
+ catch (error) {
114
+ // Say so rather than exiting quietly: an unwritten kit that also
115
+ // said nothing is the failure this whole path exists to end.
116
+ args.write(`Could not write the stopped kit: ${error instanceof Error ? error.message : String(error)}`);
117
+ }
118
+ exit(EXIT_CODE[signal]);
119
+ })();
120
+ };
121
+ listeners.set(signal, listener);
122
+ target.once(signal, listener);
123
+ }
124
+ return disarm;
125
+ };
126
+ //# sourceMappingURL=improve-stop-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-stop-handler.js","sourceRoot":"","sources":["../src/improve-stop-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { type ImproveStallKind } from './improve-kit-stall.js';
2
+ import { type RunJournalNotes } from './run-journal.js';
3
+ import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
4
+ /**
5
+ * Every way an improve run can stop leaves a terminal line in its journal.
6
+ *
7
+ * The pipedrive landing's journal ends on a progress line: stage
8
+ * `materializing_assets`, elapsed 385 s, and then nothing, because the lane
9
+ * killed the process and a signal with no listener terminates without emitting
10
+ * `exit`. Two shells then read that workspace and disagreed about whether
11
+ * anything was still running. This module is the one place that says how a
12
+ * stopped or stalled improve closes its own record.
13
+ *
14
+ * WHAT THE LINE HAS TO CARRY, and why it is shaped this way.
15
+ * - `outcome` stays inside the closed set ok | refused | error. "Stalled" is
16
+ * not an outcome; it is why this end is not ok, which is what `error_class`
17
+ * is for. Adding an outcome would be a v:2 change to the schema.
18
+ * - `error_class` names the kill or the stall precisely, and the family
19
+ * `improve_stopped_*` / `improve_stalled_*` is what tells every reader that
20
+ * the LOCAL process ended while the hosted run did not — see
21
+ * `endLeavesHostedRunOpen` in run-journal-unfinished.ts, which must keep
22
+ * agreeing with the slugs minted here.
23
+ * - Stage, elapsed and typical live on progress lines by the schema's own
24
+ * rule, so the terminal event is a pair: one last progress entry carrying the
25
+ * hosted run's age, then the end.
26
+ * - Elapsed is measured from the FIRST journal line that named this hosted run
27
+ * id, so a local restart cannot reset it. `12ui next` read 76 s for an
28
+ * eleven-minute run before that rule existed.
29
+ * - The recovery files are declared as `writes`, not `artifacts`: the end line
30
+ * is appended BEFORE they are written, so it survives a second signal
31
+ * arriving mid-write, and `writes` is exactly the field for a path named
32
+ * before the work that produces it.
33
+ *
34
+ * WHAT THIS IS NOT. It is not synchronous. Deriving the hosted run's age needs
35
+ * the journal, so exactly ONE read stands between the signal and the end line —
36
+ * it used to be two, because the facts and the age each read the file. The
37
+ * append itself is synchronous once it starts, and `run-journal.ts` refuses to
38
+ * write anything after it, so every fact a caller wants on the record has to
39
+ * arrive HERE, before the end: a `note` posted afterwards is silently dropped.
40
+ * That is why `degradations` is a parameter rather than a follow-up call.
41
+ * SIGKILL still runs nothing at all, and no ordering inside this function
42
+ * changes that.
43
+ */
44
+ export type ImproveStopSignal = 'SIGINT' | 'SIGTERM';
45
+ export declare const improveTerminalErrorClass: (args: {
46
+ kind: ImproveStallKind;
47
+ stage: ImproveStage;
48
+ signal?: ImproveStopSignal;
49
+ }) => string;
50
+ /**
51
+ * The signal arrived after the run had already done everything it was asked to
52
+ * do. The stop handler is armed until the `finally` block, so a Ctrl-C in the
53
+ * window between the last stage settling and the disarm used to write
54
+ * `plan/STALL.md` headed "# INCOMPLETE — this run was stopped" over a complete
55
+ * kit. This class is outside the `improve_stopped_*` / `improve_stalled_*`
56
+ * family on purpose: no hosted run is left open, so `12ui next` reads the
57
+ * workspace as finished, which it is.
58
+ */
59
+ export declare const IMPROVE_SIGNALLED_AFTER_COMPLETION = "improve_signalled_after_completion";
60
+ /**
61
+ * The stage THIS invocation entered and has not finished — the one fact that
62
+ * tells a stop mid-flight apart from a signal after completion.
63
+ *
64
+ * The record cannot tell them apart. `--fresh` clears convert and plan from the
65
+ * DURABLE record INSIDE the convert stage, and the in-memory copy the stop
66
+ * handler reads is only reassigned when that stage RETURNS. So a kit whose
67
+ * convert settled in an earlier replayed run reads as complete for the whole
68
+ * time the fresh conversion is in flight. On 2026-09-02 the pipedrive kit was
69
+ * signalled 75 seconds into exactly that window: it closed its record
70
+ * `improve_signalled_after_completion`, put the ABANDONED conversion's id and
71
+ * its 216-second age on the end line, and wrote no `plan/STALL.md` over an
72
+ * empty `target/`.
73
+ *
74
+ * `undefined` means this invocation is between stages, which is the only state
75
+ * in which the record is a truthful answer on its own.
76
+ */
77
+ export type ImproveLiveStage = () => ImproveStage | undefined;
78
+ /**
79
+ * The stage this run did not get past: the first one that has not settled,
80
+ * bounded by what the caller asked for. It used to be derived from the record's
81
+ * `convert` block alone, so a run killed during draft reported `convert`.
82
+ *
83
+ * `undefined` means nothing in range is unsettled. It used to return the last
84
+ * stage instead, which is how a complete kit acquired a STALL.md naming a stage
85
+ * that had settled.
86
+ */
87
+ export declare const improveUnsettledStage: (record: ImproveRecord, requestedTo?: ImproveStage) => ImproveStage | undefined;
88
+ /**
89
+ * Close this run's journal record with the reason, the stage, the hosted run
90
+ * id, and how long that hosted run has existed. Returns the class it wrote so a
91
+ * caller can report it.
92
+ */
93
+ export declare const noteImproveTerminalEvent: (args: {
94
+ record: ImproveRecord;
95
+ stage: ImproveStage;
96
+ kind: ImproveStallKind;
97
+ error: unknown;
98
+ signal?: ImproveStopSignal;
99
+ /** Files this path is about to write, named before it writes them. */
100
+ writes?: readonly string[];
101
+ /** Overrides the derived class; the completion case is the only user. */
102
+ errorClass?: string;
103
+ /**
104
+ * This invocation still had a stage in flight. The hosted run then comes from
105
+ * the journal rather than the record — see `collectImproveStallFacts`.
106
+ */
107
+ inFlight?: boolean;
108
+ /**
109
+ * Anything else the caller wants on the end line. It has to arrive here: the
110
+ * session refuses to write after `stop`, so a `note` made afterwards is
111
+ * dropped without a word — which is how `improve_<stage>_stalled` never
112
+ * reached a single stalled record.
113
+ */
114
+ degradations?: readonly string[];
115
+ journal?: RunJournalNotes;
116
+ now?: number;
117
+ }) => Promise<string>;
118
+ //# sourceMappingURL=improve-terminal-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-terminal-event.d.ts","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,eAAO,MAAM,yBAAyB,GAAI,MAAM;IAC9C,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,KAAG,MAEgC,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,uCAAuC,CAAC;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,YAAY,GAAG,SAAS,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,EACrB,cAAc,YAAY,KACzB,YAAY,GAAG,SAIjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAU,MAAM;IACnD,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KAAG,OAAO,CAAC,MAAM,CA0CjB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { collectImproveStallFacts } from './improve-kit-stall.js';
2
+ import { hostedRunAgeSeconds } from './run-journal-unfinished.js';
3
+ import { readRunJournal } from './run-journal.js';
4
+ import { IMPROVE_STAGES } from './improve-workspace.js';
5
+ export const improveTerminalErrorClass = (args) => (args.kind === 'stopped'
6
+ ? `improve_stopped_${(args.signal ?? 'SIGTERM').toLowerCase()}`
7
+ : `improve_stalled_${args.stage}`);
8
+ /**
9
+ * The signal arrived after the run had already done everything it was asked to
10
+ * do. The stop handler is armed until the `finally` block, so a Ctrl-C in the
11
+ * window between the last stage settling and the disarm used to write
12
+ * `plan/STALL.md` headed "# INCOMPLETE — this run was stopped" over a complete
13
+ * kit. This class is outside the `improve_stopped_*` / `improve_stalled_*`
14
+ * family on purpose: no hosted run is left open, so `12ui next` reads the
15
+ * workspace as finished, which it is.
16
+ */
17
+ export const IMPROVE_SIGNALLED_AFTER_COMPLETION = 'improve_signalled_after_completion';
18
+ /**
19
+ * The stage this run did not get past: the first one that has not settled,
20
+ * bounded by what the caller asked for. It used to be derived from the record's
21
+ * `convert` block alone, so a run killed during draft reported `convert`.
22
+ *
23
+ * `undefined` means nothing in range is unsettled. It used to return the last
24
+ * stage instead, which is how a complete kit acquired a STALL.md naming a stage
25
+ * that had settled.
26
+ */
27
+ export const improveUnsettledStage = (record, requestedTo) => {
28
+ const last = requestedTo ?? IMPROVE_STAGES[IMPROVE_STAGES.length - 1];
29
+ const bound = IMPROVE_STAGES.indexOf(last);
30
+ return IMPROVE_STAGES.slice(0, bound + 1).find((stage) => !record.stages[stage]);
31
+ };
32
+ /**
33
+ * Close this run's journal record with the reason, the stage, the hosted run
34
+ * id, and how long that hosted run has existed. Returns the class it wrote so a
35
+ * caller can report it.
36
+ */
37
+ export const noteImproveTerminalEvent = async (args) => {
38
+ const errorClass = args.errorClass ?? improveTerminalErrorClass({
39
+ kind: args.kind,
40
+ stage: args.stage,
41
+ ...(args.signal ? { signal: args.signal } : {}),
42
+ });
43
+ const journal = args.journal;
44
+ if (!journal)
45
+ return errorClass;
46
+ // ONE journal read, shared. It used to be two — the facts read the file, then
47
+ // the age read it again — and every one of them sits between the signal and
48
+ // the end line this whole module exists to guarantee.
49
+ const { entries } = await readRunJournal({ workspace: args.record.runDir })
50
+ .catch(() => ({ entries: [] }));
51
+ const facts = await collectImproveStallFacts({
52
+ record: args.record,
53
+ stage: args.stage,
54
+ error: args.error,
55
+ kind: args.kind,
56
+ entries,
57
+ ...(args.inFlight === undefined ? {} : { inFlight: args.inFlight }),
58
+ }).catch(() => undefined);
59
+ const hostedAge = hostedRunAgeSeconds({
60
+ entries,
61
+ runId: facts?.hostedRunId,
62
+ now: args.now ?? Date.now(),
63
+ });
64
+ const elapsedSeconds = Math.max(facts?.waitedSeconds ?? 0, hostedAge ?? 0);
65
+ journal.note({
66
+ terminal: false,
67
+ ...(facts?.hostedRunId ? { runId: facts.hostedRunId } : {}),
68
+ ...(args.writes && args.writes.length > 0 ? { writes: [...args.writes] } : {}),
69
+ degradations: [errorClass, ...(args.degradations ?? [])],
70
+ });
71
+ journal.stop?.({
72
+ errorClass,
73
+ progress: {
74
+ stage: facts?.serviceStage ?? args.stage,
75
+ elapsedSeconds,
76
+ ...(facts?.typicalSeconds === undefined ? {} : { typicalSeconds: facts.typicalSeconds }),
77
+ },
78
+ });
79
+ return errorClass;
80
+ };
81
+ //# sourceMappingURL=improve-terminal-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improve-terminal-event.js","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,21 @@ export type ImproveRecord = {
95
95
  abandonedAt: string;
96
96
  reason: string;
97
97
  }>;
98
+ /**
99
+ * Conversions this kit dispatched under a key that is not the base key, by
100
+ * exact key, written before the dispatch. It is what makes a `--fresh` or
101
+ * retry conversion reachable again after a stop — see
102
+ * `improve-conversion-attempts.ts`, which owns every rule about it.
103
+ */
104
+ conversionAttempts?: Array<{
105
+ key: string;
106
+ reason: 'fresh' | 'stall-retry';
107
+ dispatchedAt: string;
108
+ conversionId?: string;
109
+ settledAt?: string;
110
+ abandonedAt?: string;
111
+ abandonedReason?: string;
112
+ }>;
98
113
  sourceConvert?: {
99
114
  layerDoc: string;
100
115
  artifacts: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"improve-workspace.d.ts","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-workspace.d.ts","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,9 @@ const currentImproveRecord = (record) => ({
88
88
  ...(record.abandonedConversions ? {
89
89
  abandonedConversions: record.abandonedConversions.map((conversion) => ({ ...conversion })),
90
90
  } : {}),
91
+ ...(record.conversionAttempts ? {
92
+ conversionAttempts: record.conversionAttempts.map((attempt) => ({ ...attempt })),
93
+ } : {}),
91
94
  ...(record.sourceConvert ? {
92
95
  sourceConvert: {
93
96
  layerDoc: record.sourceConvert.layerDoc,
@@ -1 +1 @@
1
- {"version":3,"file":"improve-workspace.js","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-workspace.js","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-skill-catalog.d.ts","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,8LA6BrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,qBAAqB,0BAA2B,CAAC;AAQ9D,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EACuB,CAAC;AA4yBlF,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,KAChB,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAW9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAoB9C,CAAC"}
1
+ {"version":3,"file":"legacy-skill-catalog.d.ts","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,8LA6BrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,qBAAqB,0BAA2B,CAAC;AAQ9D,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EACuB,CAAC;AAg0BlF,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,KAChB,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAW9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAoB9C,CAAC"}
@@ -44,6 +44,26 @@ export const RETIRED_SKILL_NAMES = LEGACY_SKILL_NAMES
44
44
  const isRetiredSkillName = (name) => (RETIRED_SKILL_NAMES.includes(name));
45
45
  const variants = {
46
46
  '12ui-design': [
47
+ {
48
+ // Kit clarity (2026-09-02): improve.md gains "Using the kit" — asset
49
+ // roles, the ship column, the raster-first rule, the stall and
50
+ // gate-block playbooks, the fidelity self-check — and SKILL.md §6 sends
51
+ // the reader to the kit's README before any code. Two overnight lanes
52
+ // discarded the kit's hero artwork because none of that was written
53
+ // down anywhere they would read it. improve.md then gained what the CLI
54
+ // fixes changed: --redraw may carry a new direction, the stall bound is
55
+ // model-aware and its retry belongs to the kit, and a signal after the
56
+ // last stage settles writes no STALL.md. The apply test added the two
57
+ // rules a lane got wrong: only the base clean plate is the backdrop, and
58
+ // a shipped plate is optimised before it is committed. improve.md then
59
+ // gained the one sentence a stopped run needs: `--fresh` and the stall
60
+ // retry record their idempotency key before dispatching, so a resume
61
+ // re-attaches to the conversion the stop interrupted.
62
+ 'SKILL.md': '8f3948a557978faaa572a54729bf3b0fc115261a6dfded592befcf3fce0230b1',
63
+ 'agents/openai.yaml': 'ef682fc5ea34df9fcb810462975da0ed1155051fd3497b663ccbda9708f39e3f',
64
+ 'improve.md': '2558c53492780fef6c6af81968068bbdede46672008c319402275535cd432a19',
65
+ 'inspire.md': '8be424fda9e98f5d8cd95d1074f3b31091f1620c6f7ed28d84ceda77bc480ad9',
66
+ },
47
67
  {
48
68
  // 0.2.55: improve documents its fixed-layout fallback while retaining
49
69
  // the progressive-disclosure modes, replay, and convergence workflow.