@joshuafolkken/kit 1.1035.0 → 1.1050.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/.claude/skills/verify-ui/SKILL.md +1 -1
  2. package/.claude/skills/workflow-commands/SKILL.md +2 -2
  3. package/.claude/skills/workflow-commands/background-commands.md +1 -1
  4. package/.claude/skills/workflow-commands/backlogrun-child.md +2 -2
  5. package/.claude/skills/workflow-commands/backlogrun-lanes.md +1 -1
  6. package/.claude/skills/workflow-commands/backlogrun-park.md +6 -0
  7. package/.claude/skills/workflow-commands/backlogrun-progress.md +30 -36
  8. package/.claude/skills/workflow-commands/backlogrun-steps.md +16 -16
  9. package/.claude/skills/workflow-commands/chain-rule.md +2 -2
  10. package/.claude/skills/workflow-commands/followup-reference.md +2 -2
  11. package/.claude/skills/workflow-commands/issue-comments.md +1 -1
  12. package/.claude/skills/workflow-commands/observation-filing.md +41 -86
  13. package/.claude/skills/workflow-commands/pre-gate-cut.md +33 -36
  14. package/.claude/skills/workflow-commands/working-tree-hold.md +2 -2
  15. package/.github/workflows/auto-tag.yml +21 -0
  16. package/.github/workflows/publish.yml +9 -10
  17. package/dist/hooks/batch-guard.js +4 -4
  18. package/dist/hooks/{chunk-HU66PWWL.js → chunk-5BK3K7V4.js} +89 -41
  19. package/dist/hooks/{chunk-GLBDBJOK.js → chunk-7VPDUBRN.js} +49 -151
  20. package/dist/hooks/{chunk-GJT4BNVE.js → chunk-DMQN45FN.js} +3 -3
  21. package/dist/hooks/{chunk-D67KVGGY.js → chunk-EJDX2TOB.js} +13 -3
  22. package/dist/hooks/{chunk-KG6PZD72.js → chunk-GQ7KP45M.js} +2 -2
  23. package/dist/hooks/{chunk-Y27M6A7X.js → chunk-HJIISEAC.js} +4 -4
  24. package/dist/hooks/{chunk-XPLP27WA.js → chunk-NAS4C7GP.js} +4 -26
  25. package/dist/hooks/{chunk-ZXNE6NY3.js → chunk-NJQOBE6L.js} +2 -2
  26. package/dist/hooks/{chunk-EIFCAJRB.js → chunk-RLDX5SOC.js} +1184 -946
  27. package/dist/hooks/{chunk-HOYJU5RM.js → chunk-WQ4OSBSS.js} +10 -3
  28. package/dist/hooks/codex-hook-adapter.js +10 -10
  29. package/dist/hooks/duplicate-read-guard.js +5 -5
  30. package/dist/hooks/format-edited.js +15 -34
  31. package/dist/hooks/investigation-guard.js +5 -5
  32. package/dist/hooks/pretool-guard.js +23 -16
  33. package/dist/hooks/stop-guard.js +13 -188
  34. package/dist/josh.js +4 -106
  35. package/dist/version/index.js +381 -9
  36. package/package.json +6 -6
  37. package/prompts/collaboration-workflow/file-edits.md +6 -53
  38. package/prompts/collaboration-workflow/residency.md +1 -1
  39. package/prompts/collaboration-workflow/rule-delivery.md +4 -35
  40. package/prompts/collaboration-workflow/shell-body.md +7 -9
  41. package/prompts/collaboration-workflow/turn-batching.md +21 -37
  42. package/prompts/collaboration-workflow/wip-cap.md +15 -18
  43. package/prompts/sonar-hotspot-handling.md +1 -1
  44. package/scripts/adopt/adopt-toolkits.ts +2 -0
  45. package/scripts/auto-ok/auto-ok-cli.ts +9 -9
  46. package/scripts/backlog/backlog-next.ts +24 -8
  47. package/scripts/backlog/backlog-plan-cli.ts +5 -1
  48. package/scripts/backlog/backlog-pool.ts +31 -11
  49. package/scripts/backlog/backlog-rank.ts +106 -0
  50. package/scripts/backlog/backlog-waves.ts +42 -29
  51. package/scripts/build/build-hooks.ts +7 -2
  52. package/scripts/delegation/delegation-policy.ts +11 -0
  53. package/scripts/document/document-byte-budget.ts +5 -5
  54. package/scripts/document/entry-read-budget.ts +5 -4
  55. package/scripts/epic/epic-lane-offer.ts +11 -22
  56. package/scripts/epic/epic-rank.ts +37 -0
  57. package/scripts/epic/epic-solo.ts +29 -28
  58. package/scripts/git/git-command.ts +1 -1
  59. package/scripts/git/git-execa-error.ts +6 -1
  60. package/scripts/git/git-next-issues.ts +34 -5
  61. package/scripts/git/git-preflight.ts +22 -4
  62. package/scripts/git/git-push-transport.ts +12 -69
  63. package/scripts/git/git-spawn.ts +79 -3
  64. package/scripts/git/git-ssh-keepalive.ts +74 -0
  65. package/scripts/git/gone-branch.ts +3 -2
  66. package/scripts/git/issue-labels.ts +12 -0
  67. package/scripts/git/issue-rank.ts +89 -0
  68. package/scripts/hooks/format-edited-cli.ts +15 -0
  69. package/scripts/hooks/format-edited-file.ts +2 -9
  70. package/scripts/hooks/pretool-guard-cli.ts +21 -0
  71. package/scripts/hooks/pretool-guard.ts +14 -15
  72. package/scripts/init/start-exec.ts +7 -1
  73. package/scripts/init/start-plan.ts +18 -5
  74. package/scripts/init/start-setup-pr.ts +46 -19
  75. package/scripts/init/start-steps.ts +41 -9
  76. package/scripts/init/start.ts +40 -10
  77. package/scripts/issue/issue-cite.ts +19 -1
  78. package/scripts/josh/josh-command-map.ts +0 -102
  79. package/scripts/josh/josh-commands-development.ts +2 -2
  80. package/scripts/josh/josh-commands-project.ts +1 -1
  81. package/scripts/lane/lane-child-marker.ts +16 -2
  82. package/scripts/lane/lane-cli.ts +32 -14
  83. package/scripts/lane/lane-report.ts +10 -4
  84. package/scripts/propagate/propagate-plan.ts +185 -0
  85. package/scripts/propagate/propagate-run.ts +5 -1
  86. package/scripts/propagate/propagate-steps.ts +16 -1
  87. package/scripts/propagate/propagate-targets.ts +13 -2
  88. package/scripts/propagate/propagate.ts +60 -42
  89. package/scripts/registry-migration/migrate-logic.ts +1 -0
  90. package/scripts/release/github-release.ts +1 -1
  91. package/scripts/review/review-attest.ts +44 -0
  92. package/scripts/review/review-brief-cli.ts +49 -2
  93. package/scripts/review/review-brief.ts +46 -1
  94. package/scripts/review/review-stamps.ts +7 -0
  95. package/scripts/rules/implementation-cut.ts +1 -1
  96. package/scripts/rules/issue-fold.ts +1 -2
  97. package/scripts/rules/lane-carry-conflict.ts +1 -2
  98. package/scripts/rules/lane-park.ts +1 -2
  99. package/scripts/rules/pre-gate-cut.ts +2 -2
  100. package/scripts/run/run-headless.ts +22 -6
  101. package/scripts/run/run-parent-cut-hook.ts +144 -0
  102. package/scripts/run/run-progress-read.ts +2 -1
  103. package/scripts/run/run-progress.ts +21 -8
  104. package/scripts/run/run-ship-cli.ts +6 -74
  105. package/scripts/run/run-ship-preflight.ts +87 -0
  106. package/scripts/run/run-ship-review-steps.ts +5 -26
  107. package/scripts/run/run-ship-review.ts +9 -0
  108. package/scripts/run/run-ship-scoped.ts +44 -0
  109. package/scripts/run/run-ship-stage.ts +5 -1
  110. package/scripts/run/run-ship-steps.ts +105 -0
  111. package/scripts/run/run-ship.ts +2 -0
  112. package/scripts/run/run-wake-cli.ts +2 -2
  113. package/scripts/run/run-wake-describe.ts +19 -1
  114. package/scripts/run/run-watcher-hook.ts +1 -1
  115. package/scripts/time-runtime/time-bundle-call.ts +2 -2
  116. package/scripts/version/npm-registry.ts +97 -0
  117. package/scripts/version/version-commands.ts +5 -4
  118. package/scripts/version/version-remote.ts +26 -12
