@joshuafolkken/kit 1.3041.0 → 1.3044.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.
@@ -33,13 +33,15 @@ silence clock; the interval and its overrides are the person's (`docs/josh-comma
33
33
 
34
34
  ### What a report says
35
35
 
36
- **Every unscheduled progress statement is answered by `pnpm josh run:board --chat`** in one code
37
- block — a `backlogrun`, a `fullrun` or a `halfrun` alike — the reply to an explicit ask and
38
- the note just after a run starts alike; each is exempt from the interval and records the report
39
- itself, so no `--mark` beside it. **Relay its lines verbatim** — round, rephrase
40
- or re-label nothing, and **never write a clock time the command did not print**; where a field is
41
- missing, say so. **A field's empty value is an observation, never a state** (`record unread` is not
42
- *not stalled*), and **nothing in the lines is a verification result** — no gate, CI or check rollup.
36
+ **For progress-only questions or unsolicited progress, run `pnpm josh run:board --chat`**; relay
37
+ output verbatim in one code block (`backlogrun`, `fullrun`, `halfrun`; entry included).
38
+ It records reports without interval or `--mark`. Never round, rephrase, relabel or invent
39
+ times. Name missing fields; empty values are observations, not states (`record unread` is not
40
+ *not stalled*). Board lines prove no gate, CI or check result.
41
+
42
+ **Investigate cause and improvement questions**, even missing pause reasons or quoted board lines:
43
+ read state, logs and code; explain evidence and uncertainty. Mixed questions need the verbatim board
44
+ and explanation. Boards never replace investigation.
43
45
 
44
46
  **The heartbeat is ambient, never a Telegram.** `pnpm josh run:board` is its reader, in a pane of the
45
47
  person's own; **no session relays the stream** — name the board command once, at the first cut or when
