@joshuafolkken/kit 1.978.0 → 1.983.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/epic-commands/SKILL.md +6 -5
- package/.claude/skills/workflow-commands/SKILL.md +9 -9
- package/.claude/skills/workflow-commands/background-commands.md +1 -1
- package/.claude/skills/workflow-commands/fullrun-steps.md +8 -8
- package/.claude/skills/workflow-commands/halfrun.md +4 -5
- package/.claude/skills/workflow-commands/issue-comments.md +1 -1
- package/.claude/skills/workflow-commands/issue-scout.md +21 -22
- package/.claude/skills/workflow-commands/kickoff.md +8 -9
- package/.claude/skills/workflow-commands/observation-filing.md +9 -10
- package/.claude/skills/workflow-commands/prerequisite.md +7 -6
- package/.claude/skills/workflow-commands/retrospective.md +5 -5
- package/.claude/skills/workflow-commands/rule-residency.md +2 -2
- package/.claude/skills/workflow-commands/split-assessment.md +4 -3
- package/.claude/skills/workflow-commands/target-repository.md +7 -6
- package/dist/hooks/batch-guard.js +4 -4
- package/dist/hooks/{chunk-ZPLXLJ7O.js → chunk-47SPMGOD.js} +16 -1
- package/dist/hooks/{chunk-BVMSPG3M.js → chunk-5JX6HXDX.js} +3 -3
- package/dist/hooks/{chunk-KQG4776P.js → chunk-APVOACVT.js} +1 -1
- package/dist/hooks/{chunk-2K52BRWV.js → chunk-ASUZGZFT.js} +2 -2
- package/dist/hooks/{chunk-CRGJTD6E.js → chunk-ERXMJJOV.js} +1 -1
- package/dist/hooks/{chunk-Q7LE77CO.js → chunk-IM3KM25Y.js} +31 -29
- package/dist/hooks/{chunk-BNGGEY3Z.js → chunk-LBXQHXMC.js} +129 -342
- package/dist/hooks/{chunk-NXL3SBXY.js → chunk-P3UX7SFN.js} +2 -2
- package/dist/hooks/{chunk-F6OM6SIG.js → chunk-RFPHKU7C.js} +12 -12
- package/dist/hooks/{chunk-ZYYSBNR6.js → chunk-ZT65LR3U.js} +4 -4
- package/dist/hooks/codex-hook-adapter.js +10 -10
- package/dist/hooks/duplicate-read-guard.js +5 -5
- package/dist/hooks/format-edited.js +2 -2
- package/dist/hooks/investigation-guard.js +5 -5
- package/dist/hooks/pretool-guard.js +9 -9
- package/dist/hooks/stop-guard.js +4 -4
- package/dist/josh.js +16 -1
- package/package.json +1 -1
- package/prompts/collaboration-workflow/epic-bundle.md +8 -8
- package/prompts/collaboration-workflow/issue-template.md +5 -5
- package/prompts/collaboration-workflow/rule-delivery.md +43 -30
- package/prompts/collaboration-workflow/upstream-interrupt.md +1 -1
- package/prompts/collaboration-workflow/wip-cap.md +3 -3
- package/prompts/review.md +11 -9
- package/scripts/delegation/delegation-policy.ts +9 -9
- package/scripts/document/document-byte-budget.ts +1 -1
- package/scripts/issue/issue-file-cli.ts +188 -0
- package/scripts/issue/issue-file.ts +192 -0
- package/scripts/issue/issue-lint-cli.ts +1 -1
- package/scripts/issue/issue-scout-cli.ts +41 -97
- package/scripts/issue/issue-scout-closed.ts +102 -0
- package/scripts/josh/__snapshots__/josh-command-map.test.ts.snap +9 -1
- package/scripts/josh/josh-command-map.ts +1 -0
- package/scripts/josh/josh-commands-issue.ts +11 -0
- package/scripts/josh/josh-commands-project.ts +5 -1
- package/scripts/propagate/propagate-run.ts +1 -0
- package/scripts/propagate/propagate-select.ts +72 -0
- package/scripts/propagate/propagate-targets.ts +5 -3
- package/scripts/propagate/propagate.ts +86 -24
- package/scripts/rules/bash-triggers.ts +19 -6
- package/scripts/rules/delivered-rules.ts +28 -32
- package/scripts/rules/direct-filing.ts +38 -0
- package/scripts/rules/filing-cap.ts +11 -8
- package/scripts/rules/issue-fold.ts +4 -4
- package/scripts/rules/oracle-consulted.ts +4 -4
- package/scripts/rules/oracle-firing.ts +13 -16
- package/scripts/rules/rule-body-guard.ts +6 -9
- package/scripts/rules/stop-rules.ts +3 -2
- package/scripts/test/pilot-files.ts +0 -1
- package/scripts/version/fresh-metadata-cache.ts +36 -0
- package/scripts/version/latest-update.ts +2 -1
- package/scripts/rules/issue-bug-label.ts +0 -85
- package/scripts/rules/issue-filing-args.ts +0 -50
- package/scripts/rules/issue-scout.ts +0 -64
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
lane_child_marker,
|
|
3
3
|
run_issue_number
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-APVOACVT.js";
|
|
5
5
|
import {
|
|
6
6
|
PLATFORM_TEMP_ROOT,
|
|
7
7
|
cost_blocks,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
time_density_hook,
|
|
13
13
|
time_shell,
|
|
14
14
|
time_transcript_line
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-47SPMGOD.js";
|
|
16
16
|
import {
|
|
17
17
|
ENV_FILE_NAME,
|
|
18
18
|
LANE_SEAT_KEY,
|
|
@@ -20,6 +20,22 @@ import {
|
|
|
20
20
|
ports
|
|
21
21
|
} from "./chunk-RKUAD3I6.js";
|
|
22
22
|
|
|
23
|
+
// scripts/rules/shell-segments.ts
|
|
24
|
+
var SEGMENT_SEPARATOR = /&&|\|\||;|\n/u;
|
|
25
|
+
function segments_of(command) {
|
|
26
|
+
return command.split(SEGMENT_SEPARATOR).map((segment) => segment.trim());
|
|
27
|
+
}
|
|
28
|
+
function is_josh_command(segment, names) {
|
|
29
|
+
const named = time_shell.josh_command_of(segment);
|
|
30
|
+
if (!named.startsWith(time_shell.JOSH_PREFIX)) return false;
|
|
31
|
+
return names.has(named.slice(time_shell.JOSH_PREFIX.length));
|
|
32
|
+
}
|
|
33
|
+
var shell_segments = {
|
|
34
|
+
SEGMENT_SEPARATOR,
|
|
35
|
+
is_josh_command,
|
|
36
|
+
segments_of
|
|
37
|
+
};
|
|
38
|
+
|
|
23
39
|
// scripts/rules/bash-triggers.ts
|
|
24
40
|
function on_bash_command(is_match) {
|
|
25
41
|
return function is_trigger(call) {
|
|
@@ -30,11 +46,15 @@ function on_bash_command(is_match) {
|
|
|
30
46
|
var ISSUE_CREATE_COMMAND = /\bgh\s+(?:\S+\s+)*?issue\s+create\b/u;
|
|
31
47
|
var ISSUES_ENDPOINT = /repos\/[^\s'"]*\/issues(?=$|["'\s])/u;
|
|
32
48
|
var TITLE_FIELD = /(?:-f|-F|--field|--raw-field)\s*'?title=/u;
|
|
33
|
-
function
|
|
49
|
+
function is_direct_filing(command) {
|
|
34
50
|
if (ISSUE_CREATE_COMMAND.test(command)) return true;
|
|
35
51
|
return ISSUES_ENDPOINT.test(command) && TITLE_FIELD.test(command);
|
|
36
52
|
}
|
|
37
|
-
var
|
|
53
|
+
var FILING_NAMES = /* @__PURE__ */ new Set(["issue:file"]);
|
|
54
|
+
function is_issue_filing(command) {
|
|
55
|
+
return shell_segments.segments_of(command).some((segment) => shell_segments.is_josh_command(segment, FILING_NAMES));
|
|
56
|
+
}
|
|
57
|
+
var bash_triggers = { is_direct_filing, is_issue_filing, on_bash_command };
|
|
38
58
|
|
|
39
59
|
// scripts/rules/tail-commands.ts
|
|
40
60
|
function is_bash_use(block) {
|
|
@@ -58,7 +78,7 @@ function is_filing_use(block) {
|
|
|
58
78
|
return bash_triggers.is_issue_filing(time_shell.bash_command(block.input));
|
|
59
79
|
}
|
|
60
80
|
function collect_block(block, found) {
|
|
61
|
-
if (block.result_id !== "") found.
|
|
81
|
+
if (block.result_id !== "" && block.is_error === true) found.failures.add(block.result_id);
|
|
62
82
|
if (is_filing_use(block)) found.filing_ids.push(block.id);
|
|
63
83
|
}
|
|
64
84
|
function collect_line(line, found) {
|
|
@@ -67,13 +87,13 @@ function collect_line(line, found) {
|
|
|
67
87
|
for (const block of parsed.blocks) collect_block(block, found);
|
|
68
88
|
}
|
|
69
89
|
function scan_tail(tail) {
|
|
70
|
-
const found = { filing_ids: [],
|
|
90
|
+
const found = { filing_ids: [], failures: /* @__PURE__ */ new Set() };
|
|
71
91
|
for (const line of tail.split("\n")) collect_line(line, found);
|
|
72
92
|
return found;
|
|
73
93
|
}
|
|
74
94
|
function prior_filing_count(tail) {
|
|
75
|
-
const { filing_ids,
|
|
76
|
-
return filing_ids.filter((id) =>
|
|
95
|
+
const { filing_ids, failures } = scan_tail(tail);
|
|
96
|
+
return filing_ids.filter((id) => !failures.has(id)).length;
|
|
77
97
|
}
|
|
78
98
|
function is_prompt_line(line) {
|
|
79
99
|
const parsed = time_transcript_line.parse_line(line);
|
|
@@ -1542,22 +1562,6 @@ var run_cut = {
|
|
|
1542
1562
|
worktree_git_directory_sync
|
|
1543
1563
|
};
|
|
1544
1564
|
|
|
1545
|
-
// scripts/rules/shell-segments.ts
|
|
1546
|
-
var SEGMENT_SEPARATOR = /&&|\|\||;|\n/u;
|
|
1547
|
-
function segments_of(command) {
|
|
1548
|
-
return command.split(SEGMENT_SEPARATOR).map((segment) => segment.trim());
|
|
1549
|
-
}
|
|
1550
|
-
function is_josh_command(segment, names) {
|
|
1551
|
-
const named = time_shell.josh_command_of(segment);
|
|
1552
|
-
if (!named.startsWith(time_shell.JOSH_PREFIX)) return false;
|
|
1553
|
-
return names.has(named.slice(time_shell.JOSH_PREFIX.length));
|
|
1554
|
-
}
|
|
1555
|
-
var shell_segments = {
|
|
1556
|
-
SEGMENT_SEPARATOR,
|
|
1557
|
-
is_josh_command,
|
|
1558
|
-
segments_of
|
|
1559
|
-
};
|
|
1560
|
-
|
|
1561
1565
|
// scripts/rules/run-tail.ts
|
|
1562
1566
|
var SEGMENT_PREFIX = String.raw`(?:\(\s*)?(?:[A-Za-z_][A-Za-z0-9_]*=\S*\s+)*(?:npx\s+|pnpm\s+(?:exec\s+|run\s+)?)?`;
|
|
1563
1567
|
var WORD_END = String.raw`(?=\s|$|\))`;
|
|
@@ -1658,7 +1662,6 @@ var lane_background = {
|
|
|
1658
1662
|
|
|
1659
1663
|
// scripts/git/issue-labels.ts
|
|
1660
1664
|
var EPIC_LABEL = "epic";
|
|
1661
|
-
var BUG_LABEL = "bug";
|
|
1662
1665
|
var ENHANCEMENT_LABEL = "enhancement";
|
|
1663
1666
|
var BREAKING_CHANGE_LABEL = "breaking-change";
|
|
1664
1667
|
var IN_PROGRESS_LABEL = "in-progress";
|
|
@@ -3628,9 +3631,9 @@ var git_gh_exec = {
|
|
|
3628
3631
|
};
|
|
3629
3632
|
|
|
3630
3633
|
export {
|
|
3634
|
+
shell_segments,
|
|
3631
3635
|
bash_triggers,
|
|
3632
3636
|
run_progress_clock,
|
|
3633
|
-
shell_segments,
|
|
3634
3637
|
tail_commands,
|
|
3635
3638
|
filing_cap,
|
|
3636
3639
|
CONTEXT_CUT_THRESHOLD,
|
|
@@ -3642,7 +3645,8 @@ export {
|
|
|
3642
3645
|
lane_child_invocation,
|
|
3643
3646
|
run_hold,
|
|
3644
3647
|
run_cut,
|
|
3645
|
-
|
|
3648
|
+
run_tail,
|
|
3649
|
+
lane_background,
|
|
3646
3650
|
ENHANCEMENT_LABEL,
|
|
3647
3651
|
BREAKING_CHANGE_LABEL,
|
|
3648
3652
|
IN_PROGRESS_LABEL,
|
|
@@ -3655,8 +3659,6 @@ export {
|
|
|
3655
3659
|
RELEASE_CLASSIFICATION_NAMES,
|
|
3656
3660
|
has_any_label,
|
|
3657
3661
|
has_label_name,
|
|
3658
|
-
run_tail,
|
|
3659
|
-
lane_background,
|
|
3660
3662
|
lane_park,
|
|
3661
3663
|
repo_party,
|
|
3662
3664
|
FULL_PAGE_QUERY,
|