@@ -15,48 +15,6 @@ function is_record(value) {
15
15
  }
16
16
  var json_value = { parse_or_undefined, is_record };
17
17
 
18
- // scripts/josh/josh-command-types.ts
19
- var OPTIONAL_ENV_FILE_FLAGS = [`--env-file-if-exists=${ENV_FILE_NAME}`];
20
- var GATE_COMMAND = "gate";
21
- var ESLINT_CACHE_FILE = ".eslintcache";
22
- var TS_BUILD_INFO_FILE = ".tsbuildinfo";
23
- var CSPELL_CACHE_FILE = ".cspellcache";
24
- var ESLINT_EDIT_CACHE_FILE = ".eslintcache.edit";
25
- var ESLINT_RELATED_CACHE_FILE = ".eslintcache.related";
26
- var ROOTED_JSON_PORTABILITY = "rooted-json";
27
- var ESLINT_CACHE_SPEC = {
28
- cache_file: ESLINT_CACHE_FILE,
29
- portability: ROOTED_JSON_PORTABILITY
30
- };
31
- var TS_CACHE_SPEC = {
32
- cache_file: TS_BUILD_INFO_FILE,
33
- portability: "raw"
34
- };
35
- var CSPELL_CACHE_SPEC = {
36
- cache_file: CSPELL_CACHE_FILE,
37
- portability: "raw"
38
- };
39
- var GATE_CACHE_SPECS = [
40
- ESLINT_CACHE_SPEC,
41
- TS_CACHE_SPEC,
42
- CSPELL_CACHE_SPEC
43
- ];
44
- var GATE_CACHE_FILES = GATE_CACHE_SPECS.map((spec) => spec.cache_file);
45
- var IGNORED_CACHE_FILES = [
46
- ...GATE_CACHE_FILES,
47
- ESLINT_EDIT_CACHE_FILE,
48
- ESLINT_RELATED_CACHE_FILE
49
- ];
50
- var CONTENT_CACHE_FLAGS = ["--cache", "--cache-strategy", "content"];
51
- var CACHE_LOCATION_FLAG = "--cache-location";
52
- function content_cache_flags(cache_file) {
53
- return [...CONTENT_CACHE_FLAGS, CACHE_LOCATION_FLAG, cache_file];
54
- }
55
- var ESLINT_CACHE_FLAGS = content_cache_flags(ESLINT_CACHE_FILE);
56
- var ESLINT_EDIT_CACHE_FLAGS = content_cache_flags(ESLINT_EDIT_CACHE_FILE);
57
- var ESLINT_RELATED_CACHE_FLAGS = content_cache_flags(ESLINT_RELATED_CACHE_FILE);
58
- var CSPELL_CACHE_FLAGS = content_cache_flags(CSPELL_CACHE_FILE);
59
-
60
18
  // scripts/cost-runtime/cost-blocks.ts