@@ -48,7 +50,7 @@ asked; the person starts it, or the `josh: run board` task in `.vscode/tasks.jso
48
50
  **A request for periodic progress is never a CronCreate job** — on screen, name `pnpm josh run:board`;
49
51
  off-screen, start `pnpm josh run:board --every <minutes>` in the background (`docs/josh-commands-board.md`).
50
52
 
51
- **A stop is the only interrupt**: a `backlogrun` that has stopped ends with
53
+ **Only a stop interrupts**: a stopped `backlogrun` ends with
52
54
  `pnpm josh run:report --end --stopped "<reason>"`, which sends one ⏸️ confirmation; a parked child sends
53
55
  its own (`backlogrun-park.md`).
54
56
 
@@ -1 +1 @@
1
- {"digest":"60c2b9f0c2baacd3d6c642dfad0127f41a20b289e51feb0de47def5d0dd1fae0","signatures":{"scripts/build/build-hooks.ts":"1794488696198.7126:12610","scripts/build/build-bin.ts":"1794488696198.7126:1594",".npmrc":"1794488696141.7122:51","eslint.config.js":"1794488696160.9666:4805","eslint/base.js":"1794488696161.5876:16317","eslint/checkout-rooted-parser.js":"1794488696161.5876:1956","eslint/config-fingerprint.js":"1794488696161.7124:10894","eslint/rules/code-quality.js":"1794488696161.7124:11312","eslint/rules/comment-why-only.js":"1794488696162.9822:4882","eslint/rules/early-return-one-liner.js":"1794488696162.9822:4326","eslint/rules/english-only-prose.js":"1794488696162.9822:5509","eslint/rules/formatting.js":"1794488696162.9822:1218","eslint/rules/import.js":"1794488696162.9822:3293","eslint/rules/namespace-object-export.js":"1794488696162.9822:4219","eslint/rules/naming-convention.js":"1794488696162.9822:3526","eslint/rules/promise.js":"1794488696162.9822:1349","eslint/rules/sonarjs.js":"1794488696162.9822:2032","eslint/rules/test-filename.js":"1794488696162.9822:5790","eslint/rules/test-helper-bans.js":"1794488696162.9822:1843","eslint/rules/typescript.js":"1794488696162.9822:6487","eslint/rules/unicorn.js":"1794488696162.9822:13756","eslint/untyped-environment.js":"1794488696162.9822:1074","eslint/untyped.js":"1794488696162.9822:2701","eslint/vanilla.js":"1794488696162.9822:72","node_modules/.modules.yaml":"1794488705038.775:37172","package.json":"1794488696164.3738:7556","pnpm-lock.yaml":"1794488696164.3738:182545","pnpm-workspace.yaml":"1794488696164.3738:2834","tsconfig.json":"1794488696401.6672:366","tsconfig.sonar.json":"1794488696401.6672:427","tsconfig/base.json":"1794488696401.714:1889","scripts/josh/josh.ts":"1794488696277.7131:2970","scripts/josh/josh-read-only.ts":"1794488696277.7131:2500","scripts/doctor/doctor-consumer.ts":"1794488696218.7207:6198","scripts/josh/command-usage.ts":"1794488696274.4392:3040","scripts/josh/josh-gh-usage.ts":"1794488696276.7131:2146","scripts/josh/josh-logic.ts":"1794488696277.7131:10810","scripts/josh/run-github-prerequisite.ts":"1794488696278.7131:889","scripts/lib/read-file.ts":"1794488696299.912:1581","scripts/lib/spawn-exit.ts":"1794488696300.7134:1787","scripts/version/kit-descriptor.ts":"1794488696388.3005:535","scripts/git/git-spawn-sync.ts":"1794488696249.7131:3238","scripts/build/local-bin.ts":"1794488696200.7126:5938","scripts/gate/core-budget.ts":"1794488696235.713:18044","scripts/hooks/hook-lap.ts":"1794488696254.083:2109","scripts/lib/package-manifest.ts":"1794488696299.912:4369","scripts/lib/schemas.ts":"1794488696300.7134:2354","scripts/issue/issue-number-shape.ts":"1794488696267.7131:2067","scripts/gh/gh-core-rate-limit.ts":"1794488696241.3127:5185","scripts/gh/gh-request-tally.ts":"1794488696241.3127:4736","scripts/gh/gh-usage-event.ts":"1794488696241.3127:2864","scripts/gh/git-gh-exec.ts":"1794488696242.713:23236","scripts/josh/command-suggest.ts":"1794488696274.4392:2206","scripts/josh/josh-aliases.ts":"1794488696274.7131:2961","scripts/josh/josh-command-map.ts":"1794488696274.7131:1523","scripts/josh/josh-composite-arguments.ts":"1794488696276.7131:2438","scripts/josh/josh-environment-file.ts":"1794488696276.7131:2898","scripts/josh/josh-in-process.ts":"1794488696277.7131:4353","scripts/josh/kit-only.ts":"1794488696278.7131:1323","scripts/josh/package-directory.ts":"1794488696278.7131:854","scripts/lib/json-value.ts":"1794488696299.912:2003","scripts/lib/timeouts.ts":"1794488696300.7134:3134","scripts/discovery/repo-origin.ts":"1794488696217.5168:7673","scripts/git/git-location-environment.ts":"1794488696248.7815:2947","scripts/lib/pnpm-reach.ts":"1794488696299.912:1380","scripts/gate/machine-capacity.ts":"1794488696237.713:16281","scripts/run/ship/run-ship-lap.ts":"1794488696363.7139:5345","scripts/lib/ancestor-directories.ts":"1794488696299.912:1368","scripts/josh/platform-temporary.ts":"1794488696278.7131:3312","scripts/josh/process-identity.ts":"1794488696278.7131:16732","scripts/josh/stamp-file.ts":"1794488696279.7131:10331","scripts/lib/poll.ts":"1794488696299.912:7949","scripts/test/unit-worker-share.ts":"1794488696383.7139:8988","scripts/gate/busy-average.ts":"1794488696235.132:4119","scripts/gate/core-admission.ts":"1794488696235.713:17116","scripts/gate/core-budget-timing.ts":"1794488696235.713:1879","scripts/gate/core-reservation.ts":"1794488696235.713:2994","scripts/gate/core-wait.ts":"1794488696235.713:9281","scripts/gate/core-wait-record.ts":"1794488696235.713:1703","scripts/gate/core-weights.ts":"1794488696235.713:5185","scripts/gate/held-mark.ts":"1794488696237.713:2127","scripts/git/git-execa-error.ts":"1794488696248.7815:2072","scripts/josh/agent-session-environment.ts":"1794488696274.4392:10693","scripts/lib/bounded-pool.ts":"1794488696299.912:5461","scripts/lib/error-message.ts":"1794488696299.912:879","scripts/lib/token-shape.ts":"1794488696300.7134:3806","scripts/gh/gh-call-kind.ts":"1794488696241.3127:3275","scripts/gh/git-gh-check.ts":"1794488696241.713:611","scripts/gh/git-gh-failure.ts":"1794488696242.713:6068","scripts/gh/git-gh-retry.ts":"1794488696245.713:6409","scripts/gh/git-gh-spawn-width.ts":"1794488696245.713:360","scripts/git/constants.ts":"1794488696248.7815:1955","scripts/run/carry/run-carry.ts":"1794488696345.7476:29907","scripts/gh/gh-usage-log.ts":"1794488696241.3127:1876","scripts/josh/josh-commands-workflow.ts":"1794488696276.7131:13089","scripts/josh/josh-command-types.ts":"1794488696274.7131:16683","scripts/josh/josh-commands-ai.ts":"1794488696275.7131:26243","scripts/josh/josh-commands-clone.ts":"1794488696275.7131:569","scripts/josh/josh-commands-development.ts":"1794488696275.7131:12102","scripts/josh/josh-commands-hooks.ts":"1794488696275.7131:2542","scripts/josh/josh-commands-lint.ts":"1794488696275.7131:3585","scripts/josh/josh-commands-maintenance.ts":"1794488696275.7131:10101","scripts/josh/josh-commands-project.ts":"1794488696275.7131:9134","scripts/josh/josh-commands-versioning.ts":"1794488696276.7131:4557","ports/index.js":"1794488696165.216:10170","scripts/lane/lane-ledger-write.ts":"1794488696286.7134:11207","scripts/lib/atomic-write.ts":"1794488696299.912:2344","scripts/git/parse-json-array.ts":"1794488696251.7131:3885","scripts/test/unit-run-marker.ts":"1794488696382.7139:8718","scripts/gate/core-priority.ts":"1794488696235.713:1583","scripts/lane/lane-paths.ts":"1794488696288.7134:7268","scripts/rules/gh-api.ts":"1794488696321.7136:8116","scripts/init/init-paths.ts":"1794488696259.7131:350","scripts/test/unit-lane-count.ts":"1794488696382.7139:3210","scripts/josh/process-owner.ts":"1794488696278.7131:822","scripts/run/carry/run-carry-conversation.ts":"1794488696345.7476:4883","scripts/git/repository-lock.ts":"1794488696251.7131:6188","scripts/agent/agent-provider.ts":"1794488696167.2244:5819","scripts/git/git-command.ts":"1794488696248.7815:19780","scripts/josh/durable-state.ts":"1794488696274.4392:3509","scripts/run/run-invocation.ts":"1794488696357.7139:11258","scripts/run/carry/run-carry-added.ts":"1794488696345.7476:2257","scripts/run/carry/run-carry-change.ts":"1794488696345.7476:2966","scripts/josh/josh-commands-ship.ts":"1794488696276.7131:11873","scripts/josh/josh-commands-test-check.ts":"1794488696276.7131:2953","scripts/josh/josh-commands-backlog.ts":"1794488696275.7131:8309","scripts/josh/josh-commands-document.ts":"1794488696275.7131:3482","scripts/josh/josh-commands-epic.ts":"1794488696275.7131:7282","scripts/josh/josh-commands-issue.ts":"1794488696275.7131:9318","scripts/josh/josh-commands-review.ts":"1794488696276.7131:8553","scripts/josh/josh-commands-run.ts":"1794488696276.7131:12949","scripts/gate/gate-plan.ts":"1794488696236.713:21362","scripts/josh/josh-commands-agent-hooks.ts":"1794488696274.7131:5184","scripts/lane/lane-ledger-kind.ts":"1794488696285.7134:904","scripts/lane/lane-state-record.ts":"1794488696295.7134:2850","scripts/discovery/git-directory.ts":"1794488696217.5168:2654","scripts/josh/durable-state-root.ts":"1794488696274.4392:2442","scripts/cost-runtime/own-session.ts":"1794488696212.7126:2644","scripts/git/git-common-directory.ts":"1794488696248.7815:4650","scripts/rules/git-argv.ts":"1794488696321.7136:8430","scripts/cost-runtime/cost-transcript.ts":"1794488696211.7126:24340","scripts/josh/durable-state-migrate.ts":"1794488696274.4392:4274","scripts/lib/cli-flags.ts":"1794488696299.912:8663","scripts/run/carry/run-carry-streak.ts":"1794488696345.7476:4739","scripts/git/git-diff-reads.ts":"1794488696248.7815:13924","scripts/git/git-pre-push-hook.ts":"1794488696249.7131:5796","scripts/git/git-push-transport.ts":"1794488696249.7131:5219","scripts/git/git-spawn.ts":"1794488696249.7131:6778","scripts/gate/gate-labels.ts":"1794488696236.713:2268","scripts/josh/josh-verdict.ts":"1794488696277.7131:7342","scripts/gate/gate-checks.ts":"1794488696235.713:9327","scripts/josh/josh-commands-issue-write.ts":"1794488696275.7131:13655","scripts/josh/josh-commands-progress.ts":"1794488696275.7131:5380","scripts/josh/josh-commands-pause.ts":"1794488696275.7131:2882","scripts/josh/josh-commands-prime.ts":"1794488696275.7131:1187","scripts/cost-runtime/cost-usage.ts":"1794488696212.7126:11106","scripts/git/git-ssh-keepalive.ts":"1794488696249.7131:4447","scripts/lib/status-icons.ts":"1794488696300.7134:1614","scripts/issue/issue-body-keys.ts":"1794488696263.7131:9075","scripts/time-runtime/time-instant.ts":"1794488696385.7139:1048","scripts/josh/session-language.ts":"1794488696279.7131:1492"}}
1
+ {"digest":"eda527eb5ac4613c8f26ec5b3ee11d167fbb152a7cc10d250d57365c9ce5e46e","signatures":{"scripts/build/build-hooks.ts":"1794496351655.2273:12610","scripts/build/build-bin.ts":"1794496351655.2273:1594",".npmrc":"1794496351624.434:51","eslint.config.js":"1794496351634.2913:4805","eslint/base.js":"1794496351634.4727:16317","eslint/checkout-rooted-parser.js":"1794496351634.4727:1956","eslint/config-fingerprint.js":"1794496351634.4727:10894","eslint/rules/code-quality.js":"1794496351634.4727:11312","eslint/rules/comment-why-only.js":"1794496351635.335:4882","eslint/rules/early-return-one-liner.js":"1794496351635.335:4326","eslint/rules/english-only-prose.js":"1794496351635.335:5509","eslint/rules/formatting.js":"1794496351635.335:1218","eslint/rules/import.js":"1794496351635.335:3293","eslint/rules/namespace-object-export.js":"1794496351635.335:4219","eslint/rules/naming-convention.js":"1794496351635.335:3526","eslint/rules/promise.js":"1794496351635.335:1349","eslint/rules/sonarjs.js":"1794496351635.434:2032","eslint/rules/test-filename.js":"1794496351635.434:5790","eslint/rules/test-helper-bans.js":"1794496351635.434:1843","eslint/rules/typescript.js":"1794496351635.434:6487","eslint/rules/unicorn.js":"1794496351635.434:13756","eslint/untyped-environment.js":"1794496351635.434:1074","eslint/untyped.js":"1794496351635.434:2701","eslint/vanilla.js":"1794496351635.434:72","node_modules/.modules.yaml":"1794496361504.4067:37172","package.json":"1794496351636.9355:7556","pnpm-lock.yaml":"1794496351636.9355:182545","pnpm-workspace.yaml":"1794496351636.9355:2834","tsconfig.json":"1794496351876.4333:366","tsconfig.sonar.json":"1794496351876.4333:427","tsconfig/base.json":"1794496351876.4333:1889","scripts/josh/josh.ts":"1794496351732.4338:2970","scripts/josh/josh-read-only.ts":"1794496351731.4338:2500","scripts/josh/command-usage.ts":"1794496351728.5425:3040","scripts/doctor/doctor-consumer.ts":"1794496351665.218:6198","scripts/josh/josh-gh-usage.ts":"1794496351731.4338:2146","scripts/josh/josh-logic.ts":"1794496351731.4338:10810","scripts/issue/issue-number-shape.ts":"1794496351721.4338:2067","scripts/josh/run-github-prerequisite.ts":"1794496351732.4338:889","scripts/gh/gh-core-rate-limit.ts":"1794496351690.4338:5185","scripts/gh/gh-request-tally.ts":"1794496351690.4338:4736","scripts/gh/gh-usage-event.ts":"1794496351691.4338:2864","scripts/gh/git-gh-exec.ts":"1794496351692.4338:23236","scripts/josh/josh-in-process.ts":"1794496351731.4338:4353","scripts/josh/command-suggest.ts":"1794496351728.5425:2206","scripts/build/local-bin.ts":"1794496351655.4338:5938","scripts/lib/spawn-exit.ts":"1794496351756.4336:1787","scripts/gate/core-budget.ts":"1794496351684.4338:18044","scripts/hooks/hook-lap.ts":"1794496351705.7786:2109","scripts/lib/package-manifest.ts":"1794496351756.4336:4369","scripts/lib/schemas.ts":"1794496351756.4336:2354","scripts/josh/josh-environment-file.ts":"1794496351731.4338:2898","scripts/josh/josh-aliases.ts":"1794496351728.5425:2961","scripts/josh/package-directory.ts":"1794496351732.4338:854","scripts/josh/josh-command-map.ts":"1794496351729.4338:1523","scripts/josh/josh-composite-arguments.ts":"1794496351730.4338:2438","scripts/josh/kit-only.ts":"1794496351732.4338:1323","scripts/version/kit-descriptor.ts":"1794496351860.92:535","scripts/git/git-spawn-sync.ts":"1794496351701.4338:3238","scripts/lib/json-value.ts":"1794496351755.8137:2003","scripts/lib/read-file.ts":"1794496351756.4336:1581","scripts/lib/timeouts.ts":"1794496351757.4336:3134","scripts/gh/gh-usage-log.ts":"1794496351691.4338:1876","scripts/discovery/repo-origin.ts":"1794496351664.5535:7673","scripts/gh/git-gh-spawn-width.ts":"1794496351696.4338:360","scripts/lib/pnpm-reach.ts":"1794496351756.4336:1380","scripts/lib/error-message.ts":"1794496351755.8137:879","scripts/run/carry/run-carry.ts":"1794496351812.4336:29907","scripts/git/git-execa-error.ts":"1794496351699.6462:2072","scripts/josh/agent-session-environment.ts":"1794496351728.5425:10693","scripts/lib/bounded-pool.ts":"1794496351755.8137:5461","scripts/lib/token-shape.ts":"1794496351757.4336:3806","scripts/gh/gh-call-kind.ts":"1794496351690.4338:3275","scripts/gh/git-gh-check.ts":"1794496351691.4338:611","scripts/gh/git-gh-failure.ts":"1794496351692.4338:6068","scripts/gh/git-gh-retry.ts":"1794496351696.4338:6409","scripts/lib/ancestor-directories.ts":"1794496351755.8137:1368","scripts/gate/machine-capacity.ts":"1794496351687.4338:16281","scripts/run/ship/run-ship-lap.ts":"1794496351833.4333:5345","scripts/gate/core-weights.ts":"1794496351685.4338:5185","scripts/gate/held-mark.ts":"1794496351686.4338:2127","scripts/josh/josh-command-types.ts":"1794496351729.4338:16683","scripts/josh/josh-commands-workflow.ts":"1794496351730.4338:13089","ports/index.js":"1794496351637.9119:10170","scripts/josh/josh-commands-ai.ts":"1794496351729.4338:26243","scripts/josh/josh-commands-clone.ts":"1794496351729.4338:569","scripts/josh/josh-commands-development.ts":"1794496351729.4338:12102","scripts/josh/josh-commands-hooks.ts":"1794496351729.4338:2542","scripts/josh/josh-commands-lint.ts":"1794496351729.4338:3585","scripts/josh/josh-commands-maintenance.ts":"1794496351730.4338:10101","scripts/josh/josh-commands-project.ts":"1794496351730.4338:9134","scripts/josh/josh-commands-versioning.ts":"1794496351730.4338:4557","scripts/josh/platform-temporary.ts":"1794496351732.4338:3312","scripts/josh/process-identity.ts":"1794496351732.4338:16732","scripts/josh/stamp-file.ts":"1794496351733.4338:10331","scripts/lib/poll.ts":"1794496351756.4336:7949","scripts/test/unit-worker-share.ts":"1794496351855.4333:8988","scripts/gate/busy-average.ts":"1794496351683.8176:4119","scripts/gate/core-admission.ts":"1794496351684.4338:17116","scripts/gate/core-budget-timing.ts":"1794496351684.4338:1879","scripts/gate/core-reservation.ts":"1794496351684.4338:2994","scripts/gate/core-wait.ts":"1794496351684.4338:9281","scripts/gate/core-wait-record.ts":"1794496351684.4338:1703","scripts/git/git-location-environment.ts":"1794496351700.4338:2947","scripts/git/constants.ts":"1794496351699.6462:1955","scripts/josh/durable-state.ts":"1794496351728.5425:3509","scripts/run/carry/run-carry-conversation.ts":"1794496351811.8206:4883","scripts/rules/gh-api.ts":"1794496351781.4336:8116","scripts/git/parse-json-array.ts":"1794496351703.4338:3885","scripts/josh/josh-commands-ship.ts":"1794496351730.4338:11873","scripts/josh/josh-commands-test-check.ts":"1794496351730.4338:2953","scripts/git/repository-lock.ts":"1794496351703.4338:6188","scripts/agent/agent-provider.ts":"1794496351640.434:5819","scripts/git/git-command.ts":"1794496351699.6462:19780","scripts/run/run-invocation.ts":"1794496351826.4333:11258","scripts/run/carry/run-carry-added.ts":"1794496351811.8206:2257","scripts/run/carry/run-carry-change.ts":"1794496351811.8206:2966","scripts/josh/josh-commands-backlog.ts":"1794496351729.4338:8309","scripts/josh/josh-commands-document.ts":"1794496351729.4338:3482","scripts/josh/josh-commands-epic.ts":"1794496351729.4338:7282","scripts/josh/josh-commands-issue.ts":"1794496351729.4338:9318","scripts/josh/josh-commands-review.ts":"1794496351730.4338:8553","scripts/josh/josh-commands-run.ts":"1794496351730.4338:12949","scripts/gate/gate-plan.ts":"1794496351685.4338:21362","scripts/josh/josh-commands-agent-hooks.ts":"1794496351729.4338:5184","scripts/lib/atomic-write.ts":"1794496351755.8137:2344","scripts/test/unit-run-marker.ts":"1794496351855.4333:8718","scripts/init/init-paths.ts":"1794496351712.4338:350","scripts/test/unit-lane-count.ts":"1794496351855.4333:3210","scripts/gate/core-priority.ts":"1794496351684.4338:1583","scripts/lane/lane-paths.ts":"1794496351743.4336:7268","scripts/josh/process-owner.ts":"1794496351732.4338:822","scripts/lane/lane-ledger-write.ts":"1794496351740.4336:11207","scripts/josh/durable-state-root.ts":"1794496351728.5425:2442","scripts/git/git-common-directory.ts":"1794496351699.6462:4650","scripts/josh/durable-state-migrate.ts":"1794496351728.5425:4274","scripts/cost-runtime/own-session.ts":"1794496351661.4338:2644","scripts/rules/git-argv.ts":"1794496351781.4336:8430","scripts/cost-runtime/cost-transcript.ts":"1794496351661.4338:24340","scripts/git/git-spawn.ts":"1794496351701.4338:6778","scripts/git/git-diff-reads.ts":"1794496351699.6462:13924","scripts/git/git-pre-push-hook.ts":"1794496351700.4338:5796","scripts/git/git-push-transport.ts":"1794496351700.4338:5219","scripts/lib/cli-flags.ts":"1794496351755.8137:8663","scripts/run/carry/run-carry-streak.ts":"1794496351812.4336:4739","scripts/josh/josh-commands-issue-write.ts":"1794496351729.4338:13655","scripts/josh/josh-commands-progress.ts":"1794496351730.4338:5380","scripts/gate/gate-labels.ts":"1794496351685.4338:2268","scripts/josh/josh-commands-pause.ts":"1794496351730.4338:2882","scripts/josh/josh-commands-prime.ts":"1794496351730.4338:1187","scripts/josh/josh-verdict.ts":"1794496351731.4338:7342","scripts/gate/gate-checks.ts":"1794496351685.4338:9327","scripts/lane/lane-state-record.ts":"1794496351751.4336:2850","scripts/discovery/git-directory.ts":"1794496351664.5535:2654","scripts/lane/lane-ledger-kind.ts":"1794496351740.4336:904","scripts/cost-runtime/cost-usage.ts":"1794496351661.4338:11106","scripts/git/git-ssh-keepalive.ts":"1794496351701.4338:4447","scripts/issue/issue-body-keys.ts":"1794496351716.4338:9075","scripts/lib/status-icons.ts":"1794496351756.4336:1614","scripts/josh/session-language.ts":"1794496351733.4338:1492","scripts/time-runtime/time-instant.ts":"1794496351857.4333:1048"}}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env tsx
2
2
  import {
3
3
  run_board_cli
4
- } from "./chunk-IF3EIFK4.js";
4
+ } from "./chunk-24OATKOF.js";
5
5
  import "./chunk-GY4DMCKS.js";
6
6
  import "./chunk-F6IQHZYY.js";
7
7
  import "./chunk-7KKUFLH5.js";
@@ -1093,14 +1093,15 @@ var run_board_lane_stop = { RELEASE_REASON, label_settled, label_stop, lane_stat
1093
1093
  var KIND5 = run_event_stream.EVENT_KIND;
1094
1094
  var { STAGE: STAGE2 } = run_event_setup;
1095
1095
  var NO_SETUP = { setup: void 0, setup_ms: void 0 };
1096
- var SESSION_STAGES = /* @__PURE__ */ new Set([
1097
- STAGE2.JUDGING,
1098
- STAGE2.SESSION,
1099
- STAGE2.RETROSPECTIVE
1100
- ]);
1096
+ var SESSION_STAGES = /* @__PURE__ */ new Set([STAGE2.JUDGING, STAGE2.SESSION]);
1097
+ var RETAINED_STAGES = /* @__PURE__ */ new Set([...SESSION_STAGES, STAGE2.RETROSPECTIVE]);
1101
1098
  function is_setup(event) {
1102
1099
  return event.kind === KIND5.SETUP;
1103
1100
  }
1101
+ function is_working2(setup, is_session_active) {
1102
+ if (setup === void 0) return false;
1103
+ return !SESSION_STAGES.has(setup) || is_session_active !== false;
1104
+ }
1104
1105
  function is_refusal(event) {
1105
1106
  return is_setup(event) && event.text.startsWith(STAGE2.NO_CHILD);
1106
1107
  }
@@ -1116,7 +1117,7 @@ function is_opening(events, stage) {
1116
1117
  return position === void 0 || position.pos < stage.pos;
1117
1118
  }
1118
1119
  function is_standing(events, stage) {
1119
- if (!has_started(events) || SESSION_STAGES.has(stage.text)) return true;
1120
+ if (!has_started(events) || RETAINED_STAGES.has(stage.text)) return true;
1120
1121
  return is_opening(events, stage);
1121
1122
  }
1122
1123
  function read(events) {
@@ -1142,7 +1143,7 @@ function lane_stage(events, issue) {
1142
1143
  if (step === void 0 || !is_lane_stage(step, issue)) return void 0;
1143
1144
  return { text: step.text, at_ms: Date.parse(step.at) };
1144
1145
  }
1145
- var run_board_setup = { is_refusal, lane_stage, read };
1146
+ var run_board_setup = { is_refusal, is_working: is_working2, lane_stage, read };
1146
1147
 
1147
1148
  // scripts/run/board/run-board-status.ts
1148
1149
  var KIND6 = run_event_stream.EVENT_KIND;
@@ -2390,7 +2391,6 @@ var { padded: padded2 } = run_board_fresh;
2390
2391
  var aged_fresh = run_board_fresh.aged;
2391
2392
  var UNKNOWN = "-";
2392
2393
  var BLANK2 = " ";
2393
- var REPO_SEPARATOR = "/";
2394
2394
  var { GAP, PERCENT_WIDTH } = run_board_machine;
2395
2395
  var STALE_MINUTES = 15;
2396
2396
  var STALE_MS = STALE_MINUTES * MS_PER_MINUTE;
@@ -2416,8 +2416,8 @@ function counts_of(layout) {
2416
2416
  }
2417
2417
  var WORKING_MARKS = /* @__PURE__ */ new Set(["running", "setup"]);
2418
2418
  function quiet_mark(header) {
2419
- const { layout } = header;
2420
- if (header.activity.setup !== void 0) return "setup";
2419
+ const { activity, layout } = header;
2420
+ if (run_board_setup.is_working(activity.setup, activity.is_setup_working)) return "setup";
2421
2421
  return layout?.queued.length === 0 && run_board_layout.people_of(layout).length > 0 ? "human" : "idle";
2422
2422
  }
2423
2423
  function mark_of(header, running) {
@@ -2429,7 +2429,7 @@ function run_part(mark, name = RUN_NAME) {
2429
2429
  return styleText2(color, `${glyph} ${name}`);
2430
2430
  }
2431
2431
  function repo_part(header, mark) {
2432
- const name = header.repo?.split(REPO_SEPARATOR).at(-1) ?? "";
2432
+ const name = header.repo?.split("/").at(-1) ?? "";
2433
2433
  const indent = run_board_fit.width_of(RUN_MARKS[mark].glyph) + BLANK2.length;
2434
2434
  return `${BLANK2.repeat(indent)}${header.repo_link(name, "home")}`;
2435
2435
  }
@@ -5068,10 +5068,14 @@ function titles_of2(state) {
5068
5068
  return closed_under(known_of2(state), state.closed).titles;
5069
5069
  }
5070
5070
  function activity_here(local) {
5071
- return run_board_status.activity_of(
5071
+ const activity = run_board_status.activity_of(
5072
5072
  local.events,
5073
5073
  local.ended_ms !== void 0 || local.is_stranded
5074
5074
  );
5075
+ return {
5076
+ ...activity,
5077
+ is_setup_working: run_board_setup.is_working(activity.setup, local.is_session_active)
5078
+ };
5075
5079
  }
5076
5080
  function is_backlog_live(local) {
5077
5081
  const roots = local.roots ?? {};
@@ -6153,12 +6157,24 @@ function parent_of(read5, is_same) {
6153
6157
  function roots_of(repository, read5, is_same = process_identity.is_same_process) {
6154
6158
  return { supervisor: supervisor_of(repository, is_same), parent: parent_of(read5, is_same) };
6155
6159
  }
6160
+ function is_session_owner(read5) {
6161
+ return read5.kind === "carried" && read5.carry.is_handed_off !== true;
6162
+ }
6163
+ function live_session_pid(pid, start2, wake, is_same) {
6164
+ return pid !== void 0 && pid !== wake?.pid && is_same(pid, start2) !== false;
6165
+ }
6166
+ function session_is_active(repository, read5, is_same) {
6167
+ if (read5.kind !== "carried" || !is_session_owner(read5)) return false;
6168
+ const wake = run_wake.read_wake(run_wake.wake_path(repository));
6169
+ const pid = read5.carry.owner_pid ?? wake?.woke_pid;
6170
+ return live_session_pid(pid, read5.carry.owner_start, wake, is_same);
6171
+ }
6156
6172
  async function same_in(table) {
6157
6173
  const rows = table === void 0 ? void 0 : await table();
6158
6174
  const read5 = lane_process_table.start_reader(rows ?? []);
6159
6175
  return (pid, start2) => process_identity.is_same_process(pid, start2, read5);
6160
6176
  }
6161
- var run_board_roots = { roots_of, same_in };
6177
+ var run_board_roots = { roots_of, same_in, session_is_active };
6162
6178
 
6163
6179
  // scripts/run/board/run-board-single.ts
6164
6180
  var FULLRUN = "fullrun";
@@ -6429,7 +6445,8 @@ var NO_SPAN = {
6429
6445
  transcript: void 0,
6430
6446
  roots: {},
6431
6447
  carry: void 0,
6432
- is_stranded: false
6448
+ is_stranded: false,
6449
+ is_session_active: false
6433
6450
  };
6434
6451
  var main_roots = stamped_memo.create();
6435
6452
  async function main_root() {
@@ -6456,6 +6473,7 @@ async function recorded_span_here(repository, table, read5) {
6456
6473
  resume: run_board_span.resume_of(read5, ended2, launch2),
6457
6474
  transcript: read5.kind === "carried" ? read5.carry.owner_transcript : void 0,
6458
6475
  roots: run_board_roots.roots_of(repository, read5, same_process),
6476
+ is_session_active: run_board_roots.session_is_active(repository, read5, same_process),
6459
6477
  carry: read5.kind === "carried" ? read5.carry : void 0,
6460
6478
  is_stranded: run_stranded_detect.is_stranded_at(repository, stranded_ports)
6461
6479
  };
@@ -6552,7 +6570,7 @@ function span_fields(span) {
6552
6570
  }
6553
6571
  async function read_local(table) {
6554
6572
  const repository = await run_carry.repository_directory();
6555
- const { span, resume, transcript, roots, carry, is_stranded } = repository === void 0 ? NO_SPAN : await span_here2(repository, table);
6573
+ const { span, resume, transcript, roots, carry, is_stranded, is_session_active } = repository === void 0 ? NO_SPAN : await span_here2(repository, table);
6556
6574
  if (repository === void 0 || span === void 0) return void 0;
6557
6575
  const events = run_event_tail.read_events(run_event_stream.target_of(repository));
6558
6576
  const lanes = await lane_registry.list_lanes(await main_root());
@@ -6568,6 +6586,7 @@ async function read_local(table) {
6568
6586
  roots,
6569
6587
  carry,
6570
6588
  is_stranded,
6589
+ is_session_active,
6571
6590
  operations: run_board_operation_read.read(sources_of2(repository, lanes, transcript)),
6572
6591
  ...await lane_room_of(lanes, lane_read.lane_states, table),
6573
6592
  ...ledger_here(repository)
@@ -76,7 +76,7 @@ var session_handoff_line = {
76
76
 
77
77
  // scripts/josh/session-language-cli.ts
78
78
  var { DEFAULT_SESSION_LANG, ENV_KEY, resolve_session_lang } = session_language;
79
- var BOARD_LINE = "A backlogrun is live here: answer a progress question with `pnpm josh run:board --chat`, verbatim in one code block.";
79
+ var BOARD_LINE = "Live backlogrun: for progress-only questions, run `pnpm josh run:board --chat`; relay output verbatim in one code block. For cause or improvement questions, investigate state, logs and code; cite evidence and uncertainty, even with quoted board lines. For mixed questions, do both.";
80
80
  var LIVE_PORTS = {
81
81
  repository_directory: run_carry.repository_directory,
82
82
  is_running: backlogrun_launch.is_running