@joshuafolkken/kit 1.1373.0 → 1.1383.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.
- package/.claude/skills/dependency-update/SKILL.md +6 -3
- package/.claude/skills/workflow-commands/backlogrun-progress.md +2 -3
- package/.claude/skills/workflow-commands/backlogrun-steps.md +2 -4
- package/.claude/skills/workflow-commands/retrospective.md +1 -2
- package/dist/hooks/batch-guard.js +6 -6
- package/dist/hooks/{chunk-UTHMB4O2.js → chunk-2X2ART5G.js} +4 -33
- package/dist/hooks/{chunk-NZN2UFI6.js → chunk-4MGHBTOM.js} +162 -233
- package/dist/hooks/{chunk-YLBBSSTF.js → chunk-6AC4C2IO.js} +91 -67
- package/dist/hooks/{chunk-AKGCP4LX.js → chunk-6MAW7BCM.js} +12 -12
- package/dist/hooks/{chunk-JCRDBQXB.js → chunk-7VSZ2N4B.js} +3 -3
- package/dist/hooks/{chunk-GG72ANKI.js → chunk-KC6LUZZ2.js} +1 -1
- package/dist/hooks/{chunk-BZMPVFDY.js → chunk-KCF2YE7O.js} +5 -5
- package/dist/hooks/{chunk-7WKYHEGU.js → chunk-LC56R53A.js} +3 -3
- package/dist/hooks/{chunk-V4TKZHER.js → chunk-LOJTBU5V.js} +3 -3
- package/dist/hooks/{chunk-JGW24KKM.js → chunk-RYP3TSUJ.js} +3 -3
- package/dist/hooks/{chunk-SLSFIWTX.js → chunk-TT742SIO.js} +8 -5
- package/dist/hooks/{chunk-Z5TMJIPW.js → chunk-Y5R47QHU.js} +1 -1
- package/dist/hooks/{chunk-7UBFU3CL.js → chunk-YKUITFT7.js} +2 -2
- package/dist/hooks/codex-hook-adapter.js +13 -13
- package/dist/hooks/duplicate-read-guard.js +7 -7
- package/dist/hooks/format-edited.js +3 -3
- package/dist/hooks/inputs.json +190 -191
- package/dist/hooks/investigation-guard.js +7 -7
- package/dist/hooks/pretool-guard.js +12 -12
- package/dist/hooks/session-lang.js +3 -3
- package/dist/hooks/stop-guard.js +19 -15
- package/dist/josh.js +40 -5
- package/package.json +4 -4
- package/prompts/collaboration-workflow/upstream-interrupt.md +1 -1
- package/scripts/adopt/adopt-logic.ts +4 -1
- package/scripts/adopt/adopt.ts +7 -4
- package/scripts/backlog/backlog-budget-cli.ts +2 -20
- package/scripts/backlog/backlog-budget.ts +72 -109
- package/scripts/backlog/backlog-drive-cli.ts +10 -3
- package/scripts/backlog/backlog-drive.ts +5 -2
- package/scripts/backlog/backlog-offer-cli.ts +1 -15
- package/scripts/cost-runtime/context-cut-payback.ts +9 -4
- package/scripts/cost-runtime/cost-pricing.ts +94 -33
- package/scripts/document/document-byte-budget.ts +1 -1
- package/scripts/document/read-set-pricing.ts +7 -5
- package/scripts/epic/epic-candidate-confirm.ts +1 -1
- package/scripts/epic/epic-cross-repo.ts +4 -4
- package/scripts/epic/epic-next.ts +1 -1
- package/scripts/git/git-spawn-sync.ts +9 -1
- package/scripts/hooks/stop-guard.ts +20 -9
- package/scripts/init/init-ai-copy.ts +10 -3
- package/scripts/init/init-copy-content.ts +8 -1
- package/scripts/init/security-policy.ts +79 -0
- package/scripts/josh/josh-commands-ai.ts +1 -1
- package/scripts/josh/josh-commands-maintenance.ts +3 -0
- package/scripts/josh/josh-commands-project.ts +1 -1
- package/scripts/josh/josh-commands-versioning.ts +2 -1
- package/scripts/lane/lane-cli.ts +1 -3
- package/scripts/propagate/propagate-run.ts +17 -1
- package/scripts/propagate/propagate-steps.ts +9 -1
- package/scripts/run/board/run-board-header.ts +107 -84
- package/scripts/run/board/run-board-labels.ts +18 -17
- package/scripts/run/board/run-board-machine.ts +21 -8
- package/scripts/run/board/run-board-render.ts +1 -5
- package/scripts/run/board/run-board-span.ts +0 -1
- package/scripts/run/board/run-board-status.ts +0 -17
- package/scripts/run/board/run-board-tick.ts +1 -0
- package/scripts/run/carry/run-carry-cli.ts +8 -62
- package/scripts/run/carry/run-carry-ended.ts +1 -1
- package/scripts/run/carry/run-carry.ts +22 -68
- package/scripts/run/cut/run-cut.ts +4 -4
- package/scripts/run/event/run-event-render.ts +0 -1
- package/scripts/run/event/run-event-scope.ts +4 -8
- package/scripts/run/event/run-event-stream-emit.ts +0 -25
- package/scripts/run/event/run-event-stream.ts +23 -31
- package/scripts/run/merge/run-merge-collect.ts +1 -1
- package/scripts/run/merge/run-merge-steps.ts +1 -1
- package/scripts/run/progress/run-progress-read.ts +1 -1
- package/scripts/run/run-headless.ts +2 -2
- package/scripts/run/run-status-cli.ts +1 -5
- package/scripts/run/run-step.ts +2 -9
- package/scripts/run/run-stop-notify.ts +1 -1
- package/scripts/run/run-stranded-detect.ts +3 -3
- package/scripts/run/run-stranded.ts +25 -17
- package/scripts/run/wake/run-wake-cli.ts +7 -9
- package/scripts/run/wake/run-wake-describe.ts +3 -5
- package/scripts/run/wake/run-wake-driver.ts +3 -3
- package/scripts/run/wake/run-wake-loop.ts +4 -21
- package/scripts/run/wake/run-wake-restart.ts +1 -1
- package/scripts/run/wake/run-wake.ts +6 -7
- package/scripts/sync/sync-ai-files.ts +2 -0
- package/scripts/version/latest-update.ts +20 -6
- package/scripts/version/peer-floor.ts +99 -0
- package/scripts/version/playwright-browsers.ts +109 -0
- package/scripts/version/publishable-range-check.ts +41 -4
- package/templates/SECURITY.md +23 -0
- package/scripts/backlog/backlog-idle.ts +0 -88
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dependency-update
|
|
3
|
-
description: Checks after `pnpm update`, `josh latest`, `pnpm josh overrides` or any dependency update — the `overrides` survived, the one expected `devEngines` change. Read it before reporting the pins intact or pinning a bump back.
|
|
3
|
+
description: Checks after `pnpm update`, `josh latest`, `josh adopt`, `pnpm josh overrides` or any dependency update — the `overrides` survived, the one expected `devEngines` change. Read it before reporting the pins intact or pinning a bump back.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# After a dependency-update command
|
|
@@ -8,8 +8,9 @@ description: Checks after `pnpm update`, `josh latest`, `pnpm josh overrides` or
|
|
|
8
8
|
`CLAUDE.md` → "Decision autonomy" keeps both prohibitions resident as Tier C — never touch `overrides`
|
|
9
9
|
in either file, never touch `devEngines`, without explicit user approval. This skill is the other
|
|
10
10
|
half: what you actually run to find out whether a command already touched them, and how to read the
|
|
11
|
-
one change that is expected. It applies after `pnpm update`, `josh latest`, `
|
|
12
|
-
a Dependabot merge, or any other command
|
|
11
|
+
one change that is expected. It applies after `pnpm update`, `josh latest`, `josh adopt` (which runs
|
|
12
|
+
`josh latest` as one of its steps), `pnpm josh overrides`, a Dependabot merge, or any other command
|
|
13
|
+
that can rewrite dependency versions.
|
|
13
14
|
|
|
14
15
|
This skill is the single source of the overrides protection's procedure;
|
|
15
16
|
`prompts/collaboration-workflow/operating-rules.md` only points here. Overrides were added on
|
|
@@ -34,6 +35,8 @@ or any dependency-update command, verify the overrides in both `pnpm-workspace.y
|
|
|
34
35
|
git diff -- pnpm-workspace.yaml package.json
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
(after `josh adopt`, which has already committed and returned to the default branch, compare the
|
|
39
|
+
pull-request branch instead: `git diff <default>...<branch> -- pnpm-workspace.yaml package.json`)
|
|
37
40
|
and confirm the effective `overrides:` block in `pnpm-workspace.yaml` and any historical
|
|
38
41
|
`pnpm.overrides` declarations in `package.json` are untouched, **and** that `devDependencies`
|
|
39
42
|
versions still respect the effective overrides. If any entry was removed, modified, or bumped past
|
|
@@ -106,12 +106,11 @@ the epic body; what merged the epic's task list.
|
|
|
106
106
|
|
|
107
107
|
| Setting | Value | Meaning |
|
|
108
108
|
| --- | --- | --- |
|
|
109
|
-
| Polling interval | 60 s | **In flight, a floor between two asks, never a clock** — the wake is `lane:await`'s completion or the watcher's arrival exit, never a report. **With nothing in flight no wake comes: it is the parent's own clock.** |
|
|
110
|
-
| `backlogrun` idle-watch poll | 5 min | Not the interval above, and a floor in the same sense. |
|
|
109
|
+
| Polling interval | 60 s | **In flight, a floor between two asks, never a clock** — the wake is `lane:await`'s completion or the watcher's arrival exit, never a report. **With nothing in flight no wake comes: it is the parent's own clock.** A `backlogrun` idle watch is polled at this same interval. |
|
|
111
110
|
| Silent delegated unit | 30 min | Not the child's duration — the time its output has gone **unchanged**. Past it, ask `run:liveness` and book a stopped unit as a failure. |
|
|
112
111
|
| Stale `in-progress` | 90 min | Past it, the other session is gone. |
|
|
113
112
|
| Publish wait | 10 min | `josh propagate`'s own budget. A failed publish never appears. |
|
|
114
|
-
|
|
|
113
|
+
| `backlogrun` idle watch | 8 h | Counted from when the run's hands became free, never from its start; `pnpm josh backlog:budget` decides it. |
|
|
115
114
|
|
|
116
115
|
Each timeout **ends the wait and reports** — none is retried indefinitely. Rationale for the figures:
|
|
117
116
|
`docs/maintainers/backlogrun-progress-rationale.md` → "Why the parent waits on classification, not a
|
|
@@ -29,7 +29,7 @@ provenance of each rule: `docs/maintainers/backlogrun-steps-rationale.md` → "W
|
|
|
29
29
|
| The bound | What it limits | Counted by |
|
|
30
30
|
| --- | --- | --- |
|
|
31
31
|
| `--max` | merges per invocation — a run's own filing competes for it | `run:carry --merged` |
|
|
32
|
-
| `--idle
|
|
32
|
+
| `--idle` (8 hours unless typed) | how long the run waits once nothing can proceed | `--active`, the moment its hands became free |
|
|
33
33
|
| **Ten filings per invocation** | additions to the pool on **every** filing route (`prerequisite.md`) — `route:tier-a`, `route:interrupt` and a review branch-2 filing are exempt from the depth test (`observation-filing.md`), never from this ceiling | `run:carry --filed` |
|
|
34
34
|
| The WIP cap on open issues | the pool across invocations | `prompts/collaboration-workflow/wip-cap.md` |
|
|
35
35
|
|
|
@@ -75,8 +75,6 @@ and `--filed 1`, and **`--cut` is the session's last write**.
|
|
|
75
75
|
| `busy` / `mismatch` / `unreadable` / `unknown` | **Stop; do not open a lane** — report what it printed; never resume into another invocation's record |
|
|
76
76
|
| `over` | **End the conversation**; retype the invocation in a fresh session |
|
|
77
77
|
| `standing` | **Stop; do not open a lane**: report `pnpm josh run:carry --resume "<invocation>" --owner "$PPID"` and `pnpm josh run:carry --end` for the person to choose — a crash from a run-tooling defect this run has since fixed you resume yourself (`upstream-interrupt.md` → "実行中のリポジトリ自身のラン機構の不具合") |
|
|
78
|
-
| `expired` | On standard output: report, stop and `--end` it. On standard error ahead of `began`: a new run replaced it |
|
|
79
|
-
|
|
80
78
|
**End the record when the run ends** — `pnpm josh run:report`, then `pnpm josh run:carry --end`, **never
|
|
81
79
|
batched with it**, and `pnpm josh run:wake --stop` in the same turn. **A run that ends by _stopping_**
|
|
82
80
|
(a `stop` verdict or the consecutive-failure guard) **ends with `pnpm josh run:carry --end --stopped
|
|
@@ -140,7 +138,7 @@ section the row names:
|
|
|
140
138
|
|
|
141
139
|
**A candidate only in another repository is never a token** — report it with its checkout. The budgets,
|
|
142
140
|
verdicts and stops are the driver's own: `docs/maintainers/backlogrun-driver.md` (rationale:
|
|
143
|
-
`docs/maintainers/backlogrun-steps-rationale.md` → "Why the idle watch
|
|
141
|
+
`docs/maintainers/backlogrun-steps-rationale.md` → "Why the idle watch lasts 8 hours from when the hands became free";
|
|
144
142
|
`docs/maintainers/backlogrun-steps-rationale.md` → "Why the cost check skips a watch").
|
|
145
143
|
|
|
146
144
|
Rationale: `docs/maintainers/backlogrun-steps-rationale.md` → "Why the loop's contract is shaped this way"
|
|
@@ -60,8 +60,7 @@ Issue, as after any filing.
|
|
|
60
60
|
`issue:file`'s default applies the label and the next run picks the improvements up without waiting
|
|
61
61
|
for a person. **`backlogrun-steps.md` → "What one invocation approves" is that default's single
|
|
62
62
|
source**; it is written there, beside the brakes that bound it, rather than restated here. Every brake still counts a retrospective's filings: the
|
|
63
|
-
ten-per-invocation ceiling, the WIP cap, `--max
|
|
64
|
-
whole-run bound.
|
|
63
|
+
ten-per-invocation ceiling, the WIP cap, `--max` and the 150,000-token session budget.
|
|
65
64
|
|
|
66
65
|
**Close with `pnpm josh run:carry --retrospective --summary "<result>" --owner "$PPID"`.** It marks the
|
|
67
66
|
retrospective run on the carry record, so `run:step` prints `stop` from then on rather than the step a
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
load_environment_file,
|
|
10
10
|
notice_refusal_path,
|
|
11
11
|
refusal_path
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-RYP3TSUJ.js";
|
|
13
|
+
import "./chunk-KC6LUZZ2.js";
|
|
14
|
+
import "./chunk-LC56R53A.js";
|
|
15
|
+
import "./chunk-TT742SIO.js";
|
|
16
|
+
import "./chunk-Y5R47QHU.js";
|
|
17
|
+
import "./chunk-4MGHBTOM.js";
|
|
18
18
|
import "./chunk-NEC4AT4Z.js";
|
|
19
19
|
export {
|
|
20
20
|
DISABLED_VALUES,
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
lane_child_marker
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Y5R47QHU.js";
|
|
4
4
|
import {
|
|
5
5
|
ENV_FILE_NAME,
|
|
6
|
+
GIT_LOCATION_VARIABLES,
|
|
6
7
|
LANE_SEAT_KEY,
|
|
7
8
|
PORCELAIN_FLAG,
|
|
8
9
|
PORT_SEED_KEY,
|
|
9
10
|
agent_session_environment,
|
|
10
11
|
file_reader,
|
|
11
12
|
git_command,
|
|
13
|
+
git_location_environment,
|
|
12
14
|
git_spawn,
|
|
13
15
|
git_utilities,
|
|
14
16
|
issue_number_shape,
|
|
@@ -18,7 +20,7 @@ import {
|
|
|
18
20
|
process_identity,
|
|
19
21
|
process_owner_schema,
|
|
20
22
|
run_carry
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-4MGHBTOM.js";
|
|
22
24
|
import {
|
|
23
25
|
INSTALL_TIMEOUT_MS,
|
|
24
26
|
PLATFORM_TEMP_ROOT,
|
|
@@ -645,37 +647,6 @@ import { setTimeout as sleep } from "node:timers/promises";
|
|
|
645
647
|
|
|
646
648
|
// scripts/git/git-common-directory.ts
|
|
647
649
|
import { execFileSync as execFileSync2 } from "node:child_process";
|
|
648
|
-
|
|
649
|
-
// scripts/git/git-location-environment.ts
|
|
650
|
-
var GIT_LOCATION_VARIABLES = [
|
|
651
|
-
"GIT_ALTERNATE_OBJECT_DIRECTORIES",
|
|
652
|
-
"GIT_COMMON_DIR",
|
|
653
|
-
"GIT_DIR",
|
|
654
|
-
"GIT_INDEX_FILE",
|
|
655
|
-
"GIT_NAMESPACE",
|
|
656
|
-
"GIT_OBJECT_DIRECTORY",
|
|
657
|
-
"GIT_WORK_TREE"
|
|
658
|
-
];
|
|
659
|
-
function location_free_environment() {
|
|
660
|
-
return Object.fromEntries(GIT_LOCATION_VARIABLES.map((name) => [name, void 0]));
|
|
661
|
-
}
|
|
662
|
-
function forget(name) {
|
|
663
|
-
Reflect.deleteProperty(process.env, name);
|
|
664
|
-
}
|
|
665
|
-
function restore_one(name, value) {
|
|
666
|
-
if (value === void 0) forget(name);
|
|
667
|
-
else process.env[name] = value;
|
|
668
|
-
}
|
|
669
|
-
function clear_git_location_variables() {
|
|
670
|
-
const previous = GIT_LOCATION_VARIABLES.map((name) => [name, process.env[name]]);
|
|
671
|
-
for (const [name] of previous) forget(name);
|
|
672
|
-
return () => {
|
|
673
|
-
for (const [name, value] of previous) restore_one(name, value);
|
|
674
|
-
};
|
|
675
|
-
}
|
|
676
|
-
var git_location_environment = { clear_git_location_variables, location_free_environment };
|
|
677
|
-
|
|
678
|
-
// scripts/git/git-common-directory.ts
|
|
679
650
|
var OWN_GIT_DIRECTORY = 0;
|
|
680
651
|
var COMMON_GIT_DIRECTORY = 1;
|
|
681
652
|
var PROBE_TIMEOUT_MS2 = 5e3;
|