@joshuafolkken/kit 1.1514.0 → 1.1784.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/agents/investigator.md +1 -1
- package/.claude/settings.json +5 -5
- package/.claude/skills/epic-commands/SKILL.md +26 -65
- package/.claude/skills/epic-commands/epic-bundle.md +3 -1
- package/.claude/skills/workflow-commands/SKILL.md +5 -5
- package/.claude/skills/workflow-commands/background-commands.md +5 -5
- package/.claude/skills/workflow-commands/backlogrun-child.md +10 -8
- package/.claude/skills/workflow-commands/backlogrun-handoff-report.md +7 -25
- package/.claude/skills/workflow-commands/backlogrun-lanes.md +17 -13
- package/.claude/skills/workflow-commands/backlogrun-park.md +14 -23
- package/.claude/skills/workflow-commands/backlogrun-progress.md +2 -2
- package/.claude/skills/workflow-commands/backlogrun-recovery.md +5 -5
- package/.claude/skills/workflow-commands/backlogrun-steps.md +10 -10
- package/.claude/skills/workflow-commands/backlogrun.md +1 -1
- package/.claude/skills/workflow-commands/chain-rule.md +13 -7
- package/.claude/skills/workflow-commands/delegation.md +6 -5
- package/.claude/skills/workflow-commands/entry-sequence.md +9 -9
- package/.claude/skills/workflow-commands/followup.md +9 -31
- package/.claude/skills/workflow-commands/fullrun-steps.md +36 -45
- package/.claude/skills/workflow-commands/fullrun.md +2 -2
- package/.claude/skills/workflow-commands/halfrun.md +17 -25
- package/.claude/skills/workflow-commands/issue-comments.md +16 -12
- package/.claude/skills/workflow-commands/issue-scout.md +2 -2
- package/.claude/skills/workflow-commands/kickoff.md +24 -23
- package/.claude/skills/workflow-commands/latest-gate.md +7 -12
- package/.claude/skills/workflow-commands/needs-human-review.md +9 -14
- package/.claude/skills/workflow-commands/observation-filing.md +4 -36
- package/.claude/skills/workflow-commands/observation-ledger.md +1 -1
- package/.claude/skills/workflow-commands/pre-gate-cut.md +13 -30
- package/.claude/skills/workflow-commands/prerequisite.md +10 -16
- package/.claude/skills/workflow-commands/progress-watcher.md +1 -1
- package/.claude/skills/workflow-commands/prrun.md +3 -7
- package/.claude/skills/workflow-commands/retrospective.md +1 -1
- package/.claude/skills/workflow-commands/split-assessment.md +13 -1
- package/.claude/skills/workflow-commands/working-tree-hold.md +9 -9
- package/.codex/hooks.json +5 -5
- package/.github/actions/setup-node/action.yml +9 -0
- package/.github/actions/setup-pnpm/action.yml +1 -1
- package/.github/dependabot.yml +16 -0
- package/.github/release.yml +0 -2
- package/.github/workflows/ci.yml +120 -10
- package/.github/workflows/publish.yml +8 -1
- package/.github/workflows/sonar-qube.yml +1 -0
- package/.prettierignore +2 -0
- package/.vscode/tasks.json +1 -2
- package/CLAUDE.md +3 -7
- package/README.md +4 -2
- package/SECURITY.md +1 -1
- package/dist/CLAUDE.md +3 -7
- package/dist/commands/document-read-cli.js +882 -0
- package/dist/commands/{document-section-cli.js → document-section-main.js} +79 -37
- package/dist/commands/read-set-cli.js +1867 -0
- package/dist/commands/run-prep-main.js +21653 -0
- package/dist/commands/run-step-cli.js +23880 -0
- package/dist/config-merge/index.js +5 -1
- package/dist/hooks/audit-provision.js +20 -35
- package/dist/hooks/{chunk-DGT54IH5.js → chunk-AZX4FGQ3.js} +63 -17
- package/dist/hooks/chunk-CWMBGKYW.js +6483 -0
- package/dist/hooks/chunk-O2YBIDSI.js +4306 -0
- package/dist/hooks/{chunk-TNUMY6NL.js → chunk-PT5R6UJD.js} +4193 -1900
- package/dist/hooks/chunk-TUIFS5E7.js +72 -0
- package/dist/hooks/{chunk-723HKZO5.js → chunk-VWWCFGWK.js} +1 -1
- package/dist/hooks/{chunk-APUO6U4J.js → chunk-WR2KQAYZ.js} +1843 -440
- package/dist/hooks/{chunk-O6GDRNJB.js → chunk-XGBNSWEI.js} +248 -46
- package/dist/hooks/chunk-YCDOIR3I.js +3456 -0
- package/dist/hooks/codex-hook-adapter.js +10 -22
- package/dist/hooks/format-edited.js +5 -6
- package/dist/hooks/inputs.json +443 -317
- package/dist/hooks/pretool-guard.js +7 -25
- package/dist/hooks/session-lang.js +44 -51
- package/dist/hooks/stop-guard.js +7716 -2187
- package/dist/josh.js +6002 -3583
- package/dist/self-sync-guard/index.js +74 -10
- package/dist/version/index.js +115 -406
- package/eslint/base.js +1 -1
- package/lefthook/base.yml +3 -1
- package/package.json +10 -48
- package/pnpm-workspace.yaml +4 -2
- package/prompts/coding-standards.md +1 -1
- package/prompts/collaboration-workflow/file-edits.md +1 -7
- package/prompts/collaboration-workflow/issue-citation.md +1 -1
- package/prompts/collaboration-workflow/issue-template.md +33 -16
- package/prompts/collaboration-workflow/lane-instructions.md +1 -2
- package/prompts/collaboration-workflow/measurement.md +37 -0
- package/prompts/collaboration-workflow/operating-rules.md +4 -6
- package/prompts/collaboration-workflow/output-bounds.md +2 -7
- package/prompts/collaboration-workflow/plan-comment.md +3 -42
- package/prompts/collaboration-workflow/principles.md +5 -0
- package/prompts/collaboration-workflow/report-format.md +31 -60
- package/prompts/collaboration-workflow/residency.md +2 -2
- package/prompts/collaboration-workflow/shell-body.md +6 -16
- package/prompts/collaboration-workflow/turn-batching.md +0 -2
- package/prompts/collaboration-workflow/upstream-interrupt.md +14 -4
- package/prompts/collaboration-workflow/wip-cap.md +1 -1
- package/prompts/collaboration-workflow.md +3 -7
- package/prompts/refactoring.md +1 -1
- package/prompts/review-rubric.md +1 -2
- package/prompts/review.md +41 -21
- package/prompts/testing-guide.md +8 -43
- package/scripts/agent/agent-event.ts +15 -15
- package/scripts/agent/agent-exit-record.ts +13 -1
- package/scripts/agent/api-auth.ts +41 -0
- package/scripts/agent/api-outage.ts +1 -1
- package/scripts/auto-ok/auto-ok-cli.ts +14 -16
- package/scripts/auto-ok/auto-ok-judge-read.ts +12 -3
- package/scripts/auto-ok/auto-ok-judge-write.ts +46 -19
- package/scripts/auto-ok/auto-ok-judge.ts +13 -2
- package/scripts/auto-ok/auto-ok-main.ts +17 -0
- package/scripts/backlog/backlog-arrival.ts +14 -3
- package/scripts/backlog/backlog-budget-cli.ts +7 -33
- package/scripts/backlog/backlog-budget-main.ts +16 -0
- package/scripts/backlog/backlog-budget.ts +2 -3
- package/scripts/backlog/backlog-defect-priority.ts +4 -3
- package/scripts/backlog/backlog-drive-adopt.ts +67 -0
- package/scripts/backlog/backlog-drive-args.ts +4 -5
- package/scripts/backlog/backlog-drive-cli.ts +113 -28
- package/scripts/backlog/backlog-drive-hold.ts +162 -0
- package/scripts/backlog/backlog-drive-idle.ts +151 -0
- package/scripts/backlog/backlog-drive-judge.ts +25 -0
- package/scripts/backlog/backlog-drive-memory.ts +126 -0
- package/scripts/backlog/backlog-drive-named-offer.ts +5 -10
- package/scripts/backlog/backlog-drive-named.ts +53 -6
- package/scripts/backlog/backlog-drive-offer-argv.ts +3 -8
- package/scripts/backlog/backlog-drive-paused.ts +169 -0
- package/scripts/backlog/backlog-drive-restore.ts +30 -7
- package/scripts/backlog/backlog-drive-seats.ts +18 -8
- package/scripts/backlog/backlog-drive-token-handling.ts +38 -0
- package/scripts/backlog/backlog-drive.ts +79 -75
- package/scripts/backlog/backlog-next-main.ts +16 -0
- package/scripts/backlog/backlog-next-shared.ts +73 -0
- package/scripts/backlog/backlog-next.ts +48 -16
- package/scripts/backlog/backlog-occupied.ts +52 -39
- package/scripts/backlog/backlog-offer-cli.ts +6 -21
- package/scripts/backlog/backlog-offer-exclude.ts +15 -0
- package/scripts/backlog/backlog-offer-main.ts +12 -0
- package/scripts/backlog/backlog-offer.ts +36 -3
- package/scripts/backlog/backlog-overlap.ts +22 -4
- package/scripts/backlog/backlog-plan-read.ts +6 -2
- package/scripts/backlog/backlog-plan.ts +18 -4
- package/scripts/backlog/backlog-pool.ts +10 -10
- package/scripts/backlog/backlog-rank.ts +10 -2
- package/scripts/backlog/backlog-ready.ts +112 -30
- package/scripts/backlog/backlog-stalled-detect.ts +109 -36
- package/scripts/backlog/backlog-stalled.ts +52 -16
- package/scripts/backlog/backlog-wait-cause.ts +86 -0
- package/scripts/backlog/backlog-waves.ts +39 -13
- package/scripts/backlog/backlogrun-args.ts +19 -7
- package/scripts/backlog/backlogrun-cli.ts +19 -5
- package/scripts/backlog/backlogrun-launch.ts +6 -0
- package/scripts/backlog/backlogrun-restart.ts +97 -0
- package/scripts/backlog/backlogrun-stop.ts +79 -7
- package/scripts/behavior/behavior-cli.ts +2 -2
- package/scripts/behavior/behavior-rules.ts +47 -24
- package/scripts/build/build-bin.ts +2 -16
- package/scripts/build/build-claude-md.ts +0 -7
- package/scripts/build/build-commands.ts +0 -13
- package/scripts/build/build-hooks.ts +49 -48
- package/scripts/build/hook-bundle-stamp.ts +29 -11
- package/scripts/build/local-bin.ts +1 -1
- package/scripts/cases/cases-cli.ts +25 -13
- package/scripts/cases/cases-interaction-scan.ts +134 -0
- package/scripts/cases/cases-interaction.ts +183 -0
- package/scripts/cases/cases-logic.ts +39 -6
- package/scripts/ci/pr-classification-main.ts +18 -0
- package/scripts/ci/pr-classification.ts +10 -17
- package/scripts/clone/clone-scan.ts +1 -1
- package/scripts/cost-runtime/cost-blocks.ts +22 -37
- package/scripts/cost-runtime/cost-cli.ts +31 -14
- package/scripts/cost-runtime/cost-main.ts +12 -0
- package/scripts/cost-runtime/cost-transcript.ts +1 -0
- package/scripts/delegation/delegation-policy.ts +17 -4
- package/scripts/delegation/duplicate-read-guard.ts +0 -8
- package/scripts/delegation/investigation-guard.ts +0 -8
- package/scripts/delegation/investigation-reads.ts +3 -4
- package/scripts/dependabot/dependabot-cooldown.ts +194 -0
- package/scripts/discovery/repo-discovery.ts +24 -6
- package/scripts/doctor/doctor-consumer.ts +2 -5
- package/scripts/document/document-byte-budget.ts +8 -6
- package/scripts/document/document-scan.ts +1 -1
- package/scripts/document/document-section-cli.ts +0 -8
- package/scripts/document/document-section-main.ts +12 -0
- package/scripts/epic/epic-audit-cli.ts +12 -6
- package/scripts/epic/epic-bundle-apply.ts +137 -0
- package/scripts/epic/epic-bundle-cli.ts +32 -121
- package/scripts/epic/epic-bundle-format.ts +116 -0
- package/scripts/epic/epic-bundle-main.ts +17 -0
- package/scripts/epic/epic-busy.ts +5 -12
- package/scripts/epic/epic-classify.ts +24 -15
- package/scripts/epic/epic-cli-argv.ts +31 -0
- package/scripts/epic/epic-cli-decide.ts +42 -0
- package/scripts/epic/epic-cli.ts +6 -38
- package/scripts/epic/epic-close.ts +112 -55
- package/scripts/epic/epic-cross-repo.ts +4 -7
- package/scripts/epic/epic-decide.ts +119 -0
- package/scripts/epic/epic-decision.ts +9 -0
- package/scripts/epic/epic-fetch.ts +4 -0
- package/scripts/epic/epic-graph.ts +2 -0
- package/scripts/epic/epic-issue.ts +5 -1
- package/scripts/epic/epic-label-age.ts +1 -1
- package/scripts/epic/epic-lane-offer.ts +39 -4
- package/scripts/epic/epic-next-main.ts +24 -0
- package/scripts/epic/epic-next.ts +6 -24
- package/scripts/epic/epic-outside-blocker.ts +6 -2
- package/scripts/epic/epic-parse.ts +9 -3
- package/scripts/epic/epic-read.ts +1 -0
- package/scripts/epic/epic-reconcile.ts +39 -0
- package/scripts/epic/epic-run.ts +10 -1
- package/scripts/epic/epic-solo.ts +50 -14
- package/scripts/epic/epic.ts +41 -7
- package/scripts/exports/unused-members-cli.ts +2 -2
- package/scripts/followup/followup-checks-event.ts +8 -3
- package/scripts/followup/followup-coderabbit-wait.ts +82 -0
- package/scripts/followup/followup-review-gates.ts +81 -0
- package/scripts/followup/git-followup-stages.ts +13 -3
- package/scripts/followup/git-followup-workflow.ts +19 -66
- package/scripts/followup/git-pr-followup-wrapup.ts +9 -14
- package/scripts/followup/git-pr-followup.ts +36 -8
- package/scripts/fresh-machine/fresh-machine-cli.ts +1 -1
- package/scripts/fresh-machine/fresh-machine-run.ts +8 -8
- package/scripts/fresh-machine/specs/kit-test-backlogrun.json +1 -1
- package/scripts/gate/busy-average.ts +58 -0
- package/scripts/gate/check-cpu.ts +60 -0
- package/scripts/gate/check-inputs.ts +39 -95
- package/scripts/gate/check-reuse.ts +33 -54
- package/scripts/gate/command-memory.ts +192 -0
- package/scripts/gate/core-admission.ts +218 -28
- package/scripts/gate/core-budget-timing.ts +37 -0
- package/scripts/gate/core-budget.ts +80 -98
- package/scripts/gate/core-wait-record.ts +48 -0
- package/scripts/gate/core-wait.ts +37 -5
- package/scripts/gate/core-weights.ts +86 -0
- package/scripts/gate/free-cores.ts +27 -4
- package/scripts/gate/gate-ledger.ts +32 -4
- package/scripts/gate/gate-plan.ts +41 -34
- package/scripts/gate/gate-report.ts +14 -2
- package/scripts/gate/gate-run-steps.ts +53 -8
- package/scripts/gate/gate-skip.ts +12 -2
- package/scripts/gate/gate-steps.ts +12 -1
- package/scripts/gate/input-fingerprint.ts +42 -0
- package/scripts/gate/machine-capacity.ts +65 -31
- package/scripts/gate/moved-paths.ts +67 -0
- package/scripts/gate/project-checks.ts +5 -12
- package/scripts/gate/scoped-green.ts +12 -8
- package/scripts/gate/since-green.ts +62 -0
- package/scripts/gate/toolchain-inputs.ts +115 -0
- package/scripts/gate/verification-gate.ts +27 -24
- package/scripts/gate/verification-inputs.ts +250 -0
- package/scripts/gh/gh-author-association.ts +96 -9
- package/scripts/gh/git-ai-review-scan.ts +4 -2
- package/scripts/gh/git-gh-api-path.ts +15 -0
- package/scripts/gh/git-gh-branch-rules.ts +73 -0
- package/scripts/gh/git-gh-conditional.ts +5 -2
- package/scripts/gh/git-gh-issue-read.ts +5 -1
- package/scripts/gh/git-gh-issue-write.ts +67 -29
- package/scripts/gh/git-gh-issue.ts +7 -3
- package/scripts/gh/git-gh-poll-read.ts +89 -0
- package/scripts/gh/git-gh-pr-auto-merge.ts +8 -3
- package/scripts/gh/git-gh-pr-rest.ts +1 -1
- package/scripts/gh/git-gh-pr-snapshot.ts +33 -20
- package/scripts/gh/git-gh-pr.ts +27 -15
- package/scripts/gh/git-pr-checks-eval.ts +39 -7
- package/scripts/gh/git-pr-checks-parse.ts +39 -9
- package/scripts/gh/git-pr-merge-checked.ts +80 -0
- package/scripts/git/base-tree.ts +19 -2
- package/scripts/git/changed-file-scope.ts +6 -4
- package/scripts/git/changed-paths.ts +18 -1
- package/scripts/git/git-diff-reads.ts +27 -2
- package/scripts/git/git-grep-hits.ts +85 -0
- package/scripts/git/git-location-environment.ts +1 -1
- package/scripts/git/git-merge-conflicts.ts +83 -0
- package/scripts/git/git-preflight.ts +37 -12
- package/scripts/git/git-push-transport.ts +1 -2
- package/scripts/git/git-schemas.ts +17 -7
- package/scripts/git/git-spawn.ts +1 -2
- package/scripts/git/git-status.ts +4 -4
- package/scripts/git/main-merge-main.ts +12 -0
- package/scripts/git/main-merge-regenerate.ts +2 -2
- package/scripts/git/main-merge.ts +25 -9
- package/scripts/git/main-sync-main.ts +12 -0
- package/scripts/git/main-sync.ts +0 -9
- package/scripts/git/stash/git-stash.ts +27 -4
- package/scripts/git/stash/{stash-pop-args.ts → stash-args.ts} +13 -10
- package/scripts/git/stash/stash-pop-cli.ts +6 -12
- package/scripts/git/stash/stash-pop-main.ts +12 -0
- package/scripts/git/stash/stash-push-cli.ts +76 -0
- package/scripts/git/stash/stash-push-main.ts +12 -0
- package/scripts/hooks/batch-guard.ts +0 -8
- package/scripts/hooks/check-commit-message-main.ts +8 -0
- package/scripts/hooks/check-commit-message.ts +4 -7
- package/scripts/hooks/format-edited-file.ts +8 -24
- package/scripts/hooks/pre-commit-lint.ts +30 -3
- package/scripts/hooks/pre-push-unit.ts +4 -2
- package/scripts/hooks/pretool-guard-cli.ts +1 -8
- package/scripts/hooks/pretool-guard.ts +32 -19
- package/scripts/hooks/reserved-run.ts +67 -9
- package/scripts/hooks/run-hook.sh +13 -4
- package/scripts/hooks/shell-rules-notice.ts +37 -0
- package/scripts/hooks/stop-actions.ts +2 -21
- package/scripts/hooks/stop-guard.ts +13 -9
- package/scripts/init/hook-command-rewrite.ts +19 -5
- package/scripts/init/hook-launch.ts +15 -17
- package/scripts/init/init-actions.ts +0 -6
- package/scripts/init/init-ai-copy.ts +10 -36
- package/scripts/init/init-bootstrap.ts +9 -8
- package/scripts/init/init-dry-run-report.ts +1 -1
- package/scripts/init/init-dry-run.ts +1 -1
- package/scripts/init/init-file-action.ts +7 -9
- package/scripts/init/init-logic-json-merge.ts +2 -2
- package/scripts/init/init-logic-migrate.ts +9 -82
- package/scripts/init/init-logic.ts +3 -2
- package/scripts/init/init-main.ts +12 -0
- package/scripts/init/init.ts +5 -12
- package/scripts/init/kit-development-versions.ts +3 -7
- package/scripts/init/kit-written-paths.ts +2 -2
- package/scripts/init/project-profile.ts +5 -4
- package/scripts/init/tsconfig-preset-migration.ts +2 -1
- package/scripts/init/vscode-tasks.ts +1 -1
- package/scripts/issue/defect-origin-cli.ts +106 -0
- package/scripts/issue/defect-origin-line.ts +60 -0
- package/scripts/issue/defect-origin-main.ts +11 -0
- package/scripts/issue/defect-origin.ts +114 -0
- package/scripts/issue/defect-rate-cli.ts +34 -78
- package/scripts/issue/defect-rate.ts +0 -16
- package/scripts/issue/defect-report-cli.ts +128 -0
- package/scripts/issue/defect-report-format.ts +56 -0
- package/scripts/issue/defect-report-main.ts +11 -0
- package/scripts/issue/defect-report.ts +160 -0
- package/scripts/issue/expected-effect-lint.ts +1 -0
- package/scripts/issue/issue-already-done-cli.ts +62 -0
- package/scripts/issue/issue-body-or-comment.ts +40 -0
- package/scripts/issue/issue-cite-cli.ts +0 -9
- package/scripts/issue/issue-cite-main.ts +12 -0
- package/scripts/issue/issue-classification.ts +12 -7
- package/scripts/issue/issue-comment-cli.ts +10 -24
- package/scripts/issue/issue-comment-main.ts +12 -0
- package/scripts/issue/issue-evidence-exit.ts +100 -0
- package/scripts/issue/issue-file-cli.ts +29 -7
- package/scripts/issue/issue-file.ts +19 -19
- package/scripts/issue/issue-fold-cli.ts +2 -11
- package/scripts/issue/issue-fold-main.ts +12 -0
- package/scripts/issue/issue-labels.ts +81 -90
- package/scripts/issue/issue-lint-cli.ts +2 -10
- package/scripts/issue/issue-lint-main.ts +12 -0
- package/scripts/issue/issue-measured-cli.ts +56 -0
- package/scripts/issue/issue-merged.ts +19 -2
- package/scripts/issue/issue-not-before-label.ts +135 -0
- package/scripts/issue/issue-not-before.ts +111 -0
- package/scripts/issue/issue-number-shape.ts +15 -1
- package/scripts/issue/issue-park.ts +28 -0
- package/scripts/issue/issue-plan-cli.ts +151 -0
- package/scripts/issue/issue-priority.ts +151 -0
- package/scripts/issue/issue-rank.ts +7 -1
- package/scripts/issue/issue-read-cli.ts +3 -10
- package/scripts/issue/issue-read-main.ts +12 -0
- package/scripts/issue/issue-read.ts +29 -5
- package/scripts/issue/issue-release-cli.ts +0 -10
- package/scripts/issue/issue-release-main.ts +13 -0
- package/scripts/issue/issue-release.ts +7 -12
- package/scripts/issue/issue-sample-gate.ts +192 -0
- package/scripts/issue/issue-sample-source.ts +76 -0
- package/scripts/issue/issue-scout-cli.ts +0 -11
- package/scripts/issue/issue-scout-main.ts +14 -0
- package/scripts/issue/issue-state-cli.ts +0 -10
- package/scripts/issue/issue-state-main.ts +12 -0
- package/scripts/issue/issue-watch-diff.ts +56 -15
- package/scripts/issue/issue-watch.ts +2 -1
- package/scripts/issue/issue-wip.ts +2 -7
- package/scripts/issue/measure-rerun-cli.ts +13 -8
- package/scripts/issue/plan-consumers-cli.ts +39 -0
- package/scripts/issue/plan-consumers-main.ts +11 -0
- package/scripts/issue/plan-consumers-section.ts +55 -0
- package/scripts/issue/plan-consumers.ts +127 -0
- package/scripts/josh/agent-session-environment.ts +1 -1
- package/scripts/josh/command-usage.ts +15 -43
- package/scripts/josh/file-map-stamp.ts +49 -16
- package/scripts/josh/hook-decision.ts +32 -20
- package/scripts/josh/josh-command-map.ts +4 -1
- package/scripts/josh/josh-command-types.ts +12 -6
- package/scripts/josh/josh-commands-agent-hooks.ts +83 -0
- package/scripts/josh/josh-commands-ai.ts +157 -158
- package/scripts/josh/josh-commands-backlog.ts +82 -16
- package/scripts/josh/josh-commands-clone.ts +1 -0
- package/scripts/josh/josh-commands-development.ts +111 -71
- package/scripts/josh/josh-commands-document.ts +43 -1
- package/scripts/josh/josh-commands-epic.ts +171 -0
- package/scripts/josh/josh-commands-hooks.ts +25 -2
- package/scripts/josh/josh-commands-issue-write.ts +181 -0
- package/scripts/josh/josh-commands-issue.ts +124 -24
- package/scripts/josh/josh-commands-lane.ts +103 -2
- package/scripts/josh/josh-commands-lint.ts +19 -8
- package/scripts/josh/josh-commands-maintenance.ts +112 -4
- package/scripts/josh/josh-commands-pause.ts +29 -0
- package/scripts/josh/josh-commands-progress.ts +87 -0
- package/scripts/josh/josh-commands-project.ts +138 -9
- package/scripts/josh/josh-commands-review.ts +124 -0
- package/scripts/josh/josh-commands-run.ts +211 -23
- package/scripts/josh/josh-commands-ship.ts +169 -0
- package/scripts/josh/josh-commands-split.ts +9 -0
- package/scripts/josh/josh-commands-versioning.ts +49 -2
- package/scripts/josh/josh-commands-workflow.ts +144 -6
- package/scripts/josh/josh-logic.ts +6 -13
- package/scripts/josh/package-directory.ts +2 -4
- package/scripts/josh/process-identity.ts +13 -4
- package/scripts/josh/session-language-cli.ts +4 -8
- package/scripts/josh/session-language-main.ts +13 -0
- package/scripts/josh/session-language.ts +6 -1
- package/scripts/josh/shared-cache.ts +90 -0
- package/scripts/josh/stamp-file.ts +9 -15
- package/scripts/lane/lane-await.ts +51 -12
- package/scripts/lane/lane-cache.ts +5 -30
- package/scripts/lane/lane-capacity.ts +14 -23
- package/scripts/lane/lane-check-stats.ts +62 -21
- package/scripts/lane/lane-child-invocation.ts +8 -0
- package/scripts/lane/lane-cli.ts +15 -5
- package/scripts/lane/lane-close.ts +86 -18
- package/scripts/lane/lane-core-wait-stats.ts +66 -0
- package/scripts/lane/lane-dispatch.ts +24 -3
- package/scripts/lane/lane-gap-stats.ts +156 -0
- package/scripts/lane/lane-handoff.ts +69 -1
- package/scripts/lane/lane-held-stats.ts +129 -0
- package/scripts/lane/lane-install.ts +4 -11
- package/scripts/lane/lane-launch-cli.ts +0 -9
- package/scripts/lane/lane-launch-main.ts +12 -0
- package/scripts/lane/lane-ledger-schema.ts +266 -0
- package/scripts/lane/lane-ledger.ts +92 -123
- package/scripts/lane/lane-limit-cli.ts +12 -1
- package/scripts/lane/lane-measure-cli.ts +57 -11
- package/scripts/lane/lane-open.ts +9 -1
- package/scripts/lane/lane-parked.ts +3 -3
- package/scripts/lane/lane-pause-cli.ts +130 -0
- package/scripts/lane/lane-pause.ts +158 -0
- package/scripts/lane/lane-process-table.ts +166 -0
- package/scripts/lane/lane-reap-settle.ts +124 -0
- package/scripts/lane/lane-reap.ts +50 -15
- package/scripts/lane/lane-registry.ts +24 -3
- package/scripts/lane/lane-residents.ts +162 -0
- package/scripts/lane/lane-restart.ts +22 -2
- package/scripts/lane/lane-round-two-stats.ts +49 -0
- package/scripts/lane/lane-sampler.ts +4 -0
- package/scripts/lane/lane-session-action.ts +19 -5
- package/scripts/lane/lane-session-broker.ts +102 -21
- package/scripts/lane/lane-snapshot-trace.ts +84 -0
- package/scripts/lane/lane-spans.ts +51 -0
- package/scripts/lane/lane-spent.ts +6 -3
- package/scripts/lane/lane-stage-stats.ts +7 -2
- package/scripts/lane/lane-state.ts +302 -0
- package/scripts/lane/lane-stats.ts +58 -4
- package/scripts/lane/lane-stop-stats.ts +113 -37
- package/scripts/lane/lane-test-related-stats.ts +127 -0
- package/scripts/lane/lane-transcript-calls.ts +145 -0
- package/scripts/lane/lane-transcript-stats.ts +168 -0
- package/scripts/lane/lane-vacant.ts +13 -3
- package/scripts/lane/lane-withdraw-cli.ts +5 -4
- package/scripts/lane/lane-withdraw.ts +50 -49
- package/scripts/lane/process-directories.ts +70 -0
- package/scripts/lane/process-lane-marks.ts +94 -0
- package/scripts/lib/atomic-write.ts +62 -0
- package/scripts/lib/buffered-process.ts +12 -5
- package/scripts/lib/cli-flags.ts +53 -0
- package/scripts/lib/figure-format.ts +63 -0
- package/scripts/lib/json-value.ts +9 -1
- package/scripts/lib/package-manifest.ts +35 -0
- package/scripts/lib/read-file.ts +3 -1
- package/scripts/lib/stamped-memo.ts +63 -0
- package/scripts/lib/stdout-on-stderr.ts +24 -0
- package/scripts/lib/timeouts.ts +9 -0
- package/scripts/lib/transcript-record.ts +91 -0
- package/scripts/lines/effective-limit.ts +1 -1
- package/scripts/lint/eslint-cache-dependencies.ts +145 -0
- package/scripts/lint/eslint-daemon.ts +265 -0
- package/scripts/lint/format.ts +11 -2
- package/scripts/lint/import-graph.ts +279 -0
- package/scripts/lint/lint-gate-scope.ts +102 -0
- package/scripts/lint/lint-parallel-main.ts +19 -0
- package/scripts/lint/lint-parallel.ts +62 -30
- package/scripts/lint/lint-related-scope.ts +30 -24
- package/scripts/lint/lint-related.ts +38 -6
- package/scripts/notify/confirmation-options.ts +1 -2
- package/scripts/notify/telegram-notify.ts +20 -20
- package/scripts/notify/telegram-test-logic.ts +0 -1
- package/scripts/notify/telegram-test-main.ts +8 -0
- package/scripts/notify/telegram-test.ts +2 -6
- package/scripts/observations/observation-ledger.ts +13 -0
- package/scripts/observations/observations-flush-landing.ts +5 -3
- package/scripts/observations/observations-flush.ts +6 -1
- package/scripts/overrides/overrides-check.ts +2 -5
- package/scripts/overrides/overrides-files.ts +2 -1
- package/scripts/overrides/overrides-logic.ts +3 -6
- package/scripts/package/verify-optional-eslint-install.ts +8 -6
- package/scripts/propagate/propagate-publish.ts +2 -7
- package/scripts/propagate/propagate-targets.ts +4 -12
- package/scripts/refactor/import-graph.ts +9 -7
- package/scripts/release/github-release-runs.ts +17 -6
- package/scripts/release/release-approval-prune.ts +18 -0
- package/scripts/release/release-history.ts +1 -3
- package/scripts/release/release-progress.ts +42 -22
- package/scripts/release/release-publish-run.ts +39 -0
- package/scripts/release/release-publish.ts +6 -6
- package/scripts/release/release-scope-cli.ts +0 -10
- package/scripts/release/release-scope-main.ts +12 -0
- package/scripts/repo/repo-setting.ts +3 -6
- package/scripts/repo/required-checks-logic.ts +6 -15
- package/scripts/report/report-format-reference.ts +2 -0
- package/scripts/report/report-labels.ts +155 -0
- package/scripts/report/report-lint-cli.ts +3 -0
- package/scripts/report/report-lint.ts +85 -110
- package/scripts/report/report-template-cli.ts +59 -0
- package/scripts/report/report-template.ts +112 -0
- package/scripts/review/acceptance-map.ts +1 -0
- package/scripts/review/removed-tests-check.ts +86 -0
- package/scripts/review/removed-tests.ts +149 -0
- package/scripts/review/review-brief-cli.ts +81 -15
- package/scripts/review/review-brief-main.ts +12 -0
- package/scripts/review/review-brief.ts +31 -3
- package/scripts/review/review-code-tree.ts +10 -6
- package/scripts/review/review-comment-round.ts +26 -8
- package/scripts/review/review-finding-ledger.ts +30 -15
- package/scripts/review/review-interaction.ts +94 -0
- package/scripts/review/review-readers-scan.ts +163 -0
- package/scripts/review/review-record-cli.ts +69 -30
- package/scripts/review/review-record-main.ts +12 -0
- package/scripts/review/review-round-one-blobs.ts +221 -0
- package/scripts/review/review-round2-cli.ts +49 -12
- package/scripts/review/review-round2.ts +80 -12
- package/scripts/review/review-stamps.ts +19 -1
- package/scripts/review/review-stop-log.ts +96 -0
- package/scripts/review/review-stops-cli.ts +85 -0
- package/scripts/review/review-tree.ts +6 -17
- package/scripts/review/review-untouched-readers.ts +146 -0
- package/scripts/review/test-titles.ts +118 -0
- package/scripts/rules/agent-model.ts +8 -0
- package/scripts/rules/bash-triggers.ts +46 -3
- package/scripts/rules/decision-oracle-batch.ts +9 -1
- package/scripts/rules/decision-oracle.ts +2 -2
- package/scripts/rules/delivered-rules.ts +80 -2
- package/scripts/rules/destructive-command.ts +8 -1
- package/scripts/rules/direct-filing.ts +10 -2
- package/scripts/rules/direct-issue-comment.ts +117 -0
- package/scripts/rules/direct-pr-create.ts +69 -3
- package/scripts/rules/early-heartbeat.ts +2 -1
- package/scripts/rules/file-body.ts +7 -0
- package/scripts/rules/filing-cap.ts +7 -0
- package/scripts/rules/git-argv.ts +72 -14
- package/scripts/rules/git-force.ts +12 -2
- package/scripts/rules/guard-remedy.ts +4 -0
- package/scripts/rules/implementation-cut-verdict.ts +1 -1
- package/scripts/rules/implementation-cut.ts +11 -3
- package/scripts/rules/index-guard.ts +8 -1
- package/scripts/rules/issue-comments.ts +9 -1
- package/scripts/rules/josh-git-bare.ts +7 -0
- package/scripts/rules/lane-background.ts +67 -25
- package/scripts/rules/lane-carry-conflict.ts +6 -0
- package/scripts/rules/lane-direct-tool.ts +74 -0
- package/scripts/rules/lane-interactive-ask.ts +9 -2
- package/scripts/rules/lane-park.ts +45 -23
- package/scripts/rules/lane-split-park.ts +10 -2
- package/scripts/rules/lane-switch-main.ts +7 -0
- package/scripts/rules/oracle-consulted.ts +10 -0
- package/scripts/rules/oracle-firing.ts +1 -0
- package/scripts/rules/permission-guards.ts +3 -0
- package/scripts/rules/piped-verification.ts +1 -1
- package/scripts/rules/poll-loop.ts +7 -0
- package/scripts/rules/pr-merge.ts +123 -0
- package/scripts/rules/protected-files.ts +32 -5
- package/scripts/rules/raw-field-body.ts +6 -0
- package/scripts/rules/rule-body-guard.ts +8 -0
- package/scripts/rules/rule-list.ts +9 -28
- package/scripts/rules/rule-value-cache.ts +4 -9
- package/scripts/rules/rule-value-cli.ts +51 -32
- package/scripts/rules/rule-value.ts +1 -1
- package/scripts/rules/shell-segments.ts +35 -0
- package/scripts/rules/stop-rule-rows.ts +64 -0
- package/scripts/rules/stop-rules.ts +3 -4
- package/scripts/rules/test-declared-commit.ts +11 -1
- package/scripts/rules/third-party-write.ts +7 -0
- package/scripts/rules/timed-rerun.ts +69 -0
- package/scripts/rules/worktree-guard.ts +13 -3
- package/scripts/run/board/run-board-app-name.ts +23 -0
- package/scripts/run/board/run-board-cli.ts +65 -32
- package/scripts/run/board/run-board-earlier.ts +94 -0
- package/scripts/run/board/run-board-ending-reason.ts +67 -0
- package/scripts/run/board/run-board-estimate-schedule.ts +103 -0
- package/scripts/run/board/run-board-estimate.ts +98 -0
- package/scripts/run/board/run-board-fit.ts +153 -36
- package/scripts/run/board/run-board-fold.ts +123 -0
- package/scripts/run/board/run-board-fresh.ts +2 -2
- package/scripts/run/board/run-board-gather-live.ts +29 -0
- package/scripts/run/board/run-board-gather-thread.ts +189 -0
- package/scripts/run/board/run-board-gather-worker.ts +29 -0
- package/scripts/run/board/run-board-gather.ts +187 -0
- package/scripts/run/board/run-board-github.ts +118 -38
- package/scripts/run/board/run-board-header.ts +82 -20
- package/scripts/run/board/run-board-keys.ts +58 -0
- package/scripts/run/board/run-board-kind.ts +20 -6
- package/scripts/run/board/run-board-labels.ts +116 -71
- package/scripts/run/board/run-board-lane-state.ts +109 -0
- package/scripts/run/board/run-board-lane-time.ts +122 -0
- package/scripts/run/board/run-board-layout.ts +239 -60
- package/scripts/run/board/run-board-length.ts +52 -0
- package/scripts/run/board/run-board-machine.ts +8 -4
- package/scripts/run/board/run-board-main.ts +12 -0
- package/scripts/run/board/run-board-notes.ts +52 -31
- package/scripts/run/board/run-board-now.ts +1 -1
- package/scripts/run/board/run-board-operation.ts +15 -33
- package/scripts/run/board/run-board-phase.ts +1 -1
- package/scripts/run/board/run-board-plan-shared.ts +115 -0
- package/scripts/run/board/run-board-plan.ts +55 -3
- package/scripts/run/board/run-board-planning.ts +45 -0
- package/scripts/run/board/run-board-priority.ts +44 -0
- package/scripts/run/board/run-board-process-groups.ts +195 -0
- package/scripts/run/board/run-board-read.ts +151 -27
- package/scripts/run/board/run-board-reason.ts +235 -51
- package/scripts/run/board/run-board-released.ts +35 -0
- package/scripts/run/board/run-board-render-checks.ts +39 -5
- package/scripts/run/board/run-board-render-condition.ts +96 -0
- package/scripts/run/board/run-board-render-drawn.ts +67 -0
- package/scripts/run/board/run-board-render-foot.ts +59 -0
- package/scripts/run/board/run-board-render-icon.ts +35 -0
- package/scripts/run/board/run-board-render-lanes.ts +145 -0
- package/scripts/run/board/run-board-render-lead.ts +80 -0
- package/scripts/run/board/run-board-render-legend.ts +117 -48
- package/scripts/run/board/run-board-render-notes.ts +156 -29
- package/scripts/run/board/run-board-render-processes.ts +196 -0
- package/scripts/run/board/run-board-render-section.ts +119 -0
- package/scripts/run/board/run-board-render-slot.ts +3 -36
- package/scripts/run/board/run-board-render-tail.ts +115 -48
- package/scripts/run/board/run-board-render-time.ts +56 -0
- package/scripts/run/board/run-board-render-title.ts +117 -24
- package/scripts/run/board/run-board-render-waits.ts +104 -20
- package/scripts/run/board/run-board-render.ts +207 -265
- package/scripts/run/board/run-board-roots.ts +54 -0
- package/scripts/run/board/run-board-row-yield.ts +9 -4
- package/scripts/run/board/run-board-setup.ts +1 -12
- package/scripts/run/board/run-board-snapshot.ts +111 -0
- package/scripts/run/board/run-board-spin.ts +2 -2
- package/scripts/run/board/run-board-state.ts +22 -33
- package/scripts/run/board/run-board-status.ts +147 -71
- package/scripts/run/board/run-board-thanks-read.ts +2 -2
- package/scripts/run/board/run-board-tick.ts +122 -107
- package/scripts/run/board/run-board-usage-board.ts +78 -0
- package/scripts/run/board/run-board-usage-lanes.ts +113 -0
- package/scripts/run/board/run-board-usage-listing.ts +93 -0
- package/scripts/run/board/run-board-usage-read.ts +120 -150
- package/scripts/run/board/run-board-usage-rusage.ts +19 -7
- package/scripts/run/board/run-board-usage-text.ts +139 -51
- package/scripts/run/board/run-board-usage-top.ts +102 -0
- package/scripts/run/board/run-board-usage.ts +89 -72
- package/scripts/run/board/run-board-usual.ts +20 -9
- package/scripts/run/carry/run-carry-args.ts +4 -7
- package/scripts/run/carry/run-carry-conversation.ts +1 -1
- package/scripts/run/carry/run-carry.ts +9 -4
- package/scripts/run/cut/run-cut-handoff.ts +2 -2
- package/scripts/run/event/run-event-cli.ts +1 -5
- package/scripts/run/event/run-event-filed.ts +12 -6
- package/scripts/run/event/run-event-follow.ts +2 -3
- package/scripts/run/event/run-event-render.ts +6 -10
- package/scripts/run/event/run-event-scope.ts +2 -2
- package/scripts/run/event/run-event-stream-emit.ts +82 -22
- package/scripts/run/event/run-event-stream.ts +34 -8
- package/scripts/run/hold/run-hold-adopt.ts +65 -0
- package/scripts/run/hold/run-hold-cli.ts +93 -22
- package/scripts/run/hold/run-hold-main.ts +12 -0
- package/scripts/run/hold/run-hold-member.ts +37 -0
- package/scripts/run/hold/run-stop-notify.ts +183 -0
- package/scripts/run/merge/run-merge-auth.ts +31 -0
- package/scripts/run/merge/run-merge-cli.ts +62 -48
- package/scripts/run/merge/run-merge-close.ts +74 -0
- package/scripts/run/merge/run-merge-collect.ts +6 -13
- package/scripts/run/merge/run-merge-driver.ts +71 -0
- package/scripts/run/merge/run-merge-main.ts +12 -0
- package/scripts/run/merge/run-merge-outcome.ts +23 -0
- package/scripts/run/merge/run-merge-restart.ts +39 -0
- package/scripts/run/merge/run-merge-ship.ts +20 -4
- package/scripts/run/merge/run-merge-signals.ts +33 -9
- package/scripts/run/merge/run-merge-steps.ts +120 -85
- package/scripts/run/merge/run-merge.ts +38 -37
- package/scripts/run/park/run-park-cli.ts +91 -0
- package/scripts/run/park/run-park.ts +88 -0
- package/scripts/run/park/run-stalled.ts +68 -0
- package/scripts/run/pause/run-pause-cli.ts +73 -0
- package/scripts/run/pause/run-pause.ts +251 -0
- package/scripts/run/progress/run-progress-cli.ts +4 -12
- package/scripts/run/progress/run-progress-clock.ts +1 -1
- package/scripts/run/progress/run-progress-config.ts +6 -14
- package/scripts/run/progress/run-progress-main.ts +12 -0
- package/scripts/run/progress/run-progress.ts +1 -4
- package/scripts/run/review/run-review.ts +2 -1
- package/scripts/run/run-ending.ts +1 -0
- package/scripts/run/run-invocation.ts +5 -6
- package/scripts/run/run-liveness-cli.ts +6 -8
- package/scripts/run/run-liveness.ts +60 -29
- package/scripts/run/run-next.ts +1 -1
- package/scripts/run/run-parent-cut-hook.ts +2 -2
- package/scripts/run/run-preflight.ts +18 -3
- package/scripts/run/run-prep-cli.ts +1 -10
- package/scripts/run/run-prep-locate.ts +7 -50
- package/scripts/run/run-prep-main.ts +12 -0
- package/scripts/run/run-prep.ts +6 -0
- package/scripts/run/run-report-cli.ts +101 -13
- package/scripts/run/run-report-handoff.ts +114 -0
- package/scripts/run/run-step.ts +1 -1
- package/scripts/run/run-stranded-detect.ts +13 -0
- package/scripts/run/run-watcher-guard-cli.ts +1 -1
- package/scripts/run/run-watcher-guard.ts +1 -1
- package/scripts/run/ship/run-ship-args.ts +121 -0
- package/scripts/run/ship/run-ship-body-draft.ts +110 -0
- package/scripts/run/ship/run-ship-cli.ts +63 -140
- package/scripts/run/ship/run-ship-detach.ts +19 -8
- package/scripts/run/ship/run-ship-infra-retry.ts +59 -0
- package/scripts/run/ship/run-ship-next.ts +18 -2
- package/scripts/run/ship/run-ship-overlap.ts +42 -5
- package/scripts/run/ship/run-ship-place.ts +96 -0
- package/scripts/run/ship/run-ship-pre-detach-timed.ts +43 -0
- package/scripts/run/ship/run-ship-pre-detach.ts +81 -24
- package/scripts/run/ship/run-ship-preflight.ts +137 -32
- package/scripts/run/ship/run-ship-probe.ts +11 -3
- package/scripts/run/ship/run-ship-relaunch-cap.ts +70 -0
- package/scripts/run/ship/run-ship-removed-rows.ts +61 -0
- package/scripts/run/ship/run-ship-return.ts +107 -23
- package/scripts/run/ship/run-ship-review-steps.ts +105 -151
- package/scripts/run/ship/run-ship-review.ts +73 -6
- package/scripts/run/ship/run-ship-reviewer.ts +207 -0
- package/scripts/run/ship/run-ship-stage.ts +55 -6
- package/scripts/run/ship/run-ship-steps.ts +46 -15
- package/scripts/run/ship/run-ship-stop-cause.ts +135 -0
- package/scripts/run/ship/run-ship-stop-text.ts +11 -6
- package/scripts/run/ship/run-ship-sync.ts +43 -6
- package/scripts/run/ship/run-ship.ts +30 -2
- package/scripts/run/tidy/run-tidy-cli.ts +0 -4
- package/scripts/run/tidy/run-tidy-lanes.ts +3 -0
- package/scripts/run/tidy/run-tidy-main.ts +8 -0
- package/scripts/run/wake/run-wake-cli.ts +119 -100
- package/scripts/run/wake/run-wake-code.ts +83 -0
- package/scripts/run/wake/run-wake-driver.ts +19 -8
- package/scripts/run/wake/run-wake-loop.ts +34 -3
- package/scripts/run/wake/run-wake-main.ts +13 -0
- package/scripts/run/wake/run-wake-ports.ts +90 -0
- package/scripts/run/wake/run-wake-takeover.ts +66 -0
- package/scripts/run/wake/run-wake.ts +2 -1
- package/scripts/safe-chain/pack-hook.ts +2 -2
- package/scripts/safe-chain/preinstall-command.ts +2 -1
- package/scripts/safe-chain/project-config.ts +3 -9
- package/scripts/security/security-audit-main.ts +8 -0
- package/scripts/security/security-audit-provision-logic.ts +0 -11
- package/scripts/security/security-audit-provision-main.ts +12 -0
- package/scripts/security/security-audit-provision.ts +11 -26
- package/scripts/security/security-audit.ts +6 -7
- package/scripts/self-sync-guard/self-sync-guard-logic.ts +6 -13
- package/scripts/split/split-assess-cli.ts +2 -2
- package/scripts/split/split-assess.ts +15 -0
- package/scripts/split/split-measure.ts +65 -0
- package/scripts/sync/claude-settings-merge.ts +8 -15
- package/scripts/sync/directory-copy-guard.ts +4 -9
- package/scripts/sync/file-content.ts +78 -8
- package/scripts/sync/sync-ai-files.ts +3 -5
- package/scripts/sync/sync-configs.ts +11 -23
- package/scripts/sync/sync-hook-safety.ts +4 -10
- package/scripts/sync/sync-main.ts +11 -0
- package/scripts/sync/sync.ts +25 -37
- package/scripts/test/test-declared-changed.ts +2 -2
- package/scripts/test/test-declared.ts +1 -1
- package/scripts/test/test-e2e-guard.ts +25 -1
- package/scripts/test/test-e2e-stamp.ts +38 -0
- package/scripts/test/test-pinned-logic.ts +145 -0
- package/scripts/test/test-pinned-main.ts +78 -0
- package/scripts/test/test-pinned.ts +100 -0
- package/scripts/test/test-read-map.ts +264 -0
- package/scripts/test/test-read-recording.ts +91 -0
- package/scripts/test/test-read-trace.ts +148 -0
- package/scripts/test/test-red-main.ts +12 -0
- package/scripts/test/test-red.ts +12 -30
- package/scripts/test/test-related-main.ts +18 -0
- package/scripts/test/test-related-record.ts +119 -0
- package/scripts/test/test-related-scope.ts +229 -43
- package/scripts/test/test-related.ts +300 -22
- package/scripts/test/test-unit-guard-main.ts +15 -0
- package/scripts/test/test-unit-guard.ts +42 -24
- package/scripts/test/unit-count-file.ts +37 -0
- package/scripts/test/unit-run-marker.ts +162 -0
- package/scripts/test/unit-setup-files.ts +51 -0
- package/scripts/test/unit-worker-share.ts +61 -149
- package/scripts/test/whole-suite-files.ts +63 -0
- package/scripts/time-runtime/time-background.ts +20 -2
- package/scripts/time-runtime/time-bundles.ts +4 -3
- package/scripts/time-runtime/time-density-hook.ts +8 -6
- package/scripts/time-runtime/time-followup-stage.ts +1 -3
- package/scripts/time-runtime/time-format.ts +5 -28
- package/scripts/time-runtime/time-markers.ts +10 -1
- package/scripts/time-runtime/time-shell.ts +97 -10
- package/scripts/time-runtime/time-transcript-line.ts +49 -62
- package/scripts/uninstall/uninstall.ts +1 -1
- package/scripts/version/bump-version-main.ts +12 -0
- package/scripts/version/bump-version.ts +25 -25
- package/scripts/version/effective-upstream.ts +6 -12
- package/scripts/version/latest-corepack.ts +17 -32
- package/scripts/version/latest-if-required-cli.ts +93 -0
- package/scripts/version/latest-lane-guard-main.ts +8 -0
- package/scripts/version/latest-lane-guard.ts +0 -4
- package/scripts/version/latest-scope-cli.ts +0 -9
- package/scripts/version/latest-scope-main.ts +12 -0
- package/scripts/version/latest-update.ts +5 -5
- package/scripts/version/npm-registry.ts +44 -6
- package/scripts/version/publishable-range-check.ts +5 -16
- package/scripts/version/release-age.ts +1 -1
- package/scripts/version/release-hold.ts +1 -1
- package/scripts/version/release-window.ts +38 -0
- package/scripts/version/running-binary.ts +1 -1
- package/scripts/version/safe-chain-version-update.ts +3 -8
- package/scripts/version/version-targets.ts +6 -28
- package/templates/dependabot.yml +29 -0
- package/templates/gitignore +4 -1
- package/templates/pnpm-workspace.basic.yaml +1 -1
- package/templates/sonar-project.properties +3 -2
- package/templates/workflows/ci.yml +12 -4
- package/templates/workflows/github-release.yml +4 -0
- package/tsconfig.sonar.json +1 -1
- package/.ncurc.json +0 -3
- package/dist/hooks/batch-guard.js +0 -29
- package/dist/hooks/chunk-4KKD2UTK.js +0 -66
- package/dist/hooks/chunk-6TS2JD6D.js +0 -237
- package/dist/hooks/chunk-7DSBJVFH.js +0 -50
- package/dist/hooks/chunk-A65Y4YOR.js +0 -79
- package/dist/hooks/chunk-CDY4NFQG.js +0 -15
- package/dist/hooks/chunk-EFXE6C37.js +0 -81
- package/dist/hooks/chunk-GP4IEC4O.js +0 -20
- package/dist/hooks/chunk-JP45SOCJ.js +0 -56
- package/dist/hooks/chunk-LAOV7NLM.js +0 -45
- package/dist/hooks/chunk-M4HGZV7U.js +0 -83
- package/dist/hooks/chunk-PF2NZL2A.js +0 -131
- package/dist/hooks/chunk-PTICX4OL.js +0 -358
- package/dist/hooks/chunk-RT27QRJW.js +0 -6247
- package/dist/hooks/chunk-SYOTDYCI.js +0 -3533
- package/dist/hooks/chunk-UPUZF3AN.js +0 -279
- package/dist/hooks/chunk-WK6SMBIC.js +0 -3180
- package/dist/hooks/duplicate-read-guard.js +0 -30
- package/dist/hooks/investigation-guard.js +0 -29
- package/scripts/backlog/backlog-stalled-cli.ts +0 -30
- package/scripts/cost-runtime/cost-format.ts +0 -29
- package/scripts/init/basic-path-migration.ts +0 -24
- package/scripts/issue/issue-backlinks-cli.ts +0 -93
- package/scripts/josh/josh-commands-guard.ts +0 -38
- package/scripts/josh/josh-usage-automation.ts +0 -121
- package/scripts/josh/josh-usage-backlog.ts +0 -180
- package/scripts/josh/josh-usage-developer.ts +0 -230
- package/scripts/josh/josh-usage-hooks.ts +0 -38
- package/scripts/josh/josh-usage-issue.ts +0 -205
- package/scripts/josh/josh-usage-review.ts +0 -101
- package/scripts/josh/josh-usage-run.ts +0 -252
- package/scripts/josh/josh-usage-session.ts +0 -238
- package/scripts/josh/josh-usage-workflow.ts +0 -212
- package/scripts/lint/cross-file-recheck.ts +0 -155
- package/scripts/registry-migration/migrate-logic.ts +0 -237
- package/scripts/registry-migration/migrate.ts +0 -292
- package/scripts/registry-migration/user-npmrc.ts +0 -15
- package/scripts/rules/rule-guard.ts +0 -23
- package/scripts/rules/rule-registry-rows.ts +0 -292
- package/scripts/rules/rule-registry.ts +0 -112
- package/scripts/run/run-stranded-cli.ts +0 -27
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { core_budget } from '#scripts/gate/core-budget'
|
|
2
|
-
import {
|
|
2
|
+
import type { CommandEntry } from './josh-command-types'
|
|
3
3
|
import { BACKLOG_COMMANDS } from './josh-commands-backlog'
|
|
4
4
|
import { DOCUMENT_COMMANDS } from './josh-commands-document'
|
|
5
|
-
import {
|
|
5
|
+
import { EPIC_COMMANDS } from './josh-commands-epic'
|
|
6
6
|
import { ISSUE_COMMANDS } from './josh-commands-issue'
|
|
7
7
|
import { LANE_COMMANDS } from './josh-commands-lane'
|
|
8
|
+
import { REVIEW_COMMANDS } from './josh-commands-review'
|
|
8
9
|
import { RUN_COMMANDS } from './josh-commands-run'
|
|
10
|
+
import { SHIP_COMMANDS } from './josh-commands-ship'
|
|
9
11
|
import { SPLIT_COMMANDS } from './josh-commands-split'
|
|
10
12
|
|
|
11
|
-
const
|
|
13
|
+
const DIR = '--dir <path>'
|
|
14
|
+
const PATH_DIR = '--path <dir>'
|
|
15
|
+
const BARE = { arguments: '' }
|
|
12
16
|
|
|
13
17
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
14
18
|
const AI_COMMANDS: Record<string, CommandEntry> = {
|
|
@@ -19,70 +23,81 @@ const AI_COMMANDS: Record<string, CommandEntry> = {
|
|
|
19
23
|
'Rank package candidates by measured metrics so the Package-First tier decision is read, not judged',
|
|
20
24
|
category: 'AI tools',
|
|
21
25
|
reference: ['<keywords> [--size <n>]', 'automation', ['network']],
|
|
26
|
+
usage: {
|
|
27
|
+
examples: [{ arguments: '"date formatting" --size 5' }],
|
|
28
|
+
flags: [
|
|
29
|
+
{
|
|
30
|
+
names: ['--size <n>'],
|
|
31
|
+
description: 'how many candidates to fetch and rank (default 10).',
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
22
35
|
},
|
|
23
|
-
'stash:
|
|
24
|
-
script: 'scripts/git/stash/stash-
|
|
25
|
-
description: '
|
|
36
|
+
'stash:push': {
|
|
37
|
+
script: 'scripts/git/stash/stash-push-main.ts',
|
|
38
|
+
description: 'Stash the working tree, untracked files included, leaving the observation ledger',
|
|
26
39
|
category: 'AI tools',
|
|
27
40
|
reference: ['<message>', 'automation', ['git']],
|
|
41
|
+
usage: {
|
|
42
|
+
examples: [{ arguments: '"backlogrun: josh latest before lanes"' }],
|
|
43
|
+
flags: [
|
|
44
|
+
{
|
|
45
|
+
names: [DIR],
|
|
46
|
+
description: 'stashes that work tree (`git -C <path>`); without it the current checkout.',
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
28
50
|
},
|
|
29
|
-
|
|
30
|
-
script: 'scripts/
|
|
31
|
-
description: '
|
|
32
|
-
category: 'AI tools',
|
|
33
|
-
reference: ['<title> <issue...> [--ordered]', 'automation', ['network']],
|
|
34
|
-
},
|
|
35
|
-
'epic:next': {
|
|
36
|
-
script: 'scripts/epic/epic-next.ts',
|
|
37
|
-
description: "List an epic's runnable children, bundled per repository",
|
|
38
|
-
category: 'AI tools',
|
|
39
|
-
reference: ['<epic>... [--repo <owner/repo>] [--lanes]', 'automation', ['network']],
|
|
40
|
-
},
|
|
41
|
-
'epic:bundle': {
|
|
42
|
-
script: 'scripts/epic/epic-bundle-cli.ts',
|
|
43
|
-
description: 'Say whether a newly filed issue belongs with ones already in the backlog',
|
|
44
|
-
category: 'AI tools',
|
|
45
|
-
reference: ['<issue>', 'automation', ['network']],
|
|
46
|
-
},
|
|
47
|
-
'epic:audit': {
|
|
48
|
-
script: 'scripts/epic/epic-audit-cli.ts',
|
|
49
|
-
description: "Audit an epic's children against each other for contradictions",
|
|
50
|
-
category: 'AI tools',
|
|
51
|
-
reference: ['<epic>', 'automation', ['network']],
|
|
52
|
-
},
|
|
53
|
-
'epic:check': {
|
|
54
|
-
script: 'scripts/epic/epic-check.ts',
|
|
55
|
-
description: 'Check an epic issue against the tracking requirements',
|
|
56
|
-
category: 'AI tools',
|
|
57
|
-
reference: ['<epic>', 'automation', ['network']],
|
|
58
|
-
},
|
|
59
|
-
'auto-ok:next': {
|
|
60
|
-
script: 'scripts/auto-ok/auto-ok-cli.ts',
|
|
61
|
-
description: 'Print the next opted-in issue an unattended run may pick up outside an epic',
|
|
62
|
-
category: 'AI tools',
|
|
63
|
-
reference: ['[--exclude <n>[,<n>...]] [--label <name>]', 'automation', ['network']],
|
|
64
|
-
},
|
|
65
|
-
'auto-ok:judge': {
|
|
66
|
-
script: 'scripts/auto-ok/auto-ok-judge-cli.ts',
|
|
67
|
-
description:
|
|
68
|
-
'List the open issues backlogrun owes an auto-ok judgement, or record one (--apply / --decline)',
|
|
51
|
+
'stash:pop': {
|
|
52
|
+
script: 'scripts/git/stash/stash-pop-main.ts',
|
|
53
|
+
description: 'Pop the stash matching this message, not whichever a shared stack has on top',
|
|
69
54
|
category: 'AI tools',
|
|
70
|
-
reference: [
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
55
|
+
reference: ['<message>', 'automation', ['git']],
|
|
56
|
+
usage: {
|
|
57
|
+
examples: [
|
|
58
|
+
{ arguments: '"backlogrun: parked #2028"' },
|
|
59
|
+
{
|
|
60
|
+
arguments: '"backlogrun: josh latest before lanes" --dir "$dir"',
|
|
61
|
+
note: "into a lane's work tree",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
flags: [
|
|
65
|
+
{
|
|
66
|
+
names: [DIR],
|
|
67
|
+
description:
|
|
68
|
+
'applies the pop in that work tree (`git -C <path>`); without it the pop lands in the current checkout. The stack is shared, so it reads the same either way.',
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
75
72
|
},
|
|
73
|
+
...EPIC_COMMANDS,
|
|
76
74
|
...BACKLOG_COMMANDS,
|
|
77
75
|
cost: {
|
|
78
|
-
script: 'scripts/cost-runtime/cost-
|
|
76
|
+
script: 'scripts/cost-runtime/cost-main.ts',
|
|
79
77
|
description:
|
|
80
78
|
'Say whether the next turn of a run crosses the context-cut threshold (--cut) or a given tokens-per-request figure (--over)',
|
|
81
79
|
category: 'AI tools',
|
|
82
80
|
reference: ['(--cut | --over <tokens-per-request>) [--path <dir>]', 'automation', ['none']],
|
|
81
|
+
usage: {
|
|
82
|
+
examples: [
|
|
83
|
+
{
|
|
84
|
+
arguments: '--cut',
|
|
85
|
+
note: 'compare billed input per request with the shared 135,000 context-cut threshold',
|
|
86
|
+
},
|
|
87
|
+
{ arguments: '--over <tokens>', note: 'compare with an explicit limit' },
|
|
88
|
+
{ arguments: `--cut ${PATH_DIR}`, note: 'Anthropic project or current OpenAI worktree' },
|
|
89
|
+
],
|
|
90
|
+
flags: [
|
|
91
|
+
{
|
|
92
|
+
names: [PATH_DIR],
|
|
93
|
+
description:
|
|
94
|
+
'selects another Anthropic project; OpenAI accepts only linked checkouts of the current project.',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
},
|
|
83
98
|
},
|
|
84
99
|
'cost:audit': {
|
|
85
|
-
script: '
|
|
100
|
+
script: 'tools/cost-audit/cost-audit-main.ts',
|
|
86
101
|
description:
|
|
87
102
|
'Report AI cost over a period by session kind, tool category and guard, with cost per merge and regressions against the period before',
|
|
88
103
|
category: 'AI tools',
|
|
@@ -90,31 +105,87 @@ const AI_COMMANDS: Record<string, CommandEntry> = {
|
|
|
90
105
|
// Kit-only: it reads kit's own transcript store, like `josh retrospective`, which carries its
|
|
91
106
|
// summary line.
|
|
92
107
|
is_kit_only: true,
|
|
108
|
+
usage: {
|
|
109
|
+
examples: [
|
|
110
|
+
{ arguments: '', note: 'the last 7 days against the 7 before' },
|
|
111
|
+
{ arguments: '--period 30', note: 'the last 30 days against the 30 before' },
|
|
112
|
+
],
|
|
113
|
+
flags: [
|
|
114
|
+
{
|
|
115
|
+
names: ['--period <days>'],
|
|
116
|
+
description: 'the length of each period, a positive whole number of days (default 7).',
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
},
|
|
93
120
|
},
|
|
94
121
|
...DOCUMENT_COMMANDS,
|
|
95
122
|
time: {
|
|
96
|
-
script: '
|
|
123
|
+
script: 'tools/time/time-cli.ts',
|
|
97
124
|
description: "Report where a run's wall clock went: model wait, tool execution, human wait",
|
|
98
125
|
category: 'AI tools',
|
|
99
126
|
reference: ['[options]', 'maintainer', ['none']],
|
|
100
127
|
// Kit-only: it measures kit's own development runs and its report modules live under the
|
|
101
|
-
// undistributed `
|
|
128
|
+
// undistributed `tools/time/`, so it means nothing in a consumer project and is dropped from a
|
|
102
129
|
// consumer's help. The runtime analysis hooks and guards rely on stays
|
|
103
130
|
// distributed under `scripts/time-runtime/`.
|
|
104
131
|
is_kit_only: true,
|
|
132
|
+
usage: {
|
|
133
|
+
examples: [
|
|
134
|
+
{ arguments: '', note: 'the last run tree, wall clock and cost by role' },
|
|
135
|
+
{ arguments: '--run', note: 'the same run-tree scope, named explicitly' },
|
|
136
|
+
{ arguments: '--json', note: 'the same figures, machine-readable' },
|
|
137
|
+
{ arguments: PATH_DIR, note: "read another project's transcripts from this checkout" },
|
|
138
|
+
{
|
|
139
|
+
arguments: '--split-at 2026-10-16T21:33:19Z',
|
|
140
|
+
note: 'the same tree compared by role before and after a merge',
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
flags: [
|
|
144
|
+
{
|
|
145
|
+
names: ['--run'],
|
|
146
|
+
description:
|
|
147
|
+
'(default) the whole run tree, wall clock led beside dollars. It is the only scope; any flag not listed here is a usage error (exit 1). History: `docs/maintainers/josh-commands-run-rationale.md` → "`josh cost` and `josh time` lost their report scopes".',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
names: [PATH_DIR],
|
|
151
|
+
description:
|
|
152
|
+
'aim the read at another project (absolute path); keeps the `cwd` behavior when absent.',
|
|
153
|
+
},
|
|
154
|
+
{ names: ['--json'], description: 'the run tree, machine-readable.' },
|
|
155
|
+
{
|
|
156
|
+
names: ['--split-at <ISO time>'],
|
|
157
|
+
description:
|
|
158
|
+
'add a before → after block by role (time share, cost share, req/session), each session on the side of its first request; an unparseable time is a usage error (exit 1).',
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
},
|
|
105
162
|
},
|
|
106
163
|
// The tool-calls-per-round-trip density the batching guard is measured on, aggregated across the
|
|
107
164
|
// recent lane sessions. Kit-only for the same reason `time` is: it reads
|
|
108
165
|
// kit's own lane transcripts and means nothing in a consumer project.
|
|
109
166
|
'time:density': {
|
|
110
|
-
script: '
|
|
167
|
+
script: 'tools/time/time-density-cli.ts',
|
|
111
168
|
description: 'Report tool calls per round trip across the recent lane sessions',
|
|
112
169
|
category: 'AI tools',
|
|
113
170
|
reference: ['[--lanes <n>] [--path <dir>]', 'maintainer', ['none']],
|
|
114
171
|
is_kit_only: true,
|
|
172
|
+
usage: {
|
|
173
|
+
examples: [{ arguments: '' }, { arguments: '--lanes 5', note: 'the five most recent lanes' }],
|
|
174
|
+
flags: [
|
|
175
|
+
{
|
|
176
|
+
names: ['--lanes <n>'],
|
|
177
|
+
description: 'average over a different count of recent qualifying lanes (default 10).',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
names: [PATH_DIR],
|
|
181
|
+
description:
|
|
182
|
+
"read another project's lane transcripts, as `josh time` does. Run it from the main checkout — a lane reads only its own transcript.",
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
},
|
|
115
186
|
},
|
|
116
187
|
retrospective: {
|
|
117
|
-
script: '
|
|
188
|
+
script: 'tools/retrospective/retrospective-cli.ts',
|
|
118
189
|
description:
|
|
119
190
|
"Aggregate a finished run's cost, review findings, observation ledger and events into one digest",
|
|
120
191
|
category: 'AI tools',
|
|
@@ -125,39 +196,11 @@ const AI_COMMANDS: Record<string, CommandEntry> = {
|
|
|
125
196
|
// run event stream — so it means nothing in a consumer project and is dropped from a consumer's
|
|
126
197
|
// help, through the same declaration `josh time` uses for the same reason.
|
|
127
198
|
is_kit_only: true,
|
|
199
|
+
usage: {
|
|
200
|
+
examples: [{ arguments: '', note: 'the digest for the run this checkout carries' }],
|
|
201
|
+
},
|
|
128
202
|
},
|
|
129
|
-
|
|
130
|
-
script: 'scripts/review/review-brief-cli.ts',
|
|
131
|
-
description:
|
|
132
|
-
'Print the whole /code-review invocation: level, what the gate already proved, target (--level-only for the level alone)',
|
|
133
|
-
category: 'AI tools',
|
|
134
|
-
reference: ['[--round <1|2>] | --level-only [--staged] [--json]', 'automation', ['files']],
|
|
135
|
-
},
|
|
136
|
-
'review:attest': {
|
|
137
|
-
script: 'scripts/review/review-attest-cli.ts',
|
|
138
|
-
description: 'Record, or verify, which checkout a /code-review actually read',
|
|
139
|
-
category: 'AI tools',
|
|
140
|
-
reference: ['<nonce> | --check', 'automation', ['files']],
|
|
141
|
-
},
|
|
142
|
-
'review:round2': {
|
|
143
|
-
script: 'scripts/review/review-round2-cli.ts',
|
|
144
|
-
description: 'Say whether the second /code-review round is due, or may be skipped entirely',
|
|
145
|
-
category: 'AI tools',
|
|
146
|
-
reference: ['[--round-1-closed] [--json]', 'automation', ['none']],
|
|
147
|
-
},
|
|
148
|
-
delegate: {
|
|
149
|
-
script: 'scripts/delegation/delegation-cli.ts',
|
|
150
|
-
description: 'Say whether a run step may go to a cheaper execution tier',
|
|
151
|
-
category: 'AI tools',
|
|
152
|
-
reference: ['<step> | --list', 'automation', ['none']],
|
|
153
|
-
},
|
|
154
|
-
fanout: {
|
|
155
|
-
script: 'scripts/delegation/fanout-cli.ts',
|
|
156
|
-
description:
|
|
157
|
-
'Say whether proposed implementation units are file-disjoint, so they may run in parallel',
|
|
158
|
-
category: 'AI tools',
|
|
159
|
-
reference: ['<unit-files> <unit-files> [<unit-files> …]', 'automation', ['none']],
|
|
160
|
-
},
|
|
203
|
+
...REVIEW_COMMANDS,
|
|
161
204
|
...RUN_COMMANDS,
|
|
162
205
|
'repo:party': {
|
|
163
206
|
script: 'scripts/discovery/repo-party-cli.ts',
|
|
@@ -165,82 +208,23 @@ const AI_COMMANDS: Record<string, CommandEntry> = {
|
|
|
165
208
|
'Say whether a repository is first-party or third-party by owner equality (computed, not judged)',
|
|
166
209
|
category: 'AI tools',
|
|
167
210
|
reference: ['[<owner/repo>]', 'automation', ['none']],
|
|
211
|
+
usage: {
|
|
212
|
+
examples: [
|
|
213
|
+
{ arguments: 'joshuafolkken/kit', note: '→ first-party (in the kit session)' },
|
|
214
|
+
{ arguments: 'sveltejs/kit', note: '→ third-party' },
|
|
215
|
+
{ arguments: '', note: "no argument: the session's own repository" },
|
|
216
|
+
],
|
|
217
|
+
},
|
|
168
218
|
},
|
|
169
|
-
|
|
170
|
-
script: 'scripts/run/merge/run-merge-cli.ts',
|
|
171
|
-
description:
|
|
172
|
-
'Collapse a backlogrun merge event into one call: confirm the child, do the post-merge steps, offer the next child',
|
|
173
|
-
category: 'AI tools',
|
|
174
|
-
reference: [ISSUE_WITH_OPTIONS, 'automation', ['git', 'network']],
|
|
175
|
-
},
|
|
176
|
-
'run:review': {
|
|
177
|
-
script: 'scripts/run/review/run-review-cli.ts',
|
|
178
|
-
description:
|
|
179
|
-
'Start the gate in the background and print the /code-review brief in one call so the two overlap (--join to join the gate and check its verdict)',
|
|
180
|
-
category: 'AI tools',
|
|
181
|
-
reference: ['[--join]', 'automation', ['processes', 'files']],
|
|
182
|
-
},
|
|
183
|
-
// The post-merge sequence a run closed on, folded into one call: commit the
|
|
184
|
-
// observation ledger, read the completion citations and decide the release scope. `observations:flush`,
|
|
185
|
-
// `issue:cite` and `release:scope` were three round trips re-billing the run's full context each.
|
|
186
|
-
'run:tail': {
|
|
187
|
-
script: 'scripts/run/run-tail-cli.ts',
|
|
188
|
-
description:
|
|
189
|
-
'Close a run in one call: return to the default branch, commit the observation ledger, read the citations, decide the release scope',
|
|
190
|
-
category: 'AI tools',
|
|
191
|
-
reference: ['[<issue> ...]', 'automation', ['git', 'network']],
|
|
192
|
-
},
|
|
193
|
-
// The commit-to-report region a run ships a change on, folded into one call:
|
|
194
|
-
// the gate, the commit/push/PR (`git -y`), the CI-wait merge (`followup`) and the report bookkeeping
|
|
195
|
-
// (`run:tail`) were four round trips re-billing the run's full context each. It stops at the first
|
|
196
|
-
// failed step and names it, so the run reads only the step to fix.
|
|
197
|
-
ship: {
|
|
198
|
-
script: 'scripts/run/ship/run-ship-cli.ts',
|
|
199
|
-
description:
|
|
200
|
-
'Ship a change in one call: gate, commit/push/PR, the CI-wait merge and the report bookkeeping, stopping at the first failed step',
|
|
201
|
-
category: 'AI tools',
|
|
202
|
-
reference: [
|
|
203
|
-
'"<title> #<N>" [<follow-up-N> ...] [--cite <N>] [--review] [--detach] [--body-file <path>] [--notify-message <text> | --notify-message-file <path>] | --log <N>',
|
|
204
|
-
'automation',
|
|
205
|
-
['git', 'network'],
|
|
206
|
-
],
|
|
207
|
-
},
|
|
208
|
-
'run:event': {
|
|
209
|
-
script: 'scripts/run/event/run-event-cli.ts',
|
|
210
|
-
description:
|
|
211
|
-
'Append to, read or watch the run’s append-only event stream (--append <kind> <text> | --from|--follow <n> | --watch [<n>] | --last)',
|
|
212
|
-
category: 'AI tools',
|
|
213
|
-
reference: [
|
|
214
|
-
'--append <kind> <text> | --from|--follow <n> | --watch [<n>] | --last',
|
|
215
|
-
'automation',
|
|
216
|
-
['files'],
|
|
217
|
-
],
|
|
218
|
-
},
|
|
219
|
-
'run:report': {
|
|
220
|
-
script: 'scripts/run/run-report-cli.ts',
|
|
221
|
-
description:
|
|
222
|
-
'Generate the session-facing report for this invocation from the run’s event stream (merges, parks, cuts) with the release tail — the same text josh notify sends',
|
|
223
|
-
category: 'AI tools',
|
|
224
|
-
reference: ['', 'automation', ['files', 'network']],
|
|
225
|
-
},
|
|
219
|
+
...SHIP_COMMANDS,
|
|
226
220
|
...LANE_COMMANDS,
|
|
227
|
-
...GUARD_COMMANDS,
|
|
228
221
|
'run:watcher:guard': {
|
|
229
222
|
script: 'scripts/run/run-watcher-guard-cli.ts',
|
|
230
223
|
description:
|
|
231
224
|
'Guard: exits non-zero when lane children are in-flight but the watcher has not pinged recently',
|
|
232
225
|
category: 'AI tools',
|
|
233
226
|
reference: ['', 'automation', ['none']],
|
|
234
|
-
|
|
235
|
-
'run:stranded': {
|
|
236
|
-
script: 'scripts/run/run-stranded-cli.ts',
|
|
237
|
-
// `.env` rather than the ambient environment: the strand notification needs the Telegram
|
|
238
|
-
// credentials, the same reason `run:wake` carries these flags.
|
|
239
|
-
tsx_arguments: OPTIONAL_ENV_FILE_FLAGS,
|
|
240
|
-
description:
|
|
241
|
-
'Report whether the run is stranded — owner gone, no successor holding the budget, and no supervisor watching',
|
|
242
|
-
category: 'AI tools',
|
|
243
|
-
reference: ['', 'automation', ['processes', 'notifications']],
|
|
227
|
+
usage: { examples: [BARE] },
|
|
244
228
|
},
|
|
245
229
|
...SPLIT_COMMANDS,
|
|
246
230
|
'oracle:list': {
|
|
@@ -248,15 +232,30 @@ const AI_COMMANDS: Record<string, CommandEntry> = {
|
|
|
248
232
|
description: 'Print the decision oracles — commands that answer a rule question mechanically',
|
|
249
233
|
category: 'AI tools',
|
|
250
234
|
reference: ['', 'automation', ['none']],
|
|
235
|
+
usage: { examples: [{ arguments: '' }] },
|
|
251
236
|
},
|
|
252
237
|
eval: {
|
|
253
|
-
script: '
|
|
238
|
+
script: 'tools/eval/eval-run.ts',
|
|
254
239
|
description: 'Run the agent rule-compliance scenarios (real Claude sessions)',
|
|
255
240
|
category: 'AI tools',
|
|
256
241
|
reference: ['[scenario...]', 'maintainer', ['processes', 'network']],
|
|
257
242
|
// Kit-only: it replays kit's own distributed rules against real Claude sessions, so it means
|
|
258
243
|
// nothing in a consumer project and is dropped from a consumer's help.
|
|
259
244
|
is_kit_only: true,
|
|
245
|
+
usage: {
|
|
246
|
+
examples: [
|
|
247
|
+
{ arguments: '', note: 'every scenario' },
|
|
248
|
+
{ arguments: 'consult-not-execute', note: 'one scenario by name' },
|
|
249
|
+
],
|
|
250
|
+
flags: [
|
|
251
|
+
{ names: ['JOSH_EVAL_MODEL'], description: 'the model to run against (default `sonnet`).' },
|
|
252
|
+
{
|
|
253
|
+
names: ['JOSH_EVAL_CONCURRENCY'],
|
|
254
|
+
description:
|
|
255
|
+
'how many sessions run at once (default `5`); a non-positive-integer value is refused.',
|
|
256
|
+
},
|
|
257
|
+
],
|
|
258
|
+
},
|
|
260
259
|
},
|
|
261
260
|
}
|
|
262
261
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { CommandEntry } from './josh-command-types'
|
|
2
|
+
|
|
3
|
+
const EXCLUDE = '--exclude <N>'
|
|
4
|
+
const JUST_MERGED = 'skip the issue just merged'
|
|
5
|
+
const EXCLUDE_1630 = '--exclude 1630'
|
|
6
|
+
const BUDGET = '--answer candidates --started "$started" --active "$active"'
|
|
2
7
|
|
|
3
8
|
// The `backlog:*` command registry, split out of `josh-commands-ai.ts` so that file stays under its
|
|
4
9
|
// 300-code-line limit, exactly as `LANE_COMMANDS` and `SPLIT_COMMANDS` were for the same reason.
|
|
@@ -11,27 +16,48 @@ const BACKLOG_COMMANDS: Record<string, CommandEntry> = {
|
|
|
11
16
|
backlogrun: {
|
|
12
17
|
script: 'scripts/backlog/backlogrun-cli.ts',
|
|
13
18
|
description:
|
|
14
|
-
'Start a backlogrun in the background and show its board; with one already running, only show the board, or replace it when it is idle and the invocation differs; --stop stops it',
|
|
19
|
+
'Start a backlogrun in the background and show its board; with one already running, only show the board, or replace it when it is idle and the invocation differs; --stop stops it; --restart replaces its processes and keeps its record',
|
|
15
20
|
category: 'AI tools',
|
|
16
21
|
reference: [
|
|
17
|
-
'[<n>...] [--only] [--max <n>] [--idle <minutes>] [--agent claude|codex] | --stop',
|
|
22
|
+
'[<n>...] [--only] [--max <n>] [--idle <minutes>] [--agent claude|codex] | --stop | --restart',
|
|
18
23
|
'developer',
|
|
19
24
|
['files', 'network', 'processes'],
|
|
20
25
|
],
|
|
26
|
+
usage: {
|
|
27
|
+
examples: [
|
|
28
|
+
{ arguments: '', note: 'start in Claude, then show the board' },
|
|
29
|
+
{ arguments: '3437 --only', note: 'the arguments go to backlogrun as typed' },
|
|
30
|
+
{ arguments: '--agent codex', note: 'start in Codex' },
|
|
31
|
+
{ arguments: '--stop', note: 'stop the run in this repository' },
|
|
32
|
+
{ arguments: '--restart', note: "replace the run's processes, keeping its record" },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
21
35
|
},
|
|
22
36
|
'backlog:next': {
|
|
23
|
-
script: 'scripts/backlog/backlog-next.ts',
|
|
37
|
+
script: 'scripts/backlog/backlog-next-main.ts',
|
|
24
38
|
description:
|
|
25
39
|
'Order the whole opted-in backlog: auto-ok issues and the descendants of auto-ok epics, transitively through nested epics',
|
|
26
40
|
category: 'AI tools',
|
|
27
41
|
reference: ['[--exclude <n>[,<n>...]] [--repo <owner/repo>]', 'automation', ['network']],
|
|
42
|
+
usage: {
|
|
43
|
+
examples: [{ arguments: '' }, { arguments: EXCLUDE_1630, note: JUST_MERGED }],
|
|
44
|
+
flags: [
|
|
45
|
+
{
|
|
46
|
+
names: [EXCLUDE],
|
|
47
|
+
description: 'drop issues from every bucket; comma-separated, repeatable.',
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
},
|
|
28
51
|
},
|
|
29
52
|
'backlog:offer': {
|
|
30
|
-
script: 'scripts/backlog/backlog-offer-
|
|
53
|
+
script: 'scripts/backlog/backlog-offer-main.ts',
|
|
31
54
|
description:
|
|
32
55
|
'Collapse a backlogrun loop-head event into one call: read backlog:next, ask backlog:budget, return the verdict and any issues to start',
|
|
33
56
|
category: 'AI tools',
|
|
34
57
|
reference: ['[options]', 'automation', ['files', 'network', 'processes']],
|
|
58
|
+
usage: {
|
|
59
|
+
examples: [{ arguments: '--started "$started" --active "$active" --running 2 --retries 1' }],
|
|
60
|
+
},
|
|
35
61
|
},
|
|
36
62
|
'backlog:drive': {
|
|
37
63
|
script: 'scripts/backlog/backlog-drive-cli.ts',
|
|
@@ -39,6 +65,9 @@ const BACKLOG_COMMANDS: Record<string, CommandEntry> = {
|
|
|
39
65
|
'Drive backlogrun through offer, launch and merge; restore this run’s lanes and report when complete',
|
|
40
66
|
category: 'AI tools',
|
|
41
67
|
reference: ['--owner <pid> [options]', 'automation', ['network']],
|
|
68
|
+
usage: {
|
|
69
|
+
examples: [{ arguments: '--owner "$PPID" [--max <n>] [--idle <minutes>] [--only]' }],
|
|
70
|
+
},
|
|
42
71
|
},
|
|
43
72
|
'backlog:plan': {
|
|
44
73
|
script: 'scripts/backlog/backlog-plan-cli.ts',
|
|
@@ -50,22 +79,59 @@ const BACKLOG_COMMANDS: Record<string, CommandEntry> = {
|
|
|
50
79
|
'automation',
|
|
51
80
|
['network'],
|
|
52
81
|
],
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
82
|
+
usage: {
|
|
83
|
+
examples: [
|
|
84
|
+
{ arguments: '' },
|
|
85
|
+
{ arguments: EXCLUDE_1630, note: 'after #1630 merged' },
|
|
86
|
+
{ arguments: '--waves', note: 'the run order, wave by wave' },
|
|
87
|
+
],
|
|
88
|
+
flags: [
|
|
89
|
+
{ names: [EXCLUDE], description: 'same exclusion as `backlog:next`.' },
|
|
90
|
+
{
|
|
91
|
+
names: ['--waves'],
|
|
92
|
+
description:
|
|
93
|
+
'print the order the run takes, wave by wave, assuming each wave merges before the next. Read-only.',
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
},
|
|
63
97
|
},
|
|
64
98
|
'backlog:budget': {
|
|
65
|
-
script: 'scripts/backlog/backlog-budget-
|
|
99
|
+
script: 'scripts/backlog/backlog-budget-main.ts',
|
|
66
100
|
description: 'Say whether a backlogrun may start more work, keep watching, or finish',
|
|
67
101
|
category: 'AI tools',
|
|
68
102
|
reference: ['[options]', 'automation', ['none']],
|
|
103
|
+
usage: {
|
|
104
|
+
examples: [
|
|
105
|
+
{ arguments: BUDGET },
|
|
106
|
+
{ arguments: '--answer exhausted --started "$started" --active "$active" --idle 60' },
|
|
107
|
+
{ arguments: `${BUDGET} --merged 3 --running 2 --max 5` },
|
|
108
|
+
],
|
|
109
|
+
flags: [
|
|
110
|
+
{
|
|
111
|
+
names: ['--answer <candidates|exhausted|blocked|parked|unreadable|untriaged>'],
|
|
112
|
+
description: "`backlog:next`'s answer, mapped.",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
names: ['--started', '--active'],
|
|
116
|
+
description:
|
|
117
|
+
'when the invocation began / when it last had work (required unless the watch is off).',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
names: ['--idle <minutes>'],
|
|
121
|
+
description:
|
|
122
|
+
'once nothing can proceed, keep polling this long, counted from `--active` (default 480, 8 hours; `--idle 0` turns the watch off).',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
names: ['--max <count>'],
|
|
126
|
+
description:
|
|
127
|
+
'issues one invocation may take (default unlimited); `--merged` and `--running` count against it.',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
names: ['--json'],
|
|
131
|
+
description: 'collapse verdict and reason into `{"budget": "<verdict>", "reason": "…"}`.',
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
69
135
|
},
|
|
70
136
|
}
|
|
71
137
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
@@ -11,6 +11,7 @@ const CLONE_COMMANDS: Record<string, CommandEntry> = {
|
|
|
11
11
|
'Count code duplication across files and first-party repositories, printing each clone as file:line pairs',
|
|
12
12
|
category: 'AI tools',
|
|
13
13
|
reference: ['', 'automation', ['files']],
|
|
14
|
+
usage: { examples: [{ arguments: '' }] },
|
|
14
15
|
},
|
|
15
16
|
}
|
|
16
17
|
/* eslint-enable @typescript-eslint/naming-convention */
|