61
19
  import { z } from "zod";
62
20
  var CONTENT_ITEM_SCHEMA = z.object({ text: z.string().nullish() });
@@ -136,14 +94,56 @@ var cost_blocks = {
136
94
  var GATE_PHASE = "gate";
137
95
  var PR_PHASE = "pr";
138
96
  var MERGE_PHASE = "merge";
139
- var GATE_COMMAND2 = "josh gate";
97
+ var GATE_COMMAND = "josh gate";
140
98
  var COMMAND_PHASES = /* @__PURE__ */ new Map([
141
- [GATE_COMMAND2, GATE_PHASE],
99
+ [GATE_COMMAND, GATE_PHASE],
142
100
  ["josh git", PR_PHASE],
143
101
  ["josh pr", PR_PHASE],
144
102
  ["josh followup", MERGE_PHASE]
145
103
  ]);
146
104
 
105
+ // scripts/josh/josh-command-types.ts
106
+ var OPTIONAL_ENV_FILE_FLAGS = [`--env-file-if-exists=${ENV_FILE_NAME}`];
107
+ var GATE_COMMAND2 = "gate";
108
+ var ESLINT_CACHE_FILE = ".eslintcache";
109
+ var TS_BUILD_INFO_FILE = ".tsbuildinfo";
110
+ var CSPELL_CACHE_FILE = ".cspellcache";
111
+ var ESLINT_EDIT_CACHE_FILE = ".eslintcache.edit";
112
+ var ESLINT_RELATED_CACHE_FILE = ".eslintcache.related";
113
+ var ROOTED_JSON_PORTABILITY = "rooted-json";
114
+ var ESLINT_CACHE_SPEC = {
115
+ cache_file: ESLINT_CACHE_FILE,
116
+ portability: ROOTED_JSON_PORTABILITY
117
+ };
118
+ var TS_CACHE_SPEC = {
119
+ cache_file: TS_BUILD_INFO_FILE,
120
+ portability: "raw"
121
+ };
122
+ var CSPELL_CACHE_SPEC = {
123
+ cache_file: CSPELL_CACHE_FILE,
124
+ portability: "raw"
125
+ };
126
+ var GATE_CACHE_SPECS = [
127
+ ESLINT_CACHE_SPEC,
128
+ TS_CACHE_SPEC,
129
+ CSPELL_CACHE_SPEC
130
+ ];
131
+ var GATE_CACHE_FILES = GATE_CACHE_SPECS.map((spec) => spec.cache_file);
132
+ var IGNORED_CACHE_FILES = [
133
+ ...GATE_CACHE_FILES,
134
+ ESLINT_EDIT_CACHE_FILE,
135
+ ESLINT_RELATED_CACHE_FILE
136
+ ];
137
+ var CONTENT_CACHE_FLAGS = ["--cache", "--cache-strategy", "content"];
138
+ var CACHE_LOCATION_FLAG = "--cache-location";
139
+ function content_cache_flags(cache_file) {
140
+ return [...CONTENT_CACHE_FLAGS, CACHE_LOCATION_FLAG, cache_file];
141
+ }
142
+ var ESLINT_CACHE_FLAGS = content_cache_flags(ESLINT_CACHE_FILE);
143
+ var ESLINT_EDIT_CACHE_FLAGS = content_cache_flags(ESLINT_EDIT_CACHE_FILE);
144
+ var ESLINT_RELATED_CACHE_FLAGS = content_cache_flags(ESLINT_RELATED_CACHE_FILE);
145
+ var CSPELL_CACHE_FLAGS = content_cache_flags(CSPELL_CACHE_FILE);
146
+
147
147
  // scripts/josh/josh-commands-backlog.ts
148
148
  var BACKLOG_COMMANDS = {
149
149
  "backlog:next": {
@@ -704,7 +704,7 @@ var DEV_COMMANDS = {
704
704
  category: "Development",
705
705
  reference: ["", "automation", ["none"]]
706
706
  },
707
- [GATE_COMMAND]: {
707
+ [GATE_COMMAND2]: {
708
708
  script: "scripts/gate/verification-gate.ts",
709
709
  description: "Run lint, type check, spell check and unit tests concurrently",
710
710
  category: "Development",
@@ -753,7 +753,7 @@ var DEV_COMMANDS = {
753
753
  reference: ["", "developer", ["files", "processes"]]
754
754
  },
755
755
  "format:edited": {
756
- script: "scripts/hooks/format-edited-file.ts",
756
+ script: "scripts/hooks/format-edited-cli.ts",
757
757
  description: "Claude Code hook: format the file just edited (reads the tool call on stdin)",
758
758
  category: "Development",
759
759
  reference: ["", "automation", ["files", "processes"]]
@@ -771,7 +771,7 @@ var DEV_COMMANDS = {
771
771
  // node's own `--env-file` parser with node's own precedence.
772
772
  },
773
773
  "pretool:guard": {
774
- script: "scripts/hooks/pretool-guard.ts",
774
+ script: "scripts/hooks/pretool-guard-cli.ts",
775
775
  description: "Claude Code hook: the batch, investigation and rule guards in one process (reads the tool call on stdin)",
776
776
  category: "Development",
777
777
  reference: ["", "automation", ["none"]]
@@ -1029,7 +1029,7 @@ var PROJECT_COMMANDS = {
1029
1029
  description: "Set a project up for the GitHub Issue workflow, from git init to the setup PR",
1030
1030
  category: "Project",
1031
1031
  reference: [
1032
- `${PROFILE_ARGUMENTS} [--yes] [--github] [--public]`,
1032
+ `${PROFILE_ARGUMENTS} [--yes] [--github] [--public] [--init-command <command>]`,
1033
1033
  "developer",
1034
1034
  ["files", "git", "network", "processes"]
1035
1035
  ]
@@ -1265,8 +1265,6 @@ var ALIASES = {
1265
1265
  ln: "lines",
1266
1266
  by: "bytes",
1267
1267
  f: "format",
1268
- fd: "format:edited",
1269
- bg: "batch:guard",
1270
1268
  sd: "cspell:dot",
1271
1269
  bh: "behavior",
1272
1270
  t: "test",
@@ -1275,8 +1273,6 @@ var ALIASES = {
1275
1273
  td: "test:declared",
1276
1274
  trd: "test:red",
1277
1275
  te: "test:e2e",
1278
- er: "e2e:retry-check",
1279
- sl: "session:lang",
1280
1276
  c: "check",
1281
1277
  pt: "port",
1282
1278
  i: "init",
@@ -1284,19 +1280,12 @@ var ALIASES = {
1284
1280
  st: "start",
1285
1281
  sy: "sync",
1286
1282
  rmi: "registry:migrate",
1287
- sys: "sync:scope",
1288
1283
  g: "git",
1289
1284
  gp: "pr",
1290
- prc: "pr:classification",
1291
- fu: "followup",
1292
- nf: "notify",
1293
- obf: "observations:flush",
1294
- mrr: "measure:rerun",
1295
1285
  ms: "main:sync",
1296
1286
  mm: "main:merge",
1297
1287
  bp: "bump",
1298
1288
  re: "release",
1299
- res: "release:scope",
1300
1289
  v: "version",
1301
1290
  r: "ranges",
1302
1291
  dr: "doctor",
@@ -1304,107 +1293,16 @@ var ALIASES = {
1304
1293
  ad: "adopt",
1305
1294
  ov: "overrides",
1306
1295
  a: "audit",
1307
- ap: "audit:provision",
1308
1296
  rt: "reconcile-templates",
1309
1297
  u: "latest",
1310
- lg: "latest:guard",
1311
1298
  lc: "latest:corepack",
1312
1299
  lu: "latest:update",
1313
- ls: "latest:scope",
1314
- pm: "prevent-main-commit",
1315
- cm: "check-commit-message",
1316
- ss: "secretlint-scan",
1317
- ppu: "pre-push-unit",
1318
- rer: "reserved-run",
1319
- ptc: "pre-commit-type-check",
1320
- ird: "issue:read",
1321
- ist: "issue:state",
1322
- isc: "issue:scout",
1323
- ifl: "issue:file",
1324
- isf: "issue:fold",
1325
- isfe: "issue:fold-existing",
1326
- dfr: "defect:rate",
1327
- ici: "issue:cite",
1328
- icm: "issue:comment",
1329
- pks: "pkg:scout",
1330
- iln: "issue:lint",
1331
- ibl: "issue:backlinks",
1332
- rl: "report:lint",
1333
- ep: "epic",
1334
- ec: "epic:check",
1335
- en: "epic:next",
1336
- ea: "epic:audit",
1337
- eb: "epic:bundle",
1338
- ao: "auto-ok:next",
1339
- bl: "backlog:next",
1340
- blo: "backlog:offer",
1341
- bld: "backlog:drive",
1342
- blp: "backlog:plan",
1343
- bls: "backlog:stalled",
1344
- bb: "backlog:budget",
1345
- co: "cost",
1346
- ds: "doc:section",
1347
- rs: "read:set",
1348
- dcr: "doc:read",
1349
- rf: "read:files",
1350
- ef: "edit:files",
1351
- rfs: "refactor:scan",
1352
1300
  tm: "time",
1353
1301
  tmd: "time:density",
1354
1302
  rtr: "retrospective",
1355
- rb: "review:brief",
1356
- r2: "review:round2",
1357
- ra: "review:attest",
1358
- rvr: "review:record",
1359
1303
  rvf: "review:findings",
1360
- dp: "disposition",
1361
- dg: "delegate",
1362
- fo: "fanout",
1363
- rh: "run:hold",
1364
- rr: "run:release",
1365
- rc: "run:carry",
1366
- rtd: "run:tidy",
1367
- rw: "run:wake",
1368
- rct: "run:cut",
1369
- rv: "run:liveness",
1370
- red: "run:ending",
1371
- rg: "run:progress",
1372
- rp: "run:prep",
1373
- ren: "run:entry",
1374
- rtl: "run:tail",
1375
- shp: "ship",
1376
- rst: "run:status",
1377
- rn: "run:next",
1378
- rsp: "run:step",
1379
- rpy: "repo:party",
1380
- rmg: "run:merge",
1381
- rrp: "run:report",
1382
- rrv: "run:review",
1383
- rev: "run:event",
1384
- sp: "stash:pop",
1385
- lno: "lane:open",
1386
- lnc: "lane:close",
1387
- lnl: "lane:list",
1388
- lnp: "lane:prune",
1389
- lnv: "lane:output",
1390
- lnd: "lane:dispatch",
1391
- lna: "lane:await",
1392
- lnla: "lane:launch",
1393
- rwg: "run:watcher:guard",
1394
- rsd: "run:stranded",
1395
- ig: "investigation:guard",
1396
- drg: "duplicate-read:guard",
1397
- rug: "rule:guard",
1398
1304
  ruv: "rule:value",
1399
- ptg: "pretool:guard",
1400
- sg: "stop:guard",
1401
- ev: "eval",
1402
- ol: "oracle:list",
1403
- sa: "split:assess",
1404
- shs: "sonar:hotspots",
1405
- uir: "ui:routes",
1406
- cs: "clone:scan",
1407
- ca: "cases"
1305
+ ev: "eval"
1408
1306
  };
1409
1307
  function canonical_command(name) {
1410
1308
  if (!Object.hasOwn(ALIASES, name)) return name;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  investigation_reads
3
- } from "./chunk-D67KVGGY.js";
3
+ } from "./chunk-EJDX2TOB.js";
4
4
  import {
5
5
  lane_guard_policy
6
- } from "./chunk-ZXNE6NY3.js";
6
+ } from "./chunk-NJQOBE6L.js";
7
7
  import {
8
8
  hook_decision
9
- } from "./chunk-HOYJU5RM.js";
9
+ } from "./chunk-WQ4OSBSS.js";
10
10
 
11
11
  // scripts/delegation/investigation-guard.ts
12
12
  import { text } from "node:stream/consumers";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  time_batch_guard
3
- } from "./chunk-ZXNE6NY3.js";
3
+ } from "./chunk-NJQOBE6L.js";
4
4
  import {
5
5
  hook_decision
6
- } from "./chunk-HOYJU5RM.js";
6
+ } from "./chunk-WQ4OSBSS.js";
7
7
  import {
8
8
  cost_blocks,
9
9
  cost_transcript,
10
10
  time_bundle_call,
11
11
  time_shell,
12
12
  time_spans
13
- } from "./chunk-GLBDBJOK.js";
13
+ } from "./chunk-7VPDUBRN.js";
14
14
 
15
15
  // scripts/delegation/investigation-reads.ts
16
16
  import path from "node:path";
@@ -70,6 +70,16 @@ var DELEGATABLE_STEPS = [
70
70
  // for the numeral, so the count is phrased as a plain "N or more".
71
71
  does: `read the Issue's subject to find out how it currently works \u2014 once ${String(INVESTIGATION_FILE_THRESHOLD)} or more files the run will not edit have to be read \u2014 and return the conclusion plus the \`file:line\` citations that support it, never the file text, which would put the cost back where it was. A throwaway probe script is written, run and deleted inside the unit, which returns its output alone`,
72
72
  verifier: "the parent opens the cited lines; a conclusion those lines do not support fails there, and reading a handful of cited regions costs far less than redoing the reading. The unit reports what the code does and never what to change \u2014 deciding that is `diagnosis`, which stays kept, so a unit returning a root cause would be delegating the rejected row under this name"
73
+ },
74
+ {
75
+ name: "lane-failure-investigation",
76
+ // The `backlogrun` parent's counterpart of `investigation` (joshuafolkken/kit#2947). The parent
77
+ // orchestrates and never implements, yet it read a failed lane's logs, records and sources in its
78
+ // own context — about 150 grep / cat / sed calls on 2026-10-02 — and every later request of the
79
+ // batch re-read them. The verifier is `investigation`'s, and so is the boundary: the unit reports
80
+ // what happened, and what the parent does about it (park, re-dispatch, file) stays its own call.
81
+ does: "find out why a lane's child stopped, failed or conflicted \u2014 its output log, run records, PR checks and the files they name \u2014 and return the conclusion plus the `file:line` or log-line citations that support it, never the text read, so the batch parent's context stays the size its orchestration needs",
82
+ verifier: "the parent opens the cited lines and re-reads the child with `pnpm josh issue:state`; a conclusion those do not support fails there. The unit reports what happened and never what to do \u2014 parking, re-dispatching or filing stays with the parent, so a wrong account is caught before it is acted on"
73
83
  }
74
84
  ];
75
85
  var REJECTED_STEPS = [
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  lane_guard_policy,
3
3
  time_batch_guard
4
- } from "./chunk-ZXNE6NY3.js";
4
+ } from "./chunk-NJQOBE6L.js";
5
5
  import {
6
6
  hook_decision
7
- } from "./chunk-HOYJU5RM.js";
7
+ } from "./chunk-WQ4OSBSS.js";
8
8
 
9
9
  // scripts/hooks/batch-guard.ts
10
10
  import { text } from "node:stream/consumers";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  investigation_reads
3
- } from "./chunk-D67KVGGY.js";
3
+ } from "./chunk-EJDX2TOB.js";
4
4
  import {
5
5
  lane_guard_policy
6
- } from "./chunk-ZXNE6NY3.js";
6
+ } from "./chunk-NJQOBE6L.js";
7
7
  import {
8
8
  hook_decision
9
- } from "./chunk-HOYJU5RM.js";
9
+ } from "./chunk-WQ4OSBSS.js";
10
10
  import {
11
11
  json_value,
12
12
  time_spans
13
- } from "./chunk-GLBDBJOK.js";
13
+ } from "./chunk-7VPDUBRN.js";
14
14
 
