@joshuafolkken/kit 1.1471.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 +6 -6
- package/.claude/skills/epic-commands/SKILL.md +26 -77
- package/.claude/skills/epic-commands/epic-bundle.md +12 -6
- package/.claude/skills/epic-commands/execution-waves.md +1 -2
- package/.claude/skills/verify-ui/SKILL.md +1 -2
- package/.claude/skills/workflow-commands/SKILL.md +12 -14
- package/.claude/skills/workflow-commands/background-commands.md +8 -12
- package/.claude/skills/workflow-commands/backlogrun-child.md +13 -18
- package/.claude/skills/workflow-commands/backlogrun-handoff-report.md +7 -25
- package/.claude/skills/workflow-commands/backlogrun-lanes.md +23 -28
- package/.claude/skills/workflow-commands/backlogrun-park.md +16 -31
- package/.claude/skills/workflow-commands/backlogrun-progress.md +12 -21
- package/.claude/skills/workflow-commands/backlogrun-recovery.md +12 -12
- package/.claude/skills/workflow-commands/backlogrun-steps.md +12 -20
- package/.claude/skills/workflow-commands/backlogrun.md +32 -51
- package/.claude/skills/workflow-commands/chain-rule.md +18 -11
- package/.claude/skills/workflow-commands/delegation.md +13 -8
- package/.claude/skills/workflow-commands/entry-sequence.md +10 -12
- package/.claude/skills/workflow-commands/followup.md +10 -35
- package/.claude/skills/workflow-commands/fullrun-steps.md +38 -49
- package/.claude/skills/workflow-commands/fullrun.md +6 -8
- package/.claude/skills/workflow-commands/halfrun.md +20 -32
- package/.claude/skills/workflow-commands/into-target.md +1 -2
- package/.claude/skills/workflow-commands/issue-comments.md +19 -15
- package/.claude/skills/workflow-commands/issue-scout.md +5 -4
- package/.claude/skills/workflow-commands/kickoff.md +24 -23
- package/.claude/skills/workflow-commands/latest-gate.md +9 -18
- package/.claude/skills/workflow-commands/needs-human-review.md +11 -19
- package/.claude/skills/workflow-commands/observation-filing.md +4 -50
- package/.claude/skills/workflow-commands/observation-ledger.md +5 -10
- package/.claude/skills/workflow-commands/pre-gate-cut.md +22 -44
- package/.claude/skills/workflow-commands/prerequisite.md +11 -18
- package/.claude/skills/workflow-commands/progress-watcher.md +3 -8
- package/.claude/skills/workflow-commands/prrun.md +6 -12
- package/.claude/skills/workflow-commands/retrospective.md +5 -5
- package/.claude/skills/workflow-commands/split-assessment.md +14 -4
- package/.claude/skills/workflow-commands/target-repository.md +1 -2
- package/.claude/skills/workflow-commands/working-tree-hold.md +11 -13
- package/.codex/hooks.json +6 -6
- package/.github/actions/setup-node/action.yml +10 -1
- 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 +121 -11
- package/.github/workflows/publish.yml +10 -3
- package/.github/workflows/sonar-qube.yml +1 -0
- package/.prettierignore +2 -0
- package/.vscode/tasks.json +1 -2
- package/CLAUDE.md +4 -8
- package/README.md +4 -2
- package/SECURITY.md +1 -1
- package/cspell/index.yaml +7 -0
- package/dist/CLAUDE.md +4 -8
- package/dist/commands/document-read-cli.js +882 -0
- package/dist/commands/{document-section-cli.js → document-section-main.js} +137 -62
- 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-AS74OU3D.js → chunk-PT5R6UJD.js} +4582 -2118
- package/dist/hooks/chunk-TUIFS5E7.js +72 -0
- package/dist/hooks/{chunk-723HKZO5.js → chunk-VWWCFGWK.js} +1 -1
- package/dist/hooks/{chunk-E7OIKX5Z.js → chunk-WR2KQAYZ.js} +1863 -382
- package/dist/hooks/{chunk-KC5AK2GF.js → chunk-XGBNSWEI.js} +248 -46
- package/dist/hooks/chunk-YCDOIR3I.js +3456 -0
- package/dist/hooks/codex-hook-adapter.js +10 -19
- package/dist/hooks/format-edited.js +5 -5
- package/dist/hooks/inputs.json +436 -257
- package/dist/hooks/pretool-guard.js +7 -22
- package/dist/hooks/session-lang.js +380 -42
- package/dist/hooks/stop-guard.js +8711 -782
- package/dist/josh.js +5263 -997
- 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 +8 -4
- package/package.json +17 -53
- package/pnpm-workspace.yaml +4 -2
- package/prompts/coding-standards.md +1 -1
- package/prompts/collaboration-workflow/file-edits.md +1 -9
- package/prompts/collaboration-workflow/gh-rest.md +1 -2
- package/prompts/collaboration-workflow/issue-citation.md +2 -4
- package/prompts/collaboration-workflow/issue-template.md +42 -17
- package/prompts/collaboration-workflow/lane-instructions.md +34 -0
- package/prompts/collaboration-workflow/measurement.md +37 -0
- package/prompts/collaboration-workflow/operating-rules.md +6 -12
- package/prompts/collaboration-workflow/output-bounds.md +4 -9
- package/prompts/collaboration-workflow/overview.md +1 -1
- package/prompts/collaboration-workflow/plan-comment.md +3 -42
- package/prompts/collaboration-workflow/principles.md +19 -8
- package/prompts/collaboration-workflow/report-format.md +37 -57
- package/prompts/collaboration-workflow/residency.md +12 -8
- package/prompts/collaboration-workflow/rule-delivery.md +3 -11
- package/prompts/collaboration-workflow/shell-body.md +8 -18
- package/prompts/collaboration-workflow/turn-batching.md +4 -6
- package/prompts/collaboration-workflow/upstream-interrupt.md +16 -6
- package/prompts/collaboration-workflow/wip-cap.md +7 -7
- package/prompts/collaboration-workflow.md +4 -7
- package/prompts/refactoring.md +1 -1
- package/prompts/review-rubric.md +1 -2
- package/prompts/review.md +45 -26
- package/prompts/testing-guide.md +10 -45
- package/scripts/agent/agent-argv.ts +20 -4
- package/scripts/agent/agent-event.ts +15 -15
- package/scripts/agent/agent-exit-record.ts +13 -1
- package/scripts/agent/agent-role-profile.ts +101 -45
- package/scripts/agent/agent-safe-text.ts +60 -0
- package/scripts/agent/api-auth.ts +41 -0
- package/scripts/agent/api-outage.ts +1 -1
- package/scripts/agent/claude-agent-argv.ts +14 -0
- package/scripts/agent/codex-agent-argv.ts +2 -0
- package/scripts/agent/lane-instructions.ts +144 -0
- 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 +6 -7
- 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 +54 -7
- 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 +39 -8
- 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 +69 -0
- 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 +137 -18
- 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 +2 -10
- package/scripts/delegation/investigation-guard.ts +15 -73
- package/scripts/delegation/investigation-reads.ts +3 -5
- 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 +9 -6
- package/scripts/document/document-scan.ts +1 -1
- package/scripts/document/document-section-cli.ts +17 -13
- package/scripts/document/document-section-main.ts +12 -0
- package/scripts/document/entry-read-budget.ts +2 -2
- package/scripts/document/read-set-cli.ts +4 -1
- package/scripts/epic/epic-audit-cli.ts +12 -6
- package/scripts/epic/epic-audit-orphans.ts +5 -8
- package/scripts/epic/epic-audit.ts +52 -1
- package/scripts/epic/epic-bundle-apply.ts +137 -0
- package/scripts/epic/epic-bundle-cli.ts +32 -121
- package/scripts/epic/epic-bundle-evidence.ts +49 -26
- package/scripts/epic/epic-bundle-format.ts +116 -0
- package/scripts/epic/epic-bundle-main.ts +17 -0
- package/scripts/epic/epic-bundle-referenced.ts +14 -3
- package/scripts/epic/epic-bundle.ts +17 -9
- 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 +31 -60
- 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 +73 -0
- package/scripts/gate/check-reuse.ts +141 -0
- 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 +150 -119
- package/scripts/gate/core-wait-record.ts +48 -0
- package/scripts/gate/core-wait.ts +162 -0
- package/scripts/gate/core-weights.ts +86 -0
- package/scripts/gate/free-cores.ts +72 -0
- package/scripts/gate/gate-ledger.ts +49 -7
- package/scripts/gate/gate-plan.ts +44 -15
- package/scripts/gate/gate-report.ts +29 -4
- package/scripts/gate/gate-run-steps.ts +195 -0
- package/scripts/gate/gate-skip.ts +12 -2
- package/scripts/gate/gate-steps.ts +12 -1
- package/scripts/gate/held-mark.ts +55 -0
- package/scripts/gate/input-fingerprint.ts +42 -0
- package/scripts/gate/machine-capacity.ts +124 -31
- package/scripts/gate/moved-paths.ts +67 -0
- package/scripts/gate/pre-commit-type-check.ts +14 -1
- 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 +65 -129
- 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-rest.ts +1 -0
- package/scripts/gh/git-gh-issue-write.ts +77 -17
- 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/gh/git-pr.ts +13 -1
- 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 +78 -0
- package/scripts/git/main-merge.ts +39 -14
- 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 +5 -16
- 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 +118 -0
- package/scripts/hooks/pre-push-unit.ts +4 -2
- package/scripts/hooks/pretool-guard-cli.ts +1 -8
- package/scripts/hooks/pretool-guard.ts +57 -69
- package/scripts/hooks/reserved-run.ts +67 -8
- package/scripts/hooks/run-hook.sh +18 -11
- package/scripts/hooks/shell-rules-notice.ts +37 -0
- package/scripts/hooks/stop-actions.ts +185 -0
- package/scripts/hooks/stop-guard.ts +72 -27
- package/scripts/init/hook-command-rewrite.ts +19 -5
- package/scripts/init/hook-launch.ts +15 -12
- 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 +60 -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 +33 -22
- package/scripts/issue/issue-cite-main.ts +12 -0
- package/scripts/issue/issue-classification.ts +13 -8
- 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 +7 -13
- 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 +19 -25
- 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/markdown-section.ts +19 -5
- 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 +82 -0
- package/scripts/josh/file-map-stamp.ts +49 -16
- package/scripts/josh/hook-decision.ts +32 -20
- package/scripts/josh/josh-command-map.ts +6 -1
- package/scripts/josh/josh-command-types.ts +65 -13
- package/scripts/josh/josh-commands-agent-hooks.ts +83 -0
- package/scripts/josh/josh-commands-ai.ts +169 -157
- 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 +31 -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 +112 -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 +149 -6
- package/scripts/josh/josh-logic.ts +11 -27
- package/scripts/josh/josh.ts +14 -5
- package/scripts/josh/package-directory.ts +18 -0
- 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 +19 -22
- package/scripts/lane/lane-check-stats.ts +97 -0
- package/scripts/lane/lane-child-invocation.ts +43 -4
- 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 +27 -6
- package/scripts/lane/lane-gap-stats.ts +156 -0
- package/scripts/lane/lane-guard-policy.ts +2 -2
- package/scripts/lane/lane-handoff.ts +76 -1
- package/scripts/lane/lane-held-stats.ts +129 -0
- package/scripts/lane/lane-install.ts +16 -15
- 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 +108 -97
- package/scripts/lane/lane-limit-cli.ts +19 -9
- package/scripts/lane/lane-measure-cli.ts +58 -10
- 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-preserve.ts +29 -1
- 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 +33 -10
- package/scripts/lane/lane-residents.ts +162 -0
- package/scripts/lane/lane-restart.ts +26 -27
- 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 +160 -0
- package/scripts/lane/lane-session-broker.ts +134 -134
- 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 +72 -0
- package/scripts/lane/lane-withdraw.ts +183 -0
- 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 +14 -5
- 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 +72 -33
- package/scripts/lint/lint-related-scope.ts +33 -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 +12 -11
- 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 +4 -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-check.ts +61 -0
- package/scripts/review/acceptance-map.ts +206 -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 +82 -16
- 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 +67 -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 +90 -3
- 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 +8 -0
- package/scripts/rules/firing-point.ts +6 -5
- package/scripts/rules/git-argv.ts +72 -14
- package/scripts/rules/git-force.ts +12 -2
- package/scripts/rules/guard-remedy.ts +121 -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 +76 -7
- 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/last-prompt.ts +50 -5
- package/scripts/rules/oracle-consulted.ts +10 -0
- package/scripts/rules/oracle-firing.ts +1 -0
- package/scripts/rules/oracle-list-cli.ts +7 -0
- package/scripts/rules/permission-guards.ts +3 -0
- package/scripts/rules/piped-verification.ts +4 -2
- 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 +12 -28
- package/scripts/rules/rule-rewrite.ts +114 -0
- package/scripts/rules/rule-value-cache.ts +4 -9
- package/scripts/rules/rule-value-cli.ts +51 -32
- package/scripts/rules/rule-value.ts +8 -2
- package/scripts/rules/shell-segments.ts +50 -0
- package/scripts/rules/stop-decision.ts +77 -0
- package/scripts/rules/stop-rule-rows.ts +64 -0
- package/scripts/rules/stop-rules.ts +150 -51
- package/scripts/rules/tail-commands.ts +15 -1
- 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 -30
- package/scripts/run/board/run-board-closed.ts +8 -2
- 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 +119 -31
- package/scripts/run/board/run-board-header.ts +86 -21
- 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 +118 -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 +240 -61
- 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 +153 -13
- package/scripts/run/board/run-board-reason.ts +238 -45
- 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 -47
- 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 +125 -0
- package/scripts/run/board/run-board-render.ts +206 -259
- package/scripts/run/board/run-board-roots.ts +54 -0
- package/scripts/run/board/run-board-row-yield.ts +10 -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 +23 -29
- package/scripts/run/board/run-board-status.ts +206 -79
- package/scripts/run/board/run-board-thanks-read.ts +2 -2
- package/scripts/run/board/run-board-tick.ts +123 -104
- 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-cli.ts +3 -2
- package/scripts/run/cut/run-cut-handoff.ts +2 -2
- package/scripts/run/cut/run-cut-report.ts +16 -0
- package/scripts/run/detached-launch.ts +23 -4
- package/scripts/run/entry/run-entry-cli.ts +8 -1
- 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 +7 -10
- package/scripts/run/event/run-event-scope.ts +20 -2
- package/scripts/run/event/run-event-stream-emit.ts +78 -11
- package/scripts/run/event/run-event-stream.ts +37 -7
- 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-hold-session.ts +46 -0
- package/scripts/run/hold/run-hold.ts +7 -1
- package/scripts/run/hold/run-stop-notify.ts +183 -0
- package/scripts/run/launch-priority.ts +32 -0
- package/scripts/run/merge/run-merge-auth.ts +31 -0
- package/scripts/run/merge/run-merge-cli.ts +72 -107
- 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 +123 -0
- package/scripts/run/merge/run-merge-steps.ts +128 -83
- package/scripts/run/merge/run-merge.ts +53 -40
- 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 +61 -30
- package/scripts/run/run-next.ts +1 -1
- package/scripts/run/run-parent-cut-hook.ts +2 -2
- package/scripts/run/run-poll-hook.ts +157 -0
- 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-cli.ts +22 -15
- package/scripts/run/run-step-section.ts +85 -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 +67 -151
- package/scripts/run/ship/run-ship-detach.ts +27 -7
- package/scripts/run/ship/run-ship-infra-retry.ts +59 -0
- package/scripts/run/ship/run-ship-next.ts +27 -3
- package/scripts/run/ship/run-ship-overlap.ts +232 -0
- 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 +102 -27
- package/scripts/run/ship/run-ship-preflight.ts +161 -30
- 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 +123 -15
- package/scripts/run/ship/run-ship-review-steps.ts +105 -149
- 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-context.ts +206 -0
- package/scripts/run/ship/run-ship-stop-text.ts +11 -6
- package/scripts/run/ship/run-ship-sync.ts +57 -12
- 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 +55 -6
- 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 +54 -21
- 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 +71 -137
- 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 +126 -14
- package/scripts/time-runtime/time-spans.ts +1 -0
- package/scripts/time-runtime/time-tool-call.ts +7 -0
- 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 +10 -3
- 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-43ZHT22P.js +0 -3495
- package/dist/hooks/chunk-CDY4NFQG.js +0 -15
- package/dist/hooks/chunk-EUMACUK2.js +0 -2038
- package/dist/hooks/chunk-H5HVWYXK.js +0 -359
- package/dist/hooks/chunk-IIGFYXKC.js +0 -7104
- package/dist/hooks/chunk-IX6TTTI6.js +0 -95
- package/dist/hooks/chunk-J47HU5H5.js +0 -237
- package/dist/hooks/chunk-K4EOONYM.js +0 -45
- package/dist/hooks/chunk-K4LMBQC2.js +0 -68
- package/dist/hooks/chunk-SHGPANFB.js +0 -56
- package/dist/hooks/chunk-YHBZAJSV.js +0 -79
- package/dist/hooks/chunk-YYPI7SJZ.js +0 -131
- package/dist/hooks/duplicate-read-guard.js +0 -30
- package/dist/hooks/investigation-guard.js +0 -32
- 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/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 -282
- package/scripts/rules/rule-registry.ts +0 -109
- package/scripts/run/run-stranded-cli.ts +0 -27
|
@@ -8,9 +8,6 @@ mark the step done. Read this file in full, in the same turn, before filing.
|
|
|
8
8
|
drained, *before* the idle watch, so the watch picks up what it files; a run that stops without
|
|
9
9
|
draining — the failure guard, `--idle 0` — still prints it at the stop position. Kit-only.
|
|
10
10
|
|
|
11
|
-
Rationale: `docs/maintainers/retrospective-rationale.md` → "Why the retrospective is read at its step";
|
|
12
|
-
provenance: `docs/maintainers/retrospective-rationale.md` → "Where each rule came from".
|
|
13
|
-
|
|
14
11
|
## The digest is read, not skimmed
|
|
15
12
|
|
|
16
13
|
The command `run:step` prints folds four existing measurements into one digest — it adds none:
|
|
@@ -30,9 +27,12 @@ and anything the run surfaced that lives outside it).
|
|
|
30
27
|
**The filing condition is the existing depth test, unchanged** (`observation-filing.md` → "The depth
|
|
31
28
|
test"). What cannot pass it is not filed — not a shortfall, just not yet a finding.
|
|
32
29
|
|
|
30
|
+
**A cost regression is filed.** The digest's `File a cost regression: …` line passes the depth test as
|
|
31
|
+
printed — measured, with the command it names as the reproduction — and ranks first: one Issue names
|
|
32
|
+
every regressed row, and the scout keeps a repeat sighting from filing twice.
|
|
33
|
+
|
|
33
34
|
**Order what passes by effect, and file the top two.** **The third onward is stacked in the observation
|
|
34
35
|
ledger** (drained by `pnpm josh observations:flush`). **File nothing when nothing passes.**
|
|
35
|
-
`docs/maintainers/retrospective-rationale.md` → "Why the top two are a selection, not a ration".
|
|
36
36
|
|
|
37
37
|
**Exclude what is already filed or already done, through the existing scout** (`issue-scout.md`): file
|
|
38
38
|
with `pnpm josh issue:file`, which scouts first — an **open** candidate covering it means do not file, a
|
|
@@ -44,7 +44,7 @@ with `pnpm josh issue:file`, which scouts first — an **open** candidate coveri
|
|
|
44
44
|
`- 人の判断: 不要`, so `issue:file` applies the label (with the run label
|
|
45
45
|
`prompts/collaboration-workflow/issue-template.md` requires). **`backlogrun-steps.md` → "What one
|
|
46
46
|
invocation approves" is that judgement's single source.** Every brake still counts these filings: the
|
|
47
|
-
ten-per-
|
|
47
|
+
ten-per-run ceiling, the WIP cap, `--max` and the 135,000-token session budget.
|
|
48
48
|
|
|
49
49
|
**Close with `pnpm josh run:carry --retrospective --summary "<result>" --owner "$PPID"`.** It marks the
|
|
50
50
|
carry record so `run:step` prints `stop` from then on; the mark survives a session cut and is removed at
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# The split assessment — one definition, every entry point
|
|
2
2
|
|
|
3
3
|
Before any entry point starts work on an Issue, decide whether the request is **one** deliverable or
|
|
4
|
-
several.
|
|
5
|
-
`docs/maintainers/split-assessment-rationale.md` → "Why the default is not to split" and
|
|
6
|
-
`docs/maintainers/split-assessment-rationale.md` → "Why diff size is not a reason to split".
|
|
4
|
+
several. Every command applies it identically.
|
|
7
5
|
|
|
8
6
|
## The question
|
|
9
7
|
|
|
@@ -39,6 +37,18 @@ threshold that splits more is required to say why the round-1 measurement does n
|
|
|
39
37
|
files and lines, test files excluded, and answers `split` / `single` on size alone. Separability stays
|
|
40
38
|
a judgement, so its `split` is the size condition met, not a decision to divide.
|
|
41
39
|
|
|
40
|
+
## Over the guide before the gate
|
|
41
|
+
|
|
42
|
+
**Trigger: `pnpm josh main:merge` prints a `split notice`** — the branch's diff, untracked files
|
|
43
|
+
included, answers `split` on `split:assess`. Take one action before `pnpm josh run:cut <N>`
|
|
44
|
+
(`chain-rule.md` step 1) — the cut ends the turn, and the resumed run does not see the notice:
|
|
45
|
+
|
|
46
|
+
- Keep it one Issue — it must land together: record why in one Issue comment, citing the counts.
|
|
47
|
+
- Carve the rest out — the unimplemented part merges separately: `pnpm josh issue:file` it, narrow
|
|
48
|
+
this Issue's acceptance criteria to this branch, then gate.
|
|
49
|
+
|
|
50
|
+
The notice never stops the run and never creates an epic.
|
|
51
|
+
|
|
42
52
|
## What each entry point does with the answer
|
|
43
53
|
|
|
44
54
|
| Entry | Single | Two or more |
|
|
@@ -61,7 +71,7 @@ condition to evaluate.** **An entry point that applies a different condition is
|
|
|
61
71
|
is the non-closing home for the split rationale.
|
|
62
72
|
|
|
63
73
|
**Each split child is filed with the `route:split` label** —
|
|
64
|
-
`pnpm josh issue:file "<sub-title>" --body-file <body-file> --
|
|
74
|
+
`pnpm josh issue:file "<sub-title>" --body-file <body-file> --route split` — and judged for
|
|
65
75
|
`auto-ok` like any filing (`kickoff.md` → "Words typed after `new`").
|
|
66
76
|
|
|
67
77
|
## Promote, or create a new epic
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**This file is the prefix's single source, read at its point of use — the moment an entry is typed with an
|
|
4
4
|
`owner/repo#` prefix (or a short `repo#` name), not at any entry.** A run given a bare `#N` or `new`
|
|
5
|
-
targets the session's own repository and never reaches it.
|
|
6
|
-
points here. Rationale: `docs/maintainers/target-repository-rationale.md` → "Why the prefix reads as it does".
|
|
5
|
+
targets the session's own repository and never reaches it.
|
|
7
6
|
|
|
8
7
|
Every entry point takes the target repository in front of the Issue reference. Without it the target
|
|
9
8
|
is the repository the session runs in.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# The working-tree hold — one run per tree
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
release the tree. History: `docs/maintainers/working-tree-hold-rationale.md` → "Where each rule came from".
|
|
3
|
+
Read the moment a run is about to claim or release the tree.
|
|
5
4
|
|
|
6
5
|
**Ask `pnpm josh run:hold` before anything else, and obey what it answers** — the first call of
|
|
7
6
|
`fullrun` and `halfrun`, before the title, before `pnpm josh ms`, and **before a `new` entry files its
|
|
@@ -23,8 +22,7 @@ pnpm josh run:release --force # a record left behind by a run that has ended
|
|
|
23
22
|
|
|
24
23
|
**The unit is the working tree** — one branch, one index and one uncommitted diff, and a linked work
|
|
25
24
|
tree has its own three. **`backlogrun`'s per-repository guard (`epic-busy.ts`) is a separate layer.** **`kickoff`
|
|
26
|
-
does not claim it
|
|
27
|
-
tree").
|
|
25
|
+
does not claim it.**
|
|
28
26
|
|
|
29
27
|
**Claim it in the checkout the run will edit** — a cross-repository `fullrun owner/repo#N` resolves
|
|
30
28
|
that checkout from `pnpm josh doctor` **first** (a read) and claims there.
|
|
@@ -34,17 +32,17 @@ that checkout from `pnpm josh doctor` **first** (a read) and claims there.
|
|
|
34
32
|
josh run:release --force` is the one spelling that removes a record this run did not write**, and the
|
|
35
33
|
`busy` message names it.
|
|
36
34
|
|
|
37
|
-
**Release what the claim recorded.** A `#N` entry releases `<N
|
|
38
|
-
Issue existed**, so it
|
|
39
|
-
|
|
40
|
-
`
|
|
35
|
+
**Release what the claim recorded.** A `#N` entry releases `<N>`. A **`new` entry claimed before its
|
|
36
|
+
Issue existed**, so once it files `<N>` it runs `pnpm josh run:hold --adopt <N>`, which re-keys the
|
|
37
|
+
record to `<N>` and applies `in-progress`; from then on every stop releases with `run:release <N>`.
|
|
38
|
+
A `new` stop before filing releases with the **bare** form.
|
|
41
39
|
|
|
42
40
|
**Releasing is the run's, not a person's memory.** `pnpm josh followup` releases on a merged run; an
|
|
43
41
|
abandoned record expires after 8 hours. **A stop that leaves the tree clean releases it explicitly** —
|
|
44
42
|
a split, a prerequisite or a third-party target ends with `pnpm josh run:release <N>` (bare for a `new`
|
|
45
|
-
entry
|
|
46
|
-
`needs-human-review` stop:
|
|
47
|
-
|
|
43
|
+
entry not yet adopted). **`halfrun`'s stop before commit keeps the hold** (`run:hold <N>
|
|
44
|
+
--halfrun-stop`), as does a `needs-human-review` stop (`run:hold <N> --human-review-stop`); each is
|
|
45
|
+
refused until `pnpm josh test:e2e` answered green on this tree, and sends its own `confirmation`. **`fullrun #<N>` of the same issue adopts a `halfrun`'s kept hold** — "The halfrun resume"
|
|
48
46
|
below. **An expired record over a tree that still has uncommitted changes does not free it** — it
|
|
49
47
|
answers `busy`; only an expired record over a clean tree is replaced.
|
|
50
48
|
|
|
@@ -56,10 +54,10 @@ run:hold` / `josh run:release`".
|
|
|
56
54
|
|
|
57
55
|
**`fullrun #<N>` or `prrun #<N>` after a `halfrun` stop resumes it instead of claiming.** The stop is
|
|
58
56
|
**recorded, never inferred**: the `halfrun` ends with `pnpm josh run:hold <N> --halfrun-stop`, marking
|
|
59
|
-
its record (
|
|
57
|
+
its record (a `halfrun new` adopted its unnumbered one at filing) — a `halfrun` still implementing or a
|
|
60
58
|
`backlogrun` child leaves the same dirty tree and is not adopted. On a marked hold for `#<N>`,
|
|
61
59
|
`run:entry` asks the session budget, adopts the hold and prints `entry #<N> — resume: halfrun`. **Skip
|
|
62
|
-
the title, the plan, the split assessment, `pnpm josh ms`, `latest:
|
|
60
|
+
the title, the plan, the split assessment, `pnpm josh ms`, `latest:if-required` and the implementation**;
|
|
63
61
|
re-read the issue (`pnpm josh issue:read <N>`), run the gate **in full** from the refactor
|
|
64
62
|
(`chain-rule.md` → "Run the review-to-merge chain"), and ship as any `fullrun` does.
|
|
65
63
|
|
package/.codex/hooks.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"hooks": [
|
|
7
7
|
{
|
|
8
8
|
"type": "command",
|
|
9
|
-
"command": "project_root=\"$(
|
|
9
|
+
"command": "project_root=\"${CLAUDE_PROJECT_DIR:-$( (unset GIT_ALTERNATE_OBJECT_DIRECTORIES GIT_COMMON_DIR GIT_DIR GIT_INDEX_FILE GIT_NAMESPACE GIT_OBJECT_DIRECTORY GIT_WORK_TREE; git rev-parse --show-toplevel 2>/dev/null) || git rev-parse --show-toplevel)}\" && cd \"$project_root\" && sh scripts/hooks/run-hook.sh audit-provision",
|
|
10
10
|
"timeout": 180
|
|
11
11
|
}
|
|
12
12
|
]
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"hooks": [
|
|
18
18
|
{
|
|
19
19
|
"type": "command",
|
|
20
|
-
"command": "project_root=\"$(
|
|
20
|
+
"command": "project_root=\"${CLAUDE_PROJECT_DIR:-$( (unset GIT_ALTERNATE_OBJECT_DIRECTORIES GIT_COMMON_DIR GIT_DIR GIT_INDEX_FILE GIT_NAMESPACE GIT_OBJECT_DIRECTORY GIT_WORK_TREE; git rev-parse --show-toplevel 2>/dev/null) || git rev-parse --show-toplevel)}\" && cd \"$project_root\" && sh scripts/hooks/run-hook.sh session-lang",
|
|
21
21
|
"timeout": 10
|
|
22
22
|
}
|
|
23
23
|
]
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
],
|
|
26
26
|
"PreToolUse": [
|
|
27
27
|
{
|
|
28
|
-
"matcher": "Bash|Edit|Read|Write|AskUserQuestion|apply_patch",
|
|
28
|
+
"matcher": "Bash|Edit|Read|Write|AskUserQuestion|Agent|Task|apply_patch",
|
|
29
29
|
"hooks": [
|
|
30
30
|
{
|
|
31
31
|
"type": "command",
|
|
32
|
-
"command": "project_root=\"$(
|
|
32
|
+
"command": "project_root=\"${CLAUDE_PROJECT_DIR:-$( (unset GIT_ALTERNATE_OBJECT_DIRECTORIES GIT_COMMON_DIR GIT_DIR GIT_INDEX_FILE GIT_NAMESPACE GIT_OBJECT_DIRECTORY GIT_WORK_TREE; git rev-parse --show-toplevel 2>/dev/null) || git rev-parse --show-toplevel)}\" && cd \"$project_root\" && sh scripts/hooks/run-hook.sh codex-hook-adapter pretool",
|
|
33
33
|
"timeout": 20
|
|
34
34
|
}
|
|
35
35
|
]
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"hooks": [
|
|
42
42
|
{
|
|
43
43
|
"type": "command",
|
|
44
|
-
"command": "project_root=\"$(
|
|
44
|
+
"command": "project_root=\"${CLAUDE_PROJECT_DIR:-$( (unset GIT_ALTERNATE_OBJECT_DIRECTORIES GIT_COMMON_DIR GIT_DIR GIT_INDEX_FILE GIT_NAMESPACE GIT_OBJECT_DIRECTORY GIT_WORK_TREE; git rev-parse --show-toplevel 2>/dev/null) || git rev-parse --show-toplevel)}\" && cd \"$project_root\" && sh scripts/hooks/run-hook.sh codex-hook-adapter posttool",
|
|
45
45
|
"timeout": 90
|
|
46
46
|
}
|
|
47
47
|
]
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"hooks": [
|
|
54
54
|
{
|
|
55
55
|
"type": "command",
|
|
56
|
-
"command": "project_root=\"$(
|
|
56
|
+
"command": "project_root=\"${CLAUDE_PROJECT_DIR:-$( (unset GIT_ALTERNATE_OBJECT_DIRECTORIES GIT_COMMON_DIR GIT_DIR GIT_INDEX_FILE GIT_NAMESPACE GIT_OBJECT_DIRECTORY GIT_WORK_TREE; git rev-parse --show-toplevel 2>/dev/null) || git rev-parse --show-toplevel)}\" && cd \"$project_root\" && sh scripts/hooks/run-hook.sh stop-guard",
|
|
57
57
|
"timeout": 20
|
|
58
58
|
}
|
|
59
59
|
]
|
|
@@ -22,11 +22,20 @@ inputs:
|
|
|
22
22
|
required: false
|
|
23
23
|
default: ''
|
|
24
24
|
|
|
25
|
+
# The exact version `'24'` resolved to on this runner (joshuafolkken/kit#4346). Runner images do not
|
|
26
|
+
# all carry the same patch release, and ESLint folds `process.version` into every cache entry, so a
|
|
27
|
+
# cache restored across two patch releases is cold; the ESLint cache key names this value.
|
|
28
|
+
outputs:
|
|
29
|
+
node-version:
|
|
30
|
+
description: The Node.js version installed, as actions/setup-node reports it (e.g. `v24.22.0`).
|
|
31
|
+
value: ${{ steps.setup-node.outputs.node-version }}
|
|
32
|
+
|
|
25
33
|
runs:
|
|
26
34
|
using: composite
|
|
27
35
|
steps:
|
|
28
36
|
- name: Setup Node.js
|
|
29
|
-
|
|
37
|
+
id: setup-node
|
|
38
|
+
uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
|
|
30
39
|
with:
|
|
31
40
|
node-version: '24'
|
|
32
41
|
registry-url: ${{ inputs.registry-url }}
|
|
@@ -49,7 +49,7 @@ runs:
|
|
|
49
49
|
echo "version=$version" >> "$GITHUB_OUTPUT"
|
|
50
50
|
|
|
51
51
|
- name: Setup pnpm
|
|
52
|
-
uses: pnpm/setup@
|
|
52
|
+
uses: pnpm/setup@a0881977cd8ea73b1ed212236c99ca10dcc80cf4 # v3.1.1
|
|
53
53
|
with:
|
|
54
54
|
version: ${{ steps.pnpm-version.outputs.version }}
|
|
55
55
|
runtime: ${{ inputs.runtime }}
|
package/.github/dependabot.yml
CHANGED
|
@@ -8,6 +8,18 @@ updates:
|
|
|
8
8
|
- '/.github/actions/*'
|
|
9
9
|
schedule:
|
|
10
10
|
interval: 'weekly'
|
|
11
|
+
# One pull request for every minor and patch bump. Separate pull requests that touch the same
|
|
12
|
+
# workflow file leave the later merge writing workflow content its head does not hold, which
|
|
13
|
+
# `GITHUB_TOKEN` may not, so GitHub withdraws its auto-merge (joshuafolkken/kit#4148). kit's own
|
|
14
|
+
# file only: the distributed `templates/dependabot.yml` stays ungrouped, because a consumer's
|
|
15
|
+
# auto-merge holds a whole pull request that touches an upstream-managed workflow.
|
|
16
|
+
groups:
|
|
17
|
+
github-actions:
|
|
18
|
+
update-types:
|
|
19
|
+
- 'minor'
|
|
20
|
+
- 'patch'
|
|
21
|
+
cooldown:
|
|
22
|
+
default-days: 3
|
|
11
23
|
# Version updates are disabled: `josh latest` runs at the start of every fullrun / halfrun /
|
|
12
24
|
# queue and already bumps npm dependencies to latest, so Dependabot's weekly PRs only duplicate
|
|
13
25
|
# it and were being closed unmerged after consuming a full CI run. `open-pull-requests-limit: 0`
|
|
@@ -21,3 +33,7 @@ updates:
|
|
|
21
33
|
schedule:
|
|
22
34
|
interval: 'weekly'
|
|
23
35
|
open-pull-requests-limit: 0
|
|
36
|
+
cooldown:
|
|
37
|
+
default-days: 3
|
|
38
|
+
exclude:
|
|
39
|
+
- 'vite'
|
package/.github/release.yml
CHANGED
package/.github/workflows/ci.yml
CHANGED
|
@@ -51,6 +51,8 @@ jobs:
|
|
|
51
51
|
contents: read
|
|
52
52
|
steps:
|
|
53
53
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
54
|
+
with:
|
|
55
|
+
persist-credentials: false
|
|
54
56
|
|
|
55
57
|
- name: Setup pnpm and install dependencies
|
|
56
58
|
uses: ./.github/actions/setup-pnpm
|
|
@@ -87,6 +89,8 @@ jobs:
|
|
|
87
89
|
steps:
|
|
88
90
|
- name: Checkout code
|
|
89
91
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
92
|
+
with:
|
|
93
|
+
persist-credentials: false
|
|
90
94
|
|
|
91
95
|
# The MCR image lags the npm publish by days, so a version-derived tag is not
|
|
92
96
|
# guaranteed to exist. Probe it first and fall back to a plain runner instead of
|
|
@@ -150,6 +154,8 @@ jobs:
|
|
|
150
154
|
pull-requests: read
|
|
151
155
|
outputs:
|
|
152
156
|
reuse: ${{ steps.prove.outputs.reuse }}
|
|
157
|
+
run-id: ${{ steps.prove.outputs.run-id }}
|
|
158
|
+
pull-number: ${{ steps.prove.outputs.pull-number }}
|
|
153
159
|
steps:
|
|
154
160
|
- name: Prove the pushed tree passed PR Checks
|
|
155
161
|
id: prove
|
|
@@ -217,6 +223,8 @@ jobs:
|
|
|
217
223
|
fi
|
|
218
224
|
|
|
219
225
|
echo 'reuse=true' >> "$GITHUB_OUTPUT"
|
|
226
|
+
echo "run-id=${run_id}" >> "$GITHUB_OUTPUT"
|
|
227
|
+
echo "pull-number=${pull_number}" >> "$GITHUB_OUTPUT"
|
|
220
228
|
echo "Reusing successful PR Checks for tree ${current_tree}."
|
|
221
229
|
|
|
222
230
|
# joshuafolkken/kit#1226 split the gate's four checks across two runners. The unit suite is the only
|
|
@@ -250,8 +258,10 @@ jobs:
|
|
|
250
258
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
251
259
|
with:
|
|
252
260
|
fetch-depth: 2
|
|
261
|
+
persist-credentials: false
|
|
253
262
|
|
|
254
263
|
- name: Setup Node.js
|
|
264
|
+
id: setup-node
|
|
255
265
|
uses: ./.github/actions/setup-node
|
|
256
266
|
with:
|
|
257
267
|
registry-url: 'https://npm.pkg.github.com'
|
|
@@ -273,11 +283,19 @@ jobs:
|
|
|
273
283
|
# first — so the cache tracks `main` instead of freezing on the first commit that hit the
|
|
274
284
|
# config-hash key and never re-saving. The config-hash body above still cold-invalidates on a
|
|
275
285
|
# rule edit exactly as before; the sha only ever adds a save, never suppresses one.
|
|
276
|
-
|
|
286
|
+
# joshuafolkken/kit#4346: ESLint hashes `process.version` into every entry, and runner
|
|
287
|
+
# images carry different Node.js patch releases for `'24'`. Restored across two of them,
|
|
288
|
+
# every entry was stale and lint ran cold (~340s against ~60s), so the resolved version
|
|
289
|
+
# leads every key and restore-key: each release keeps its own lineage.
|
|
290
|
+
# joshuafolkken/kit#4496: the key is not built from `scripts/gate/toolchain-inputs.ts`, the
|
|
291
|
+
# list every local reuse reads — the cache is restored before the install, with no tsx to run
|
|
292
|
+
# it. The lockfile and eslint config hashes move it with the two inputs ESLint's own
|
|
293
|
+
# per-entry check does not cover.
|
|
294
|
+
key: ${{ runner.os }}-eslint-cache-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('eslint.config.js', 'eslint/**/*.js') }}-${{ github.sha }}
|
|
277
295
|
restore-keys: |
|
|
278
|
-
${{ runner.os }}-eslint-cache-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('eslint.config.js', 'eslint/**/*.js') }}-
|
|
279
|
-
${{ runner.os }}-eslint-cache-${{ hashFiles('pnpm-lock.yaml') }}-
|
|
280
|
-
${{ runner.os }}-eslint-cache-
|
|
296
|
+
${{ runner.os }}-eslint-cache-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('eslint.config.js', 'eslint/**/*.js') }}-
|
|
297
|
+
${{ runner.os }}-eslint-cache-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('pnpm-lock.yaml') }}-
|
|
298
|
+
${{ runner.os }}-eslint-cache-${{ steps.setup-node.outputs.node-version }}-
|
|
281
299
|
|
|
282
300
|
# `.tsbuildinfo` and `.cspellcache` were not cached in CI at all, so the type check and spell
|
|
283
301
|
# check ran cold on every run. Both are content-addressed — `tsc` records its compiler options
|
|
@@ -360,6 +378,76 @@ jobs:
|
|
|
360
378
|
env:
|
|
361
379
|
JOSH_METRICS_BASE: HEAD^1
|
|
362
380
|
|
|
381
|
+
# joshuafolkken/kit#4449: a main push that reuses this run skips the job above, so it saves no
|
|
382
|
+
# ESLint cache, and a later pull request restored an entry several merges old. Since
|
|
383
|
+
# joshuafolkken/kit#4415 every entry whose imports changed since then is linted afresh — 1,180 to
|
|
384
|
+
# 2,281 of about 3,200 files at 38 to 58 changed ones. The cache this run leaves is the cache of
|
|
385
|
+
# the tree the push carries, so it is handed to `seed-eslint-cache` below rather than linted
|
|
386
|
+
# again there. The prefix is the cache key above without its sha; the seed job saves it under
|
|
387
|
+
# the push's sha, and the test pins the two together. The upload only saves time, so a
|
|
388
|
+
# transient artifact-service error must not turn this required job red; it continues on error.
|
|
389
|
+
- name: Write ESLint cache prefix
|
|
390
|
+
id: eslint-cache-prefix
|
|
391
|
+
if: github.event_name == 'pull_request'
|
|
392
|
+
env:
|
|
393
|
+
ESLINT_CACHE_PREFIX: ${{ runner.os }}-eslint-cache-${{ steps.setup-node.outputs.node-version }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('eslint.config.js', 'eslint/**/*.js') }}-
|
|
394
|
+
run: printf '%s\n' "${ESLINT_CACHE_PREFIX}" > eslint-cache-prefix
|
|
395
|
+
|
|
396
|
+
- name: Upload ESLint cache
|
|
397
|
+
if: github.event_name == 'pull_request'
|
|
398
|
+
continue-on-error: true
|
|
399
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
400
|
+
with:
|
|
401
|
+
name: eslint-cache-${{ github.event.pull_request.number }}
|
|
402
|
+
path: |
|
|
403
|
+
.eslintcache
|
|
404
|
+
eslint-cache-prefix
|
|
405
|
+
include-hidden-files: true
|
|
406
|
+
retention-days: 1
|
|
407
|
+
|
|
408
|
+
# joshuafolkken/kit#4449: the other half of the hand-off above. It runs only on a push that reused
|
|
409
|
+
# a pull request's Checks, reads that exact run's cache, and saves it under this push's sha, so the
|
|
410
|
+
# next pull request restores the cache of the tree it branched from. `actions/cache` misses on the
|
|
411
|
+
# fresh key and saves the downloaded file in its post step; the prefix is checked before it becomes
|
|
412
|
+
# a key. A missing artifact — a run from before this — or a prefix that is not a key saves nothing
|
|
413
|
+
# and leaves the push green; the next pull request then restores an older entry, as it did before.
|
|
414
|
+
seed-eslint-cache:
|
|
415
|
+
name: Seed ESLint Cache
|
|
416
|
+
needs: reuse-pr-checks
|
|
417
|
+
if: ${{ needs.reuse-pr-checks.outputs.reuse == 'true' }}
|
|
418
|
+
runs-on: ubuntu-latest
|
|
419
|
+
timeout-minutes: 2
|
|
420
|
+
permissions:
|
|
421
|
+
actions: read
|
|
422
|
+
steps:
|
|
423
|
+
- name: Download the reused run's ESLint cache
|
|
424
|
+
id: download
|
|
425
|
+
env:
|
|
426
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
427
|
+
REPOSITORY: ${{ github.repository }}
|
|
428
|
+
RUN_ID: ${{ needs.reuse-pr-checks.outputs.run-id }}
|
|
429
|
+
PULL_NUMBER: ${{ needs.reuse-pr-checks.outputs.pull-number }}
|
|
430
|
+
run: |
|
|
431
|
+
if ! gh run download "${RUN_ID}" --repo "${REPOSITORY}" --name "eslint-cache-${PULL_NUMBER}"; then
|
|
432
|
+
echo '::notice::The reused run left no ESLint cache; saving nothing.'
|
|
433
|
+
exit 0
|
|
434
|
+
fi
|
|
435
|
+
prefix=$(cat eslint-cache-prefix)
|
|
436
|
+
if ! printf '%s' "${prefix}" | grep -Eq '^[A-Za-z]+-eslint-cache-v[0-9.]+-[0-9a-f]+-[0-9a-f]+-$'; then
|
|
437
|
+
echo '::warning::The ESLint cache prefix is not a cache key; saving nothing.'
|
|
438
|
+
exit 0
|
|
439
|
+
fi
|
|
440
|
+
echo "prefix=${prefix}" >> "$GITHUB_OUTPUT"
|
|
441
|
+
|
|
442
|
+
- name: Save the ESLint cache under this push
|
|
443
|
+
id: save
|
|
444
|
+
if: steps.download.outputs.prefix != ''
|
|
445
|
+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
446
|
+
with:
|
|
447
|
+
path: |
|
|
448
|
+
.eslintcache
|
|
449
|
+
key: ${{ steps.download.outputs.prefix }}${{ github.sha }}
|
|
450
|
+
|
|
363
451
|
# The other half of the gate, on a runner of its own. A GitHub job is its own machine, so this job
|
|
364
452
|
# sets Node up again; the pnpm preamble is the shared `.github/actions/setup-pnpm` action
|
|
365
453
|
# (joshuafolkken/kit#2982), which `templates/workflows/ci.yml` calls the same way, so
|
|
@@ -374,16 +462,21 @@ jobs:
|
|
|
374
462
|
# its files over more machines. `fail-fast: false` keeps a red shard from cancelling the others,
|
|
375
463
|
# so one run reports every failing file. The `Checks` aggregate below reads `needs.unit.result`,
|
|
376
464
|
# which for a matrix is `success` only when every shard succeeded — no change there is needed.
|
|
465
|
+
# The shards split by the recorded per-file durations in `tools/test/unit-durations.json`, not by
|
|
466
|
+
# file count, so they finish together (`tools/test/duration-shard.ts`, joshuafolkken/kit#4467).
|
|
467
|
+
# Four shards, not three (joshuafolkken/kit#4573): balanced at three, each shard still ran its tests
|
|
468
|
+
# for 196–227 seconds and set the CI wait; a fourth cuts each slice by a quarter for about 12
|
|
469
|
+
# seconds of duplicated setup.
|
|
377
470
|
# Only kit shards: the distributed template runs the unit suite inside its single `checks` job,
|
|
378
471
|
# where a small consumer suite would pay the duplicated setup and could leave a shard with no file.
|
|
379
472
|
unit:
|
|
380
|
-
name: Unit Tests (${{ matrix.shard }}/
|
|
473
|
+
name: Unit Tests (${{ matrix.shard }}/4)
|
|
381
474
|
needs: reuse-pr-checks
|
|
382
475
|
if: ${{ !cancelled() && needs.reuse-pr-checks.outputs.reuse != 'true' }}
|
|
383
476
|
strategy:
|
|
384
477
|
fail-fast: false
|
|
385
478
|
matrix:
|
|
386
|
-
shard: [1, 2, 3]
|
|
479
|
+
shard: [1, 2, 3, 4]
|
|
387
480
|
runs-on: ubuntu-latest
|
|
388
481
|
timeout-minutes: 8
|
|
389
482
|
permissions:
|
|
@@ -392,6 +485,8 @@ jobs:
|
|
|
392
485
|
steps:
|
|
393
486
|
- name: Checkout code
|
|
394
487
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
488
|
+
with:
|
|
489
|
+
persist-credentials: false
|
|
395
490
|
|
|
396
491
|
- name: Setup Node.js
|
|
397
492
|
uses: ./.github/actions/setup-node
|
|
@@ -413,7 +508,7 @@ jobs:
|
|
|
413
508
|
# `scripts/ci/ci-yml-unit-job.test.ts` pins the command; the guard itself is
|
|
414
509
|
# `scripts/test/test-unit-guard.ts`.
|
|
415
510
|
- name: Run unit tests
|
|
416
|
-
run: pnpm josh test:unit --shard=${{ matrix.shard }}/
|
|
511
|
+
run: pnpm josh test:unit --shard=${{ matrix.shard }}/4
|
|
417
512
|
|
|
418
513
|
# One shard is enough: the check does not depend on which test files ran beside it.
|
|
419
514
|
- name: Verify optional ESLint consumer install
|
|
@@ -440,21 +535,30 @@ jobs:
|
|
|
440
535
|
# shell body is the pattern to keep out of a workflow regardless of the value's provenance.
|
|
441
536
|
checks:
|
|
442
537
|
name: Checks
|
|
443
|
-
needs: [reuse-pr-checks, static-checks, unit]
|
|
538
|
+
needs: [reuse-pr-checks, static-checks, unit, node-compat]
|
|
444
539
|
if: always()
|
|
445
540
|
runs-on: ubuntu-latest
|
|
446
541
|
timeout-minutes: 2
|
|
447
542
|
permissions: {}
|
|
448
543
|
steps:
|
|
544
|
+
# `node-compat` is aggregated here rather than added to the ruleset: the ruleset holds the one
|
|
545
|
+
# `Checks` context, and a matrix check name would drift with every Node version bump. It runs on
|
|
546
|
+
# the reuse path too, so its result is required on both paths (joshuafolkken/kit#4545).
|
|
449
547
|
- name: Require both halves of the verification gate
|
|
450
548
|
env:
|
|
451
549
|
REUSE_RESULT: ${{ needs.reuse-pr-checks.outputs.reuse }}
|
|
452
550
|
STATIC_RESULT: ${{ needs.static-checks.result }}
|
|
453
551
|
UNIT_RESULT: ${{ needs.unit.result }}
|
|
552
|
+
NODE_RESULT: ${{ needs.node-compat.result }}
|
|
454
553
|
run: |
|
|
455
554
|
echo "Reuse PR Checks: ${REUSE_RESULT}"
|
|
456
555
|
echo "Static Checks: ${STATIC_RESULT}"
|
|
457
556
|
echo "Unit Tests: ${UNIT_RESULT}"
|
|
557
|
+
echo "Node builds: ${NODE_RESULT}"
|
|
558
|
+
if [ "${NODE_RESULT}" != 'success' ]; then
|
|
559
|
+
echo "::error::the Node build matrix did not pass"
|
|
560
|
+
exit 1
|
|
561
|
+
fi
|
|
458
562
|
if [ "${STATIC_RESULT}" = 'success' ] && [ "${UNIT_RESULT}" = 'success' ]; then
|
|
459
563
|
exit 0
|
|
460
564
|
fi
|
|
@@ -476,7 +580,7 @@ jobs:
|
|
|
476
580
|
|
|
477
581
|
- name: Upload PR Checks evidence
|
|
478
582
|
if: github.event_name == 'pull_request'
|
|
479
|
-
uses: actions/upload-artifact@
|
|
583
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
480
584
|
with:
|
|
481
585
|
name: pr-checks-${{ github.event.pull_request.number }}
|
|
482
586
|
path: pr-checks-evidence
|
|
@@ -491,9 +595,11 @@ jobs:
|
|
|
491
595
|
steps:
|
|
492
596
|
- name: Checkout code
|
|
493
597
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
598
|
+
with:
|
|
599
|
+
persist-credentials: false
|
|
494
600
|
|
|
495
601
|
- name: Run security audit
|
|
496
|
-
uses: google/osv-scanner-action/osv-scanner-action@
|
|
602
|
+
uses: google/osv-scanner-action/osv-scanner-action@b1d267aea5211fa648d9d442fa64b90dbdcbdd36 # v2.7.0
|
|
497
603
|
with:
|
|
498
604
|
scan-args: --lockfile=pnpm-lock.yaml
|
|
499
605
|
|
|
@@ -508,6 +614,8 @@ jobs:
|
|
|
508
614
|
steps:
|
|
509
615
|
- name: Checkout code
|
|
510
616
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
617
|
+
with:
|
|
618
|
+
persist-credentials: false
|
|
511
619
|
|
|
512
620
|
# The same rule `scripts/test/test-e2e-guard.ts` applies locally, so a suite that runs under
|
|
513
621
|
# `pnpm josh test:e2e` is a suite CI runs too. Every `*.e2e.{ts,js}` outside `node_modules`
|
|
@@ -561,6 +669,8 @@ jobs:
|
|
|
561
669
|
steps:
|
|
562
670
|
- name: Checkout code
|
|
563
671
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
672
|
+
with:
|
|
673
|
+
persist-credentials: false
|
|
564
674
|
|
|
565
675
|
- name: Setup Node.js
|
|
566
676
|
uses: ./.github/actions/setup-node
|
|
@@ -601,7 +711,7 @@ jobs:
|
|
|
601
711
|
# marked red on the run and a missing report is never silent. This job is skipped while kit
|
|
602
712
|
# ships no E2E specs; the guard is here so adding one cannot quietly turn the gap live.
|
|
603
713
|
- name: Upload test results
|
|
604
|
-
uses: actions/upload-artifact@
|
|
714
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
605
715
|
if: always()
|
|
606
716
|
continue-on-error: true
|
|
607
717
|
with:
|
|
@@ -23,6 +23,8 @@ jobs:
|
|
|
23
23
|
contents: read
|
|
24
24
|
steps:
|
|
25
25
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
26
|
+
with:
|
|
27
|
+
persist-credentials: false
|
|
26
28
|
|
|
27
29
|
- uses: ./.github/actions/setup-node
|
|
28
30
|
|
|
@@ -34,7 +36,7 @@ jobs:
|
|
|
34
36
|
|
|
35
37
|
# Kept as long as GitHub lets a run be re-run, so re-running a failed publish job still finds
|
|
36
38
|
# the tarball instead of forcing a full re-run that republishes an existing version.
|
|
37
|
-
- uses: actions/upload-artifact@
|
|
39
|
+
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
38
40
|
with:
|
|
39
41
|
name: kit-package
|
|
40
42
|
path: ${{ runner.temp }}/kit.tgz
|
|
@@ -54,6 +56,8 @@ jobs:
|
|
|
54
56
|
packages: write
|
|
55
57
|
steps:
|
|
56
58
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
59
|
+
with:
|
|
60
|
+
persist-credentials: false
|
|
57
61
|
|
|
58
62
|
- uses: ./.github/actions/setup-node
|
|
59
63
|
with:
|
|
@@ -83,7 +87,7 @@ jobs:
|
|
|
83
87
|
env:
|
|
84
88
|
LATEST: ${{ steps.registry-latest.outputs.latest }}
|
|
85
89
|
|
|
86
|
-
- uses: actions/download-artifact@
|
|
90
|
+
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
87
91
|
with:
|
|
88
92
|
name: kit-package
|
|
89
93
|
path: ${{ runner.temp }}
|
|
@@ -110,6 +114,8 @@ jobs:
|
|
|
110
114
|
id-token: write
|
|
111
115
|
steps:
|
|
112
116
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
117
|
+
with:
|
|
118
|
+
persist-credentials: false
|
|
113
119
|
|
|
114
120
|
- uses: ./.github/actions/setup-node
|
|
115
121
|
with:
|
|
@@ -126,7 +132,7 @@ jobs:
|
|
|
126
132
|
with:
|
|
127
133
|
cache: 'false'
|
|
128
134
|
|
|
129
|
-
- uses: actions/download-artifact@
|
|
135
|
+
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
130
136
|
with:
|
|
131
137
|
name: kit-package
|
|
132
138
|
path: ${{ runner.temp }}
|
|
@@ -167,6 +173,7 @@ jobs:
|
|
|
167
173
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
168
174
|
with:
|
|
169
175
|
fetch-depth: 0
|
|
176
|
+
persist-credentials: false
|
|
170
177
|
|
|
171
178
|
- uses: ./.github/actions/setup-node
|
|
172
179
|
|
|
@@ -40,6 +40,7 @@ jobs:
|
|
|
40
40
|
if: env.SONAR_TOKEN != ''
|
|
41
41
|
with:
|
|
42
42
|
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
|
43
|
+
persist-credentials: false
|
|
43
44
|
# The dependencies are installed before the scan, on a push as well as on a pull request:
|
|
44
45
|
# `tsconfig.sonar.json` extends `@joshuafolkken/kit/tsconfig/base`, which a consumer resolves
|
|
45
46
|
# only from node_modules, so a scan ahead of the install read a config it could not load
|
package/.prettierignore
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
!.claude/.claude-plugin/
|
|
7
7
|
# Prettier pads every Markdown table column, which grows the skills past their byte budgets (joshuafolkken/kit#3325)
|
|
8
8
|
.claude/**/*.md
|
|
9
|
+
# Generated one-row-per-command table, pinned by its generator's test; padding would multiply its size (#4162)
|
|
10
|
+
docs/josh-command-catalog.md
|
|
9
11
|
|
|
10
12
|
# Package Managers
|
|
11
13
|
package-lock.json
|
package/.vscode/tasks.json
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
"command": "pnpm josh run:board",
|
|
8
8
|
"isBackground": true,
|
|
9
9
|
"problemMatcher": [],
|
|
10
|
-
"presentation": { "reveal": "always", "panel": "dedicated", "focus": false }
|
|
11
|
-
"runOptions": { "runOn": "folderOpen" }
|
|
10
|
+
"presentation": { "reveal": "always", "panel": "dedicated", "focus": false }
|
|
12
11
|
}
|
|
13
12
|
]
|
|
14
13
|
}
|