@fitlab-ai/agent-infra 0.8.5 → 0.9.1
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/README.md +6 -1
- package/README.zh-CN.md +5 -1
- package/bin/cli.ts +2 -2
- package/dist/bin/cli.js +2 -2
- package/dist/bin/internal-cli.js +103 -0
- package/dist/lib/decide.js +81 -90
- package/dist/lib/defaults.json +1 -0
- package/dist/lib/git/review-snapshot.js +79 -0
- package/dist/lib/git/workflow.js +101 -0
- package/dist/lib/internal/git-workflow.js +42 -0
- package/dist/lib/internal/platform-checks.js +119 -0
- package/dist/lib/internal/platform-comment.js +129 -0
- package/dist/lib/internal/platform-context.js +46 -0
- package/dist/lib/internal/platform-issue.js +142 -0
- package/dist/lib/internal/platform-pr.js +146 -0
- package/dist/lib/internal/platform-release-notes.js +53 -0
- package/dist/lib/internal/release-workflow.js +320 -0
- package/dist/lib/internal/task-artifact.js +67 -0
- package/dist/lib/internal/task-context.js +43 -0
- package/dist/lib/internal/task-event.js +70 -0
- package/dist/lib/internal/task-ledger.js +114 -0
- package/dist/lib/internal/task-lifecycle.js +58 -0
- package/dist/lib/internal/task-short-id.js +83 -0
- package/dist/lib/internal/task-snapshot.js +47 -0
- package/dist/lib/internal/task-verify.js +50 -0
- package/dist/lib/internal/task-warning.js +74 -0
- package/dist/lib/platform/adapters.js +14 -0
- package/dist/lib/platform/context.js +146 -0
- package/dist/lib/platform/github-client.js +124 -0
- package/dist/lib/platform/github-release-notes.js +96 -0
- package/dist/lib/platform/issue-comments.js +409 -0
- package/dist/lib/platform/issue-metadata.js +183 -0
- package/dist/lib/platform/issues.js +619 -0
- package/dist/lib/platform/merged-pr-equivalence.js +54 -0
- package/dist/lib/platform/metadata-labels.js +28 -0
- package/dist/lib/platform/pr-checks.js +216 -0
- package/dist/lib/platform/pr-summary.js +88 -0
- package/dist/lib/platform/pull-request-metadata.js +38 -0
- package/dist/lib/platform/pull-requests.js +340 -0
- package/dist/lib/platform/release-notes.js +143 -0
- package/dist/lib/platform/releases.js +82 -0
- package/dist/lib/platform/types.js +22 -0
- package/dist/lib/platform/verification-required.js +102 -0
- package/dist/lib/platform/verification-sync.js +1014 -0
- package/dist/lib/platform/verification.js +6 -0
- package/dist/lib/release/channels.js +31 -0
- package/dist/lib/release/workflow.js +32 -0
- package/dist/lib/render.js +3 -2
- package/dist/lib/run/index.js +24 -7
- package/dist/lib/sandbox/build-proxy.js +63 -0
- package/dist/lib/sandbox/capture.js +25 -3
- package/dist/lib/sandbox/commands/create.js +93 -31
- package/dist/lib/sandbox/commands/enter.js +34 -11
- package/dist/lib/sandbox/commands/list-running.js +10 -8
- package/dist/lib/sandbox/commands/rebuild.js +24 -7
- package/dist/lib/sandbox/commands/show.js +2 -2
- package/dist/lib/sandbox/commands/start.js +53 -15
- package/dist/lib/sandbox/image-build.js +2 -1
- package/dist/lib/sandbox/index.js +6 -6
- package/dist/lib/sandbox/mounts.js +36 -0
- package/dist/lib/sandbox/recovery.js +562 -0
- package/dist/lib/sandbox/runtimes/ai-tools.dockerfile +24 -3
- package/dist/lib/sandbox/runtimes/base.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/java17.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/java21.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/node20.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/node22.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/python3.dockerfile +8 -1
- package/dist/lib/sandbox/shell.js +2 -1
- package/dist/lib/sandbox/task-resolver.js +5 -1
- package/dist/lib/sandbox/tools.js +19 -0
- package/dist/lib/server/protocol.js +5 -5
- package/dist/lib/task/activity-log.js +61 -0
- package/dist/lib/task/artifact-lifecycle.js +427 -0
- package/dist/lib/task/command-options.js +30 -0
- package/dist/lib/task/commands/cat.js +36 -6
- package/dist/lib/task/commands/decisions.js +80 -46
- package/dist/lib/task/commands/files.js +21 -7
- package/dist/lib/task/commands/grep.js +55 -7
- package/dist/lib/task/commands/issue-body.js +33 -19
- package/dist/lib/task/commands/log.js +27 -70
- package/dist/lib/task/commands/show.js +20 -7
- package/dist/lib/task/commands/status.js +18 -8
- package/dist/lib/task/decision-intents.js +154 -0
- package/dist/lib/task/decision-items.js +53 -0
- package/dist/lib/task/events.js +318 -0
- package/dist/lib/task/frontmatter.js +159 -1
- package/dist/lib/task/implementation-inputs.js +117 -0
- package/dist/lib/task/index.js +12 -9
- package/dist/lib/task/issue-form.js +21 -6
- package/dist/lib/task/ledger-intents.js +185 -0
- package/dist/lib/task/ledger.js +65 -35
- package/dist/lib/task/lifecycle.js +484 -0
- package/dist/lib/task/resolve-ref.js +152 -32
- package/dist/lib/task/review-artifacts.js +101 -0
- package/dist/lib/task/review-fingerprint.js +55 -0
- package/dist/lib/task/sections.js +358 -4
- package/dist/lib/task/short-id.js +292 -7
- package/dist/lib/task/snapshot.js +95 -0
- package/dist/lib/task/verification-checks.js +8 -0
- package/dist/lib/task/verification-config.js +14 -0
- package/dist/lib/task/verification-engine.js +923 -0
- package/dist/lib/task/verification-review.js +3 -0
- package/dist/lib/task/verification-types.js +2 -0
- package/dist/lib/task/verification.js +113 -0
- package/dist/lib/task/workflow-warning-intents.js +131 -0
- package/dist/lib/task/workflow-warnings.js +10 -78
- package/dist/lib/task/write.js +241 -0
- package/lib/decide.ts +57 -97
- package/lib/defaults.json +1 -0
- package/lib/git/review-snapshot.ts +73 -0
- package/lib/git/workflow.ts +101 -0
- package/lib/internal/git-workflow.ts +37 -0
- package/lib/internal/platform-checks.ts +101 -0
- package/lib/internal/platform-comment.ts +99 -0
- package/lib/internal/platform-context.ts +33 -0
- package/lib/internal/platform-issue.ts +116 -0
- package/lib/internal/platform-pr.ts +119 -0
- package/lib/internal/platform-release-notes.ts +55 -0
- package/lib/internal/release-workflow.ts +288 -0
- package/lib/internal/task-artifact.ts +47 -0
- package/lib/internal/task-context.ts +35 -0
- package/lib/internal/task-event.ts +51 -0
- package/lib/internal/task-ledger.ts +86 -0
- package/lib/internal/task-lifecycle.ts +41 -0
- package/lib/internal/task-short-id.ts +55 -0
- package/lib/internal/task-snapshot.ts +32 -0
- package/lib/internal/task-verify.ts +33 -0
- package/lib/internal/task-warning.ts +50 -0
- package/lib/platform/adapters.ts +30 -0
- package/lib/platform/context.ts +164 -0
- package/lib/platform/github-client.ts +146 -0
- package/lib/platform/github-release-notes.ts +132 -0
- package/lib/platform/issue-comments.ts +479 -0
- package/lib/platform/issue-metadata.ts +250 -0
- package/lib/platform/issues.ts +693 -0
- package/lib/platform/merged-pr-equivalence.ts +70 -0
- package/lib/platform/metadata-labels.ts +33 -0
- package/lib/platform/pr-checks.ts +247 -0
- package/lib/platform/pr-summary.ts +90 -0
- package/lib/platform/pull-request-metadata.ts +69 -0
- package/lib/platform/pull-requests.ts +386 -0
- package/lib/platform/release-notes.ts +167 -0
- package/lib/platform/releases.ts +71 -0
- package/lib/platform/types.ts +74 -0
- package/lib/platform/verification-required.ts +109 -0
- package/{runtime/platform-adapters/platform-sync.github.js → lib/platform/verification-sync.ts} +198 -367
- package/lib/platform/verification.ts +11 -0
- package/lib/release/channels.ts +30 -0
- package/lib/release/workflow.ts +31 -0
- package/lib/render.ts +3 -2
- package/lib/run/index.ts +25 -7
- package/lib/sandbox/build-proxy.ts +94 -0
- package/lib/sandbox/capture.ts +29 -3
- package/lib/sandbox/commands/create.ts +120 -36
- package/lib/sandbox/commands/enter.ts +38 -11
- package/lib/sandbox/commands/list-running.ts +10 -8
- package/lib/sandbox/commands/rebuild.ts +29 -7
- package/lib/sandbox/commands/show.ts +2 -2
- package/lib/sandbox/commands/start.ts +50 -16
- package/lib/sandbox/image-build.ts +4 -1
- package/lib/sandbox/index.ts +6 -6
- package/lib/sandbox/mounts.ts +55 -0
- package/lib/sandbox/recovery.ts +828 -0
- package/lib/sandbox/runtimes/ai-tools.dockerfile +24 -3
- package/lib/sandbox/runtimes/base.dockerfile +8 -1
- package/lib/sandbox/runtimes/java17.dockerfile +8 -1
- package/lib/sandbox/runtimes/java21.dockerfile +8 -1
- package/lib/sandbox/runtimes/node20.dockerfile +8 -1
- package/lib/sandbox/runtimes/node22.dockerfile +8 -1
- package/lib/sandbox/runtimes/python3.dockerfile +8 -1
- package/lib/sandbox/shell.ts +3 -1
- package/lib/sandbox/task-resolver.ts +5 -1
- package/lib/sandbox/tools.ts +31 -0
- package/lib/server/protocol.ts +5 -5
- package/lib/task/activity-log.ts +62 -0
- package/lib/task/artifact-lifecycle.ts +484 -0
- package/lib/task/command-options.ts +32 -0
- package/lib/task/commands/cat.ts +22 -9
- package/lib/task/commands/decisions.ts +49 -47
- package/lib/task/commands/files.ts +14 -6
- package/lib/task/commands/grep.ts +34 -7
- package/lib/task/commands/issue-body.ts +26 -21
- package/lib/task/commands/log.ts +17 -70
- package/lib/task/commands/show.ts +14 -6
- package/lib/task/commands/status.ts +17 -7
- package/lib/task/decision-intents.ts +163 -0
- package/lib/task/decision-items.ts +64 -0
- package/lib/task/events.ts +320 -0
- package/lib/task/frontmatter.ts +202 -2
- package/lib/task/implementation-inputs.ts +137 -0
- package/lib/task/index.ts +12 -9
- package/lib/task/issue-form.ts +24 -6
- package/lib/task/ledger-intents.ts +201 -0
- package/lib/task/ledger.ts +77 -31
- package/lib/task/lifecycle.ts +458 -0
- package/lib/task/resolve-ref.ts +197 -36
- package/{templates/.agents/scripts/lib/review-artifacts.js → lib/task/review-artifacts.ts} +11 -12
- package/{templates/.agents/scripts/lib/post-review-commit.js → lib/task/review-fingerprint.ts} +26 -12
- package/lib/task/sections.ts +486 -4
- package/lib/task/short-id.ts +403 -9
- package/lib/task/snapshot.ts +143 -0
- package/lib/task/verification-checks.ts +9 -0
- package/lib/task/verification-config.ts +20 -0
- package/{templates/.agents/scripts/validate-artifact.js → lib/task/verification-engine.ts} +230 -421
- package/lib/task/verification-review.ts +10 -0
- package/lib/task/verification-types.ts +29 -0
- package/lib/task/verification.ts +156 -0
- package/lib/task/workflow-warning-intents.ts +142 -0
- package/lib/task/workflow-warnings.ts +10 -78
- package/lib/task/write.ts +468 -0
- package/package.json +4 -2
- package/templates/.agents/README.en.md +4 -3
- package/templates/.agents/README.zh-CN.md +4 -3
- package/templates/.agents/rules/README.en.md +6 -5
- package/templates/.agents/rules/README.zh-CN.md +6 -5
- package/templates/.agents/rules/create-issue.en.md +1 -1
- package/templates/.agents/rules/create-issue.github.en.md +5 -184
- package/templates/.agents/rules/create-issue.github.zh-CN.md +12 -178
- package/templates/.agents/rules/create-issue.zh-CN.md +1 -1
- package/templates/.agents/rules/human-decision-context.en.md +36 -0
- package/templates/.agents/rules/human-decision-context.zh-CN.md +36 -0
- package/templates/.agents/rules/issue-fields.github.en.md +4 -148
- package/templates/.agents/rules/issue-fields.github.zh-CN.md +9 -144
- package/templates/.agents/rules/issue-pr-commands.en.md +43 -3
- package/templates/.agents/rules/issue-pr-commands.github.en.md +15 -220
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +23 -213
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +45 -3
- package/templates/.agents/rules/issue-sync.en.md +1 -1
- package/templates/.agents/rules/issue-sync.github.en.md +14 -301
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +36 -287
- package/templates/.agents/rules/issue-sync.zh-CN.md +1 -1
- package/templates/.agents/rules/milestone-inference.en.md +1 -1
- package/templates/.agents/rules/milestone-inference.github.en.md +7 -119
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +8 -108
- package/templates/.agents/rules/milestone-inference.zh-CN.md +1 -1
- package/templates/.agents/rules/next-step-output.en.md +12 -11
- package/templates/.agents/rules/next-step-output.zh-CN.md +12 -11
- package/templates/.agents/rules/no-mid-flow-questions.en.md +3 -3
- package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +3 -3
- package/templates/.agents/rules/pr-checks-commands.en.md +16 -3
- package/templates/.agents/rules/pr-checks-commands.github.en.md +10 -54
- package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +19 -47
- package/templates/.agents/rules/pr-checks-commands.zh-CN.md +30 -3
- package/templates/.agents/rules/pr-sync.en.md +30 -3
- package/templates/.agents/rules/pr-sync.github.en.md +12 -115
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +26 -104
- package/templates/.agents/rules/pr-sync.zh-CN.md +43 -3
- package/templates/.agents/rules/release-commands.en.md +2 -2
- package/templates/.agents/rules/release-commands.github.en.md +10 -40
- package/templates/.agents/rules/release-commands.github.zh-CN.md +9 -39
- package/templates/.agents/rules/release-commands.zh-CN.md +2 -2
- package/templates/.agents/rules/review-handshake.en.md +10 -6
- package/templates/.agents/rules/review-handshake.zh-CN.md +10 -6
- package/templates/.agents/rules/task-management.en.md +11 -2
- package/templates/.agents/rules/task-management.zh-CN.md +11 -3
- package/templates/.agents/rules/task-short-id.en.md +25 -29
- package/templates/.agents/rules/task-short-id.zh-CN.md +20 -23
- package/templates/.agents/rules/testing-discipline.en.md +20 -2
- package/templates/.agents/rules/testing-discipline.zh-CN.md +20 -2
- package/templates/.agents/scripts/lib/agent-infra-package.js +1 -9
- package/templates/.agents/scripts/task-short-id.js +71 -533
- package/templates/.agents/skills/analyze-task/SKILL.en.md +26 -56
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +30 -60
- package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -3
- package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/block-task/SKILL.en.md +21 -47
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +23 -47
- package/templates/.agents/skills/block-task/config/verify.json +1 -2
- package/templates/.agents/skills/cancel-task/SKILL.en.md +16 -45
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +16 -45
- package/templates/.agents/skills/cancel-task/config/verify.json +1 -2
- package/templates/.agents/skills/check-task/SKILL.en.md +6 -3
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +6 -3
- package/templates/.agents/skills/close-codescan/SKILL.en.md +6 -24
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +6 -24
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +6 -24
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +6 -24
- package/templates/.agents/skills/code-task/SKILL.en.md +22 -35
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +28 -44
- package/templates/.agents/skills/code-task/config/verify.en.json +3 -3
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +3 -3
- package/templates/.agents/skills/code-task/reference/dual-mode.en.md +13 -9
- package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +13 -9
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +1 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +1 -1
- package/templates/.agents/skills/code-task/reference/report-template.en.md +11 -1
- package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +11 -1
- package/templates/.agents/skills/commit/SKILL.en.md +13 -11
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +13 -11
- package/templates/.agents/skills/commit/config/verify.json +1 -2
- package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -11
- package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -11
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +4 -8
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +4 -8
- package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +6 -18
- package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +5 -17
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +13 -0
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +13 -0
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +13 -36
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +13 -36
- package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -3
- package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +10 -54
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +10 -79
- package/templates/.agents/skills/complete-task/SKILL.en.md +59 -63
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +59 -63
- package/templates/.agents/skills/complete-task/config/verify.en.json +10 -7
- package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +10 -7
- package/templates/.agents/skills/create-pr/SKILL.en.md +19 -44
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +19 -43
- package/templates/.agents/skills/create-pr/config/verify.json +1 -2
- package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +8 -12
- package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +7 -11
- package/templates/.agents/skills/create-release-note/SKILL.en.md +17 -38
- package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +16 -37
- package/templates/.agents/skills/create-task/SKILL.en.md +16 -13
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +16 -13
- package/templates/.agents/skills/create-task/config/verify.json +1 -2
- package/templates/.agents/skills/create-task/reference/context-capture.en.md +29 -0
- package/templates/.agents/skills/create-task/reference/context-capture.zh-CN.md +29 -0
- package/templates/.agents/skills/import-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-codescan/config/verify.json +1 -2
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-dependabot/config/verify.json +1 -2
- package/templates/.agents/skills/import-issue/SKILL.en.md +9 -13
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -14
- package/templates/.agents/skills/import-issue/config/verify.json +1 -2
- package/templates/.agents/skills/plan-task/SKILL.en.md +17 -42
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +22 -49
- package/templates/.agents/skills/plan-task/config/verify.en.json +1 -3
- package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/post-release/SKILL.en.md +11 -81
- package/templates/.agents/skills/post-release/SKILL.zh-CN.md +8 -78
- package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
- package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/release/SKILL.en.md +16 -163
- package/templates/.agents/skills/release/SKILL.zh-CN.md +15 -162
- package/templates/.agents/skills/restore-task/SKILL.en.md +11 -29
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +11 -29
- package/templates/.agents/skills/restore-task/config/verify.json +1 -2
- package/templates/.agents/skills/review-analysis/SKILL.en.md +13 -25
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +13 -33
- package/templates/.agents/skills/review-analysis/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +9 -12
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +9 -12
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +9 -2
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +9 -2
- package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/review-code/SKILL.en.md +22 -36
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +23 -41
- package/templates/.agents/skills/review-code/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-code/reference/output-templates.en.md +56 -18
- package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +56 -18
- package/templates/.agents/skills/review-code/reference/report-template.en.md +11 -4
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +11 -4
- package/templates/.agents/skills/review-code/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/review-plan/SKILL.en.md +13 -25
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +13 -33
- package/templates/.agents/skills/review-plan/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +9 -12
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +9 -12
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +9 -2
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +9 -2
- package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/update-agent-infra/SKILL.en.md +1 -2
- package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +1 -2
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +3 -15
- package/templates/.agents/skills/watch-pr/SKILL.en.md +24 -14
- package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +25 -15
- package/templates/.agents/skills/watch-pr/config/verify.json +1 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +2 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +2 -2
- package/templates/.agents/templates/task.en.md +24 -1
- package/templates/.agents/templates/task.zh-CN.md +24 -1
- package/templates/.claude/commands/analyze-task.en.md +1 -1
- package/templates/.claude/commands/analyze-task.zh-CN.md +1 -1
- package/templates/.claude/commands/block-task.en.md +1 -1
- package/templates/.claude/commands/block-task.zh-CN.md +1 -1
- package/templates/.claude/commands/cancel-task.en.md +1 -1
- package/templates/.claude/commands/cancel-task.zh-CN.md +1 -1
- package/templates/.claude/commands/check-task.en.md +1 -1
- package/templates/.claude/commands/check-task.zh-CN.md +1 -1
- package/templates/.claude/commands/code-task.en.md +1 -1
- package/templates/.claude/commands/code-task.zh-CN.md +1 -1
- package/templates/.claude/commands/commit.en.md +1 -0
- package/templates/.claude/commands/commit.zh-CN.md +1 -0
- package/templates/.claude/commands/complete-manual-validation.en.md +1 -1
- package/templates/.claude/commands/complete-manual-validation.zh-CN.md +1 -1
- package/templates/.claude/commands/complete-task.en.md +1 -1
- package/templates/.claude/commands/complete-task.zh-CN.md +1 -1
- package/templates/.claude/commands/create-pr.en.md +1 -1
- package/templates/.claude/commands/create-pr.zh-CN.md +1 -1
- package/templates/.claude/commands/plan-task.en.md +1 -1
- package/templates/.claude/commands/plan-task.zh-CN.md +1 -1
- package/templates/.claude/commands/review-analysis.en.md +1 -1
- package/templates/.claude/commands/review-analysis.zh-CN.md +1 -1
- package/templates/.claude/commands/review-code.en.md +1 -1
- package/templates/.claude/commands/review-code.zh-CN.md +1 -1
- package/templates/.claude/commands/review-plan.en.md +1 -1
- package/templates/.claude/commands/review-plan.zh-CN.md +1 -1
- package/templates/.claude/commands/watch-pr.en.md +1 -1
- package/templates/.claude/commands/watch-pr.zh-CN.md +1 -1
- package/templates/.gemini/commands/_project_/analyze-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/block-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/cancel-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/check-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/code-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/commit.en.toml +4 -0
- package/templates/.gemini/commands/_project_/commit.zh-CN.toml +4 -0
- package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/create-pr.en.toml +2 -0
- package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/plan-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-analysis.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-code.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-plan.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/watch-pr.en.toml +2 -0
- package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +2 -0
- package/templates/.git-hooks/check-large-files.cjs +92 -0
- package/templates/.git-hooks/check-version-format.sh +5 -1
- package/templates/.git-hooks/pre-commit +1 -0
- package/templates/.opencode/commands/analyze-task.en.md +1 -1
- package/templates/.opencode/commands/analyze-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/check-task.en.md +1 -1
- package/templates/.opencode/commands/check-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/code-task.en.md +1 -1
- package/templates/.opencode/commands/code-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/commit.en.md +2 -0
- package/templates/.opencode/commands/commit.zh-CN.md +2 -0
- package/templates/.opencode/commands/complete-task.en.md +1 -1
- package/templates/.opencode/commands/complete-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/plan-task.en.md +1 -1
- package/templates/.opencode/commands/plan-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-analysis.en.md +1 -1
- package/templates/.opencode/commands/review-analysis.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-code.en.md +1 -1
- package/templates/.opencode/commands/review-code.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-plan.en.md +1 -1
- package/templates/.opencode/commands/review-plan.zh-CN.md +1 -1
- package/templates/.agents/scripts/platform-adapters/platform-sync.github.js +0 -40
- package/templates/.agents/scripts/platform-adapters/platform-sync.js +0 -13
- package/templates/.agents/scripts/review-diff-fingerprint.js +0 -170
- package/templates/.agents/scripts/workflow-warnings.js +0 -290
- package/templates/.agents/skills/code-task/scripts/detect-mode.js +0 -257
- package/templates/.agents/skills/release/scripts/manage-milestones.github.sh +0 -80
- package/templates/.agents/skills/release/scripts/manage-milestones.sh +0 -6
|
@@ -1,36 +1,34 @@
|
|
|
1
1
|
# Task short id
|
|
2
2
|
|
|
3
3
|
Task short ids let mobile-style SKILL invocations replace the full 22-char
|
|
4
|
-
`TASK-YYYYMMDD-HHMMSS` with bare numeric `N`
|
|
5
|
-
task is active.
|
|
4
|
+
`TASK-YYYYMMDD-HHMMSS` with bare numeric `N` while a task is active.
|
|
6
5
|
|
|
7
6
|
## Syntax
|
|
8
7
|
|
|
9
|
-
-
|
|
10
|
-
- **Bare numeric `N`** (recommended; no shell quoting needed): e.g. `1`, `7`, `42`.
|
|
11
|
-
- **`#`-prefixed `#N` / `#NN`** (also accepted; bash needs `'...'` quoting): e.g. `#1`, `#01`, `#42`.
|
|
8
|
+
- Only **bare numeric `N`** is accepted (no shell quoting needed): e.g. `1`, `7`, `42`.
|
|
12
9
|
- Resolution: drop leading zeros and take the numeric value `n`; if `n == 0`,
|
|
13
10
|
reject (reserved); if `n > 10^shortIdLength - 1`, reject (over capacity);
|
|
14
|
-
otherwise canonicalize to
|
|
11
|
+
otherwise canonicalize to `${n.padStart(shortIdLength, '0')}` as the
|
|
15
12
|
registry key.
|
|
16
13
|
- With the default `shortIdLength=2`, capacity is `n ∈ [1, 99]`; registry keys
|
|
17
14
|
look like `01`, `07`, `42`.
|
|
18
|
-
-
|
|
15
|
+
- `00` (or `0` when `shortIdLength=1`) is reserved and never allocated; digits
|
|
19
16
|
only, no letters.
|
|
20
|
-
- The plain `TASK-…` form keeps working everywhere; bare numeric
|
|
21
|
-
|
|
17
|
+
- The plain `TASK-…` form keeps working everywhere; bare numeric is an alias,
|
|
18
|
+
not the persisted task id.
|
|
19
|
+
- Removed `#N` / `#NN` syntax is consistently rejected as an invalid task ref.
|
|
22
20
|
|
|
23
21
|
## Lifecycle
|
|
24
22
|
|
|
25
23
|
| Action | When | Effect on registry |
|
|
26
24
|
|------------|-----------------------------------------------------------------------|---------------------------------------------------------------|
|
|
27
|
-
| alloc | `create-task`, `import-issue`, `import-codescan`, `import-dependabot` | Assigns lowest free
|
|
28
|
-
| resolve | Lifecycle SKILLs (`analyze-task`, `plan-task`, `code-task`, …) | Looks up
|
|
25
|
+
| alloc | `create-task`, `import-issue`, `import-codescan`, `import-dependabot` | Assigns lowest free `NN` in the registry. |
|
|
26
|
+
| resolve | Lifecycle SKILLs (`analyze-task`, `plan-task`, `code-task`, …) | Looks up `NN` → full task id. Does not allocate. |
|
|
29
27
|
| release | `complete-task`, `cancel-task`, `block-task`, `close-codescan`, `close-dependabot` | Removes the registry entry. |
|
|
30
|
-
| re-alloc | `restore-task` | Re-allocates a (possibly new)
|
|
28
|
+
| re-alloc | `restore-task` | Re-allocates a (possibly new) `NN` in the registry. |
|
|
31
29
|
|
|
32
30
|
Short ids are valid only while a task lives in `.agents/workspace/active/`.
|
|
33
|
-
Once it is moved to `completed/`, `blocked/`, or `archive/`, the
|
|
31
|
+
Once it is moved to `completed/`, `blocked/`, or `archive/`, the `NN` slot is
|
|
34
32
|
freed and may be reused by a new task.
|
|
35
33
|
|
|
36
34
|
## Configuration
|
|
@@ -39,7 +37,7 @@ freed and may be reused by a new task.
|
|
|
39
37
|
// .agents/.airc.json
|
|
40
38
|
{
|
|
41
39
|
"task": {
|
|
42
|
-
"shortIdLength": 2 // default; capacity = 99 (
|
|
40
|
+
"shortIdLength": 2 // default; capacity = 99 (01–99). Set to 3 for 001–999.
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
```
|
|
@@ -49,12 +47,12 @@ error suggesting either archiving some tasks or raising `task.shortIdLength`.
|
|
|
49
47
|
There is no silent extension or truncation. Changing `shortIdLength` requires
|
|
50
48
|
archiving all active tasks first (the registry key width depends on it).
|
|
51
49
|
|
|
52
|
-
##
|
|
50
|
+
## Short-id resolution scope (split by entrypoint)
|
|
53
51
|
|
|
54
52
|
| Entrypoint | Hit | Miss |
|
|
55
53
|
|-------------------------------------------------------------|----------------------|------------------------------------------------------|
|
|
56
54
|
| SKILL parameter resolver (lifecycle SKILLs) | resolve to full id | **strict error** — short id not found / invalid |
|
|
57
|
-
| `ai sandbox exec <N
|
|
55
|
+
| `ai sandbox exec <N>` / `ai sandbox create <N>` | resolve to full id, then read `branch` from task.md | **strict error** — no ls-index fallback, no literal-branch fallback; hint the user to pass a short id / `TASK-id` / branch name |
|
|
58
56
|
|
|
59
57
|
`list --verify` is strictly read-only: it reports discrepancies between the
|
|
60
58
|
active dir and the registry, but never writes.
|
|
@@ -64,10 +62,10 @@ active dir and the registry, but never writes.
|
|
|
64
62
|
Any SKILL (alloc / resolve / release / re-alloc lifecycle entry-points) that
|
|
65
63
|
receives a `{task-id}` argument must follow this contract:
|
|
66
64
|
|
|
67
|
-
1. If `{task-id}` matches `^[
|
|
65
|
+
1. If `{task-id}` matches `^[0-9]+$` (bare numeric `N`):
|
|
68
66
|
|
|
69
67
|
```bash
|
|
70
|
-
if [[ "{task-id}" =~ ^[
|
|
68
|
+
if [[ "{task-id}" =~ ^[0-9]+$ ]]; then
|
|
71
69
|
# The script writes the full error message (covering reserved / exceeds
|
|
72
70
|
# shortIdLength capacity / malformed input) to stderr; callers only forward
|
|
73
71
|
# the exit.
|
|
@@ -102,7 +100,7 @@ Short ids are pure local state, persisted only in the registry
|
|
|
102
100
|
registry entry is deleted immediately and the short id may be reused; archived
|
|
103
101
|
tasks are referenced by their full `TASK-…` id.
|
|
104
102
|
|
|
105
|
-
`resolve(<N
|
|
103
|
+
`resolve(<N>)` workflow: ① validate arg matches `^[0-9]+$` →
|
|
106
104
|
② strip leading zeros and take the numeric value `n`; classify as reserved
|
|
107
105
|
(`n == 0`) / over capacity (`n > 10^shortIdLength - 1`) / normal → ③ on
|
|
108
106
|
normal, use `n.padStart(shortIdLength, '0')` as the registry `ids` key
|
|
@@ -116,18 +114,16 @@ repair hint.
|
|
|
116
114
|
wrong. Exit code 1.
|
|
117
115
|
- **Registry corruption** (duplicate registry entries for the same task id, or
|
|
118
116
|
the JSON is unparsable): exit code 2; manual cleanup required.
|
|
119
|
-
- **Reserved key**: the resolved `n == 0` (inputs like `0`,
|
|
117
|
+
- **Reserved key**: the resolved `n == 0` (inputs like `0`, `00`). Exit code 1.
|
|
120
118
|
- **Over capacity**: the resolved `n > 10^shortIdLength - 1` (e.g. `100` or
|
|
121
|
-
|
|
122
|
-
- **Parameter format error**: input matches neither `^[
|
|
123
|
-
`TASK-id` (e.g. `#abc`, `#`, `5.5`). Exit code 1.
|
|
119
|
+
`100` when `shortIdLength=2`). Exit code 1.
|
|
120
|
+
- **Parameter format error**: input matches neither `^[0-9]+$` nor a
|
|
121
|
+
`TASK-id` (e.g. `#1`, `#abc`, `#`, `5.5`). Exit code 1.
|
|
124
122
|
|
|
125
|
-
## Cross-TUI
|
|
123
|
+
## Cross-TUI use
|
|
126
124
|
|
|
127
|
-
Bare numeric `N` is safe in every shell and TUI without quoting
|
|
125
|
+
Bare numeric `N` is safe in every shell and TUI without quoting:
|
|
128
126
|
`ai sandbox exec 11 'npm test'`, `/review-analysis 11`.
|
|
129
127
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
Claude Code / Codex / Gemini CLI / OpenCode all forward `#NN` to SKILL
|
|
133
|
-
`ARGUMENTS` literally when quoted.
|
|
128
|
+
Starting with the next major version, migrate the old `#NN` form to `NN`;
|
|
129
|
+
even a quoted value delivered intact to the CLI is rejected.
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
# 任务短号
|
|
2
2
|
|
|
3
|
-
短号让所有 SKILL 在 active
|
|
3
|
+
短号让所有 SKILL 在 active 任务生命周期内可以用裸数字 `N` 替代
|
|
4
4
|
完整的 22 字符 `TASK-YYYYMMDD-HHMMSS`。
|
|
5
5
|
|
|
6
6
|
## 语法
|
|
7
7
|
|
|
8
|
-
-
|
|
9
|
-
- **裸数字 `N`**(推荐,无需 shell 引号):如 `1`、`7`、`42`。
|
|
10
|
-
- **`#`-前缀 `#N` / `#NN`**(也接受;但 bash 需 `'...'` 引号):如 `#1`、`#01`、`#42`。
|
|
8
|
+
- 只接受**裸数字 `N`**(无需 shell 引号):如 `1`、`7`、`42`。
|
|
11
9
|
- 解析规则:去前导零后取数值 `n`,若 `n == 0` 报错(保留);若 `n > 10^shortIdLength - 1`
|
|
12
|
-
报错(超容量);否则归一化为
|
|
10
|
+
报错(超容量);否则归一化为 `${n.padStart(shortIdLength, '0')}`,作为注册表 key。
|
|
13
11
|
- 默认 `shortIdLength=2` 时容量 `n ∈ [1, 99]`,注册表 key 形如 `01`、`07`、`42`。
|
|
14
|
-
-
|
|
15
|
-
- 完整 `TASK-…`
|
|
12
|
+
- `00`(或 `shortIdLength=1` 时 `0`)保留、永不分配;纯数字、不引入字母。
|
|
13
|
+
- 完整 `TASK-…` 入参在所有路径下行为与现状等价;裸数字只是别名,不是持久化任务 ID。
|
|
14
|
+
- 已移除的 `#N` / `#NN` 语法作为无效任务引用稳定拒绝。
|
|
16
15
|
|
|
17
16
|
## 生命周期
|
|
18
17
|
|
|
19
18
|
| 动作 | 触发时机 | 注册表效应 |
|
|
20
19
|
|-----------|---------------------------------------------------------------------------------------------|------------------------------------------------------------------|
|
|
21
|
-
| alloc | `create-task`、`import-issue`、`import-codescan`、`import-dependabot` | 分配最小可用
|
|
22
|
-
| resolve | 生命周期 SKILL(`analyze-task` / `plan-task` / `code-task` / `review-*` / `commit` / …) |
|
|
20
|
+
| alloc | `create-task`、`import-issue`、`import-codescan`、`import-dependabot` | 分配最小可用 `NN`,写入注册表。 |
|
|
21
|
+
| resolve | 生命周期 SKILL(`analyze-task` / `plan-task` / `code-task` / `review-*` / `commit` / …) | `NN` → 完整 task id 查询,不分配。 |
|
|
23
22
|
| release | `complete-task`、`cancel-task`、`block-task`、`close-codescan`、`close-dependabot` | 从注册表移除。 |
|
|
24
23
|
| re-alloc | `restore-task` | 重新分配(可能与历史不同),写入注册表。 |
|
|
25
24
|
|
|
@@ -32,7 +31,7 @@
|
|
|
32
31
|
// .agents/.airc.json
|
|
33
32
|
{
|
|
34
33
|
"task": {
|
|
35
|
-
"shortIdLength": 2 // 默认;容量 = 99
|
|
34
|
+
"shortIdLength": 2 // 默认;容量 = 99(01–99)。改为 3 时容量 = 001–999。
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
37
|
```
|
|
@@ -41,12 +40,12 @@
|
|
|
41
40
|
`task.shortIdLength`」两种修复路径;不静默扩位、不静默截断。
|
|
42
41
|
切换 `shortIdLength` 配置需要先归档所有 active 任务(注册表 key 宽度依赖配置)。
|
|
43
42
|
|
|
44
|
-
##
|
|
43
|
+
## 短号解析作用域(按入口二分)
|
|
45
44
|
|
|
46
45
|
| 入口 | 注册表命中 | 注册表未命中 |
|
|
47
46
|
|-----------------------------------------------------------|----------------------|--------------------------------------------------------|
|
|
48
47
|
| SKILL 入参解析器(生命周期 SKILL) | 解析为完整 task id | **严格报错** —— 短号不存在 / 格式错误 |
|
|
49
|
-
| `ai sandbox exec <N
|
|
48
|
+
| `ai sandbox exec <N>` / `ai sandbox create <N>` | 解析为完整 task id 后查 task.md 取 `branch` | **严格报错** —— 不再回退到 ls 行号或字面分支名;提示用任务短号 / `TASK-id` / 分支名 |
|
|
50
49
|
|
|
51
50
|
`list --verify` 严格只读:报告 active 目录 / 注册表 两者差异,但不修改任何状态。
|
|
52
51
|
|
|
@@ -55,10 +54,10 @@
|
|
|
55
54
|
任意 SKILL(含 alloc / resolve / release / re-alloc 四类生命周期入口)在收到
|
|
56
55
|
`{task-id}` 入参后,必须按以下契约处理:
|
|
57
56
|
|
|
58
|
-
1. 如果 `{task-id}` 字面匹配 `^[
|
|
57
|
+
1. 如果 `{task-id}` 字面匹配 `^[0-9]+$`(裸数字 `N`):
|
|
59
58
|
|
|
60
59
|
```bash
|
|
61
|
-
if [[ "{task-id}" =~ ^[
|
|
60
|
+
if [[ "{task-id}" =~ ^[0-9]+$ ]]; then
|
|
62
61
|
# 脚本本身已输出完整错误(含 reserved / exceeds shortIdLength capacity 等场景);
|
|
63
62
|
# 调用方只需透传退出码
|
|
64
63
|
task_id=$(node .agents/scripts/task-short-id.js resolve "{task-id}") || exit 1
|
|
@@ -82,7 +81,7 @@ fi
|
|
|
82
81
|
- 短号只由显式 `alloc`(`create-task` / `import-*` / `restore-task`)分配;`resolve` / `list` / `release` 不分配,仅在执行时自动清理指向非 active 任务的 stale entry
|
|
83
82
|
- 归档(complete-task / cancel-task / block-task / close-*)后注册表 entry 立即删除,短号可被新任务复用;归档后引用任务一律用完整 `TASK-…` id
|
|
84
83
|
|
|
85
|
-
`resolve(<N
|
|
84
|
+
`resolve(<N>)` 工作流:① 校验入参匹配 `^[0-9]+$` → ② 去前导零取
|
|
86
85
|
数值 `n`,按 `n` 是否 `== 0`(保留)/ `> 10^shortIdLength - 1`(超容量)/
|
|
87
86
|
正常 三类处理 → ③ 正常时以 `n.padStart(shortIdLength, '0')` 作为 key 查
|
|
88
87
|
注册表 `ids` → ④ 命中返回完整 task id,未命中按 `list --verify` 给出修复指引退出 1。
|
|
@@ -91,15 +90,13 @@ fi
|
|
|
91
90
|
|
|
92
91
|
- **短号不存在**:注册表中无对应 key。可能是任务已归档(短号已释放)或输入错误。退出码 1。
|
|
93
92
|
- **注册表损坏**(同一 taskId 出现多次或 JSON 无法解析):退出码 2,需人工处理。
|
|
94
|
-
- **保留键**:解析后 `n == 0`(输入如 `0
|
|
95
|
-
- **超容量**:解析后 `n > 10^shortIdLength - 1`(如 `shortIdLength=2` 下 `100
|
|
96
|
-
- **参数格式错误**:入参既不是 `^[
|
|
93
|
+
- **保留键**:解析后 `n == 0`(输入如 `0`、`00`)。退出码 1。
|
|
94
|
+
- **超容量**:解析后 `n > 10^shortIdLength - 1`(如 `shortIdLength=2` 下 `100`)。退出码 1。
|
|
95
|
+
- **参数格式错误**:入参既不是 `^[0-9]+$` 也不是 `TASK-id`(如 `#1`、`#abc`、`#`、`5.5`)。退出码 1。
|
|
97
96
|
|
|
98
|
-
## 跨 TUI
|
|
97
|
+
## 跨 TUI 使用
|
|
99
98
|
|
|
100
|
-
裸数字 `N` 在所有 shell 与 TUI
|
|
99
|
+
裸数字 `N` 在所有 shell 与 TUI 中都安全无需引号:
|
|
101
100
|
`ai sandbox exec 11 'npm test'`、`/review-analysis 11`。
|
|
102
101
|
|
|
103
|
-
|
|
104
|
-
`ai sandbox exec '#03' 'npm test'`。Claude Code / Codex / Gemini CLI / OpenCode
|
|
105
|
-
在加引号时都能把 `#NN` 字面传递到 SKILL 的 `ARGUMENTS`。
|
|
102
|
+
从下一个大版本起,原 `#NN` 写法必须迁移为 `NN`;即使引用后完整传入 CLI 也会被拒绝。
|
|
@@ -41,6 +41,24 @@ This mirrors "Goal-Driven Execution" in AGENTS.md: define a verifiable success c
|
|
|
41
41
|
|
|
42
42
|
## Project-specific test policy
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
Complete each item below for this repository. Record the chosen behavior and its boundaries so contributors can select and validate tests consistently.
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
### 1. Test commands
|
|
47
|
+
|
|
48
|
+
> TODO: Document the complete test command and any faster commands used during development.
|
|
49
|
+
|
|
50
|
+
### 2. Test directories or tiers
|
|
51
|
+
|
|
52
|
+
> TODO: Document the test directories or tiers and the rule for choosing among them.
|
|
53
|
+
|
|
54
|
+
### 3. Coverage
|
|
55
|
+
|
|
56
|
+
> TODO: Document how coverage is collected, any thresholds, and whether coverage blocks changes.
|
|
57
|
+
|
|
58
|
+
### 4. Continuous integration
|
|
59
|
+
|
|
60
|
+
> TODO: Document which CI checks run tests and which checks are blocking or informational.
|
|
61
|
+
|
|
62
|
+
### 5. Reporting services
|
|
63
|
+
|
|
64
|
+
> TODO: Document any external reporting services, badges, or artifacts and whether they affect acceptance.
|
|
@@ -41,6 +41,24 @@ assert.match(content, /^name: code-task$/m); // 正向断言已足够
|
|
|
41
41
|
|
|
42
42
|
## 项目级测试策略
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
请为本仓库填写以下各项,记录选定行为及其边界,以便贡献者一致地选择并验证测试。
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
### 1. 测试命令
|
|
47
|
+
|
|
48
|
+
> TODO: 记录完整测试命令,以及开发期间使用的可选快速命令。
|
|
49
|
+
|
|
50
|
+
### 2. 测试目录或层级
|
|
51
|
+
|
|
52
|
+
> TODO: 记录测试目录或层级,以及选择对应目录或层级的规则。
|
|
53
|
+
|
|
54
|
+
### 3. 覆盖率
|
|
55
|
+
|
|
56
|
+
> TODO: 记录覆盖率采集方式、阈值,以及覆盖率是否阻塞变更。
|
|
57
|
+
|
|
58
|
+
### 4. 持续集成
|
|
59
|
+
|
|
60
|
+
> TODO: 记录运行测试的 CI 检查,以及哪些检查属于阻塞项或信息项。
|
|
61
|
+
|
|
62
|
+
### 5. 报告服务
|
|
63
|
+
|
|
64
|
+
> TODO: 记录外部报告服务、徽章或构件,以及它们是否影响验收。
|
|
@@ -4,7 +4,6 @@ import path from "node:path";
|
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
|
|
6
6
|
const PACKAGE_NAME = "@fitlab-ai/agent-infra";
|
|
7
|
-
const RUNTIME_RELATIVE_PATH = "runtime/platform-adapters/platform-sync.github.js";
|
|
8
7
|
const COMMAND_NAMES = ["ai", "agent-infra"];
|
|
9
8
|
|
|
10
9
|
function canonicalize(candidate) {
|
|
@@ -37,16 +36,10 @@ function inspectPackageRoot(candidate, source) {
|
|
|
37
36
|
};
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
const runtimePath = path.join(canonicalRoot, RUNTIME_RELATIVE_PATH);
|
|
41
|
-
if (!fs.existsSync(runtimePath)) {
|
|
42
|
-
return { source, candidate: canonicalRoot, reason: `runtime not found at ${runtimePath}` };
|
|
43
|
-
}
|
|
44
|
-
|
|
45
39
|
return {
|
|
46
40
|
source,
|
|
47
41
|
candidate: canonicalRoot,
|
|
48
42
|
packageRoot: canonicalRoot,
|
|
49
|
-
runtimePath,
|
|
50
43
|
templateRoot: path.join(canonicalRoot, "templates")
|
|
51
44
|
};
|
|
52
45
|
}
|
|
@@ -91,7 +84,6 @@ function resolveAgentInfraPackage(options = {}) {
|
|
|
91
84
|
const platform = options.platform || process.platform;
|
|
92
85
|
const startPath = options.startPath || fileURLToPath(import.meta.url);
|
|
93
86
|
const attempts = [];
|
|
94
|
-
|
|
95
87
|
const tryRoot = (candidate, source) => {
|
|
96
88
|
const inspected = inspectPackageRoot(candidate, source);
|
|
97
89
|
attempts.push(inspected);
|
|
@@ -126,7 +118,7 @@ function resolveAgentInfraPackage(options = {}) {
|
|
|
126
118
|
}
|
|
127
119
|
}
|
|
128
120
|
|
|
129
|
-
return { packageRoot: null,
|
|
121
|
+
return { packageRoot: null, templateRoot: null, attempts };
|
|
130
122
|
}
|
|
131
123
|
|
|
132
124
|
function formatAgentInfraPackageError(result) {
|