@joshuafolkken/kit 1.1514.0 → 1.2114.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/agents/reviewer-verification.md +19 -0
- package/.claude/agents/reviewer.md +19 -0
- package/.claude/settings.json +5 -6
- package/.claude/skills/dependency-update/SKILL.md +9 -10
- 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 +11 -11
- package/.claude/skills/workflow-commands/background-commands.md +13 -10
- package/.claude/skills/workflow-commands/backlogrun-child.md +12 -8
- package/.claude/skills/workflow-commands/backlogrun-handoff-report.md +7 -25
- package/.claude/skills/workflow-commands/backlogrun-lanes.md +18 -14
- package/.claude/skills/workflow-commands/backlogrun-park.md +18 -24
- package/.claude/skills/workflow-commands/backlogrun-progress.md +4 -5
- package/.claude/skills/workflow-commands/backlogrun-recovery.md +6 -6
- package/.claude/skills/workflow-commands/backlogrun-steps.md +12 -11
- package/.claude/skills/workflow-commands/backlogrun.md +1 -1
- package/.claude/skills/workflow-commands/chain-rule.md +43 -28
- package/.claude/skills/workflow-commands/delegation.md +11 -10
- package/.claude/skills/workflow-commands/entry-sequence.md +10 -10
- package/.claude/skills/workflow-commands/followup.md +16 -36
- package/.claude/skills/workflow-commands/fullrun-steps.md +38 -47
- package/.claude/skills/workflow-commands/fullrun.md +3 -3
- package/.claude/skills/workflow-commands/halfrun.md +17 -25
- package/.claude/skills/workflow-commands/issue-comments.md +25 -16
- package/.claude/skills/workflow-commands/issue-fold-existing.md +2 -1
- 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 +6 -4
- package/.claude/skills/workflow-commands/pre-gate-cut.md +22 -37
- package/.claude/skills/workflow-commands/prerequisite.md +11 -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 +2 -2
- package/.claude/skills/workflow-commands/split-assessment.md +15 -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 +10 -17
- package/.github/dependabot.yml +32 -0
- package/.github/release.yml +0 -2
- package/.github/workflows/auto-tag.yml +45 -0
- package/.github/workflows/ci.yml +267 -17
- package/.github/workflows/dependabot-auto-merge.yml +63 -4
- package/.github/workflows/production.yml +8 -0
- package/.github/workflows/publish.yml +67 -46
- package/.github/workflows/sonar-qube.yml +1 -0
- package/.prettierignore +2 -0
- package/.vscode/settings.json +19 -0
- package/.vscode/tasks.json +1 -2
- package/CLAUDE.md +7 -18
- package/README.md +4 -2
- package/SECURITY.md +3 -3
- package/dist/CLAUDE.md +7 -18
- package/dist/commands/document-read-cli.js +883 -0
- package/dist/commands/{document-section-cli.js → document-section-main.js} +81 -38
- package/dist/commands/read-set-cli.js +1927 -0
- package/dist/commands/run-prep-main.js +21174 -0
- package/dist/commands/run-step-cli.js +27733 -0
- package/dist/config-merge/index.js +5 -1
- package/dist/hooks/audit-provision.js +39 -36
- package/dist/hooks/chunk-3GKE653K.js +6204 -0
- package/dist/hooks/chunk-45CJJOO7.js +1243 -0
- package/dist/hooks/chunk-5PM2JRGV.js +7780 -0
- package/dist/hooks/chunk-7SIUNQXK.js +3591 -0
- package/dist/hooks/chunk-CQD4LJE6.js +4858 -0
- package/dist/hooks/{chunk-723HKZO5.js → chunk-OPSRGWFU.js} +1 -1
- package/dist/hooks/chunk-UJ3FPMMM.js +628 -0
- package/dist/hooks/chunk-VVNYJWEI.js +30 -0
- package/dist/hooks/chunk-Z6DQJKH3.js +2806 -0
- package/dist/hooks/codex-hook-adapter.js +10 -22
- package/dist/hooks/format-edited.js +4 -6
- package/dist/hooks/inputs.json +460 -308
- package/dist/hooks/pretool-guard.js +8 -25
- package/dist/hooks/session-lang.js +135 -299
- package/dist/hooks/stop-guard.js +6496 -1799
- package/dist/josh.js +7412 -4228
- package/dist/self-sync-guard/index.js +74 -10
- package/dist/version/index.js +276 -407
- package/eslint/base.js +1 -1
- package/eslint/rules/comment-why-only.js +108 -0
- package/lefthook/base.yml +3 -1
- package/package.json +23 -54
- package/pnpm-workspace.yaml +4 -2
- package/prompts/coding-standards.md +2 -2
- package/prompts/collaboration-workflow/file-edits.md +14 -17
- package/prompts/collaboration-workflow/issue-citation.md +0 -4
- package/prompts/collaboration-workflow/issue-template.md +54 -18
- package/prompts/collaboration-workflow/lane-instructions.md +3 -2
- package/prompts/collaboration-workflow/measurement.md +44 -0
- package/prompts/collaboration-workflow/operating-rules.md +15 -8
- package/prompts/collaboration-workflow/output-bounds.md +6 -7
- package/prompts/collaboration-workflow/plan-comment.md +3 -42
- package/prompts/collaboration-workflow/principles.md +14 -0
- package/prompts/collaboration-workflow/report-format.md +31 -60
- package/prompts/collaboration-workflow/residency.md +3 -2
- package/prompts/collaboration-workflow/rule-delivery.md +13 -1
- 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 +15 -5
- package/prompts/collaboration-workflow/wip-cap.md +4 -2
- package/prompts/collaboration-workflow.md +3 -7
- package/prompts/refactoring.md +1 -1
- package/prompts/review-rubric.md +9 -2
- package/prompts/review.md +65 -36
- package/prompts/testing-guide.md +9 -43
- package/scripts/agent/agent-argv.ts +14 -16
- package/scripts/agent/agent-event.ts +15 -15
- package/scripts/agent/agent-exit-record.ts +13 -1
- package/scripts/agent/agent-provider.ts +138 -0
- package/scripts/agent/agent-role-profile.ts +108 -156
- package/scripts/agent/agent-safe-text.ts +20 -5
- package/scripts/agent/api-auth.ts +41 -0
- package/scripts/agent/api-outage.ts +1 -1
- package/scripts/agent/api-usage-limit.ts +65 -0
- package/scripts/agent/claude-agent-argv.ts +19 -9
- package/scripts/agent/codex-agent-argv.ts +118 -22
- package/scripts/agent/usage-limit-reset.ts +179 -0
- package/scripts/auth/claude-token-output.ts +2 -2
- package/scripts/auto-ok/auto-ok-author.ts +53 -0
- package/scripts/auto-ok/auto-ok-cli.ts +25 -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 +5 -4
- 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 +118 -28
- package/scripts/backlog/backlog-drive-hold.ts +162 -0
- package/scripts/backlog/backlog-drive-idle.ts +161 -0
- package/scripts/backlog/backlog-drive-judge.ts +25 -0
- package/scripts/backlog/backlog-drive-launch-pass.ts +90 -0
- package/scripts/backlog/backlog-drive-launch.ts +8 -2
- package/scripts/backlog/backlog-drive-memory.ts +126 -0
- package/scripts/backlog/backlog-drive-named-offer.ts +73 -35
- package/scripts/backlog/backlog-drive-named.ts +81 -13
- package/scripts/backlog/backlog-drive-offer-argv.ts +3 -8
- package/scripts/backlog/backlog-drive-paused.ts +170 -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 +96 -131
- package/scripts/backlog/backlog-gate-scope.ts +61 -0
- package/scripts/backlog/backlog-measure-close.ts +112 -0
- package/scripts/backlog/backlog-next-main.ts +16 -0
- package/scripts/backlog/backlog-next-shared.ts +73 -0
- package/scripts/backlog/backlog-next.ts +78 -56
- 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 +62 -10
- package/scripts/backlog/backlog-plan-cli.ts +4 -1
- package/scripts/backlog/backlog-plan-comment.ts +81 -0
- package/scripts/backlog/backlog-plan-read.ts +22 -5
- package/scripts/backlog/backlog-plan.ts +18 -4
- package/scripts/backlog/backlog-pool.ts +60 -22
- package/scripts/backlog/backlog-rank.ts +70 -15
- package/scripts/backlog/backlog-ready.ts +112 -30
- package/scripts/backlog/backlog-stalled-detect.ts +110 -36
- package/scripts/backlog/backlog-stalled.ts +52 -16
- package/scripts/backlog/backlog-wait-cause.ts +86 -0
- package/scripts/backlog/backlog-waves.ts +56 -15
- package/scripts/backlog/backlogrun-args.ts +19 -7
- package/scripts/backlog/backlogrun-cli.ts +19 -5
- package/scripts/backlog/backlogrun-launch.ts +13 -4
- 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/context-cut-payback.ts +27 -25
- package/scripts/cost-runtime/cost-blocks.ts +22 -37
- package/scripts/cost-runtime/cost-cli.ts +67 -29
- package/scripts/cost-runtime/cost-main.ts +12 -0
- package/scripts/cost-runtime/cost-pricing.ts +9 -0
- package/scripts/cost-runtime/cost-transcript.ts +1 -0
- package/scripts/cost-runtime/cost-verdict.ts +4 -1
- package/scripts/delegation/delegation-policy.ts +18 -5
- package/scripts/delegation/duplicate-read-guard.ts +1 -8
- package/scripts/delegation/investigation-guard.ts +12 -8
- package/scripts/delegation/investigation-reads.ts +48 -27
- package/scripts/dependabot/dependabot-cooldown.ts +195 -0
- package/scripts/discovery/repo-discovery.ts +24 -6
- package/scripts/discovery/repo-party.ts +80 -20
- package/scripts/discovery/session-owner-pin.ts +51 -0
- package/scripts/doctor/doctor-consumer.ts +2 -5
- package/scripts/document/capped-print.ts +1 -1
- package/scripts/document/command-reference-line-budget.ts +42 -0
- package/scripts/document/document-byte-budget.ts +18 -6
- package/scripts/document/document-checks.ts +20 -0
- package/scripts/document/document-ratchet-check.ts +101 -0
- 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/document/document-section.ts +1 -0
- package/scripts/document/entry-read-budget.ts +7 -3
- package/scripts/document/issue-citation-budget.ts +94 -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 +33 -2
- 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 +6 -0
- package/scripts/epic/epic-graph.ts +8 -1
- package/scripts/epic/epic-issue.ts +8 -2
- 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-rank.ts +5 -0
- 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-check.ts +62 -0
- package/scripts/exports/unused-members-cli.ts +6 -51
- package/scripts/followup/followup-checks-event.ts +8 -3
- package/scripts/followup/followup-ci-path.ts +67 -0
- package/scripts/followup/followup-coderabbit-retrigger.ts +261 -0
- package/scripts/followup/followup-coderabbit-wait.ts +85 -0
- package/scripts/followup/followup-failed-tests.ts +160 -0
- package/scripts/followup/followup-job-needs.ts +100 -0
- package/scripts/followup/followup-job-rerun.ts +303 -0
- package/scripts/followup/followup-main-move.ts +113 -0
- package/scripts/followup/followup-review-gates.ts +81 -0
- package/scripts/followup/git-followup-finish.ts +43 -11
- package/scripts/followup/git-followup-pending.ts +3 -3
- package/scripts/followup/git-followup-stages.ts +52 -12
- package/scripts/followup/git-followup-workflow.ts +19 -66
- package/scripts/followup/git-pr-followup-checks.ts +55 -16
- package/scripts/followup/git-pr-followup-wrapup.ts +32 -18
- package/scripts/followup/git-pr-followup.ts +96 -33
- package/scripts/fresh-machine/fresh-machine-cli.ts +1 -1
- package/scripts/fresh-machine/fresh-machine-run.ts +8 -8
- package/scripts/fresh-machine/fresh-machine-script.ts +5 -9
- package/scripts/fresh-machine/specs/kit-test-backlogrun-python.json +2 -2
- package/scripts/fresh-machine/specs/kit-test-backlogrun.json +3 -3
- package/scripts/gate/busy-average.ts +90 -0
- package/scripts/gate/check-cpu.ts +60 -0
- package/scripts/gate/check-inputs.ts +39 -95
- package/scripts/gate/check-related-pinned.ts +43 -0
- package/scripts/gate/check-related-reuse.ts +64 -0
- package/scripts/gate/check-related-section.ts +57 -0
- package/scripts/gate/check-related-unplanned.ts +34 -0
- package/scripts/gate/check-related.ts +265 -0
- package/scripts/gate/check-reuse.ts +33 -54
- package/scripts/gate/command-memory.ts +192 -0
- package/scripts/gate/core-admission.ts +236 -28
- package/scripts/gate/core-budget-timing.ts +51 -0
- package/scripts/gate/core-budget.ts +111 -100
- package/scripts/gate/core-wait-record.ts +49 -0
- package/scripts/gate/core-wait.ts +62 -7
- package/scripts/gate/core-weights.ts +94 -0
- package/scripts/gate/free-cores.ts +27 -4
- package/scripts/gate/gate-labels.ts +46 -0
- package/scripts/gate/gate-ledger.ts +44 -8
- package/scripts/gate/gate-plan.ts +130 -78
- package/scripts/gate/gate-report.ts +23 -9
- package/scripts/gate/gate-run-steps.ts +77 -9
- package/scripts/gate/gate-skip.ts +57 -8
- package/scripts/gate/gate-static-group.ts +60 -0
- package/scripts/gate/gate-steps.ts +14 -2
- package/scripts/gate/gate-tree.ts +4 -2
- package/scripts/gate/hook-gate-reuse.ts +19 -2
- package/scripts/gate/input-fingerprint.ts +42 -0
- package/scripts/gate/machine-capacity.ts +65 -31
- package/scripts/gate/metrics-totals.ts +59 -0
- package/scripts/gate/moved-paths.ts +67 -0
- package/scripts/gate/project-checks.ts +5 -12
- package/scripts/gate/scoped-green.ts +76 -19
- package/scripts/gate/since-green.ts +70 -0
- package/scripts/gate/structural-checks.ts +96 -0
- package/scripts/gate/toolchain-inputs.ts +115 -0
- package/scripts/gate/verification-gate.ts +70 -32
- package/scripts/gate/verification-inputs.ts +265 -0
- package/scripts/gate/verification-tail.ts +52 -0
- package/scripts/gh/gh-author-association.ts +117 -9
- package/scripts/gh/git-ai-review-scan.ts +5 -3
- package/scripts/gh/git-gh-api-path.ts +26 -2
- package/scripts/gh/git-gh-branch-rules.ts +73 -0
- package/scripts/gh/git-gh-comments-unreadable.ts +36 -0
- package/scripts/gh/git-gh-conditional.ts +5 -2
- package/scripts/gh/git-gh-exec.ts +32 -2
- package/scripts/gh/git-gh-issue-read.ts +7 -1
- package/scripts/gh/git-gh-issue-rest.ts +1 -0
- package/scripts/gh/git-gh-issue-write.ts +75 -31
- package/scripts/gh/git-gh-issue.ts +19 -8
- package/scripts/gh/git-gh-poll-read.ts +89 -0
- package/scripts/gh/git-gh-pr-auto-merge.ts +21 -9
- package/scripts/gh/git-gh-pr-graphql-state.ts +56 -0
- package/scripts/gh/git-gh-pr-read.ts +74 -13
- package/scripts/gh/git-gh-pr-rest.ts +4 -2
- package/scripts/gh/git-gh-pr-snapshot.ts +48 -20
- package/scripts/gh/git-gh-pr-too-large.ts +20 -0
- package/scripts/gh/git-gh-pr.ts +48 -22
- package/scripts/gh/git-gh-retry.ts +141 -0
- package/scripts/gh/git-pr-ai-review.ts +15 -6
- package/scripts/gh/git-pr-checks-eval.ts +42 -7
- package/scripts/gh/git-pr-checks-parse.ts +39 -9
- package/scripts/gh/git-pr-checks.ts +5 -5
- package/scripts/gh/git-pr-merge-checked.ts +80 -0
- package/scripts/git/base-tree.ts +49 -2
- package/scripts/git/change-base.ts +4 -10
- package/scripts/git/changed-file-scope.ts +6 -4
- package/scripts/git/changed-paths-sync.ts +63 -0
- package/scripts/git/changed-paths.ts +34 -2
- package/scripts/git/git-common-directory.ts +11 -1
- package/scripts/git/git-diff-reads.ts +91 -20
- package/scripts/git/git-error.ts +9 -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 +30 -7
- package/scripts/git/git-spawn.ts +1 -2
- package/scripts/git/git-status.ts +4 -4
- package/scripts/git/git-worktree.ts +13 -0
- package/scripts/git/gone-branch.ts +4 -1
- package/scripts/git/main-merge-budget-conflict.ts +89 -0
- package/scripts/git/main-merge-guard.ts +55 -18
- package/scripts/git/main-merge-main.ts +12 -0
- package/scripts/git/main-merge-regenerate.ts +59 -25
- package/scripts/git/main-merge.ts +77 -13
- package/scripts/git/main-sync-main.ts +12 -0
- package/scripts/git/main-sync.ts +0 -9
- package/scripts/git/no-base-checkout.ts +127 -0
- package/scripts/git/stash/git-stash.ts +38 -6
- 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 +86 -0
- package/scripts/git/stash/stash-push-main.ts +12 -0
- package/scripts/hooks/batch-guard.ts +38 -27
- package/scripts/hooks/check-commit-message-main.ts +8 -0
- package/scripts/hooks/check-commit-message.ts +4 -7
- package/scripts/hooks/edited-cspell.ts +37 -11
- package/scripts/hooks/format-edited-file.ts +29 -25
- package/scripts/hooks/lane-plan-guard.ts +50 -0
- package/scripts/hooks/pre-commit-lint-switch.ts +9 -0
- package/scripts/hooks/pre-commit-lint.ts +44 -4
- package/scripts/hooks/pre-push-related-switch.ts +10 -0
- package/scripts/hooks/pre-push-unit.ts +77 -9
- package/scripts/hooks/pretool-guard-cli.ts +1 -8
- package/scripts/hooks/pretool-guard.ts +34 -19
- package/scripts/hooks/reserved-run.ts +81 -10
- package/scripts/hooks/run-hook.sh +30 -6
- package/scripts/hooks/shell-rules-notice.ts +37 -0
- package/scripts/hooks/step-zero-notice.ts +6 -1
- package/scripts/hooks/stop-actions.ts +5 -36
- package/scripts/hooks/stop-guard.ts +20 -15
- package/scripts/init/distributed-paths.ts +1 -0
- package/scripts/init/hook-command-rewrite.ts +23 -5
- package/scripts/init/hook-launch.ts +17 -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/aggregation-split.ts +52 -0
- package/scripts/issue/defect-origin-cli.ts +106 -0
- package/scripts/issue/defect-origin-line.ts +78 -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 +38 -179
- 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/effect-audit-cli.ts +178 -0
- package/scripts/issue/effect-audit.ts +185 -0
- package/scripts/issue/expected-effect-lint.ts +65 -9
- package/scripts/issue/git-next-issues.ts +5 -0
- package/scripts/issue/issue-already-done-cli.ts +62 -0
- package/scripts/issue/issue-body-or-comment.ts +74 -0
- package/scripts/issue/issue-cite-cli.ts +1 -12
- package/scripts/issue/issue-cite-main.ts +12 -0
- package/scripts/issue/issue-classification.ts +13 -7
- package/scripts/issue/issue-closing-pr.ts +8 -1
- 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 +102 -0
- package/scripts/issue/issue-file-cap.ts +58 -0
- package/scripts/issue/issue-file-cli.ts +131 -36
- package/scripts/issue/issue-file-deferral.ts +52 -0
- package/scripts/issue/issue-file-fold.ts +29 -10
- package/scripts/issue/issue-file-interrupt.ts +85 -0
- package/scripts/issue/issue-file-lane-hint.ts +30 -0
- package/scripts/issue/issue-file.ts +56 -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 +97 -89
- package/scripts/issue/issue-lint-cli.ts +29 -12
- package/scripts/issue/issue-lint-main.ts +12 -0
- package/scripts/issue/issue-measured-cli.ts +34 -0
- package/scripts/issue/issue-measured-close.ts +58 -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 +114 -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-cli.ts +60 -0
- package/scripts/issue/issue-priority-raise.ts +55 -0
- package/scripts/issue/issue-priority.ts +282 -0
- package/scripts/issue/issue-rank.ts +27 -4
- package/scripts/issue/issue-read-cli.ts +35 -16
- package/scripts/issue/issue-read-main.ts +12 -0
- package/scripts/issue/issue-read.ts +62 -13
- 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 +213 -0
- package/scripts/issue/issue-sample-prime.ts +127 -0
- package/scripts/issue/issue-sample-required.ts +57 -0
- package/scripts/issue/issue-sample-source.ts +77 -0
- package/scripts/issue/issue-scout-cli.ts +0 -11
- package/scripts/issue/issue-scout-main.ts +14 -0
- package/scripts/issue/issue-search.ts +124 -0
- package/scripts/issue/issue-state-cli.ts +0 -10
- package/scripts/issue/issue-state-main.ts +12 -0
- package/scripts/issue/issue-state.ts +13 -1
- package/scripts/issue/issue-template-section.ts +43 -0
- package/scripts/issue/issue-watch-diff.ts +87 -16
- package/scripts/issue/issue-watch-hook.ts +11 -2
- package/scripts/issue/issue-watch.ts +55 -11
- package/scripts/issue/issue-wip.ts +2 -7
- package/scripts/issue/markdown-section.ts +1 -0
- package/scripts/issue/measure-declaration.ts +121 -0
- package/scripts/issue/measure-rerun-cli.ts +7 -65
- 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 +76 -0
- package/scripts/issue/plan-consumers.ts +127 -0
- package/scripts/issue/reproduction-measure.ts +3 -1
- package/scripts/issue/size-estimate.ts +90 -0
- package/scripts/issue/trusted-measure.ts +84 -0
- package/scripts/josh/agent-session-environment.ts +1 -1
- package/scripts/josh/command-usage.ts +17 -44
- package/scripts/josh/durable-state-migrate.ts +105 -0
- package/scripts/josh/durable-state.ts +112 -0
- package/scripts/josh/file-map-stamp.ts +49 -16
- package/scripts/josh/hook-decision.ts +32 -20
- package/scripts/josh/josh-aliases.ts +95 -0
- package/scripts/josh/josh-command-map.ts +1 -79
- 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 +160 -161
- 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 +142 -101
- 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 +200 -0
- package/scripts/josh/josh-commands-issue.ts +156 -24
- package/scripts/josh/josh-commands-lane.ts +187 -3
- package/scripts/josh/josh-commands-lint.ts +34 -10
- package/scripts/josh/josh-commands-maintenance.ts +127 -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 +159 -0
- package/scripts/josh/josh-commands-run.ts +211 -23
- package/scripts/josh/josh-commands-ship.ts +217 -0
- package/scripts/josh/josh-commands-split.ts +9 -0
- package/scripts/josh/josh-commands-test-check.ts +80 -0
- package/scripts/josh/josh-commands-versioning.ts +49 -2
- package/scripts/josh/josh-commands-workflow.ts +144 -6
- package/scripts/josh/josh-environment-file.ts +43 -3
- package/scripts/josh/josh-in-process.ts +2 -2
- package/scripts/josh/josh-logic.ts +11 -16
- package/scripts/josh/josh-run.ts +19 -1
- package/scripts/josh/package-directory.ts +2 -4
- package/scripts/josh/process-identity.ts +13 -4
- package/scripts/josh/run-record-path.ts +15 -0
- 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 +20 -17
- package/scripts/lane/lane-adopt-cli.ts +98 -0
- package/scripts/lane/lane-adopt.ts +208 -0
- package/scripts/lane/lane-await.ts +56 -20
- package/scripts/lane/lane-baseline.ts +123 -0
- package/scripts/lane/lane-breakdown-cli.ts +64 -0
- package/scripts/lane/lane-breakdown-implement.ts +170 -0
- package/scripts/lane/lane-breakdown-laps.ts +107 -0
- package/scripts/lane/lane-breakdown-pinned.ts +76 -0
- package/scripts/lane/lane-breakdown-text.ts +145 -0
- package/scripts/lane/lane-breakdown.ts +239 -0
- package/scripts/lane/lane-cache.ts +5 -30
- package/scripts/lane/lane-capacity.ts +14 -23
- package/scripts/lane/lane-check-stats.ts +84 -22
- package/scripts/lane/lane-child-invocation.ts +17 -2
- package/scripts/lane/lane-child-mark-keys.ts +12 -0
- package/scripts/lane/lane-child-marker.ts +20 -1
- package/scripts/lane/lane-ci-path-stats.ts +73 -0
- package/scripts/lane/lane-claim-stats.ts +84 -0
- package/scripts/lane/lane-cli.ts +15 -5
- package/scripts/lane/lane-close.ts +91 -18
- package/scripts/lane/lane-core-wait-stats.ts +66 -0
- package/scripts/lane/lane-dispatch-log.ts +3 -3
- package/scripts/lane/lane-dispatch.ts +26 -5
- package/scripts/lane/lane-gap-stats.ts +157 -0
- package/scripts/lane/lane-guard-policy.ts +7 -1
- package/scripts/lane/lane-handoff.ts +69 -1
- package/scripts/lane/lane-held-stats.ts +129 -0
- package/scripts/lane/lane-implement-stats.ts +207 -0
- package/scripts/lane/lane-implement-subagents.ts +90 -0
- package/scripts/lane/lane-install.ts +4 -11
- package/scripts/lane/lane-investigation-switch.ts +16 -0
- package/scripts/lane/lane-launch-cli.ts +0 -9
- package/scripts/lane/lane-launch-main.ts +12 -0
- package/scripts/lane/lane-ledger-kind.ts +31 -0
- package/scripts/lane/lane-ledger-schema-ship.ts +49 -0
- package/scripts/lane/lane-ledger-schema.ts +349 -0
- package/scripts/lane/lane-ledger-write.ts +257 -0
- package/scripts/lane/lane-ledger.ts +56 -233
- package/scripts/lane/lane-limit-cli.ts +12 -1
- package/scripts/lane/lane-load.ts +1 -1
- package/scripts/lane/lane-measure-cli.ts +193 -30
- package/scripts/lane/lane-net-read.ts +44 -0
- package/scripts/lane/lane-net-time.ts +212 -0
- package/scripts/lane/lane-open.ts +25 -8
- package/scripts/lane/lane-output.ts +2 -4
- package/scripts/lane/lane-overrun-prompt.ts +147 -0
- package/scripts/lane/lane-overrun.ts +274 -0
- package/scripts/lane/lane-parked.ts +3 -3
- package/scripts/lane/lane-paths.ts +24 -1
- package/scripts/lane/lane-pause-cli.ts +133 -0
- package/scripts/lane/lane-pause.ts +158 -0
- package/scripts/lane/lane-paused-spans.ts +97 -0
- package/scripts/lane/lane-plan-check.ts +207 -0
- package/scripts/lane/lane-plan-cli.ts +41 -0
- package/scripts/lane/lane-plan.ts +144 -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 +38 -4
- package/scripts/lane/lane-relaunch.ts +1 -1
- package/scripts/lane/lane-residents.ts +162 -0
- package/scripts/lane/lane-restart.ts +22 -2
- package/scripts/lane/lane-round-one-stats.ts +51 -0
- package/scripts/lane/lane-round-two-stats.ts +49 -0
- package/scripts/lane/lane-sampler.ts +26 -3
- package/scripts/lane/lane-session-action.ts +112 -23
- package/scripts/lane/lane-session-broker.ts +146 -37
- package/scripts/lane/lane-session-reread-main.ts +14 -0
- package/scripts/lane/lane-session-reread.ts +51 -0
- package/scripts/lane/lane-ship-lap-stats.ts +74 -0
- package/scripts/lane/lane-sleep.ts +58 -0
- package/scripts/lane/lane-snapshot-trace.ts +84 -0
- package/scripts/lane/lane-spans.ts +51 -0
- package/scripts/lane/lane-spent.ts +7 -4
- package/scripts/lane/lane-split-stats.ts +28 -0
- package/scripts/lane/lane-stage-stats.ts +20 -3
- package/scripts/lane/lane-state.ts +334 -0
- package/scripts/lane/lane-stats-tables.ts +58 -0
- package/scripts/lane/lane-stats.ts +74 -4
- package/scripts/lane/lane-stop-stats.ts +145 -37
- package/scripts/lane/lane-tail-stats.ts +32 -0
- package/scripts/lane/lane-test-related-stats.ts +127 -0
- package/scripts/lane/lane-transcript-calls.ts +202 -0
- package/scripts/lane/lane-transcript-stats.ts +200 -0
- package/scripts/lane/lane-vacant.ts +13 -3
- package/scripts/lane/lane-value-cell.ts +72 -0
- package/scripts/lane/lane-value.ts +118 -0
- package/scripts/lane/lane-withdraw-cli.ts +5 -4
- package/scripts/lane/lane-withdraw-closed.ts +124 -0
- package/scripts/lane/lane-withdraw.ts +149 -71
- package/scripts/lane/lane-yield.ts +85 -0
- package/scripts/lane/openai-lane-ship.ts +12 -11
- package/scripts/lane/openai-lane-supervisor-decision.ts +6 -8
- package/scripts/lane/openai-lane-supervisor-owner.ts +5 -8
- package/scripts/lane/openai-lane-supervisor.ts +5 -4
- 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/poll.ts +38 -9
- package/scripts/lib/read-file.ts +3 -1
- package/scripts/lib/settled-together.ts +10 -0
- package/scripts/lib/shell-quote.ts +21 -0
- 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/token-shape.ts +111 -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-sources.ts +79 -0
- package/scripts/lint/eslint-daemon.ts +304 -0
- package/scripts/lint/eslint-warm-cli.ts +7 -0
- package/scripts/lint/eslint-warm.ts +66 -0
- package/scripts/lint/format.ts +11 -2
- package/scripts/lint/import-graph.ts +409 -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 +113 -33
- package/scripts/lint/lint-related-scope.ts +30 -24
- package/scripts/lint/lint-related.ts +183 -30
- package/scripts/lint/rename-cli.ts +179 -0
- package/scripts/lint/rename-identifier.ts +192 -0
- package/scripts/lint/type-only-imports.ts +58 -0
- package/scripts/notify/confirmation-options.ts +1 -2
- package/scripts/notify/telegram-notify.ts +32 -23
- 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/observation-record.ts +42 -16
- package/scripts/observations/observations-flush-landing.ts +5 -3
- package/scripts/observations/observations-flush.ts +38 -10
- package/scripts/overrides/overrides-check.ts +11 -6
- 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 +24 -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 +10 -16
- package/scripts/repo/ruleset-check.ts +4 -3
- package/scripts/report/markdown-shape.ts +28 -0
- package/scripts/report/report-format-reference.ts +17 -1
- package/scripts/report/report-labels.ts +166 -0
- package/scripts/report/report-lint-child-summary.ts +94 -0
- package/scripts/report/report-lint-cli.ts +29 -7
- package/scripts/report/report-lint.ts +85 -128
- 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/prose-stale-cli.ts +88 -0
- package/scripts/review/prose-stale-scan.ts +152 -0
- package/scripts/review/removed-tests-check.ts +86 -0
- package/scripts/review/removed-tests.ts +149 -0
- package/scripts/review/review-attest.ts +73 -23
- package/scripts/review/review-brief-cli.ts +138 -23
- package/scripts/review/review-brief-main.ts +12 -0
- package/scripts/review/review-brief-paths.ts +22 -0
- package/scripts/review/review-brief.ts +45 -10
- package/scripts/review/review-code-tree.ts +10 -6
- package/scripts/review/review-comment-carry.ts +47 -0
- package/scripts/review/review-comment-round.ts +111 -30
- package/scripts/review/review-finding-ledger.ts +135 -18
- package/scripts/review/review-finding-text.ts +43 -0
- package/scripts/review/review-interaction.ts +105 -0
- package/scripts/review/review-lane-handover.ts +68 -0
- package/scripts/review/review-lint-cli.ts +57 -0
- package/scripts/review/review-lint-findings.ts +92 -0
- package/scripts/review/review-lint-sections.ts +80 -0
- package/scripts/review/review-lint.ts +221 -0
- package/scripts/review/review-prior-findings.ts +102 -0
- package/scripts/review/review-readers-scan.ts +165 -0
- package/scripts/review/review-record-cli.ts +236 -74
- package/scripts/review/review-record-code-round.ts +55 -0
- package/scripts/review/review-record-comment.ts +60 -0
- package/scripts/review/review-record-interaction.ts +35 -0
- package/scripts/review/review-record-main.ts +12 -0
- package/scripts/review/review-record-pinned.ts +108 -0
- package/scripts/review/review-record.ts +25 -1
- package/scripts/review/review-reviewed-tree.ts +307 -0
- package/scripts/review/review-round-one-blobs.ts +221 -0
- package/scripts/review/review-round-one-closure.ts +62 -0
- package/scripts/review/review-round-reuse.ts +106 -0
- package/scripts/review/review-round2-cli.ts +135 -36
- package/scripts/review/review-round2-skip-comment.ts +55 -0
- package/scripts/review/review-round2.ts +103 -19
- package/scripts/review/review-stamps.ts +23 -1
- package/scripts/review/review-stop-log.ts +110 -0
- package/scripts/review/review-stops-cli.ts +86 -0
- package/scripts/review/review-submit-cli.ts +101 -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 +9 -1
- package/scripts/rules/bash-triggers.ts +49 -6
- package/scripts/rules/concise-reply.ts +88 -0
- package/scripts/rules/credential-body.ts +77 -0
- package/scripts/rules/decision-oracle-batch.ts +9 -1
- package/scripts/rules/decision-oracle.ts +3 -3
- package/scripts/rules/delivered-rules.ts +115 -18
- package/scripts/rules/destructive-command.ts +11 -12
- package/scripts/rules/direct-filing.ts +10 -2
- package/scripts/rules/direct-issue-comment.ts +139 -0
- package/scripts/rules/direct-issue-read.ts +191 -0
- package/scripts/rules/direct-pr-create.ts +72 -26
- package/scripts/rules/early-heartbeat.ts +4 -1
- package/scripts/rules/edit-tool.ts +27 -0
- package/scripts/rules/file-body.ts +7 -0
- package/scripts/rules/file-edit-rows.ts +17 -0
- package/scripts/rules/file-rewrite.ts +146 -0
- package/scripts/rules/firing-point.ts +3 -2
- package/scripts/rules/gh-api.ts +128 -7
- package/scripts/rules/gh-repo-selector.ts +84 -0
- package/scripts/rules/git-argv.ts +72 -14
- package/scripts/rules/git-force.ts +14 -4
- package/scripts/rules/guard-remedy.ts +17 -4
- package/scripts/rules/implementation-cut-verdict.ts +1 -1
- package/scripts/rules/implementation-cut.ts +68 -27
- package/scripts/rules/index-guard.ts +8 -1
- package/scripts/rules/investigator-foreground.ts +231 -0
- package/scripts/rules/issue-citation.ts +15 -60
- package/scripts/rules/issue-comments.ts +18 -5
- package/scripts/rules/josh-git-bare.ts +7 -0
- package/scripts/rules/lane-background.ts +103 -33
- package/scripts/rules/lane-carry-conflict.ts +6 -0
- package/scripts/rules/lane-direct-tool.ts +172 -0
- package/scripts/rules/lane-interactive-ask.ts +12 -2
- package/scripts/rules/lane-park.ts +49 -25
- package/scripts/rules/lane-spilled-read.ts +90 -0
- package/scripts/rules/lane-split-park.ts +11 -3
- package/scripts/rules/lane-switch-main.ts +11 -4
- package/scripts/rules/last-prompt.ts +20 -47
- package/scripts/rules/oracle-consulted.ts +11 -1
- package/scripts/rules/oracle-firing.ts +1 -0
- package/scripts/rules/permission-guards.ts +7 -0
- package/scripts/rules/piped-verification-shapes.ts +110 -0
- package/scripts/rules/piped-verification.ts +68 -18
- package/scripts/rules/poll-loop.ts +78 -8
- package/scripts/rules/pr-merge.ts +123 -0
- package/scripts/rules/pre-gate-cut.ts +3 -3
- package/scripts/rules/protected-files.ts +113 -22
- package/scripts/rules/raw-field-body.ts +6 -0
- package/scripts/rules/reply-language.ts +3 -17
- package/scripts/rules/reply-prose.ts +34 -0
- package/scripts/rules/repo-admin.ts +132 -0
- package/scripts/rules/reviewer-foreground.ts +88 -0
- package/scripts/rules/round-one-check-related.ts +120 -0
- package/scripts/rules/rule-body-guard.ts +13 -15
- package/scripts/rules/rule-list.ts +9 -28
- package/scripts/rules/rule-value-cache.ts +57 -14
- package/scripts/rules/rule-value-candidates.ts +84 -0
- package/scripts/rules/rule-value-cli.ts +106 -39
- package/scripts/rules/rule-value.ts +18 -5
- package/scripts/rules/run-tail-rule.ts +1 -1
- package/scripts/rules/sed-in-place.ts +196 -0
- package/scripts/rules/shell-segments.ts +43 -0
- package/scripts/rules/stop-rule-rows.ts +52 -0
- package/scripts/rules/stop-rules.ts +36 -62
- package/scripts/rules/test-declared-commit.ts +11 -1
- package/scripts/rules/third-party-write.ts +115 -21
- package/scripts/rules/timed-rerun.ts +69 -0
- package/scripts/rules/turn-filings.ts +90 -0
- package/scripts/rules/worktree-guard.ts +32 -7
- 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 +71 -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 +177 -37
- package/scripts/run/board/run-board-fold.ts +123 -0
- package/scripts/run/board/run-board-found.ts +134 -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 +90 -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 +126 -71
- package/scripts/run/board/run-board-lane-state.ts +109 -0
- package/scripts/run/board/run-board-lane-time.ts +123 -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-link.ts +15 -2
- 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 +59 -32
- package/scripts/run/board/run-board-now.ts +1 -1
- package/scripts/run/board/run-board-operation.ts +19 -35
- package/scripts/run/board/run-board-phase.ts +3 -6
- package/scripts/run/board/run-board-plan-shared.ts +115 -0
- package/scripts/run/board/run-board-plan.ts +56 -4
- 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 +197 -28
- package/scripts/run/board/run-board-reason.ts +247 -51
- package/scripts/run/board/run-board-released.ts +35 -0
- package/scripts/run/board/run-board-render-checks.ts +42 -7
- package/scripts/run/board/run-board-render-condition.ts +96 -0
- package/scripts/run/board/run-board-render-drawn.ts +78 -0
- package/scripts/run/board/run-board-render-foot.ts +59 -0
- package/scripts/run/board/run-board-render-found.ts +157 -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 +89 -0
- package/scripts/run/board/run-board-render-legend.ts +136 -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 +264 -258
- 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 +3 -5
- package/scripts/run/board/run-board-state.ts +22 -33
- package/scripts/run/board/run-board-status.ts +149 -71
- package/scripts/run/board/run-board-thanks-read.ts +2 -2
- package/scripts/run/board/run-board-tick.ts +158 -114
- 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-ended.ts +3 -2
- package/scripts/run/carry/run-carry.ts +12 -6
- package/scripts/run/cut/run-cut-cli.ts +33 -133
- package/scripts/run/cut/run-cut-digest.ts +152 -0
- package/scripts/run/cut/run-cut-handoff.ts +54 -10
- package/scripts/run/cut/run-cut-report.ts +24 -3
- package/scripts/run/cut/run-cut-resume.ts +129 -0
- package/scripts/run/cut/run-cut-review.ts +105 -0
- package/scripts/run/cut/run-cut.ts +18 -7
- package/scripts/run/detached-launch.ts +1 -1
- package/scripts/run/entry/run-entry-cli.ts +88 -19
- package/scripts/run/entry/run-entry-spill.ts +83 -0
- package/scripts/run/entry/run-entry-stop.ts +5 -1
- package/scripts/run/entry/run-entry-trust.ts +91 -0
- package/scripts/run/event/run-event-baseline.ts +56 -0
- package/scripts/run/event/run-event-cli.ts +1 -5
- package/scripts/run/event/run-event-filed.ts +18 -6
- package/scripts/run/event/run-event-follow.ts +2 -3
- package/scripts/run/event/run-event-overrun.ts +197 -0
- package/scripts/run/event/run-event-render.ts +10 -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 +58 -10
- 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 +178 -0
- package/scripts/run/merge/run-merge-auth.ts +31 -0
- package/scripts/run/merge/run-merge-cap.ts +57 -0
- package/scripts/run/merge/run-merge-cli.ts +119 -62
- 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 +25 -0
- package/scripts/run/merge/run-merge-restart.ts +39 -0
- package/scripts/run/merge/run-merge-ship.ts +33 -7
- package/scripts/run/merge/run-merge-signals.ts +66 -25
- package/scripts/run/merge/run-merge-steps.ts +162 -107
- package/scripts/run/merge/run-merge-usage-limit.ts +53 -0
- package/scripts/run/merge/run-merge-withdrawn.ts +53 -0
- package/scripts/run/merge/run-merge.ts +76 -48
- 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-cli.ts +306 -20
- package/scripts/run/review/run-review-early-push.ts +121 -0
- package/scripts/run/review/run-review-join-read.ts +94 -0
- package/scripts/run/review/run-review-pinned-accepted.ts +126 -0
- package/scripts/run/review/run-review-pinned-join.ts +216 -0
- package/scripts/run/review/run-review-pinned-steps.ts +383 -0
- package/scripts/run/review/run-review-pinned-tree.ts +37 -0
- package/scripts/run/review/run-review-pinned.ts +53 -0
- package/scripts/run/review/run-review-steps.ts +70 -34
- package/scripts/run/review/run-review.ts +28 -7
- 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 +3 -4
- 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 +7 -0
- package/scripts/run/run-report-cli.ts +101 -13
- package/scripts/run/run-report-handoff.ts +114 -0
- package/scripts/run/run-stage-read.ts +2 -6
- package/scripts/run/run-step-cli.ts +17 -5
- package/scripts/run/run-step-lane-plan.ts +27 -0
- package/scripts/run/run-step-section.ts +26 -7
- package/scripts/run/run-step.ts +6 -3
- 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 +140 -0
- package/scripts/run/ship/run-ship-body-draft.ts +110 -0
- package/scripts/run/ship/run-ship-brokered-review.ts +106 -0
- package/scripts/run/ship/run-ship-cli.ts +181 -166
- package/scripts/run/ship/run-ship-conflict-probe.ts +59 -0
- package/scripts/run/ship/run-ship-detach.ts +29 -12
- package/scripts/run/ship/run-ship-handover.ts +106 -0
- package/scripts/run/ship/run-ship-infra-retry.ts +74 -0
- package/scripts/run/ship/run-ship-lap.ts +63 -0
- package/scripts/run/ship/run-ship-next.ts +44 -27
- package/scripts/run/ship/run-ship-overlap.ts +49 -7
- package/scripts/run/ship/run-ship-place.ts +103 -0
- package/scripts/run/ship/run-ship-planned.ts +92 -0
- package/scripts/run/ship/run-ship-pre-detach-pinned.ts +197 -0
- package/scripts/run/ship/run-ship-pre-detach-timed.ts +42 -0
- package/scripts/run/ship/run-ship-pre-detach.ts +144 -33
- package/scripts/run/ship/run-ship-preflight.ts +150 -33
- package/scripts/run/ship/run-ship-probe.ts +28 -6
- package/scripts/run/ship/run-ship-relaunch-cap.ts +106 -0
- package/scripts/run/ship/run-ship-relaunch.ts +51 -0
- package/scripts/run/ship/run-ship-removed-rows.ts +61 -0
- package/scripts/run/ship/run-ship-return.ts +183 -25
- package/scripts/run/ship/run-ship-review-reason.ts +24 -0
- package/scripts/run/ship/run-ship-review-steps.ts +296 -171
- package/scripts/run/ship/run-ship-review.ts +222 -35
- package/scripts/run/ship/run-ship-reviewer.ts +303 -0
- package/scripts/run/ship/run-ship-scoped.ts +39 -10
- package/scripts/run/ship/run-ship-stage.ts +101 -16
- package/scripts/run/ship/run-ship-steps.ts +68 -17
- package/scripts/run/ship/run-ship-stop-cause.ts +176 -0
- package/scripts/run/ship/run-ship-stop-context.ts +50 -13
- package/scripts/run/ship/run-ship-stop-text.ts +11 -6
- package/scripts/run/ship/run-ship-sync.ts +212 -34
- package/scripts/run/ship/run-ship-synced-scope.ts +178 -0
- package/scripts/run/ship/run-ship-wait-cli.ts +145 -0
- package/scripts/run/ship/run-ship-waiter.ts +114 -0
- package/scripts/run/ship/run-ship.ts +44 -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-caffeinate.ts +48 -0
- package/scripts/run/wake/run-wake-cli.ts +121 -209
- package/scripts/run/wake/run-wake-code.ts +125 -0
- package/scripts/run/wake/run-wake-driver.ts +22 -9
- package/scripts/run/wake/run-wake-finish.ts +137 -0
- package/scripts/run/wake/run-wake-loop.ts +36 -3
- package/scripts/run/wake/run-wake-main.ts +13 -0
- package/scripts/run/wake/run-wake-ports.ts +98 -0
- package/scripts/run/wake/run-wake-session.ts +2 -0
- package/scripts/run/wake/run-wake-takeover.ts +66 -0
- package/scripts/run/wake/run-wake.ts +5 -3
- package/scripts/safe-chain/ci-installer-pin.ts +49 -8
- 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 +6 -11
- package/scripts/security/secretlint-scan.ts +42 -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 +20 -0
- package/scripts/security/security-audit-provision.ts +12 -27
- package/scripts/security/security-audit.ts +27 -8
- package/scripts/security/sonar-file.ts +10 -5
- 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 +25 -1
- package/scripts/split/split-early-notice.ts +116 -0
- package/scripts/split/split-measure.ts +83 -0
- package/scripts/split/split-resolution.ts +107 -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/direct-importers.ts +185 -0
- package/scripts/test/pure-files-entries.ts +83 -0
- package/scripts/test/related-heavy-tests.ts +81 -0
- 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-no-base.ts +88 -0
- package/scripts/test/test-pinned-cache-logic.ts +363 -0
- package/scripts/test/test-pinned-cache.ts +337 -0
- package/scripts/test/test-pinned-emit.ts +49 -0
- package/scripts/test/test-pinned-functions.ts +116 -0
- package/scripts/test/test-pinned-ledger.ts +80 -0
- package/scripts/test/test-pinned-logic.ts +333 -0
- package/scripts/test/test-pinned-main.ts +144 -0
- package/scripts/test/test-pinned-pool.ts +73 -0
- package/scripts/test/test-pinned-probe.ts +254 -0
- package/scripts/test/test-pinned-prune-logic.ts +118 -0
- package/scripts/test/test-pinned-reach.ts +194 -0
- package/scripts/test/test-pinned-record.ts +196 -0
- package/scripts/test/test-pinned-rewire.ts +148 -0
- package/scripts/test/test-pinned-spawn.ts +81 -0
- package/scripts/test/test-pinned-stage.ts +70 -0
- package/scripts/test/test-pinned.ts +311 -0
- package/scripts/test/test-reach-cli.ts +61 -0
- package/scripts/test/test-read-map.ts +288 -0
- package/scripts/test/test-read-recording.ts +103 -0
- package/scripts/test/test-read-trace.ts +166 -0
- package/scripts/test/test-red-logic.ts +46 -7
- package/scripts/test/test-red-main.ts +12 -0
- package/scripts/test/test-red.ts +39 -37
- package/scripts/test/test-related-claim.ts +37 -0
- package/scripts/test/test-related-main.ts +21 -0
- package/scripts/test/test-related-moved.ts +91 -0
- package/scripts/test/test-related-record.ts +139 -0
- package/scripts/test/test-related-scope.ts +292 -41
- package/scripts/test/test-related-synced.ts +135 -0
- package/scripts/test/test-related-touched.ts +84 -0
- package/scripts/test/test-related.ts +381 -19
- package/scripts/test/test-unit-guard-main.ts +15 -0
- package/scripts/test/test-unit-guard.ts +66 -25
- package/scripts/test/unit-count-file.ts +37 -0
- package/scripts/test/unit-durations.ts +41 -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 +64 -151
- package/scripts/test/vitest-cache-directory.ts +19 -0
- package/scripts/test/vitest-cli-excludes.ts +14 -0
- package/scripts/test/vitest-failure-summary.ts +111 -0
- package/scripts/test/whole-suite-files.ts +74 -0
- package/scripts/time-runtime/time-background.ts +20 -2
- package/scripts/time-runtime/time-batch-guard.ts +42 -4
- package/scripts/time-runtime/time-bundle-call.ts +1 -1
- package/scripts/time-runtime/time-bundles.ts +40 -8
- 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 +12 -3
- package/scripts/time-runtime/time-search-call.ts +38 -0
- package/scripts/time-runtime/time-shell.ts +98 -11
- package/scripts/time-runtime/time-transcript-line.ts +65 -66
- 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/development-engines-verdict.ts +124 -0
- package/scripts/version/effective-upstream.ts +6 -12
- package/scripts/version/latest-corepack.ts +19 -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 +6 -1
- package/templates/pnpm-workspace.basic.yaml +1 -1
- package/templates/sonar-project.properties +3 -2
- package/templates/workflows/ci.yml +53 -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-APUO6U4J.js +0 -2451
- package/dist/hooks/chunk-CDY4NFQG.js +0 -15
- package/dist/hooks/chunk-DGT54IH5.js +0 -161
- 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-O6GDRNJB.js +0 -343
- 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-TNUMY6NL.js +0 -4838
- 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/context-cut-threshold.ts +0 -11
- 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/filing-cap.ts +0 -132
- 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
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
- 通知は CI チェック成功後に投稿する
|
|
4
4
|
- 通知投稿に失敗しても、実装完了の事実をログで確認できるようにする
|
|
5
|
-
- 自動投稿する Issue コメントは `JOSH_SESSION_LANG` の言語(未設定なら `ja`)で書く。Issue タイトルだけは英語
|
|
6
5
|
|
|
7
6
|
### CI チェック失敗時の対応
|
|
8
7
|
|
|
@@ -12,19 +11,28 @@
|
|
|
12
11
|
- 修正できたら修正内容を、できなかったら失敗チェック名・原因・未解決である旨を `--notify-message` に書く。**完了コメントに失敗を隠してはならない**
|
|
13
12
|
- ユーザーへの報告でも失敗を「成功」として扱わない
|
|
14
13
|
|
|
14
|
+
### git-rules — コミット・共有状態・index・PR
|
|
15
|
+
|
|
16
|
+
`CLAUDE.md` → "Git Rules" の本文。フックが拒否・書き換えする(`pnpm josh rule:list` の `josh-git-bare`・`direct-pr-create`・`pr-merge` 行と `.claude/settings.json` の deny)。
|
|
17
|
+
|
|
18
|
+
- **コミットは指示されたときだけ。** マージ・ブランチ削除・force push などの共有状態の変更は、そのターンで指示されたときだけ。例外は `fullrun` / `backlogrun` の起動で、`pnpm josh followup` 経由のマージを認める(`prrun` は認めない)。deny は規則より狭い — ツールが通したことを許可と読まない
|
|
19
|
+
- **git index は自分の判断で変えない** — 明示の指示か `pnpm josh git` 経由だけ(下記 "no-self-staging")
|
|
20
|
+
- **コミットは `pnpm josh git`、PR は `pnpm josh pr`** — `gh pr create` の直接実行は `direct-pr-create` 行が拒否する。GitHub 操作は `gh api`(REST) — [`gh-rest.md`](./gh-rest.md)
|
|
21
|
+
- **作業ツリーの前提で動く前に `git status`(と `git stash list`)をその場で実行する**
|
|
22
|
+
|
|
15
23
|
### 指示されていない行動は取らない
|
|
16
24
|
|
|
17
|
-
|
|
25
|
+
上記 "git-rules" の細則。対象には共有ブランチへの push・外部通知の追加送信・リポジトリ設定の変更も含む。
|
|
18
26
|
|
|
19
27
|
- auto-merge の本文は [`followup.md`](../../.claude/skills/workflow-commands/followup.md)、`backlogrun` の子への継承は [`backlogrun-child.md`](../../.claude/skills/workflow-commands/backlogrun-child.md)
|
|
20
28
|
- `kickoff` / `pnpm josh followup` 単独実行は文書化されたスコープで終了する。PR が OPEN のまま完了したら状態を報告して停止する
|
|
21
29
|
- 「チェックが全部 green」は次へ進む承認ではない
|
|
22
|
-
- **deny と配送ガードは実装であって規則ではない。** `gh pr merge`・force push・ブランチ削除は `.claude/settings.json` の `permissions.deny` と `pnpm josh rule:
|
|
30
|
+
- **deny と配送ガードは実装であって規則ではない。** `gh pr merge`・force push・ブランチ削除は `.claude/settings.json` の `permissions.deny` と `pnpm josh rule:list` の `git-force` 行が拒否する(一覧は [`rule-delivery.md`](./rule-delivery.md) →「配送されている規則」)が、規則より狭い。ツールが通したことを許可と読まない。`fullrun` の auto-merge は `pnpm josh followup` の内部から gh を起動するため影響を受けない
|
|
23
31
|
- 共有状態に影響する操作(Tier C)は、迷ったら確認する。可逆な実装・設計判断(Tier A)は下記 "decision-autonomy" に従う
|
|
24
32
|
|
|
25
33
|
### no-self-staging — git index を勝手に変更しない(自律 staging の禁止)
|
|
26
34
|
|
|
27
|
-
|
|
35
|
+
上記 "git-rules" の細則。index には履歴がなく、上書きされたステージ状態は復元できない。
|
|
28
36
|
|
|
29
37
|
- **調査目的の staging はしない。** 読み取り専用コマンドを使う: `git status --short`、`git diff` / `git diff --stat` / `git diff HEAD`、`git diff --staged`、未追跡ファイルは `git diff --no-index /dev/null <new-file>` か直接読む
|
|
30
38
|
- staging してよいのは次の 2 ケースだけ。それ以外は実行せずに確認する:
|
|
@@ -38,22 +46,21 @@
|
|
|
38
46
|
3. 「別パッケージ起因の問題は割り込み Issue で対応する」
|
|
39
47
|
4. `backlogrun` が epic の子を始める前の preflight(`pnpm josh run:hold <N>` が `reclaim` と答えたときの回収 — joshuafolkken/kit#926, joshuafolkken/kit#1965)
|
|
40
48
|
|
|
41
|
-
1〜3 は直後に `pnpm josh stash:pop "<メッセージ>"`
|
|
49
|
+
1〜3 は直後に `pnpm josh stash:pop "<メッセージ>"` で復元する(位置指定の pop は `worktree-mutation` 行が拒否する)。4 は復元しない — 代わりに stash を子の Issue にコメントで記録する(`prerequisite.md` の stash と同じく、記録だけが後で pop させる手がかり)
|
|
42
50
|
|
|
43
51
|
- **会話で作った実装をランへ渡す「引き渡し用の stash」も `pnpm josh stash:pop "<メッセージ>"` で復元する。当てたあと stash は消える**
|
|
44
52
|
- 計画には復元手順としてこの 1 行だけを書く。`git stash apply` / `git stash pop` も「drop しない」という条件も書かない
|
|
45
53
|
- 計画がガードの拒否する復元形を指していたら、実行側は `stash:pop` に読み替えて続行し、Issue コメントに残す(Tier A)。`needs-decision` では止まらない
|
|
46
54
|
- stash を残すのは持ち主の判断だけ。持ち主が計画に理由を書き、ランはそこで止まって確認する
|
|
47
55
|
- staging・index の書き換え・`git commit` の直接実行は deny されており、deny には「そのターンでユーザーが明示指示した」という例外がない。ケース 1 はユーザー自身の端末で実行してもらう。コミットを指示されたら `pnpm josh git` を通す
|
|
48
|
-
- index を守る deny と `pnpm josh rule:guard`(`worktree-mutation`・`index-mutation`・`destructive-command`・`protected-file` 行)も実装である(→「deny と配送ガードは実装であって規則ではない」)
|
|
49
56
|
|
|
50
57
|
### decision-autonomy — 意思決定の自律ポリシー(確認停止を減らす)
|
|
51
58
|
|
|
52
59
|
`CLAUDE.md` → "Decision autonomy" の境界の細則。
|
|
53
60
|
|
|
54
61
|
- **A と B の判定**: 確認するのは「差が僅差 かつ 後戻りしにくい/アーキテクチャに長く影響する」ときだけ。明確に優位な選択肢は自動で選び、僅差でも安価に巻き戻せる選択は決めて記録して進む
|
|
55
|
-
- 起票した Issue の所属先は、候補が複数の epic に散っていても Tier
|
|
62
|
+
- 起票した Issue の所属先は、候補が複数の epic に散っていても Tier A(`.claude/skills/epic-commands/epic-bundle.md`)
|
|
56
63
|
- 自己修正(自分が公開した成果物の事実誤りの訂正、同じセッションで自分が特定した自分の作業の抜けの穴埋め)は Tier A。承認済みの作業の完了・修復に限り、目標の表明や問いで動いてよい意味ではない(→ `principles.md` → "consult-vs-execute")
|
|
57
64
|
- **Tier C との境界**: マージ・ブランチ削除・force push・スコープ外の変更は、自分が招いた問題でも Tier C。確認を外しても監査証跡は外さない
|
|
58
65
|
- **major のバージョン bump は Tier C**: `pnpm josh bump major` は自分の判断で実行も提案もしない。既定は minor / patch で、major はユーザーがそのターンで明示したときだけ(0.x の major は 1.0.0 になり戻せない)。`josh bump` が版を変えたら、変わった挙動の `docs/` をコミット前に更新する
|
|
59
|
-
-
|
|
66
|
+
- 自動判断を記録する Issue コメントは `pnpm josh issue:comment <N> --body-file <path>` で投稿する
|
|
@@ -17,24 +17,23 @@
|
|
|
17
17
|
- ファイルは範囲を指定する(`sed -n '120,180p' <file>`、または `Read` の `offset` / `limit`)
|
|
18
18
|
- 一覧は件数を絞る(`--limit`、`| head -30`)、JSON は必要な項目だけ取り出す(`gh api … --jq '…'`)
|
|
19
19
|
- 全量が要るときは、ファイルへ落として(`> <file>`)から範囲を読む
|
|
20
|
+
- 退避された `tool-results/<id>.txt` → `grep -n` / `sed -n` で読む(`lane-spilled-read` 行、`pnpm josh rule:list`)
|
|
20
21
|
|
|
21
22
|
## 切り詰められた出力を、完全な出力として読まない
|
|
22
23
|
|
|
23
24
|
**検証ゲートと差分は、切り詰められた結果で判断しない。**
|
|
24
25
|
|
|
25
|
-
- `
|
|
26
|
+
- 検証コマンド(`gate` / `check:related` / `lint:related` / `test:related`)の末尾を読む → 失敗と次のコマンド、`full output: <path>`(`lint:related` には無い)、最終行の合否の順(`scripts/gate/verification-tail.ts`)。内訳が切れたら `full output:` のファイルを読む(joshuafolkken/kit#1227)
|
|
27
|
+
- `pnpm josh test:related` / `test:unit` が失敗した → 最後の `failed tests:` 一覧と `full output: <path>` を読む。読むための再実行はしない。直したら、まず要約の `rerun failed:` 行で失敗したファイルだけを回し、関連集合の全体は最後の `check:related` で 1 回だけ回す(`scripts/test/vitest-failure-summary.ts`)
|
|
26
28
|
- 差分には判定行が無い。差分はファイルへ落としてから範囲で読む(`git diff main...HEAD > /tmp/diff.patch && wc -l /tmp/diff.patch`)
|
|
27
29
|
|
|
28
30
|
## 検証コマンドをパイプに繋がない(joshuafolkken/kit#1556)
|
|
29
31
|
|
|
30
|
-
**パイプラインの終了コードは最後のコマンドのものである。** `pnpm josh gate 2>&1 | tail -40` は赤いゲートを成功として返す。**これは `josh gate` の欠陥ではない。**
|
|
32
|
+
**パイプラインの終了コードは最後のコマンドのものである。** `pnpm josh gate 2>&1 | tail -40` は赤いゲートを成功として返す。**これは `josh gate` の欠陥ではない。** **既定はパイプなしで実行する。** 避けられないなら `set -o pipefail` を前置する。どの形でも、印字された判定行を読む。`piped-verification` 行(`rule-delivery.md`)が強制する。
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
- 絞るなら、ファイルへ落として範囲で読む(`pnpm josh gate > /tmp/gate.log 2>&1; tail -40 /tmp/gate.log`)
|
|
34
|
-
- パイプが避けられないなら `set -o pipefail` を前置する
|
|
35
|
-
- どの形でも、印字された判定行を読む。終了コードだけを答えにしない
|
|
34
|
+
境界は判定が残るかどうか: 入力を最後まで読むフィルタ(`tail` / `grep` / `cut` / `sort` / `uniq` / `wc` / `tee`、`exit` も外部コマンドも `<`・`>`・`&`(比較を含む)も使わない `awk`、`p`・`d`・`s///` だけの `sed`)だけのパイプは `;` 鎖の中でも `pipefail` 付きに書き換えて通り、`head`・先頭一致で止まる `grep`・`2>/dev/null` などのリダイレクトを伴う形は拒否される(`scripts/rules/piped-verification.ts`)。
|
|
36
35
|
|
|
37
|
-
対象は結果が合否を意味するコマンドだけ — `gate` / `check
|
|
36
|
+
対象は結果が合否を意味するコマンドだけ — `gate` / `check*` / `lint*` / `cspell*` / `test*` / `eval`。**`git log | head` や `gh issue list | head` は対象外であり、意図的にそうしている。** `latest:scope` / `review:brief` も、判定ではなく答えを印字するので `$(...)` で受けてよい。
|
|
38
37
|
|
|
39
38
|
## 検査
|
|
40
39
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
## Step 3: 計画コメントを記録して通知する
|
|
2
2
|
|
|
3
3
|
1. 提案を人間が判断する
|
|
4
|
-
2.
|
|
4
|
+
2. 採用した計画をファイルに書き、`pnpm josh issue:plan <N> --body-file <path>` で Issue に記録する。書き込み権限のある作成者の body が空なら本文に、それ以外はコメントになる(本文はパスで渡す — `shell-body.md`)
|
|
5
5
|
- 計画が stash の復元を含むときの書き方: `operating-rules.md` → "no-self-staging"
|
|
6
|
+
- 計画には `### 影響を受ける既存の利用者` が必須(`pnpm josh plan:consumers <識別子...>` が下書きを出す。書き方: `kickoff.md` の手順 4)
|
|
6
7
|
3. Telegram で計画開始を通知する:
|
|
7
8
|
|
|
8
9
|
```bash
|
|
@@ -15,44 +16,4 @@
|
|
|
15
16
|
- Issue URL を必ず含め、箇条書きの間に改行を入れる
|
|
16
17
|
- `kickoff` はここで**停止**する(実装に進まない)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
git stash push -u -m "plan: pre-existing changes"
|
|
21
|
-
```
|
|
22
|
-
5. メインブランチへ切り替えて最新を取得する:
|
|
23
|
-
```bash
|
|
24
|
-
pnpm josh ms
|
|
25
|
-
```
|
|
26
|
-
6. `pnpm josh latest:scope` が `required` と答えたときだけ `pnpm josh latest` を実行し、`dependency-update` スキルに従う(`.claude/skills/workflow-commands/latest-gate.md`)。脆弱性への override は `pnpm-workspace.yaml` の `overrides` に書く(pnpm 11/12 は `package.json` の `pnpm.overrides` を無視する)。
|
|
27
|
-
ステップ 4 で stash したら、ここでメッセージ指定で復元する(位置指定や引数なしの `git stash pop` は使わない — joshuafolkken/kit#2050):
|
|
28
|
-
```bash
|
|
29
|
-
pnpm josh stash:pop "plan: pre-existing changes"
|
|
30
|
-
```
|
|
31
|
-
7. **作業サマリを提示してから**実装を開始する(`report-format.md` → "作業前サマリはいつ・どう出すか")。Issue body が埋まっていても提示し、Issue コメントとしては投稿しない。
|
|
32
|
-
8. 実装完了後、lint/test より前に `prompts/refactoring.md` に従い、高・中優先度項目が残らなくなるまでリファクタリングする
|
|
33
|
-
9. 検証ゲート(`CLAUDE.md` の Completion gate)を実行する
|
|
34
|
-
|
|
35
|
-
`pnpm josh git` を実行する(`-y` で確認プロンプトをスキップ)。**子はバージョンを上げない** — 版を決めるのは `pnpm josh release` だけ(joshuafolkken/kit#1486)。Issue タイトルは実行前に `issue-template.md` の Step 1 冒頭に沿って整える。
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
pnpm josh git -y "<issue-title> #<issue-number>"
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Recovery after failed push (pre-push hook blocked)
|
|
42
|
-
|
|
43
|
-
If `pnpm josh git -y` fails at the push step, fix the blocking issue and recover with:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# 1. Push manually after fixing the issue
|
|
47
|
-
git push --set-upstream origin <branch>
|
|
48
|
-
|
|
49
|
-
# 2. Create the PR only — closes #N keyword is preserved
|
|
50
|
-
pnpm josh pr
|
|
51
|
-
# equivalent: pnpm josh git -y --skip-commit --skip-push
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Do not run `gh pr create` directly — it bypasses `build_body`, which writes `closes #N`.
|
|
55
|
-
|
|
56
|
-
### レビューからマージまで
|
|
57
|
-
|
|
58
|
-
レビューは実装したセッションがコミットの前に `pnpm josh review:brief` で始め、`/code-review` は `Agent` ツールのサブエージェントが実行する。周回の上限、残った指摘の振り分けと `pnpm josh epic:bundle`、マージを打つターンは `.claude/skills/workflow-commands/chain-rule.md` → "Run the review-to-merge chain"、"The review runs in a subagent, never a main-line skill load"、方針は `prompts/review.md` → "Review round cap"。**`/code-review` の出力で停止しない。**
|
|
19
|
+
実装からマージまでは [`fullrun-steps.md`](../../.claude/skills/workflow-commands/fullrun-steps.md) の手順に従う。
|
|
@@ -46,6 +46,11 @@ AI の判断が要らない手順は、AI に読ませて実行させない。
|
|
|
46
46
|
2. **1 つを悪くするなら、同じ変更の中で別の場所を削って埋め合わせる** — 合計を悪化させない
|
|
47
47
|
3. **それでも両立しないときは、数字を示して利用者に聞く**(Tier B)— 何をどれだけ悪くして、何を得るか
|
|
48
48
|
|
|
49
|
+
不具合や複雑さへの対策を出すときは、次のようにする。
|
|
50
|
+
|
|
51
|
+
- 機能や最適化の追加を止める・凍結する・後回しにする案を出さない。順序は優先度ラベルが決める
|
|
52
|
+
- 進化を続けたまま不具合を防ぐ仕組み(単一ソース化、層の統合、不変条件のテスト)を提案する
|
|
53
|
+
|
|
49
54
|
## concise-prose — 文章は条件と動作だけを書く
|
|
50
55
|
|
|
51
56
|
docs・prompts・skills・拒否文・Issue・PR の文章に適用する。
|
|
@@ -56,6 +61,15 @@ docs・prompts・skills・拒否文・Issue・PR の文章に適用する。
|
|
|
56
61
|
- 同じ内容を言い換えて繰り返さない
|
|
57
62
|
- ファイルや節が自分自身を説明する文(「このファイルは〜である」)を書かない
|
|
58
63
|
|
|
64
|
+
## concise-reply — 対話の回答は結論・要点・次の一手
|
|
65
|
+
|
|
66
|
+
ユーザーへの回答に適用する。
|
|
67
|
+
|
|
68
|
+
- 順序: 結論(1〜2 文)→ 表か箇条書き 1 つ → 次の一手
|
|
69
|
+
- 散文(コードブロック・表・箇条書きの外)の上限は `scripts/rules/concise-reply.ts` の `PROSE_LIMIT`。超えた回答は Stop フックの `pnpm josh stop:guard` が書き直させる
|
|
70
|
+
- 仕組みの説明や同じ内容の言い換えを並べない。詳細はファイルや Issue に書く
|
|
71
|
+
- 対象外: 直前の発話に「詳しく」「具体的に」「詳細」がある回答、`pnpm josh run:board --chat` のような固定出力をコードブロックで返す回答、ファイルや Issue に書く成果物
|
|
72
|
+
|
|
59
73
|
## consult-vs-execute — 相談と実行を区別する
|
|
60
74
|
|
|
61
75
|
ユーザーが進め方・理由を尋ねたり目標を述べたりした(「どうすべき?」「how should we…」「なぜ」「〜したい」「〜の方が良い?」)ときは、**分析と推奨のみ**を返し、ファイル編集・Issue 作成などのアクションは取らない。目標の表明は計画の依頼であって、実行の承認ではない。
|
|
@@ -6,24 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
ラベルの有無、概要行の字数上限、コードフェンス囲み、概要へのファイルパス・CLI フラグの混入、ケース段と「壊れるとしたら」段の形は、サマリを標準入力で `pnpm josh report:lint` に渡して検査する(`ok` か違反行を印字する — joshuafolkken/kit#2123)。
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### 骨組みは `josh report:template` が印字する
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
作業前サマリと完了報告の骨組みは `pnpm josh report:template summary|done [<path>...]` で印字し、写さない。ラベルは `report:lint` と同じ 1 つのラベル表(`scripts/report/report-labels.ts`)から、`JOSH_SESSION_LANG` の言語で出る(`ja` 以外は英語)。渡したパスは「対象」「変更ファイル」と変更ごとの行を埋め、そのパスに `josh cases` が求める異常系を「壊れるとしたら」の先頭に置く。残る `<…>` だけを書く。
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- `■ Overview` → `■ 概要`
|
|
18
|
-
- `Now` / `Change` / `Check` → `今こうなっている` / `こう直す` / `確かめ方`
|
|
19
|
-
- `Details` → `技術詳細`、`Changes and tests` → `変更とテスト`
|
|
20
|
-
- `Cause` / `Fix` / `Result`(完了報告)→ `原因` / `対応` / `結果`
|
|
21
|
-
- `■ Hand-off`(区切り)→ `■ 区切り`
|
|
22
|
-
- `Done` / `Remaining` / `Why it stopped` / `Next command` → `終わったこと` / `残っていること` / `止めた理由` / `次に打つコマンド`
|
|
23
|
-
|
|
24
|
-
成果物の散文(Issue 本文、Issue/PR コメント、Telegram 本文)のラベルもこの表で訳す。英語のまま残るのは「出力の言語(`JOSH_SESSION_LANG`)」が挙げた 3 つだけ。
|
|
25
|
-
|
|
26
|
-
**(2) ラベルに注釈を付けない。** `■ 概要(平易な説明)` は誤り。注意書きはラベルの下の説明文に置く。
|
|
13
|
+
- 出力はコードフェンスで囲まない(空白での桁揃えと単独行の `---` も使わない)
|
|
14
|
+
- ラベルに注釈を付けない。`■ 概要(平易な説明)` は誤り。注意書きはラベルの下の説明文に置く
|
|
15
|
+
- 成果物の散文(Issue 本文、Issue/PR コメント、Telegram 本文)のラベルも、このコマンドが印字するラベルで書く。英語のまま残るのは「出力の言語(`JOSH_SESSION_LANG`)」が挙げた 3 つだけ
|
|
16
|
+
- 区切り(hand-off)のラベルも同じ表にあり、`pnpm josh run:report --handoff` が印字する
|
|
27
17
|
|
|
28
18
|
### 作業前サマリはいつ・どう出すか
|
|
29
19
|
|
|
@@ -34,37 +24,18 @@
|
|
|
34
24
|
|
|
35
25
|
### 作業前サマリ(セッション向け・`JOSH_SESSION_LANG` の言語)
|
|
36
26
|
|
|
37
|
-
|
|
38
|
-
**■ 概要**
|
|
39
|
-
|
|
40
|
-
- **今こうなっている**: <1文 — 利用者から見て何が起きているか>
|
|
41
|
-
- **こう直す**: <1文 — 手段ではなく、直った後どうなるか>
|
|
42
|
-
- **確かめ方**: <1文 — どう確認するか>
|
|
43
|
-
|
|
44
|
-
**技術詳細**
|
|
45
|
-
|
|
46
|
-
- 対象: <触るファイル / モジュール>
|
|
47
|
-
- 方針: <アプローチとその理由>
|
|
48
|
-
- 副作用 / スコープ外: <意図的にスコープ外にした点。なければ省略>
|
|
27
|
+
`pnpm josh report:template summary <触るファイル...>` が印字する。各欄に書くこと:
|
|
49
28
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
- ケース: 正常 / 空・0件 / 1件 / 多数 / 境界 / 不正入力 / 重複 / 順序 / null
|
|
54
|
-
- 該当しないものは消し、消した理由を添える(例:「重複: 該当なし — 入力は集合なので重複しない」)
|
|
55
|
-
- 壊れるとしたら:
|
|
56
|
-
1. <この変更に固有の、壊れうる条件>
|
|
57
|
-
2. <...>
|
|
58
|
-
3. <...>
|
|
59
|
-
2. ...
|
|
60
|
-
```
|
|
29
|
+
- 概要の 3 行: 利用者から見て何が起きているか / 手段ではなく直った後どうなるか / どう確認するか
|
|
30
|
+
- 方針はアプローチとその理由、副作用 / スコープ外は意図的に外した点(なければ省略)
|
|
31
|
+
- 変更ごとの行は `<変更内容> — Test: <Unit|E2E> — <テストのファイルパス> — <検証する挙動>`
|
|
61
32
|
|
|
62
33
|
テスト宣言はケース単位の 2 段で書く(joshuafolkken/kit#2246)。
|
|
63
34
|
|
|
64
|
-
- 第 1 段(ケース)は固定語彙を並べ、**該当しないものは `該当なし`
|
|
35
|
+
- 第 1 段(ケース)は固定語彙を並べ、**該当しないものは `該当なし` に続けて理由を書いて消す**(例:「重複: 該当なし — 入力は集合なので重複しない」)
|
|
65
36
|
- 第 2 段(壊れるとしたら)は、この変更に固有の壊れうる条件を**最低 3 件**書く。書けないときは `どう呼ばれても壊れない` と明示する
|
|
66
37
|
- 複数ケースは `it.each` 1 本に畳んでよい
|
|
67
|
-
- 差分が HTTP・プロセス起動・ファイル IO
|
|
38
|
+
- 差分が HTTP・プロセス起動・ファイル IO・時間の境界を跨ぐとき、または共有状態(`.josh/` 配下・lock)や環境(`process.env`・常駐プロセス)に依存するときは、`pnpm josh cases <path...>` が印字する異常系を第 2 段に載せる。共有状態には同じ状態を読み書きする他のソースが `file:line` で付く
|
|
68
39
|
|
|
69
40
|
### 行数予算は編集前に読む
|
|
70
41
|
|
|
@@ -72,46 +43,46 @@
|
|
|
72
43
|
|
|
73
44
|
### 変更対象はまとめて読んでから編集する(joshuafolkken/kit#2202)
|
|
74
45
|
|
|
75
|
-
|
|
46
|
+
`pnpm josh read:files` / `edit:files` で畳む — [`turn-batching.md`](turn-batching.md) →「実装中の独立編集に効く合成コマンド」。
|
|
76
47
|
|
|
77
48
|
### 完了報告(セッション向け)
|
|
78
49
|
|
|
79
|
-
|
|
80
|
-
**■ 完了報告**
|
|
81
|
-
|
|
82
|
-
- **原因**: <1文 — なぜそうなっていたか>
|
|
83
|
-
- **対応**: <1文 — 何をしたか>
|
|
84
|
-
- **結果**: <1文 — 利用者から見て何が変わったか>(v<version>)
|
|
50
|
+
`pnpm josh report:template done <変更したファイル...>` が印字する。各欄に書くこと:
|
|
85
51
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
- 実行証跡: <実行可能な経路を触った変更では、実際に叩いたコマンドとその出力(UI ならスクリーンショット)。無いなら理由>
|
|
91
|
-
- 捕まえられた検証: <不具合修正のみ。その検証の種類を 1 行(2 回目は台帳で昇格, #2448)>
|
|
92
|
-
- 残課題: <なければ「なし」>
|
|
93
|
-
```
|
|
52
|
+
- 概要の 3 行: なぜそうなっていたか / 何をしたか / 利用者から見て何が変わったか(版を添える)
|
|
53
|
+
- 実行証跡: 実行可能な経路を触った変更では、実際に叩いたコマンドとその出力(UI ならスクリーンショット)。無いなら理由
|
|
54
|
+
- 捕まえられた検証: 不具合修正のみ。その検証の種類を 1 行(2 回目は台帳で昇格, #2448)
|
|
55
|
+
- 残課題: なければ「なし」
|
|
94
56
|
|
|
95
57
|
**実行証跡は「動くこと」の証拠であり、gate の緑ではない**(joshuafolkken/kit#2246)。同じ証跡を PR 本文の `## 実機証跡` 節(コマンド+実出力のフェンス)にも置く。無い実行時の変更は `pnpm josh followup` がマージを拒否する(#2446)。
|
|
96
58
|
|
|
97
59
|
### PR 本文の受け入れ条件の対応表
|
|
98
60
|
|
|
99
|
-
`## 受け入れ条件の対応` 節の行の形(`pnpm josh pr` が識別子つきの `未記入` 行を付け、`pnpm josh followup` が照合する — `scripts/review/acceptance-map.ts`):
|
|
61
|
+
`## 受け入れ条件の対応` 節の行の形(`pnpm josh pr` が識別子つきの `未記入` 行を付け、`pnpm josh followup` が照合する — `scripts/review/acceptance-map.ts`)。`pnpm josh ship` の経路では、同じ識別子つきの `未記入` 行を `pnpm josh run:prep` / `pnpm josh run:step` の ship 事前要求が出し、同じ行と `## 実機証跡` 見出しを ship 本文の下書き(作業ツリーの git ディレクトリの `josh-ship-body-<N>.md`)にも書く。`--body-file` を省いた ship はこの下書きを本文として読む(`scripts/run/ship/run-ship-body-draft.ts`):
|
|
100
62
|
|
|
101
63
|
```md
|
|
102
64
|
- `ac-1a2b3c4d` <条件> — 満たした: <テスト名・`file:line`・実行出力のいずれか>
|
|
103
65
|
- `ac-5e6f7a8b` <条件> — 見送り: #<切り出した Issue> <理由>
|
|
104
66
|
```
|
|
105
67
|
|
|
68
|
+
### PR 本文の消えたテストの処置
|
|
69
|
+
|
|
70
|
+
`## 消えたテストの処置` 節の行の形(`pnpm josh review:brief` が `Removed tests` として一覧化し、`pnpm josh ship` と `pnpm josh followup` が照合する — `scripts/review/removed-tests.ts`。緑の `pnpm josh test:related` が、テスト名入りの `未記入` 行を ship 本文の下書きに足す — `scripts/run/ship/run-ship-removed-rows.ts`):
|
|
71
|
+
|
|
72
|
+
```md
|
|
73
|
+
- `<describe> > <テスト名>` — 置き換え: <いまその振る舞いを守るテスト名>
|
|
74
|
+
- `<describe> > <テスト名>` — 廃止: #<振る舞いの廃止を決めた Issue> <理由>
|
|
75
|
+
```
|
|
76
|
+
|
|
106
77
|
**`run:carry` の実行証跡は `JOSH_TEMP_ROOT` を新しい一時ディレクトリに向けて取る(必須)。** 状態レコードは本物の run と共有なので、`JOSH_TEMP_ROOT="$(mktemp -d)" pnpm josh run:carry --begin …` のように各コマンドの頭に付ける(`docs/environment-variables.md` → "Runs")。`run:merge` は main の同期・lane の close・GitHub への書き込みを行うため、これでは切り離せない。
|
|
107
78
|
|
|
108
79
|
### 区切りの報告(完了報告と区別する・必須)
|
|
109
80
|
|
|
110
|
-
`backlogrun` の区切り(hand-off)は完了報告ではない — **`原因` / `対応` / `結果`
|
|
81
|
+
`backlogrun` の区切り(hand-off)は完了報告ではない — **`原因` / `対応` / `結果` を使わない**。報告は `pnpm josh run:report --handoff` が印字し、手で書かない([`.claude/skills/workflow-commands/backlogrun-handoff-report.md`](../../.claude/skills/workflow-commands/backlogrun-handoff-report.md))。
|
|
111
82
|
|
|
112
83
|
### 概要 3 行の書き方(ここが本体)
|
|
113
84
|
|
|
114
|
-
|
|
85
|
+
平易にするために語彙と抽象度を制約する:
|
|
115
86
|
|
|
116
87
|
- 専門用語は使わないか、`〜(=…のこと)` の形でその場で言い換える
|
|
117
88
|
- 変更点の羅列ではなく、原因 → 対応 → 効果の因果で書く
|
|
@@ -124,7 +95,7 @@
|
|
|
124
95
|
- **何かが「古い」「壊れている」「変わらない」と書くときは、その対象を名指しする** — 対象パッケージ名・画面名・出力の種類のいずれかを含める
|
|
125
96
|
- 主語のない「状況」「案内」「問題」「その処理」だけで済ませない
|
|
126
97
|
- 書いてよい具体名: 利用者が画面で目にするもの — パッケージ名、表示されるコマンドの目的、画面名、メッセージの種類
|
|
127
|
-
- 書いてはいけない具体名:
|
|
98
|
+
- 書いてはいけない具体名: 内部識別子(上記「作業前サマリはいつ・どう出すか」)
|
|
128
99
|
|
|
129
100
|
悪い例は「古いままだと警告が出るのに、案内されたコマンドを実行しても状況が変わらない」(何の話か特定できない)。良い例:
|
|
130
101
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
> **その規則が効き始める瞬間を、1 件のツール呼び出しとして名指しできるか。**
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
できるなら、規則本文を常駐から出し、配送ガードの行に説明(`about`)を持たせ、[`rule-delivery.md`](./rule-delivery.md) が指す `pnpm josh rule:list` の一覧に載せる(joshuafolkken/kit#1524)。**規則ごとのトリガ行は常駐に残さない** — `CLAUDE.md` には一覧への導線 1 行だけを置く。フックが走らないセッションは一覧を自己点検に使う(`principles.md` →「Claude Code 以外のエージェントでの読み替え」)。
|
|
28
28
|
|
|
29
29
|
### 第 2 問 — skill なしのターンでも効く必要があるか
|
|
30
30
|
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
### 残すときの書き方と予算
|
|
36
36
|
|
|
37
37
|
- **常駐規則は、トリガと導線の 2 つで書く。** **判定は、導線を一度も開かないターンでも常駐の記述だけで正しく振る舞えるかである。**
|
|
38
|
-
- **削ることは移すことであり、削除は理由を示して初めて許される例外である。**
|
|
38
|
+
- **削ることは移すことであり、削除は理由を示して初めて許される例外である。** 先に導線の先へ移し、マーカーテストも付け替える。写しを移さず引退させてよいのは 3 条件がすべて揃うときだけ — 同じ文書に単一ソースが宣言された文の写しである・単一ソースと突き合わせてほかにない文を含まない・マーカーテストが固定していない。揃わなければ候補と証拠を記録して規則は残す
|
|
39
|
+
- 写しのほかに、`pnpm josh rule:value --fresh` の `candidates:` 節も引退(`retire`)・導線 1 行への縮約(`condense`)の根拠になる。判定は `scripts/rules/rule-value-candidates.ts`。候補ごとに Issue を分け、残すなら理由を記録する
|
|
39
40
|
- 経緯(Issue 番号・なぜ・計測・却下案)は `docs/maintainers/<topic>-rationale.md` に置き、その冒頭で説明する手順文書を名指しする。**参照の向きは根拠 → 手順だけ** — AI が読む文書から根拠文書は指さない(`scripts/document/rationale-documents.test.ts` が検出する)。Issue 番号引用の件数は `scripts/document/issue-citation-budget.ts` のラチェットに従う — 減らしたら記録も下げる
|
|
40
41
|
- 引用は本文があるファイルを直接指す
|
|
41
42
|
- 予算が詰まったら回収で解く。**引き上げは Tier C として扱う** — `RESIDENT_CEILING_BYTES`・`RESIDENT_HEADROOM_BYTES`・`RE_INLINE_GUARD_HEADROOM_BYTES` の緩和は、3 条件(回収の余地が尽きたことを計測で示す・需要が 1 規則ではなく常駐すべき規則数の増加から来る・増やす量は需要と回収可能量の差だけで丸めない)を示し、ユーザーの明示指示を得てから行う。条件が揃うこと自体は指示ではない
|
|
@@ -14,10 +14,22 @@
|
|
|
14
14
|
|
|
15
15
|
一覧は `pnpm josh rule:list` が `scripts/rules/delivered-rules.ts` から生成する(joshuafolkken/kit#3399)。各項目は規則の単一ソース・発火点・発火しないときを持ち、フックが走らないエージェントはその出力を自己適用のチェックリストにする(`principles.md`)。
|
|
16
16
|
|
|
17
|
-
**引き金はシェルのコマンド文字列しか見えない**(node 内の REST
|
|
17
|
+
**引き金はシェルのコマンド文字列しか見えない**(node 内の REST は掛からず、`gh api --input <file>` のファイルの中身を読むのは `credential-body` だけ)ので、常駐側にトリガ 1 行を残す。
|
|
18
18
|
|
|
19
19
|
引き金が発火しないターンでは何も起きないのが仕様で、各項目の発火しない状態は「規則が守られている状態」と一致させる。一致が取れない規則は常駐に残す。
|
|
20
20
|
|
|
21
|
+
## stop-notify — 途中停止の通知(`confirmation`)
|
|
22
|
+
|
|
23
|
+
`CLAUDE.md` → "Mid-workflow stop notification" の本文(`pnpm josh rule:list` の `stop-notify` 行)。保持中のランが判断待ちで止まるとき、Stop フックの `pnpm josh stop:guard` が `confirmation` を送る — 理由を先頭に、末尾は `Recommended: <choice>`。フックが停止を拒否したときだけ自分で送る:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pnpm josh notify --task-type confirmation --issue-url "<url>" --body=$'<reason>' --recommended "<choice>" --alternative "<other>"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## concise-reply — 回答の長さ
|
|
30
|
+
|
|
31
|
+
`principles.md` → "concise-reply"(`pnpm josh rule:list` の `concise-reply` 行)。散文が上限を超えた回答の Stop で、`pnpm josh stop:guard` が節の本文付きで 1 度だけ書き直させる。
|
|
32
|
+
|
|
21
33
|
## 配送は 1 ラン 1 回
|
|
22
34
|
|
|
23
35
|
配送文はラン 1 回につき 1 度しか出ないので、**「同じ呼び出しをもう一度出せ」と明記する**。例外: 繰り返す行為を止める項目は毎回発火し(joshuafolkken/kit#1570)、前提の行為を求める項目は前提が末尾に現れるまで毎回拒否する(joshuafolkken/kit#2807)— その配送文にはそれぞれ「これは毎回発火する」「前提が末尾に現れるまで拒否する」と明記する。バッチングと調査の 2 ガードは違反が間隔分続けば再び発火する(joshuafolkken/kit#2164)。前提の証拠を読めないときは拒否する。
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
## 本文をシェルの二重引用符に載せない(joshuafolkken/kit#1198)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
### 何が起きるのか
|
|
6
|
-
|
|
7
|
-
二重引用符の中のバッククォートと `$` は実行前に評価される。次の呼び出しは `pnpm josh ms` を実行し、その出力を本文に埋め込む。
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
gh api repos/{owner}/{repo}/issues/1535/comments -f body="… `pnpm josh ms` は …"
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
`pnpm josh followup --notify-message "…"` も同じく壊れる。
|
|
14
|
-
|
|
15
|
-
発火するのは `` ` `` と `$` で、`!` ではない。
|
|
3
|
+
防ぐのは本文の**テキストが実行されること**である。二重引用符の中の `` ` `` と `$` は実行前に評価される(`!` は評価されない)。
|
|
16
4
|
|
|
17
5
|
### 安全な書き方
|
|
18
6
|
|
|
19
|
-
**本文をファイルに書いて、パスで渡す。**
|
|
7
|
+
**本文をファイルに書いて、パスで渡す。** `--body-file` の本文や計画メモは `.josh/tmp/` に置く(ignore 済みなのでコミットに混ざらない)。
|
|
20
8
|
|
|
21
9
|
```bash
|
|
22
10
|
pnpm josh issue:comment <N> --body-file <path>
|
|
@@ -29,7 +17,9 @@ PR コメントも `pnpm josh issue:comment <N> --body-file <path>` で投稿す
|
|
|
29
17
|
|
|
30
18
|
### コメント投稿は `pnpm josh issue:comment` の 1 綴りだけ(joshuafolkken/kit#2304)
|
|
31
19
|
|
|
32
|
-
`gh
|
|
20
|
+
自リポジトリへの `gh issue comment` / `gh api` コメント投稿 → `direct-issue-comment` 行が拒否する(`scripts/rules/direct-issue-comment.ts`)。
|
|
21
|
+
|
|
22
|
+
`-f body=@<path>` は `@<path>` というリテラルを投稿するので、`raw-field-body` 行が拒否する。Issue body 書き換えの `--field body=@<path>` は安全なのでそのまま使う。
|
|
33
23
|
|
|
34
24
|
`--body-file` / `--notify-message-file` は `-` で標準入力を読む(実装は `scripts/josh/cli-body.ts`)。`--body` と `--body-file` の同時指定は拒否される。
|
|
35
25
|
|
|
@@ -37,4 +27,4 @@ PR コメントも `pnpm josh issue:comment <N> --body-file <path>` で投稿す
|
|
|
37
27
|
|
|
38
28
|
### 引き金つき配送
|
|
39
29
|
|
|
40
|
-
`
|
|
30
|
+
`shell-body` 行が強制する。引き金が見えない綴り(`-b`・`-f title=` など)でも規則は同じく拘束する。
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
**実行中のリポジトリ自身はこの手順の対象外である。** kit の中で kit のラン機構(`backlog:drive`、`run:wake`、`run:carry`、レーン、分類、カウンタ、ガードなど)の不具合を見つけたら、上流 Issue で停止する代わりに、このリポジトリの割り込みとして次を行う。
|
|
16
16
|
|
|
17
|
-
1. **起票する** — `pnpm josh issue:file "<title>" --body-file <path> --
|
|
17
|
+
1. **起票する** — `pnpm josh issue:file "<title>" --body-file <path> --route interrupt --label priority:high --blocks-finder`。上限は効かない(`wip-cap.md` →「割り込み起票 — 上限が効かない側」の条件 2)
|
|
18
18
|
2. **止まらずに直す** — 壊れた機構を迂回せず、検証ゲートも緩めない。`backlogrun` の中では割り込みを次の子にし、着地後に塞がれていた子へ戻る(プールでは `priority:high` が先頭、epic の下では `wip-cap.md` の手順 3 で挿入、名前指定のランでは `pnpm josh lane:launch <N>` で自分で dispatch)。バッチの外では `wip-cap.md` の手順 4 どおり、打つべき `fullrun #<N>` を報告して止まる
|
|
19
19
|
3. **再開できるなら自分で再開し、動くことを確かめる** — 修正のマージ後、手渡し済み・所有者が死んだ記録・監督プロセスの停止(`warning` Telegram)には `pnpm josh run:wake --start`、`run:carry` の `standing` には `pnpm josh run:carry --resume "<invocation>" --owner "$PPID"` を打つ。`pnpm josh run:wake --list` が監督プロセスを示し、ログに次の子の dispatch が現れることを確かめて報告する
|
|
20
20
|
4. **人に打ち直しを求めるのは再開の手段が無いときだけ** — `mismatch`(別の起動の記録)、別の生きた所有者の `busy`。新しい承認を宣言するのは人だけ
|
|
@@ -22,15 +22,25 @@
|
|
|
22
22
|
|
|
23
23
|
手順:
|
|
24
24
|
|
|
25
|
-
1. **現在の作業を退避する**: `
|
|
25
|
+
1. **現在の作業を退避する**: `pnpm josh stash:push "upstream-interrupt: paused #<N>"`(WIP コミットでも可)
|
|
26
26
|
2. **進行中の Issue に状況を書く**: `pnpm josh issue:comment <N> --body-file <path>` で、stash したこと、中断理由(どの別パッケージのどんな問題か)、新 Issue へのリンク(`## Upstream issues` 見出しの下に `owner/repo#N` 形式、→「起票元へのバックリンク」)
|
|
27
|
-
3. **対象パッケージのリポジトリに Issue を作成する(確認なし)**: `pnpm josh issue:file "<root-cause title>" --body-file <body-file> --
|
|
28
|
-
4. **`confirmation` Telegram を送って停止する**: 上流 Issue の URL と何が止まっているかを書く(→ `
|
|
27
|
+
3. **対象パッケージのリポジトリに Issue を作成する(確認なし)**: `pnpm josh issue:file "<root-cause title>" --body-file <body-file> --route tier-a --repo <owner>/<repo>`(joshuafolkken/kit#1083)。検査・分類ラベル・重複探し・`epic:bundle` はコマンドが行う(`docs/josh-commands-backlog.md` → `josh issue:file`)。根本原因・再現・期待結果を `prompts/collaboration-workflow/issue-template.md` の Step 1 のテンプレで書き、`## Origin` 節に起票元 Issue を `owner/repo#N` 形式で書く
|
|
28
|
+
4. **`confirmation` Telegram を送って停止する**: 上流 Issue の URL と何が止まっているかを書く(→ `rule-delivery.md` → "stop-notify")
|
|
29
29
|
5. **元の作業を再開する**: 上流の修正がマージされた、またはユーザーが先送りを明示判断した後に `pnpm josh stash:pop "upstream-interrupt: paused #<N>"` で復元する(`operating-rules.md` → "no-self-staging")。上流 Issue を割り込みで実装するかもユーザーが決める
|
|
30
30
|
|
|
31
|
+
### first-party の Issue・PR への書き込みは確認不要
|
|
32
|
+
|
|
33
|
+
`pnpm josh repo:party` が `first-party` と答えたリポジトリの Issue・PR への書き込みは Tier A で、ユーザーに確認しない。起票、コメント、ラベル、本文の編集、`@dependabot rebase` などの Dependabot へのコマンドコメントを含む。
|
|
34
|
+
|
|
35
|
+
- 頼まれていない観察の起票はこの節で許可しない: この節が外すのは書き込み先の確認だけ。起票するかは `.claude/skills/workflow-commands/observation-filing.md` に従う
|
|
36
|
+
- `unknown` はこの節の対象外: first-party と判定できないので、書き込む前にユーザーに確認する
|
|
37
|
+
|
|
38
|
+
- **「外部への書き込み」は third-party への書き込みだけを指す**。first-party への書き込みをそう呼ばない
|
|
39
|
+
- マージ・ブランチ削除などの共有状態の操作は書き込みに含まれず、Tier C のまま(`CLAUDE.md` → "Git Rules")
|
|
40
|
+
|
|
31
41
|
### 第三者リポジトリへの書き込みは Tier C(明示指示が必要)
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
「起票は確認なし」も「書き込みは確認不要」も first-party だけに成り立つ。
|
|
34
44
|
|
|
35
45
|
- **判定は `pnpm josh repo:party [<owner/repo>]` が答える**: `first-party` / `third-party` / `unknown`(unknown は third-party 扱いしない)。fork や contribute しているだけの org リポジトリも third-party
|
|
36
46
|
- **third-party への書き込みは種別を問わず Tier C**: Issue・コメント・PR・Discussion・レビュー、既存 Issue のクローズ・編集も、その turn のユーザーの明示指示なしに行わない。正しい診断も許可ではない
|
|
@@ -55,11 +55,13 @@
|
|
|
55
55
|
1. **上限に関係なく起票する。** 1 件閉じることを条件にしない。本文の検査、分類ラベルの付与、重複探し、`epic:bundle` はコマンドが行う(`docs/josh-commands-backlog.md` → `josh issue:file`)。
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
pnpm josh issue:file "<title>" --body-file <body-file> --
|
|
58
|
+
pnpm josh issue:file "<title>" --body-file <body-file> --route interrupt
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
+
`--blocks-finder` は付けない。発見したランを塞がない割り込みに起票元の `blocked-by` を書くと、偽の依存関係になる。
|
|
62
|
+
|
|
61
63
|
2. 超過している事実と当たった条件の番号を、両方とも本文に 1 行書く(例:「オープン 37 件で起票。3 条件のうち 2(文書化された手順が完了できない)に該当」)。
|
|
62
|
-
3. 次に実行されるものとして挿入する。epic の下なら `pnpm josh epic --add <E> <N>` で**位置を指定せずに**追加する(`<E>` が epic、`<N>` が割り込み)。**`--before` / `--after` を使ってはならない。** それらは `blocked-by` を書き込み、**偽の依存関係**になる。**順序は実行側が持つ** — 先に提示させたいときは行だけを動かす `--order-before <M>` を使う。**epic の下に無いなら挿入先そのものが無い**ので、4
|
|
64
|
+
3. 次に実行されるものとして挿入する。epic の下なら `pnpm josh epic --add <E> <N>` で**位置を指定せずに**追加する(`<E>` が epic、`<N>` が割り込み)。**`--before` / `--after` を使ってはならない。** それらは `blocked-by` を書き込み、**偽の依存関係**になる。**順序は実行側が持つ** — 先に提示させたいときは行だけを動かす `--order-before <M>` を使う。**epic の下に無いなら挿入先そのものが無い**ので、4 だけを行う。`--blocks-finder` の割り込みを追加したら → `pnpm josh epic --reconcile <E>`(`docs/josh-commands-backlog.md` → `josh issue:file` の `--blocks-finder`)。
|
|
63
65
|
4. 着手は既にある承認の内側でのみ、指示を待たずに行う。`backlogrun` の中なら次の子として着手してよい。バッチの外では `CLAUDE.md` →「Explicit invocation required」が効き、起票と挿入まで済ませて打つべきコマンド(`fullrun #<N>`)を報告して止まる。**割り込みは上限の例外であって、明示起動規則の例外ではない。**
|
|
64
66
|
|
|
65
67
|
起票と、実行されるようにするところまでが 1 つのまとまりである — epic の下で追加しなければ `epic:next` は候補に出さない。**epic の外にある割り込みでは、まとまりの後半は 4 の報告そのもの**である。
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
# Issue-Driven Collaboration Workflow
|
|
2
2
|
|
|
3
|
-
複数の AI ツール(Claude / Cursor / Gemini)で共通に使う Issue
|
|
3
|
+
複数の AI ツール(Claude / Cursor / Gemini)で共通に使う Issue 駆動ワークフローの**索引**。人間が読むための索引であり、規則を定める場所ではない。必要な 1 本だけを開く。
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
人間が読むための索引であり、規則を定める場所ではない。常駐の引き金は `CLAUDE.md`、実行中の手順は `.claude/skills/workflow-commands/`、各話題の規則は下表のファイルが一次情報である。
|
|
8
|
-
|
|
9
|
-
- 下表から必要な 1 本だけを開く。
|
|
10
|
-
- 他の文書から話題を指すときは、索引でなく**本文があるファイルを直接指す**([`residency.md`](./collaboration-workflow/residency.md))。
|
|
5
|
+
他の文書から話題を指すときは、索引でなく**本文があるファイルを直接指す**([`residency.md`](./collaboration-workflow/residency.md))。
|
|
11
6
|
|
|
12
7
|
| 話題 | ファイル |
|
|
13
8
|
| ---------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
@@ -27,6 +22,7 @@
|
|
|
27
22
|
| 常駐ドキュメントと skill の分担 | [`residency.md`](./collaboration-workflow/residency.md) |
|
|
28
23
|
| 引き金つき配送 — 規則を効く瞬間に届ける | [`rule-delivery.md`](./collaboration-workflow/rule-delivery.md) |
|
|
29
24
|
| コマンド出力が文脈へ持ち込む量の上限 | [`output-bounds.md`](./collaboration-workflow/output-bounds.md) |
|
|
25
|
+
| 所要時間は記録から測る | [`measurement.md`](./collaboration-workflow/measurement.md) |
|
|
30
26
|
| 運用ルール | [`operating-rules.md`](./collaboration-workflow/operating-rules.md) |
|
|
31
27
|
| 用語集 — lane・cut・hold・park など | [`glossary.md`](./collaboration-workflow/glossary.md) |
|
|
32
28
|
| headless のレーン子・レビューの起動時の規則セット | [`lane-instructions.md`](./collaboration-workflow/lane-instructions.md) |
|
package/prompts/refactoring.md
CHANGED
|
@@ -90,4 +90,4 @@ lint が一部の面しか見ない項目だけを挙げる。コーディング
|
|
|
90
90
|
|
|
91
91
|
## 実装後の品質保証(絶対遵守)
|
|
92
92
|
|
|
93
|
-
実装後は `
|
|
93
|
+
実装後は `pnpm josh lint:related` → `pnpm josh gate` の順で全関与ファイルを確認し、エラー0件になるまで修正する。エラーが残ったまま完了報告しない。レーン子の gate は `josh ship` が回す(`.claude/skills/workflow-commands/chain-rule.md` → "Run the review-to-merge chain" step 0)。
|
package/prompts/review-rubric.md
CHANGED
|
@@ -88,6 +88,8 @@ For each finding:
|
|
|
88
88
|
- Cite `file_path:line_number`
|
|
89
89
|
- State severity (`high` / `medium` / `low`) by the two tests in "Severity"
|
|
90
90
|
- Explain the concrete problem and the minimal fix
|
|
91
|
+
- On a `high` or `medium`, cite every other site of the same pattern in the change's files and their
|
|
92
|
+
callers as `file_path:line_number`, so one fix pass closes them all
|
|
91
93
|
- On a test-1 finding rated `low`, write `no failure scenario — <what you tried>`
|
|
92
94
|
|
|
93
95
|
A category with no findings needs a proof statement, e.g. `No issues — checked null returns on X,
|
|
@@ -139,6 +141,9 @@ Actively try to break the changed code.
|
|
|
139
141
|
- Impact outside the diff: open the callers of every changed export or signature and verify they still
|
|
140
142
|
hold; flag duplication the change introduces
|
|
141
143
|
- Regressions in existing behavior covered elsewhere
|
|
144
|
+
- Commands the changed prose tells a reader to run, run from a cwd other than the root with absolute,
|
|
145
|
+
relative and empty inputs, in a scratch copy when they write: `prompts/review.md` → "Before round 1
|
|
146
|
+
— the implementer's self-check", question 10
|
|
142
147
|
|
|
143
148
|
**`No issues` requires at least one explicit trace statement.**
|
|
144
149
|
|
|
@@ -171,7 +176,7 @@ switching `no-restricted-syntax` off.
|
|
|
171
176
|
### 6. Tests
|
|
172
177
|
|
|
173
178
|
- Every code change has a corresponding test (unit or E2E) per `CLAUDE.md` Code Change Rules Step 0
|
|
174
|
-
- Test titles
|
|
179
|
+
- Test titles describe behavior, not implementation
|
|
175
180
|
- **Mutation check**: for the most critical test added or changed — if the key assertion/condition in
|
|
176
181
|
the implementation were inverted or removed, would it fail? If no or uncertain, rewrite it.
|
|
177
182
|
- **Requirement check**: does the test verify the behavior the issue/task describes, or only that code
|
|
@@ -179,7 +184,6 @@ switching `no-restricted-syntax` off.
|
|
|
179
184
|
|
|
180
185
|
### 7. Comments & content
|
|
181
186
|
|
|
182
|
-
- Comments are English only
|
|
183
187
|
- No narration comments (`// Added for issue #123`, `// TODO: refactor later`) — only non-obvious _why_
|
|
184
188
|
- No duplicated logic that should be extracted
|
|
185
189
|
|
|
@@ -205,6 +209,9 @@ concerns"; if nothing is uncertain, trace the logic path that gives that confide
|
|
|
205
209
|
not describe.
|
|
206
210
|
- High findings → must fix before committing
|
|
207
211
|
- Medium findings → must fix before opening the PR
|
|
212
|
+
- A finding wholly covered by an open follow-up this Issue filed (a `先送り: #M <title>` comment on
|
|
213
|
+
it, which `issue:file --found-during <N>` posts) → record it as `low` citing `#M`, never `medium`
|
|
214
|
+
or `high`, so it does not stop the ship
|
|
208
215
|
- Low findings → document in the PR body if skipped
|
|
209
216
|
|
|
210
217
|
If the diff is empty or trivial (e.g. whitespace only), state that and skip the review.
|