15
15
  // scripts/delegation/duplicate-read-guard.ts
16
16
  import { statSync } from "node:fs";
@@ -6,12 +6,11 @@ import {
6
6
  ESLINT_EDIT_CACHE_FLAGS,
7
7
  file_reader,
8
8
  time_density_hook
9
- } from "./chunk-GLBDBJOK.js";
9
+ } from "./chunk-7VPDUBRN.js";
10
10
 
11
11
  // scripts/hooks/format-edited-file.ts
12
12
  import { existsSync as existsSync2 } from "node:fs";
13
13
  import path2 from "node:path";
14
- import { text } from "node:stream/consumers";
15
14
  import { fileURLToPath } from "node:url";
16
15
  import { execa as execa2 } from "execa";
17
16
  import { z } from "zod";
@@ -310,10 +309,6 @@ function build_envelope(additional_context) {
310
309
  hookSpecificOutput: { hookEventName: HOOK_EVENT_NAME, additionalContext: additional_context }
311
310
  });
312
311
  }
313
- function density_envelope(raw_payload) {
314
- const notice = time_density_hook.density_notice(raw_payload);
315
- return notice === void 0 ? void 0 : build_envelope(notice);
316
- }
317
312
  function compose_context(notice, diagnostics) {
318
313
  const sections = [notice, diagnostics].filter(
319
314
  (section) => section !== void 0
@@ -337,28 +332,11 @@ async function run_hook(payload) {
337
332
  if (context !== void 0) process.stdout.write(`${build_envelope(context)}
338
333
  `);
339
334
  }
340
- if (process.argv[1] === fileURLToPath(import.meta.url)) {
341
- if (process.stdin.isTTY) {
342
- report_no_payload();
343
- } else {
344
- await run_hook(await text(process.stdin));
345
- }
346
- }
347
335
 
348
336
  export {
349
- ESLINT_DAEMON,
350
- PROCESS_TIMEOUT_MS2 as PROCESS_TIMEOUT_MS,
351
- MAX_DIAGNOSTIC_CHARS2 as MAX_DIAGNOSTIC_CHARS,
352
- parse_edited_path,
353
- relative_to_root,
354
- plan_commands,
355
- select_invocation,
356
- plan_daemon_restart,
357
- resolve_invocations,
358
- is_start_failure,
359
- format_edited_file,
360
337
  format_edited_payload,
361
338
  build_envelope,
362
- density_envelope,
363
- compose_context
339
+ compose_context,
340
+ report_no_payload,
341
+ run_hook
364
342
  };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  lane_child_marker
3
- } from "./chunk-HOYJU5RM.js";
3
+ } from "./chunk-WQ4OSBSS.js";
4
4
  import {
5
5
  time_bundle_call,
6
6
  time_format,
7
7
  time_round_trips,
8
8
  time_spans,
9
9
  time_transcript_line
10
- } from "./chunk-GLBDBJOK.js";
10
+ } from "./chunk-7VPDUBRN.js";
11
11
 
12
12
  // scripts/lane/lane-guard-policy.ts
13
13
  var DEFAULT_MODE = "refuse";