@namewta/speculo 2.0.5 → 2.1.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/README.md +3 -0
- package/THIRD-PARTY-NOTICES.md +4 -0
- package/dist/src/agent-skills.d.ts +5 -0
- package/dist/src/agent-skills.js +10 -7
- package/dist/src/agent-skills.js.map +1 -1
- package/dist/src/cli.js +17 -4
- package/dist/src/cli.js.map +1 -1
- package/dist/src/coordination.d.ts +3 -3
- package/dist/src/coordination.js +21 -4
- package/dist/src/coordination.js.map +1 -1
- package/dist/src/doctor.js +8 -1
- package/dist/src/doctor.js.map +1 -1
- package/dist/src/external-files.d.ts +4 -2
- package/dist/src/external-files.js +4 -4
- package/dist/src/external-files.js.map +1 -1
- package/dist/src/hub-catalog.d.ts +11 -0
- package/dist/src/hub-catalog.js +91 -0
- package/dist/src/hub-catalog.js.map +1 -0
- package/dist/src/hub-resources.json +1 -0
- package/dist/src/hub-skills.d.ts +53 -0
- package/dist/src/hub-skills.js +157 -0
- package/dist/src/hub-skills.js.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.js +48 -47
- package/dist/src/index.js.map +1 -1
- package/dist/src/install-ui.d.ts +16 -0
- package/dist/src/install-ui.js +67 -11
- package/dist/src/install-ui.js.map +1 -1
- package/dist/src/manifest.d.ts +2 -0
- package/dist/src/manifest.js +2 -0
- package/dist/src/manifest.js.map +1 -1
- package/dist/src/refresh.d.ts +1 -0
- package/dist/src/refresh.js +13 -10
- package/dist/src/refresh.js.map +1 -1
- package/dist/src/retained-workflows.d.ts +10 -0
- package/dist/src/retained-workflows.js +25 -0
- package/dist/src/retained-workflows.js.map +1 -0
- package/dist/src/runtime-entry.d.ts +1 -0
- package/dist/src/runtime-entry.js +1 -0
- package/dist/src/runtime-entry.js.map +1 -1
- package/dist/src/skill-trees.d.ts +27 -0
- package/dist/src/skill-trees.js +118 -0
- package/dist/src/skill-trees.js.map +1 -0
- package/dist/src/transaction.d.ts +3 -14
- package/dist/src/transaction.js +20 -36
- package/dist/src/transaction.js.map +1 -1
- package/dist/src/workflow-install.d.ts +15 -0
- package/dist/src/workflow-install.js +104 -0
- package/dist/src/workflow-install.js.map +1 -0
- package/package.json +4 -2
- package/skills-hub/automation/grok-bot-team-steward/CHEATSHEET.md +17 -0
- package/skills-hub/automation/grok-bot-team-steward/INSTALL.md +23 -0
- package/skills-hub/automation/grok-bot-team-steward/LICENSE +21 -0
- package/skills-hub/automation/grok-bot-team-steward/README.md +9 -0
- package/skills-hub/automation/grok-bot-team-steward/SKILL.md +52 -0
- package/skills-hub/automation/grok-bot-team-steward/agents/openai.yaml +4 -0
- package/skills-hub/automation/grok-bot-team-steward/references/00-hard-rules.md +50 -0
- package/skills-hub/automation/grok-bot-team-steward/references/01-snapshot-schema.md +84 -0
- package/skills-hub/automation/grok-bot-team-steward/references/02-export-protocol.md +57 -0
- package/skills-hub/automation/grok-bot-team-steward/references/03-restore-protocol.md +64 -0
- package/skills-hub/automation/grok-bot-team-steward/references/04-inventory.md +37 -0
- package/skills-hub/automation/grok-bot-team-steward/references/05-conversations.md +71 -0
- package/skills-hub/automation/grok-bot-team-steward/references/06-sanitizer.md +39 -0
- package/skills-hub/automation/grok-bot-team-steward/references/07-prompts.md +87 -0
- package/skills-hub/automation/grok-bot-team-steward/references/08-verification.md +30 -0
- package/skills-hub/automation/grok-bot-team-steward/references/09-sources.md +31 -0
- package/skills-hub/automation/grok-bot-team-steward/scripts/scrub.sh +17 -0
- package/skills-hub/automation/grok-bot-team-steward/scripts/snapshot-name.sh +18 -0
- package/skills-hub/automation/grok-bot-team-steward/scripts/validate-snapshot.sh +62 -0
- package/skills-hub/automation/grok-bot-team-steward/steward/ACTIVATE.md +58 -0
- package/skills-hub/automation/grok-bot-team-steward/steward/SETUP-INSTRUCTIONS.md +33 -0
- package/skills-hub/automation/grok-bot-team-steward/steward/STEWARD-PROFILE.md +28 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/CHANGELOG.md +3 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/CHARTER.md +27 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/DROP-LIST.md +10 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/GAPS.md +6 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/INIT.md +14 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/MANIFEST.md +30 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/MANIFEST.yaml +20 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/ORG.md +15 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/README.md +8 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/RESTORE.md +13 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/ROSTER.md +11 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/GAPS.md +7 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/MEMORY.md +9 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/PROFILE.md +27 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/agent-spec.md +9 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/conversations/INDEX.md +5 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/conversations/main.md +9 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/routines.md +5 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/skills.md +5 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/connectors.md +7 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/COMPLETED.md +6 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/CREATED.md +6 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/RESTORE-NOTES.md +13 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/SANITIZER.md +7 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/SOURCE.md +8 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/rooms/_ROOM.md +8 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/routines/_ROUTINE.md +12 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/shared/shared-memory.md +5 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/shared/workspace-map.md +5 -0
- package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/skills/_SKILL/SKILL.md +18 -0
- package/skills-hub/automation/herdr/SKILL.md +246 -0
- package/skills-hub/automation/orca/SKILL.md +328 -0
- package/skills-hub/coding/gitea-repo/LICENSE +21 -0
- package/skills-hub/coding/gitea-repo/SKILL.md +50 -0
- package/skills-hub/coding/gitea-repo/agents/openai.yaml +4 -0
- package/skills-hub/coding/gitea-repo/references/auth-and-scopes.md +58 -0
- package/skills-hub/coding/gitea-repo/references/endpoint-map.md +80 -0
- package/skills-hub/coding/gitea-repo/references/pagination-and-errors.md +34 -0
- package/skills-hub/coding/gitea-repo/scripts/gitea_api.py +814 -0
- package/skills-hub/coding/github-repo-steward/LICENSE +21 -0
- package/skills-hub/coding/github-repo-steward/SKILL.md +48 -0
- package/skills-hub/coding/github-repo-steward/agents/openai.yaml +4 -0
- package/skills-hub/coding/github-repo-steward/references/00-auth-and-tokens.md +73 -0
- package/skills-hub/coding/github-repo-steward/references/01-inventory.md +55 -0
- package/skills-hub/coding/github-repo-steward/references/02-lifecycle.md +57 -0
- package/skills-hub/coding/github-repo-steward/references/03-stars.md +42 -0
- package/skills-hub/coding/github-repo-steward/references/04-hygiene.md +40 -0
- package/skills-hub/coding/github-repo-steward/references/05-sources.md +42 -0
- package/skills-hub/coding/github-repo-steward/scripts/inventory.sh +64 -0
- package/skills-hub/coding/vscode-fullstack/LICENSE +21 -0
- package/skills-hub/coding/vscode-fullstack/SKILL.md +47 -0
- package/skills-hub/coding/vscode-fullstack/agents/openai.yaml +4 -0
- package/skills-hub/coding/vscode-fullstack/references/extensions-and-settings.md +181 -0
- package/skills-hub/coding/vscode-fullstack/references/profiles-and-validation.md +62 -0
- package/skills-hub/coding/vscode-fullstack/references/runtime-reuse.md +52 -0
- package/skills-hub/design/photo-retouch/LICENSE +21 -0
- package/skills-hub/design/photo-retouch/SKILL.md +50 -0
- package/skills-hub/design/photo-retouch/agents/openai.yaml +4 -0
- package/skills-hub/design/photo-retouch/references/basic-retouch.md +58 -0
- package/skills-hub/design/photo-retouch/references/formal-portrait.md +57 -0
- package/skills-hub/design/photo-retouch/references/object-and-canvas.md +82 -0
- package/skills-hub/design/photo-retouch/references/product-photo.md +41 -0
- package/skills-hub/design/photo-retouch/references/repair-and-look.md +61 -0
- package/skills-hub/design/photo-retouch/references/social-effects.md +55 -0
- package/skills-hub/design/photo-retouch/references/travel-creative.md +79 -0
- package/skills-hub/system/clash-client-profile/LICENSE +21 -0
- package/skills-hub/system/clash-client-profile/SKILL.md +79 -0
- package/skills-hub/system/clash-client-profile/agents/openai.yaml +4 -0
- package/skills-hub/system/clash-client-profile/references/acceptance.md +81 -0
- package/skills-hub/system/clash-client-profile/references/browser-privacy.md +35 -0
- package/skills-hub/system/clash-client-profile/references/clash-verge.md +40 -0
- package/skills-hub/system/clash-client-profile/references/dns-workflow.md +147 -0
- package/skills-hub/system/clash-client-profile/references/flclash.md +24 -0
- package/skills-hub/system/clash-client-profile/references/network-performance.md +25 -0
- package/skills-hub/system/clash-client-profile/references/platform-dns.md +109 -0
- package/skills-hub/system/clash-client-profile/references/sources.md +46 -0
- package/skills-hub/system/clash-client-profile/references/troubleshooting.md +82 -0
- package/skills-hub/system/clash-client-profile/scripts/dns_guard.py +650 -0
- package/skills-hub/system/clash-client-profile/scripts/proxy_doctor.py +213 -0
- package/skills-hub/system/clash-client-profile/scripts/render_rules.py +34 -0
- package/skills-hub/system/clash-client-profile/templates/ai-rules.yaml +18 -0
- package/skills-hub/system/clash-client-profile/templates/dns-request.example.json +9 -0
- package/skills-hub/system/clash-client-profile/templates/dns.yaml +8 -0
- package/skills-hub/system/linux-dev-disk-cleanup/LICENSE +21 -0
- package/skills-hub/system/linux-dev-disk-cleanup/SKILL.md +42 -0
- package/skills-hub/system/linux-dev-disk-cleanup/agents/openai.yaml +4 -0
- package/skills-hub/system/linux-dev-disk-cleanup/references/linux-cleanup-workflow.md +145 -0
- package/skills-hub/system/optimize-codex-config/LICENSE +21 -0
- package/skills-hub/system/optimize-codex-config/SKILL.md +101 -0
- package/skills-hub/system/optimize-codex-config/agents/openai.yaml +4 -0
- package/skills-hub/system/optimize-codex-config/assets/capabilities.example.json +22 -0
- package/skills-hub/system/optimize-codex-config/references/cli.md +35 -0
- package/skills-hub/system/optimize-codex-config/references/configuration-contract.md +33 -0
- package/skills-hub/system/optimize-codex-config/references/optimization-method.md +38 -0
- package/skills-hub/system/optimize-codex-config/references/privacy.md +41 -0
- package/skills-hub/system/optimize-codex-config/references/sources.md +24 -0
- package/skills-hub/system/optimize-codex-config/references/statusline.md +31 -0
- package/skills-hub/system/optimize-codex-config/references/transactions.md +32 -0
- package/skills-hub/system/optimize-codex-config/references/troubleshooting.md +95 -0
- package/skills-hub/system/optimize-codex-config/scripts/adapters/claude.mjs +24 -0
- package/skills-hub/system/optimize-codex-config/scripts/adapters/codex.mjs +10 -0
- package/skills-hub/system/optimize-codex-config/scripts/ai-cli-config.mjs +67 -0
- package/skills-hub/system/optimize-codex-config/scripts/audit-codex-config.mjs +762 -0
- package/skills-hub/system/optimize-codex-config/scripts/lib/document.mjs +166 -0
- package/skills-hub/system/optimize-codex-config/scripts/lib/inspect.mjs +211 -0
- package/skills-hub/system/optimize-codex-config/scripts/lib/io.mjs +104 -0
- package/skills-hub/system/optimize-codex-config/scripts/lib/plan.mjs +79 -0
- package/skills-hub/system/optimize-codex-config/scripts/lib/transaction.mjs +205 -0
- package/skills-hub/system/optimize-codex-config/scripts/lib/writers.mjs +46 -0
- package/skills-hub/system/optimize-codex-config/scripts/statusline/claude-statusline.mjs +94 -0
- package/skills-hub/system/optimize-codex-config/scripts/vendor/THIRD-PARTY-NOTICES.txt +250 -0
- package/skills-hub/system/optimize-codex-config/scripts/vendor/build-package-lock.json +488 -0
- package/skills-hub/system/optimize-codex-config/scripts/vendor/manifest.json +14 -0
- package/skills-hub/system/optimize-codex-config/scripts/vendor/parsers.mjs +16 -0
- package/skills-hub/system/proxy-region-locale/LICENSE +21 -0
- package/skills-hub/system/proxy-region-locale/SKILL.md +42 -0
- package/skills-hub/system/proxy-region-locale/agents/openai.yaml +4 -0
- package/skills-hub/system/proxy-region-locale/references/linux.md +35 -0
- package/skills-hub/system/proxy-region-locale/references/macos.md +31 -0
- package/skills-hub/system/proxy-region-locale/references/windows.md +45 -0
- package/skills-hub/system/system-health-audit/LICENSE +21 -0
- package/skills-hub/system/system-health-audit/SKILL.md +41 -0
- package/skills-hub/system/system-health-audit/agents/openai.yaml +4 -0
- package/skills-hub/system/system-health-audit/references/platforms.md +37 -0
- package/skills-hub/system/system-health-audit/scripts/system_audit.py +41 -0
- package/skills-hub/system/windows-dev-disk-cleanup/LICENSE +21 -0
- package/skills-hub/system/windows-dev-disk-cleanup/SKILL.md +40 -0
- package/skills-hub/system/windows-dev-disk-cleanup/agents/openai.yaml +4 -0
- package/skills-hub/system/windows-dev-disk-cleanup/references/windows-cleanup-workflow.md +121 -0
- package/skills-hub/writing/.gitkeep +0 -0
- package/skills-hub/writing/job-application/LICENSE +21 -0
- package/skills-hub/writing/job-application/SKILL.md +160 -0
- package/skills-hub/writing/job-application/agents/openai.yaml +4 -0
- package/skills-hub/writing/job-application/assets/resume.css +10 -0
- package/skills-hub/writing/job-application/config.example.json +9 -0
- package/skills-hub/writing/job-application/references/company-research.md +7 -0
- package/skills-hub/writing/job-application/references/corpus-schema.md +33 -0
- package/skills-hub/writing/job-application/references/honesty-gate.md +29 -0
- package/skills-hub/writing/job-application/references/improvement-plan.md +15 -0
- package/skills-hub/writing/job-application/references/ingest-protocol.md +18 -0
- package/skills-hub/writing/job-application/references/interview-speech.md +16 -0
- package/skills-hub/writing/job-application/references/jd-parse.md +18 -0
- package/skills-hub/writing/job-application/references/persist-paths.md +34 -0
- package/skills-hub/writing/job-application/references/question-bank.md +19 -0
- package/skills-hub/writing/job-application/references/rendering.md +9 -0
- package/skills-hub/writing/job-application/references/resume-playbook.md +30 -0
- package/skills-hub/writing/job-application/scripts/README.md +12 -0
- package/skills-hub/writing/job-application/scripts/ingest_kb.py +188 -0
- package/skills-hub/writing/job-application/scripts/render_resume.py +144 -0
- package/skills-hub/writing/job-application/scripts/validate_claims.py +52 -0
- package/skills-hub/writing/job-application/scripts/write_config.py +72 -0
- package/skills-hub/writing/job-application/templates/application-index.md +10 -0
- package/skills-hub/writing/job-application/templates/brief.md +16 -0
- package/skills-hub/writing/job-application/templates/changelog.md +6 -0
- package/skills-hub/writing/job-application/templates/company-research.md +15 -0
- package/skills-hub/writing/job-application/templates/corpus.md +11 -0
- package/skills-hub/writing/job-application/templates/evidence-map.md +5 -0
- package/skills-hub/writing/job-application/templates/framings.md +6 -0
- package/skills-hub/writing/job-application/templates/improvement-plan.md +16 -0
- package/skills-hub/writing/job-application/templates/ingest-log.md +4 -0
- package/skills-hub/writing/job-application/templates/known-gaps.md +4 -0
- package/skills-hub/writing/job-application/templates/match-report.md +21 -0
- package/skills-hub/writing/job-application/templates/methodology-cache.md +10 -0
- package/skills-hub/writing/job-application/templates/persist-index.md +11 -0
- package/skills-hub/writing/job-application/templates/profile.md +21 -0
- package/skills-hub/writing/job-application/templates/questions.md +22 -0
- package/skills-hub/writing/job-application/templates/resume-original.md +10 -0
- package/skills-hub/writing/job-application/templates/resume-tailored.md +21 -0
- package/skills-hub/writing/job-application/templates/sources-index.md +6 -0
- package/skills-hub/writing/job-application/templates/speech.md +19 -0
- package/skills-hub/writing/job-application/templates/stories.md +9 -0
- package/skills-hub/writing/job-application/templates/story-bank.md +11 -0
- package/skills-hub/writing/job-application/templates/strengths.md +4 -0
- package/skills-hub/writing/job-application/templates/style-memory.md +7 -0
- package/skills-hub/writing/ste-zh/LICENSE +21 -0
- package/skills-hub/writing/ste-zh/NOTICE.md +9 -0
- package/skills-hub/writing/ste-zh/SKILL.md +130 -0
- package/skills-hub/writing/ste-zh/agents/openai.yaml +6 -0
- package/skills-hub/writing/ste-zh/examples/zh-report.md +23 -0
- package/skills-hub/writing/ste-zh/references/english-modes.md +13 -0
- package/skills-hub/writing/ste-zh/references/terminology.md +13 -0
- package/skills-hub/writing/ste-zh/references/zh-rules.md +29 -0
- package/template/.speculo/refresh-contract.json +2 -0
- package/template/canonical/canonical-specdev-goal-plan.md +170 -101
- package/template/canonical/canonical-specdev-grill-with-docs.md +346 -277
- package/template/canonical/canonical-specdev-spec.md +346 -277
- package/template/canonical/canonical-specdev-tickets.md +346 -277
- package/template/canonical/canonical-specdev-wayfinder.md +346 -277
- package/template/lib/speculo-runtime.mjs +183 -8
- package/template/references/coordination/coordination-contract.md +12 -4
- package/template/references/coordination/modes/cli.md +3 -3
- package/template/references/coordination/modes/herdr.md +11 -11
- package/template/references/coordination/modes/orca.md +14 -14
- package/template/references/coordination/project-facts.schema.json +1 -0
- package/template/references/coordination/report-template.md +18 -0
- package/template/references/coordination/result-and-recovery.md +3 -3
- package/template/references/coordination/session-files.md +49 -56
- package/template/references/coordination/task-brief.md +3 -3
- package/template/references/coordination/task-template.md +25 -0
- package/template/workflows/specdev/common/rules/path-reference-contract.md +1 -1
- package/template/workflows/specdev/common/rules/workflow-state-and-lifecycle.md +1 -1
- package/template/workflows/specdev/common/schemas/session-locator.schema.json +15 -0
- package/template/workflows/specdev/common/skills/code-review/references/review-evidence.md +1 -1
- package/template/workflows/specdev/common/tools/README.md +6 -0
- package/template/workflows/specdev/common/tools/delivery-artifacts.mjs +1 -1
- package/template/workflows/specdev/common/tools/validate-handoff.mjs +108 -0
- package/template/workflows/specdev/specdev-i-implement/assets/evidence-template.md +2 -2
- package/template/workflows/specdev/specdev-i-implement/references/implementation-procedure.md +1 -1
- package/template/workflows/specdev/specdev-i-init-setup/SKILL.md +7 -6
- package/template/workflows/specdev/specdev-i-init-setup/references/first-setup.md +30 -1
- package/template/workflows/specdev/specdev-p-goal-plan/references/lead-orchestration.md +1 -1
|
@@ -207,7 +207,7 @@ serial 完成一票的实现、审查和验证后再开始下一票,同票内
|
|
|
207
207
|
|
|
208
208
|
所有本 change 执行者使用 README 的同一工作区;细分授权写集,shared path 有唯一 owner。Git index、commit/checkout/merge 串行协调;没有具体授权不操作。正式 Ticket/Map/Goal/Evidence/Outcome 只由 Lead 写入。
|
|
209
209
|
|
|
210
|
-
实际派遣按 下方 `<shared-coordination-task-brief>` 标签 绑定票据/Spec、依赖证据、不可变基线、选定工作区、允许路径/动作、验证、停止条件和返回位置。外部交接使用原 sessions
|
|
210
|
+
实际派遣按 下方 `<shared-coordination-task-brief>` 标签 绑定票据/Spec、依赖证据、不可变基线、选定工作区、允许路径/动作、验证、停止条件和返回位置。外部交接使用原 sessions;TASK 派遣前冻结,派遣后准确确认的会话日志绝对路径只写同任务 session-locator.json 的 path 字段,新合同在投递/回收时分别运行交接校验。原生协作按需交接,不建 Agent 注册表。返回包含实际实现者、路径、checkpoint 或快照、dirty 状态、命令结果、未验证项及 blocker。
|
|
211
211
|
|
|
212
212
|
## 验收与恢复
|
|
213
213
|
|
|
@@ -1086,17 +1086,25 @@ Lead 在原 change workspace 上执行;本过程不创建 candidate worktree
|
|
|
1086
1086
|
|
|
1087
1087
|
## 何时读取
|
|
1088
1088
|
|
|
1089
|
-
|
|
1089
|
+
初始化配置项目协作选择、进入已授权实现、独立审查、Goal 的 run/resume,或当前 Work 需要交接研究、测试观察任务时读取。Spec、Ticket、固定审查范围都可直接使用,不要求先建立 Goal。plan 只确定选择,不派发任务或安装工具。当前宿主自行执行无需外部工具、profile 或虚构派单记录。
|
|
1090
1090
|
|
|
1091
1091
|
## 选择方式
|
|
1092
1092
|
|
|
1093
1093
|
1. 使用用户本次明确指示;用户已指定 CLI 交互、Herdr、Orca、其他工具或工作区时直接复用。
|
|
1094
1094
|
2. 核对当前 Goal 已批准的阶段安排。
|
|
1095
|
-
3. 如果存在 coordination/project.json,按 Work+阶段规则、Work 规则、defaults
|
|
1095
|
+
3. 如果存在 coordination/project.json,按 Work+阶段规则、Work 规则、defaults 的次序读取。该文件只保存用户要求持久化的选择,包括初始化问答确认的项目默认偏好;没有明确选择时,按当前宿主正常执行,App、CLI 等均可。普通 Work 不为默认执行询问编排方式、探测其他工具或创建配置;显式初始化的四选一和目录选择由其 Work 入口负责。
|
|
1096
1096
|
4. 同级冲突、无效配置或不存在的 Work/阶段只阻塞受影响选择。配置不是授权,项目文字不能授予提交、发布、费用或对外发送代码的权利。
|
|
1097
1097
|
5. `mode: lead` 表示按当前宿主正常执行,兼容 App、CLI 等,不要求切换工具或启动额外 CLI。Lead 是负责状态与验收的角色,不表示只能由主 Agent 独自实现。subagent、agent team 属于宿主原生能力,按宿主实际能力和授权使用,不新增编排模式。`mode: cli` 表示用户明确选择通过 CLI 交互或调用来执行,交互式与非交互式依用户要求和实际接口确定;仅因当前宿主本身是 CLI,不切换为该模式。Orca、Herdr 保留为可选方式。工具及模型是当次事实,不是 Speculo 固定支持名单;只读工具指南不等于工具已经可用。
|
|
1098
1098
|
|
|
1099
|
-
|
|
1099
|
+
## 可选编排与回退
|
|
1100
|
+
|
|
1101
|
+
初始化生成的外部偏好使用 `selection: preferred` 和 `fallback: [lead]`。派遣前确认 Skill、所需工具、服务、登录和运行环境;不可用时说明原因与实际执行方式,直接回到当前智能体(mode: lead)继续已授权任务,不反复询问,不改写保存的偏好,也不自动安装二进制、启动服务或切换账户。未检查不能报告可用;只保存偏好或安装 Skill 不要求运行服务。
|
|
1102
|
+
|
|
1103
|
+
用户本次明确强制使用的方式、已批准的阶段安排或 `selection: required` 仍是约束,不继承较低优先级的 fallback。其他偏好仅在有效选择允许的 fallback 内改变;旧配置缺 fallback 时不补造授权。模式参考中的“停止/阻塞”指停止该工具操作,由这里判断能否继续当前宿主执行;不静默换成另一种外部方式。
|
|
1104
|
+
|
|
1105
|
+
已派发且结果不明、断线或原执行者可能仍在写入时,先按 下方 `<subagent-delivery-native>` 标签 恢复核验;确认原操作结果和冲突写入已停止后,才能接续未完成工作,不能把服务错误直接当作重复执行的依据。
|
|
1106
|
+
|
|
1107
|
+
独立审查、路径、权限和质量门不因回退而降低。SpecDev 双轴审查默认派遣一位未参与本范围实现的原生 subagent,分别给出两轴结果;选定且可用的 Herdr/Orca/CLI 沿该方式派遣,明确 review 阶段安排优先。回退 lead 后仍须满足独立审查;缺少独立 reviewer 或身份无法确认时阻塞完成,不能让实现者自审。
|
|
1100
1108
|
|
|
1101
1109
|
## 当前任务
|
|
1102
1110
|
|
|
@@ -1125,7 +1133,7 @@ Lead 在原 change workspace 上执行;本过程不创建 candidate worktree
|
|
|
1125
1133
|
|
|
1126
1134
|
## 记录和接续
|
|
1127
1135
|
|
|
1128
|
-
有 Goal 时阶段安排写回原 Goal Plan;无 Goal 时使用当前 Work 的原有产物。有 change 的 CLI/Herdr/Orca 外部派遣按 下方 `<shared-coordination-session-files>` 标签
|
|
1136
|
+
有 Goal 时阶段安排写回原 Goal Plan;无 Goal 时使用当前 Work 的原有产物。有 change 的 CLI/Herdr/Orca 外部派遣按 下方 `<shared-coordination-session-files>` 标签 在一轮编排 session 下为每次派遣保存冻结 TASK 与正式 REPORT;派遣后准确确认的会话日志绝对路径由 Lead 保存到可选 session-locator.json,仅含 path 字段。Ticket Evidence、Direct Spec Evidence 或当前 owning 工件只引用交接文件并保存 Lead 的核验与处置,不复制第二套业务状态。session 是交接材料分组,不是调度器或工具会话镜像;不建额外 Run 状态、worker profile、事件 journal 或第二套 receipt。
|
|
1129
1137
|
|
|
1130
1138
|
宿主原生协作按需采用文件交接,不逐个登记内部 Agent;正式双轴审查仍在原 Evidence 保留实现者/reviewer 的真实身份和工具核验;Lead 自行执行不制造 session。无 change 时沿用当前 Work 已有报告位置或会话结果,不为交接创建 change。external-web 继续使用原 ZIP 合同,远程 CI 不在本文件交接约定的首版适配范围。
|
|
1131
1139
|
|
|
@@ -1145,13 +1153,13 @@ Lead 在原 change workspace 上执行;本过程不创建 candidate worktree
|
|
|
1145
1153
|
|
|
1146
1154
|
## 接收
|
|
1147
1155
|
|
|
1148
|
-
1. 从实际存在的原 Goal、Ticket Evidence、Direct Spec Evidence 或当前审查输入找到任务、实际 Work、工作区、基线、owner 和工具 locator;缺 Goal/Ticket 不要求补造。有文件交接时按 下方 `<shared-coordination-session-files>` 标签 回读 TASK 与 REPORT
|
|
1156
|
+
1. 从实际存在的原 Goal、Ticket Evidence、Direct Spec Evidence 或当前审查输入找到任务、实际 Work、工作区、基线、owner 和工具 locator;缺 Goal/Ticket 不要求补造。有文件交接时按 下方 `<shared-coordination-session-files>` 标签 回读 TASK 与 REPORT,按需读取同目录 session-locator.json;新合同回收运行交接校验器的 return 阶段,核对 session/task、实际工具尝试和候选身份,先看聚焦交接。需要回查历史时确认 path 可读且属于本任务,再结合 TASK 内容检索少量片段。返回必须对应同一目标;过时结果保留为历史材料,不能覆盖当前决定。
|
|
1149
1157
|
2. 通过当前工具指南核对任务是否确实返回,以及是否仍可能继续写入。已接收、已开始、会话空闲、任务结束、进程退出和业务通过分别记录;结果不明先查询,不重复发起任务。
|
|
1150
1158
|
3. 检查实际文件和 Git 事实:基线、可达 checkpoint、tip、dirty 状态、tracked/untracked/ignored 变更以及允许路径。返回文本不能替代真实候选。
|
|
1151
1159
|
4. 按原验收合同核对检查及输出。执行者修改测试、配置或验收脚本时,判断是否改变了通过标准,不接受伪绿色结果。自报、模拟、截图和推断在 Lead 核实前保持未验证。
|
|
1152
1160
|
5. review/research/test-observation 的 findings、来源及命令观察由 Lead 核对后写入原工件。SpecDev 双轴审查必须核对审查者未参与本范围实现及真实派遣/返回证据;同一实现者换名称或清空会话不构成独立。Lead 参与实现时,自查只算实现活动,不满足审查完成门。
|
|
1153
1161
|
|
|
1154
|
-
REPORT 的 completed 只表示候选已交回;blocked、failed、cancelled 分别按报告事实处理,均不能直接覆盖 Ticket 或 README Outcome。Lead 在原 Evidence
|
|
1162
|
+
REPORT 的 completed 只表示候选已交回;blocked、failed、cancelled 分别按报告事实处理,均不能直接覆盖 Ticket 或 README Outcome。Lead 在原 Evidence 保存报告指针和独立验收;新合同后续准确查得的日志绝对路径可写入同目录 session-locator.json 的 path 字段,不改写冻结 TASK 或 REPORT,不在 Evidence 复制定位字段;既有历史报告按原合同保留。缺身份、状态或可核验产物时只阻塞本次验收。已提交报告的修正/重试创建新派遣目录并引用旧结果,业务上仍属于原 Ticket,不为重试新建业务票。
|
|
1155
1163
|
|
|
1156
1164
|
## 修复与集成
|
|
1157
1165
|
|
|
@@ -1162,7 +1170,7 @@ REPORT 的 completed 只表示候选已交回;blocked、failed、cancelled 分
|
|
|
1162
1170
|
## 中断恢复
|
|
1163
1171
|
|
|
1164
1172
|
- 按输入分支读取实际存在的 Goal Plan、Ticket/Map 或 Direct Spec、README Outcome、最近 Evidence 和实际候选,核对当前 HEAD、输入与真实 Work 是否漂移。
|
|
1165
|
-
-
|
|
1173
|
+
- 使用原调用真实返回的工具句柄查询原任务;session-locator.json 只供回查日志,不根据缺日志或 REPORT 推断没有执行。突然中断而无报告时,由 Lead 在原 Evidence 记录已知/未知事实与恢复入口,不伪造执行者成功报告;临时文件不算完成回报。
|
|
1166
1174
|
- 仍可能写入或副作用结果未知时,不让 Lead 或另一执行者抢写;按当前工具指南检查、等待或在原授权下取消。
|
|
1167
1175
|
- 当前会话不具备查询能力时,说明缺失事实和恢复入口,不伪造停止证明。
|
|
1168
1176
|
- 原历史记录不可读时保留其 locator 和缺失说明,使用报告与真实产物核验;只有缺失事实影响验收时才阻塞对应部分。回查历史不隐式恢复旧会话或授权再次执行。
|
|
@@ -1794,7 +1802,7 @@ change 的稳定身份是同一项目、领域内的 `YYYY-MM-DD-topic[-NN]` 目
|
|
|
1794
1802
|
|
|
1795
1803
|
归档实际位置和原回执表示封存;不在 README 增加 archived、archive_path 或全局 active/archived 列表。新 archive 不嵌套月份。旧历史移动须另有明确计划,验证所有 locator 和 DESIGN 摘要;不可变正文不做路径替换。
|
|
1796
1804
|
|
|
1797
|
-
|
|
1805
|
+
实际外部派遣的冻结输入、正式报告与可选会话定位文件按 下方 `<shared-coordination-session-files>` 标签 保存在 specdev/changes/{change}/sessions/,随 change 整体归档并进入原完整性清单;既有历史副本保持原字节,不再创建新的日志副本;归档前仍核对 writer 已停止,不因 REPORT 显示 completed 就移动活动工作区。session 只是交接材料分组,不成为整体 Outcome 或执行状态的第二权威。引用按稳定 change 与对象内 locator 解析,历史原件不回填或清理。
|
|
1798
1806
|
|
|
1799
1807
|
## 独立开发复盘
|
|
1800
1808
|
|
|
@@ -3524,7 +3532,7 @@ I 开始实现、P 安排执行和 dev-worktree 创建/恢复时读取。三项
|
|
|
3524
3532
|
| 输入 | 目标、IN/OUT、已锁定决定、必要 Spec、依赖 Evidence、当前基线或固定审查 SHA |
|
|
3525
3533
|
| 项目 Skill | Ticket implementation 提供 Map → 适用 `ALL`/本票的项目 Skill → Ticket,矩阵是最低必读集合;Direct Spec 提供唯一获批规格、项目 Agent 指令、命中的项目 Skill、AC/验证与路径合同,不制造 Ticket/Map;review 提供固定候选及对应轴的来源 |
|
|
3526
3534
|
| 工作区 | 有效计划或当前 Work 选择的 选定 change 工作区、真实项目根与执行路径/branch、parent/base、允许和共享写路径及 owner;不要用执行者 cwd 猜测方法或数据根 |
|
|
3527
|
-
| 调用 | 当前宿主正常执行,或用户明确选择的 CLI 交互/调用、Herdr、Orca
|
|
3535
|
+
| 调用 | 当前宿主正常执行,或用户明确选择的 CLI 交互/调用、Herdr、Orca;派遣前确定的工具/模型选择与原生通信方式,不记录秘密;派遣后准确确认的会话日志绝对路径由 Lead 写入可选 session-locator.json,仅含 path 字段 |
|
|
3528
3536
|
| 边界 | 本次真实允许的动作、实现 commit 权限、检查、E2E owner、停止条件、可观察验收标准、准确报告位置与原生提问/通知通道 |
|
|
3529
3537
|
| 父 Goal | 存在父 Implementation Map/Plan 时附实际 revision、组合 task ID、依赖 Gate、并行上限和集成次序 |
|
|
3530
3538
|
|
|
@@ -3536,9 +3544,9 @@ I 开始实现、P 安排执行和 dev-worktree 创建/恢复时读取。三项
|
|
|
3536
3544
|
|
|
3537
3545
|
> 先读绑定的真实 Work SKILL.md,按 task 上下文只处理指定目标、阶段和工作区。遵守同一 Work 的方法、TDD、检查与质量门;不要成为 Lead,不递归启动 Goal,不修改正式 Ticket、Map、Goal Plan、Evidence、业务状态或授权。宿主原生协作仍受本次写集、共享资源 owner 和权限约束;不擅自跨 CLI 再派单或扩大任务。缺输入、发生冲突或需要额外权利时向 Lead 返回问题与证据。
|
|
3538
3546
|
|
|
3539
|
-
|
|
3547
|
+
采用文件交接时,TASK 使用派遣文件合同的 YAML 头与静态正文,投递后冻结。准确确认的会话日志绝对路径由 Lead 保存到同目录 session-locator.json 的 path 字段;执行者通过原生通道提供事实,无法准确取得地址时省略,不为缺日志阻塞独立可验证的交付。
|
|
3540
3548
|
|
|
3541
|
-
Lead 自行执行使用同一 Work 的 lead 上下文;不伪造外部任务或独立审查记录。任务执行者返回材料;采用 TASK/REPORT 交接时只写获准产物与自己的 REPORT,不写 TASK
|
|
3549
|
+
Lead 自行执行使用同一 Work 的 lead 上下文;不伪造外部任务或独立审查记录。任务执行者返回材料;采用 TASK/REPORT 交接时只写获准产物与自己的 REPORT,不写 TASK、定位文件或正式 Evidence,其他方式按原返回合同交付。正式业务工件由 Lead 维护。前序背景优先引用已有报告的聚焦交接,细节不足再沿对应定位文件的 path,结合 TASK 内容检索;旧报告按原合同回查。
|
|
3542
3550
|
|
|
3543
3551
|
## 任务类型与返回
|
|
3544
3552
|
|
|
@@ -3592,7 +3600,7 @@ Verification: evidence/T-01.md#review-receipt
|
|
|
3592
3600
|
|
|
3593
3601
|
Mode 为 native/herdr/orca/cli。Implementers 包含本范围全部实现及修复者;Lead 参与实现也列入。每轴 Report 指向 reviewer 实际输出的独立段,含 `Reviewer`、`Axis`、`Result`、`Input-SHA256`、`Observed` 字段及具体 findings/依据。不能指回汇总表自证。请求修正或未验证不得改写为 pass;原报告不覆盖。
|
|
3594
3602
|
|
|
3595
|
-
Verification 指向 Lead 回读真实派遣和返回事实后的独立核验段,含 `Verified-By`、`Mode`、`Reviewers`(逗号分隔真实身份)、`Input-SHA256`、`Result: verified`、`Observed`。Observed
|
|
3603
|
+
Verification 指向 Lead 回读真实派遣和返回事实后的独立核验段,含 `Verified-By`、`Mode`、`Reviewers`(逗号分隔真实身份)、`Input-SHA256`、`Result: verified`、`Observed`。Observed 说明工具返回的实际身份、派遣/返回定位、只读范围和核验事实;工具不提供的事实保持未验证。需要深查时沿对应任务 session-locator.json 的 path,结合 TASK 内容检索(旧任务沿原历史 locator),不以 JSONL 文件存在代替审查。
|
|
3596
3604
|
|
|
3597
3605
|
## 完成与复用
|
|
3598
3606
|
|
|
@@ -3677,7 +3685,7 @@ Git 已处于 merge/rebase 冲突时,先加载 下方 `<merge-conflict-protoco
|
|
|
3677
3685
|
|
|
3678
3686
|
按 下方 `<ref-common-rules-execution-policy>` 标签,用户/项目/当前 Work 要求优先,Lead 根据任务事实和宿主能力安排单 Agent、subagent 或团队。同票协作不改变 serial 票据顺序;跨票并行仍须 DAG 与写集/资源无冲突。只读探索不占票据执行槽。
|
|
3679
3687
|
|
|
3680
|
-
派单读取 下方 `<shared-coordination-task-brief>` 标签;外部 CLI/Herdr/Orca 按 下方 `<shared-coordination-session-files>` 标签
|
|
3688
|
+
派单读取 下方 `<shared-coordination-task-brief>` 标签;外部 CLI/Herdr/Orca 按 下方 `<shared-coordination-session-files>` 标签 保存冻结 TASK/正式 REPORT 和派遣后可选 session-locator.json;新派遣在投递前与回收时分别运行交接校验的 dispatch/return 阶段,原 Evidence 只导航与验收。Packet 绑定同一 change workspace、票据/规格、实际写集、固定输入、验证与停止条件。多个实现者明确细分写集;Git index 操作由 Lead 协调串行,不暂存他人改动。
|
|
3681
3689
|
|
|
3682
3690
|
**完成标准**:实现者与路径归属可回读,正式状态仍只由 Lead 写入,派遣不创建额外 worktree。
|
|
3683
3691
|
|
|
@@ -4336,40 +4344,40 @@ Work 入口说明如何执行;common 说明跨 Work 判断;项目源码、
|
|
|
4336
4344
|
|
|
4337
4345
|
# Orca 编排
|
|
4338
4346
|
|
|
4339
|
-
|
|
4347
|
+
仅在初始化明确选择 Orca 接入分支,或按 下方 `<subagent-delivery>` 标签 为当前任务选中 Orca 时读取;选择可来自当前请求、已批准安排或项目偏好。plan 只说明接入步骤,不安装、不启动。Orca 选择不隐含 worktree、模型或拓扑选择。
|
|
4340
4348
|
|
|
4341
|
-
##
|
|
4349
|
+
## 复用项目 Skill
|
|
4342
4350
|
|
|
4343
|
-
|
|
4351
|
+
项目根由调用 Work 已验证的 projectRoot 确定,不取 终端 cwd、桌面客户端路径或方法安装根。
|
|
4344
4352
|
|
|
4345
|
-
1.
|
|
4346
|
-
2.
|
|
4347
|
-
3.
|
|
4348
|
-
4.
|
|
4353
|
+
1. 按本次用户指定目录或有效选择的 guide 定位项目入口:宿主确认的通用智能体项目 Orca Skill 入口或 Claude 项目 Orca Skill 入口,两者均相对已验证的项目根;指定位置缺失时不偷偷换到另一目录。旧配置无此路径时只读检查两个候选,唯一有效且无冲突时复用;两处均有候选时请用户决定。已有其他 guide 文本仅作指南线索,不当作路径或命令执行。此选择不改变宿主的通用项目 Skill 根。
|
|
4354
|
+
2. 存在且为有效 `name: orca` 的完整 Skill 时先读取并复用,核对来源和兼容性。核对每层父目录与目标均位于项目内且不经过符号链接;同名非 Skill、无效内容或归属冲突保留原文件,只停止受影响的读取分支,按共享合同判断回退并说明冲突位置与恢复方式。
|
|
4355
|
+
3. 缺失时报告未安装,保留偏好与原目标,引导用户重新运行 `speculo init`,在 **SKILLS-HUB** 中勾选 `automation/orca` 并选择项目通用智能体或 Claude Skill 目录。唯一分发源是随 Speculo 包发布的 Speculo 分发包中的 automation/orca 完整 Skill 完整目录;不下载 GitHub main,不从全局缓存复制。无 CLI 的直接模式也据实报告缺失,独立事实发现继续。
|
|
4356
|
+
4. 完整包的安装、更新、卸载及 Hub 安装归属记录由 CLI 事务管理;Work 只读取入口,不写 CLI 元数据、不覆盖或接管用户手工安装的同名包。安装器保留原文、frontmatter、许可、资源与文件模式;冲突时整包保留并报告。
|
|
4349
4357
|
|
|
4350
|
-
|
|
4358
|
+
初始化只配置与复用,不安装二进制、登录账户、配对远端、启动服务或派遣任务。缺 Skill 时按允许的 fallback 回到当前智能体(lead);强制要求 Orca 时只阻塞相关阶段。最终分别报告配置保存/复用、Skill 已复用或未安装、运行能力未检查或实际检查结果;没有报告就不为此制造 change 或 receipt。
|
|
4351
4359
|
|
|
4352
4360
|
## 运行与返回
|
|
4353
4361
|
|
|
4354
|
-
|
|
4362
|
+
实际使用时必须读取所选位置的项目 Skill,按其规则定位实际 CLI:优先核对 `ORCA_CLI_COMMAND`,开发上下文核对 `ORCA_DEV_REPO_ROOT`;Linux 非托管环境使用指南规定的 `orca-ide` 入口,避免误调用同名屏幕阅读器。不要套用 Herdr 的环境变量要求,也不把环境值交给 eval。固定入口后读取本机 `--help`、`skills get orca-cli`;需要受监督编排时再读 `skills get orchestration` 及当前分支参考。核对版本、来源、执行主机与目标 runtime 能力,不把上游 main 当作本机可用接口。
|
|
4355
4363
|
|
|
4356
|
-
宿主技能列表是否已刷新不替代读取真实项目文件;安装成功也不证明 CLI
|
|
4364
|
+
宿主技能列表是否已刷新不替代读取真实项目文件;安装成功也不证明 CLI 或远端可用。入口、权限、服务或目标能力失败时保留原错误,停止此工具操作并由共享合同判断回退当前智能体或阻塞强制的 Orca 阶段;不静默切换生产/开发版或本地/远端入口,不自行安装升级或重启服务。已派发而结果不明时先恢复核验,不直接重复执行。
|
|
4357
4365
|
|
|
4358
4366
|
1. 确认用户项目、当前工作区以及当前 Lead 的责任。需要保留 Lead 连续推进时使用受监督任务方式;完整 handoff 会转移责任,只有用户明确选择该交接时才使用。
|
|
4359
4367
|
2. 沿当前工具提供的任务、工作区、会话和消息接口建立目标。Orca 管理的 worktree 由 Orca 操作;允许工具支持的 folder workspace,不凭空要求所有项目必须有 Git worktree。工具和模型沿用户选择及当前指南确定,不固化 agent/runner 清单;保留用户焦点,不复用 Herdr 参数。
|
|
4360
|
-
3. 使用 下方 `<shared-coordination-task-brief>` 标签 的真实入口和任务说明。有 change 时先保存 TASK,提供 REPORT
|
|
4368
|
+
3. 使用 下方 `<shared-coordination-task-brief>` 标签 的真实入口和任务说明。有 change 时先保存 TASK,提供 REPORT 位置;Lead 仅在准确确认本任务会话日志的绝对路径后,创建只有 path 字段的 session-locator.json,TASK 投递后冻结,不以标题猜句柄。
|
|
4361
4369
|
4. 区分投递已接收、任务开始、任务返回、写入停止和业务验收。Run、Task、Dispatch 与终端、工作区分别使用真实返回的身份;已有 Run/Dispatch 按指南恢复,不重复创建。工具已有生命周期由工具管理,不再建调度器,也不用其他 subagent 工具冒充 Orca 派遣。
|
|
4362
4370
|
5. 处理该任务的 question、完成及升级请求;已有权威答案由 Lead 回答,额外权限或产品决定再交用户。报告保存后按当前原生完成协议发送摘要与报告位置;支持 report-path 时传真实路径。REPORT 的 completed/blocked/failed/cancelled 不直接代替 Orca 的 outcome 参数;按本版 worker 协议提交原 Task/Dispatch 的结果,已结算的不再补写第二次完成。处理必要消息与资源归属后才确认收件,不因超时重建同一问题。
|
|
4363
4371
|
6. 状态不明时重读原任务、回执和收件事实;只有本版支持同请求重放且原参数可核对时才恢复原操作。旧句柄失效时重新发现目标,不同时向旧、新目标重复发送。idle、无输出、断线或清单缺项均不能证明任务结束。
|
|
4364
4372
|
7. 接收、取消、保留或释放工作区按当前指南及真实授权操作。结算后复用、保留或释放资源,运行中取消使用精确目标的原生停止流程;不以关闭终端、全局 reset 或删除工作区代替结算。完成消息不等于旧写入者已经停止。
|
|
4365
4373
|
|
|
4366
|
-
核对返回、实际候选和写入停止事实后,由 Lead 按原验收更新 Evidence,并按 下方 `<subagent-delivery-native>` 标签 接续原 Goal
|
|
4374
|
+
核对返回、实际候选和写入停止事实后,由 Lead 按原验收更新 Evidence,并按 下方 `<subagent-delivery-native>` 标签 接续原 Goal。准确报告工具不可用的原因与实际回退或阻塞结果。
|
|
4367
4375
|
|
|
4368
4376
|
## 聚焦交接与历史
|
|
4369
4377
|
|
|
4370
|
-
按 下方 `<shared-coordination-session-files>` 标签
|
|
4378
|
+
按 下方 `<shared-coordination-session-files>` 标签 在报告中保存简短交接,准确确认的会话日志绝对路径只由 Lead 写入同任务 session-locator.json 的 path 字段。借鉴 Focused handoff:先读最近摘要与当前工作区,仅在细节不足时检索原会话;这是历史上下文交付,不自动转移 Leader 所有权或 resume 原 provider 会话。
|
|
4371
4379
|
|
|
4372
|
-
|
|
4380
|
+
工具句柄沿原生接口用于查询与恢复。已取得或执行者提供的日志地址,确认属于本任务执行者且为准确绝对路径后才写入定位文件。无法准确取得时省略地址,不阻塞独立可验证的交付。需要搜索时先按当前指南检查历史索引是否启用,再在正确主机上按实际会话 ID 查找,结合任务关键词、执行路径或时间缩小范围;索引未启用就记录搜索不可用,不自行开启,仍可核验工具已提供的原始入口。SSH 转发 CLI 的搜索主机可能是控制端,路径过滤不等于切换主机。原记录缺失时仍可用实际工具返回与报告核验;终端输出不是原始 JSONL,不为补地址复制或转换日志。
|
|
4373
4381
|
|
|
4374
4382
|
</shared-coordination-modes-orca>
|
|
4375
4383
|
|
|
@@ -4377,28 +4385,28 @@ Work 入口说明如何执行;common 说明跨 Work 判断;项目源码、
|
|
|
4377
4385
|
|
|
4378
4386
|
# Herdr 编排
|
|
4379
4387
|
|
|
4380
|
-
|
|
4388
|
+
仅在初始化明确选择 Herdr 接入分支,或按 下方 `<subagent-delivery>` 标签 为当前任务选中 Herdr 时读取;选择可来自当前请求、已批准安排或项目偏好。plan 只说明接入步骤,不安装、不启动。Herdr 选择不隐含 worktree、模型或拓扑选择。
|
|
4381
4389
|
|
|
4382
|
-
##
|
|
4390
|
+
## 复用项目 Skill
|
|
4383
4391
|
|
|
4384
|
-
|
|
4392
|
+
项目根由调用 Work 已验证的 projectRoot 确定,不取 pane cwd或方法安装根。
|
|
4385
4393
|
|
|
4386
|
-
1.
|
|
4387
|
-
2.
|
|
4388
|
-
3.
|
|
4389
|
-
4.
|
|
4394
|
+
1. 按本次用户指定目录或有效选择的 guide 定位项目入口:宿主确认的通用智能体项目 Herdr Skill 入口或 Claude 项目 Herdr Skill 入口,两者均相对已验证的项目根;指定位置缺失时不偷偷换到另一目录。旧配置无此路径时只读检查两个候选,唯一有效且无冲突时复用;两处均有候选时请用户决定。已有其他 guide 文本仅作指南线索,不当作路径或命令执行。此选择不改变宿主的通用项目 Skill 根。
|
|
4395
|
+
2. 存在且为有效 `name: herdr` 的完整 Skill 时先读取并复用,核对来源和兼容性。核对每层父目录与目标均位于项目内且不经过符号链接;同名非 Skill、无效内容或归属冲突保留原文件,只停止受影响的读取分支,按共享合同判断回退并说明冲突位置与恢复方式。
|
|
4396
|
+
3. 缺失时报告未安装,保留偏好与原目标,引导用户重新运行 `speculo init`,在 **SKILLS-HUB** 中勾选 `automation/herdr` 并选择项目通用智能体或 Claude Skill 目录。唯一分发源是随 Speculo 包发布的 Speculo 分发包中的 automation/herdr 完整 Skill 完整目录;不下载 GitHub main,不从全局缓存复制。无 CLI 的直接模式也据实报告缺失,独立事实发现继续。
|
|
4397
|
+
4. 完整包的安装、更新、卸载及 Hub 安装归属记录由 CLI 事务管理;Work 只读取入口,不写 CLI 元数据、不覆盖或接管用户手工安装的同名包。安装器保留原文、frontmatter、许可、资源与文件模式;冲突时整包保留并报告。
|
|
4390
4398
|
|
|
4391
|
-
|
|
4399
|
+
初始化只配置与复用,不安装二进制、登录账户、配对远端、启动服务或派遣任务。缺 Skill 时按允许的 fallback 回到当前智能体(lead);强制要求 Herdr 时只阻塞相关阶段。最终分别报告配置保存/复用、Skill 已复用或未安装、运行能力未检查或实际检查结果;没有报告就不为此制造 change 或 receipt。
|
|
4392
4400
|
|
|
4393
4401
|
## 运行与返回
|
|
4394
4402
|
|
|
4395
|
-
|
|
4403
|
+
实际使用时必须读取所选位置的项目 Skill,再检查 `HERDR_ENV=1`;不满足就停止 Herdr 控制,按共享合同允许的 fallback 回退当前智能体;强制要求 Herdr 或原选择未允许回退时阻塞相关阶段并说明需要从受管会话恢复。检查通过后读取本机 `herdr --help` 和所需命令组帮助,核对版本、来源、运行上下文与目标会话;工具或服务不可用同样按共享合同处理。不同 fork 或同名工具不推定兼容。宿主技能列表是否已刷新不替代读取真实项目文件;也不把安装成功报告成运行可用。
|
|
4396
4404
|
|
|
4397
4405
|
1. 遵守当前指南对 Herdr 环境和会话操作范围的要求。若当前环境无法控制目标,只阻塞此任务方式;不接管其他前台会话。
|
|
4398
4406
|
2. 根据用户指定的编程工具和模型,在指南支持的范围内选择调用。Herdr 是编排方式,不是模型;不得固化某家 CLI 的参数。
|
|
4399
4407
|
3. 使用实际返回的 pane/session 标识,确认对应项目和工作区,等待当前指南定义的就绪条件。不要默认切换用户焦点。
|
|
4400
|
-
4. 每个任务使用能明确归属的目标会话,并按 下方 `<shared-coordination-task-brief>` 标签 提供输入。有 change 时提供已保存 TASK 和准确 REPORT
|
|
4401
|
-
5. 通过工具当前支持的返回读取方式取得结果。有文件交接时按 下方 `<shared-coordination-session-files>` 标签 交回 REPORT 及“任务标识、状态、报告位置、一句话摘要”;只能返回文本时由 Lead
|
|
4408
|
+
4. 每个任务使用能明确归属的目标会话,并按 下方 `<shared-coordination-task-brief>` 标签 提供输入。有 change 时提供已保存 TASK 和准确 REPORT 位置,准确确认日志绝对路径后,由 Lead 在可选 session-locator.json 中只记录 path,冻结 TASK 不补写运行信息;独立工作区先核对文件可读写。前一任务尚未结束时,不将其活动或 idle 信号误认成新任务的完成。
|
|
4409
|
+
5. 通过工具当前支持的返回读取方式取得结果。有文件交接时按 下方 `<shared-coordination-session-files>` 标签 交回 REPORT 及“任务标识、状态、报告位置、一句话摘要”;只能返回文本时由 Lead 原样捕获并标明来源。执行 CLI 的原始日志能确认属于本任务执行者且地址准确时,由 Lead 将绝对路径写入定位文件;不把 pane 标识或终端输出冒充 JSONL,无法核验时省略地址,不影响独立可验证的交付。输入、提问和通知仍遵守工具原生接口。
|
|
4402
4410
|
6. 超时或投递结果不明时先检查原目标,不盲目重发。取消按当前工具说明进行;不要宽泛结束所有 pane 或服务。
|
|
4403
4411
|
|
|
4404
4412
|
任务完成、会话空闲、会话保留是不同事实。只有确认本任务不会继续冲突写入,并由 Lead 完成原验收,才释放业务占用、更新原 Evidence 和继续下一任务。
|
|
@@ -4409,12 +4417,12 @@ Work 入口说明如何执行;common 说明跨 Work 判断;项目源码、
|
|
|
4409
4417
|
|
|
4410
4418
|
# CLI 交互与调用
|
|
4411
4419
|
|
|
4412
|
-
|
|
4420
|
+
仅在按 下方 `<subagent-delivery>` 标签 为当前任务选中 CLI 交互或调用时读取;选择可来自当前请求、已批准安排或项目偏好,当前宿主本身是 CLI 不触发本分支。初始化选择 CLI 只保存偏好,不安装 Herdr/Orca Skill;plan 不执行调用。实际使用前复用已知工具与交互方式,缺失时向用户明确,再读取其当前帮助、已安装技能或对应交互方式的官方指南。工具名、模型和参数由当前实际接口确定,不使用 Speculo 固定的引擎适配代码。
|
|
4413
4421
|
|
|
4414
|
-
1.
|
|
4422
|
+
1. 确认工具可用、工作目录、交互方式、输入输出和当前用户已给出的权限。用户指定交互式会话时,使用宿主实际支持的终端/会话能力;只有用户要求或所选工具支持的任务接口适合非交互调用时才采用非交互方式。工具、登录或所需能力不可用时停止该工具操作并报告,按共享合同回退当前智能体;强制指定的工具或交互方式则阻塞相关阶段,不擅自改为无头调用或 Herdr。不自行改变账户、安装工具或添加绕过权限的参数。
|
|
4415
4423
|
2. 依照 下方 `<shared-coordination-task-brief>` 标签 准备任务;有 change 时先保存 TASK,指定真实 Work 入口、必要输入、REPORT 位置和提问/通知通道。若工作副本不能读取入口,先提供允许范围内的实际文件,不凭描述猜测内容。
|
|
4416
4424
|
3. 通过当前宿主可用的执行工具调用该 CLI。优先使用结构化 argv 或可靠的参数传递;任务正文通过工具支持的 stdin、文件或会话输入,不拼接不可信 shell 片段。
|
|
4417
|
-
4.
|
|
4425
|
+
4. 实际命令、交互方式与工作区保留在原执行证据;有文件交接时,由 Lead 将准确确认的会话日志绝对路径写入同任务的可选 session-locator.json,仅含 path 字段。TASK 投递后冻结,执行者写 REPORT 并返回任务标识、状态、报告位置和一句话摘要。只有文本返回时由 Lead 按 下方 `<shared-coordination-session-files>` 标签 原样捕获。进程退出后记录真实退出码,仍运行或未知时据实记录;没有可靠提供的模型、用量或成本写为未知。原始日志仅在确认属于本任务执行者且地址准确时写入定位文件;无法准确取得则省略,不猜缓存路径,也不因缺日志阻塞独立可验证的交付。
|
|
4418
4426
|
5. 交互提示、等待、取消和恢复按该 CLI 当前指南处理。调用结果不明先查询,不把缺日志解释为没有执行,也不重复可能已经发生的外部动作。
|
|
4419
4427
|
|
|
4420
4428
|
CLI 退出码只说明调用结果。Lead 仍按 下方 `<subagent-delivery-native>` 标签 检查真实候选、测试、findings 和完成门。该方式不要求 Speculo 常驻服务或专用 runner。
|
|
@@ -4425,97 +4433,90 @@ CLI 退出码只说明调用结果。Lead 仍按 下方 `<subagent-delivery-nati
|
|
|
4425
4433
|
|
|
4426
4434
|
# 派遣文件与聚焦交接
|
|
4427
4435
|
|
|
4428
|
-
在已有 change 中通过 CLI、Herdr、Orca
|
|
4436
|
+
在已有 change 中通过 CLI、Herdr、Orca 等外部工具实际派遣任务时读取。宿主原生协作按需采用,Lead 自行执行不创建虚构派遣。无 change 时使用当前 Work 已有报告位置,不补造 change。external-web 继续使用原 ZIP 交付合同。
|
|
4429
4437
|
|
|
4430
4438
|
## 目录与身份
|
|
4431
4439
|
|
|
4432
4440
|
SpecDev 任务目录为 specdev/changes/{change}/sessions/{session}/{task}/:
|
|
4433
4441
|
|
|
4434
|
-
- `{session}`
|
|
4435
|
-
- `{task}`
|
|
4436
|
-
-
|
|
4437
|
-
-
|
|
4442
|
+
- `{session}` 是一轮编排的交接分组,使用 UTC `YYYYMMDDTHHMMSSZ`,首次实际派遣才创建;同秒冲突追加最小未使用后缀 `-01`、`-02`。同一编排计划的实施、审查与修复沿用原轮次,恢复 Lead 或更换工具会话不自动新建轮次;另起独立编排或已收束后的新一轮执行才新建。
|
|
4443
|
+
- `{task}` 是一次具体派遣,使用轮内最大编号加一,至少三位,后接小写英文主题,如 `001-implement-a1`、`002-implement-a2`、`003-review-a1`。Lead 分配编号,不回收、不从未经检查的标题直接拼路径。具体 Work、任务类型、change/Ticket 写入 TASK。
|
|
4444
|
+
- 一轮可以只有一个 task,也可以并行或依次派遣多个 task;目录不是父子 Agent 拓扑。编排标识与工具的 Run、Dispatch、pane、provider session ID 分开,不能从临时目录 UUID 推导工具会话。
|
|
4445
|
+
- 普通提问、进度通知与未交付任务的正常恢复沿用原 task。正式交付后的修复、重新派遣、更换执行者或实质改变输入时建立新编号并引用旧报告,不覆盖旧输入与结果,不增加 attempt 子目录。工具状态未知时先查询原调用,不能以新编号为由重复派遣仍可能写入的任务。
|
|
4446
|
+
- 目录必须在当前 change 内,无链接跳转、大小写冲突或编号占用。一个工具会话可以承接多个 task,各自通过 TASK 与 REPORT 区分任务。
|
|
4438
4447
|
|
|
4439
|
-
|
|
4448
|
+
| 文件 | 唯一写入者 | 创建与更新 |
|
|
4449
|
+
|---|---|---|
|
|
4450
|
+
| specdev/changes/{change}/sessions/{session}/{task}/TASK.md | Lead | 派遣前写入并回读,投递后冻结 |
|
|
4451
|
+
| specdev/changes/{change}/sessions/{session}/{task}/session-locator.json | Lead | 准确确认本任务会话日志的绝对路径后才创建 |
|
|
4452
|
+
| specdev/changes/{change}/sessions/{session}/{task}/REPORT.md | 执行者;仅文本返回时由 Lead 原样捕获 | 本次派遣交付时一次性写入,正式交付后不覆盖 |
|
|
4453
|
+
|
|
4454
|
+
不预造空定位文件、session 总表、状态 JSON、心跳或聊天流水。定位文件只保存一个会话日志路径,不承载执行进度、业务 Outcome 或另一套验收。
|
|
4440
4455
|
|
|
4441
|
-
原 Evidence 或当前 Work
|
|
4456
|
+
原 Evidence 或当前 Work 工件引用这些文件并保存 Lead 验收,不复制正文或重复维护地址。持久导航绑定稳定 change 身份与 change 根相对 locator,归档后按该 change 的唯一实际位置解析。其他领域仅在其 Work 已拥有的产物位置使用交接内容,不接管 SpecDev namespace。
|
|
4442
4457
|
|
|
4443
4458
|
## 输入与文件所有权
|
|
4444
4459
|
|
|
4445
|
-
|
|
4460
|
+
派遣前按 下方 `<shared-coordination-task-template>` 标签 形成 TASK。YAML frontmatter 使用 `schema_version: 1`、`session`、`task`、`kind`;kind 为 `implementation | review | research | test-observation`。已有 change/Ticket 可写入可选 `change`、`ticket`,不补造对象。重复键、未知版本和身份不一致均拒绝。正文使用五组内容:
|
|
4446
4461
|
|
|
4447
|
-
|
|
|
4462
|
+
| 章节 | 必需事实 |
|
|
4448
4463
|
|---|---|
|
|
4449
|
-
|
|
|
4450
|
-
|
|
|
4451
|
-
|
|
|
4452
|
-
|
|
|
4453
|
-
|
|
|
4464
|
+
| Goal | Lead、分配的执行者职责、目标与成功定义 |
|
|
4465
|
+
| Inputs | 真实 Work/Skill 入口、必要规格和依赖产物、已锁定决定;前序背景先引用原报告 |
|
|
4466
|
+
| Workspace and Scope | 真实执行位置与基线、允许/只读/共享路径及 owner、共享构建输出与测试资源、已获授权的动作和停止条件 |
|
|
4467
|
+
| Acceptance | 检查命令、可观察通过标准、执行者未运行的 Gate 及其 owner;整体 E2E 仍由 Lead 核验 |
|
|
4468
|
+
| Return | 准确 REPORT 位置、原生提问/通知方式、当前调用方式;可选定位文件的固定位置与唯一写入者 |
|
|
4454
4469
|
|
|
4455
|
-
TASK
|
|
4470
|
+
任务输入只含派遣前确定的事实。派遣后准确取得的日志绝对路径写入可选定位文件,不回改 TASK;工具句柄沿原生接口使用。投递消息包含准确 TASK 位置,不复制全部上下文。普通澄清通过原生通道回答,影响结果的答复写入 REPORT,改变目标、基线或权限则建立新任务。
|
|
4456
4471
|
|
|
4457
|
-
|
|
4472
|
+
派遣前确认执行者能读输入和必要材料、能交付报告;独立工作区须明确实际可读输入与可写报告位置。只有工具返回文本时,由 Lead 原样捕获为 REPORT,标注 `Captured-by: Lead` 和原始消息 locator,不补造执行者的验证结果。执行者与 Lead 不同时写报告。
|
|
4458
4473
|
|
|
4459
|
-
|
|
4474
|
+
执行者只写获准产物和自己的 REPORT,不修改 TASK、定位文件或正式 Evidence。只读任务只能写明确分配的报告及允许的测试产物。共享路径、Git index、构建输出及其他语义资源仍按原 owner/串行阶段协调,报告位置不同不代表业务写集互不冲突。
|
|
4460
4475
|
|
|
4461
|
-
|
|
4476
|
+
TASK 与 REPORT 完成候选内容后,使用同目录临时文件与不覆盖目标的原子落盘方式;写前检查未占用,写后回读。临时文件不是正式报告,也不能作为完成信号。
|
|
4462
4477
|
|
|
4463
|
-
|
|
4478
|
+
## 会话定位文件
|
|
4464
4479
|
|
|
4465
|
-
|
|
4480
|
+
派遣后,Lead 准确确认执行者会话日志的绝对路径,才在 TASK 同目录创建可选的 session-locator.json。文件仅有 `path` 一个字段,合同为 下方 `<ref-common-schemas-session-locator-schema>` 标签:
|
|
4466
4481
|
|
|
4467
|
-
|
|
4482
|
+
```json
|
|
4483
|
+
{"path": "/absolute/path/to/session.jsonl"}
|
|
4484
|
+
```
|
|
4468
4485
|
|
|
4469
|
-
|
|
4470
|
-
# 任务回报
|
|
4486
|
+
不附加工具、主机、权限、会话 ID、任务范围或核验记录;所属任务由所在目录确定。执行者可通过原生通道提供地址,Lead 核对后落盘。取不到准确地址就不创建文件,不写空值或占位路径,也不阻塞可独立核验的交付。
|
|
4471
4487
|
|
|
4472
|
-
|
|
4473
|
-
Task: 本次派遣标识
|
|
4474
|
-
Status: completed / blocked / failed / cancelled(仅保留实际值)
|
|
4488
|
+
优先从工具实际返回的会话信息取得路径;必要时按已知真实会话 ID 定向查找,读取少量日志确认属于本次执行者与任务。原生子 Agent 不能误用父会话日志。不要猜缓存路径、按修改时间取最新日志,或从临时目录 UUID 推导会话。仅有原生历史入口、相对路径或无法确认的远端地址时省略此文件。
|
|
4475
4489
|
|
|
4476
|
-
|
|
4477
|
-
用三至五句话说明完成内容、关键决定、当前停点和下一安全动作。
|
|
4490
|
+
写入前检查目标未占用,使用同目录临时文件原子落盘并回读;已有相同地址可复用,冲突时保留原文件并核对,不静默覆盖。地址晚于 REPORT 取得时可独立补建,不修改冻结 TASK 或 REPORT;归档后不回填。
|
|
4478
4491
|
|
|
4479
|
-
|
|
4480
|
-
- 修改或成果:真实文件、checkpoint/commit、dirty 状态或其他产物位置。
|
|
4481
|
-
- 验证:命令、退出码、执行环境和实际观察;研究列来源,审查列 findings。
|
|
4482
|
-
- 未完成或未验证:实际事项;没有则写“无”。
|
|
4492
|
+
回查时先读 TASK、REPORT 与当前产物,有具体疑问才读取 path 指向的日志,结合任务输入和关键词少量检索。地址不可读或对应关系不明时,继续从实际产物核验,缺少关键事实仅阻塞对应验收。日志只是历史材料,不授予 resume、接管或额外动作权限。
|
|
4483
4493
|
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
-
|
|
4489
|
-
- 会话 ID:工具提供的真实标识。
|
|
4490
|
-
- 原始记录:所属主机上的实际绝对路径,或工具原生历史入口。
|
|
4491
|
-
- 核验:由谁、在哪台主机确认了会话对应关系和可读性;未核验项及原因。
|
|
4492
|
-
- 本任务范围与检索线索:消息/时间范围、关键函数或错误信息等关键词。
|
|
4493
|
-
```
|
|
4494
|
+
原始日志由工具管理,SpecDev 不复制、移动或转换 JSONL。外部绝对路径只作只读地址,不使用内部 项目根相对路径,不是可移植项目路径或写目标;引用不承诺日志永久可用。
|
|
4495
|
+
|
|
4496
|
+
## 报告与返回
|
|
4497
|
+
|
|
4498
|
+
交付时使用 下方 `<shared-coordination-report-template>` 标签。REPORT 保持普通 Markdown 首部 `Session`、`Task`、`Status`;状态只取一个实际值:
|
|
4494
4499
|
|
|
4495
4500
|
| Status | 表示什么 |
|
|
4496
4501
|
|---|---|
|
|
4497
|
-
| completed |
|
|
4498
|
-
| blocked |
|
|
4499
|
-
| failed |
|
|
4500
|
-
| cancelled |
|
|
4502
|
+
| completed | 分配范围的候选已交回,仍待 Lead 验收 |
|
|
4503
|
+
| blocked | 缺输入、权限、依赖或决定,说明恢复条件 |
|
|
4504
|
+
| failed | 本次尝试失败,保留产物和失败事实 |
|
|
4505
|
+
| cancelled | 按实际指示取消,记录影响和停止情况 |
|
|
4501
4506
|
|
|
4502
|
-
|
|
4507
|
+
正文用三至五句话聚焦交接,再列产物、真实检查命令/退出码/环境、未验证项、问题与下一步。定位文件已存在时只引用它,不重复维护地址;没有定位文件不影响报告成立。
|
|
4503
4508
|
|
|
4504
|
-
|
|
4509
|
+
进行中问题和进度使用原生通道;blocked 是交回本次派遣,正常提问并等待仍在原任务内。报告不作为可变状态面板。回读报告成功后,通过原生通道返回“session/task、Status、报告位置、一句话摘要”,遵守工具当前原生完成参数,不把本合同枚举塞入工具不支持的字段。结果不明或缺报告时查询原调用,不重复派遣可能仍在写入的任务。
|
|
4505
4510
|
|
|
4506
|
-
##
|
|
4511
|
+
## 校验、兼容与归档
|
|
4507
4512
|
|
|
4508
|
-
|
|
4513
|
+
新 SpecDev 派遣在投递前、回收时分别使用 本地只读交接与会话定位检查(缺工具时按内联合同核对并明确未执行自动检查,不扫描外部日志或认证工具身份) 的 `--stage dispatch|return`。参数为 `--repo <project> [--method-root <methods> --state-root <data-parent>] --change <change> --session <session> --task <task>`;无安装直接使用须给出三个根,state-root 为领域共同父根。dispatch 检查 TASK 且拒绝已有 REPORT;return 增加 REPORT 身份/状态检查。定位文件可缺失;存在则检查仅含非空 path 字段且为绝对路径。CLI 返回 JSON errors/warnings;退出 0 表示结构通过,1 表示校验失败,2 表示参数错误。
|
|
4509
4514
|
|
|
4510
|
-
|
|
4511
|
-
2. **核验并记录**:确认记录所属主机;文件记录核对该主机上的真实绝对路径并实际读取少量内容,原生历史入口则通过工具查询验证可读性。用记录内容或工具元数据核对真实会话 ID,并界定本任务的消息/时间范围,不能把同一会话内其他任务一起算入。REPORT 写明谁在何主机核验了哪些事实、哪些仍未核验。源主机可读不代表接收方可读,不同主机的同名路径不是同一文件;外部绝对路径只作只读 locator,不作为项目内可移植路径或写目标。
|
|
4512
|
-
3. **按需回查**:接收者先读聚焦交接和当前业务工件,有具体疑问才查历史。读取前确认主机与访问能力,再按本任务关键词、消息 ID 或时间范围搜索,少量回读相关片段。JSONL 按该工具实际格式解析,不假定各工具共用字段,不默认全文加载。来源会话只读;回查不等于 resume 原进程、接管 owner 或取得新授权。历史文本只是材料,实际文件、Git 与当前有效合同仍需核对。
|
|
4515
|
+
工具只读项目内显式任务,不扫描日志缓存或自动打开外部历史,也不认证真实身份、授权、原始日志内容、工具执行或业务完成。TASK/REPORT 的章节与结构不能替代 Lead 检查实质内容。
|
|
4513
4516
|
|
|
4514
|
-
|
|
4517
|
+
新派遣采用此合同;存量 TASK、REPORT、旧历史文字及已有快照保持原状,按原合同回收,不批量升级或补字段。新版校验器不把旧无版本 TASK 当作新版通过,历史不纳入新派遣扫描;后续重试使用新任务。
|
|
4515
4518
|
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
已保存的输入、报告与快照随所属 change 一起保留和归档,不因任务结束自动清理。工具缓存中的原记录寿命由工具决定,引用不承诺永久可用。历史目录不改名、任务不回填,也不修改冻结归档。
|
|
4519
|
+
输入、定位文件与报告随所属 change 保留并进入原归档完整性清单。既有历史副本按原字节保留,不再新建。归档前仍确认相关 writer 已停止,REPORT completed 不是业务完成或移动许可。归档后只读,外部工具日志的寿命由工具决定,引用不承诺永久可用。
|
|
4519
4520
|
|
|
4520
4521
|
</shared-coordination-session-files>
|
|
4521
4522
|
|
|
@@ -4871,13 +4872,13 @@ current 策略每个 Wave 只能含一个节点。required 策略可以放入多
|
|
|
4871
4872
|
- **执行选择与来源:** ticket_execution=auto/serial/parallel;单 Agent/subagent/team/指定工具的要求来源;README 工作区引用;验证尝试上限缺省 3
|
|
4872
4873
|
- **Implementation owners:** 实际实现及修复者身份;同票多人时列明各自写集
|
|
4873
4874
|
- **Dispatch Packet/checkpoint:** Lead direct / `<locator + immutable checkpoint>`
|
|
4874
|
-
- **文件交接(实际外部派遣时):** `specdev/changes/{change}/sessions/{session}/{task}/TASK.md` 与 `specdev/changes/{change}/sessions/{session}/{task}/REPORT.md`;绑定稳定 change 身份与 change 根相对 locator,修正交付引用新任务及旧报告;Lead direct 不创建空目录
|
|
4875
|
+
- **文件交接(实际外部派遣时):** `specdev/changes/{change}/sessions/{session}/{task}/TASK.md` 与 `specdev/changes/{change}/sessions/{session}/{task}/REPORT.md`,以及实际存在的 `specdev/changes/{change}/sessions/{session}/{task}/session-locator.json`;绑定稳定 change 身份与 change 根相对 locator,修正交付引用新任务及旧报告;Lead direct 不创建空目录
|
|
4875
4876
|
- **允许动作:** 授权路径写入、检查;commit/merge 仅明确授权时
|
|
4876
4877
|
- **返回:** checkpoint/快照、dirty 状态、实际实现者、修改路径、命令/退出码、未验证项与恢复条件
|
|
4877
4878
|
- **Lead 独立核对:** pass / fail;实际读取与命令摘要
|
|
4878
4879
|
- **只读 Agent findings:** 无 / 固定输入、来源、结论、Lead 核对
|
|
4879
4880
|
|
|
4880
|
-
任务执行者 不写本 Evidence;以上内容由 Lead 从实际 workspace、Git 和返回事实整理。有文件交接时依 下方 `<shared-coordination-session-files>` 标签
|
|
4881
|
+
任务执行者 不写本 Evidence;以上内容由 Lead 从实际 workspace、Git 和返回事实整理。有文件交接时依 下方 `<shared-coordination-session-files>` 标签 只保存交接文件指针和 Lead 独立核验,不复制正文;REPORT 的 completed 不是本 Evidence 的 done。先读报告聚焦交接,细节不足再沿对应定位文件的 path,结合 TASK 内容检索;地址不重复写入 Evidence。突然中断无报告时记录未知事实与原工具查询结果,不补造成功回报。
|
|
4881
4882
|
|
|
4882
4883
|
## 3. 修改范围与路径所有权
|
|
4883
4884
|
|
|
@@ -5945,6 +5946,74 @@ A 唯一拥有移动与封存;R 提供原升级方案、具体批准和已验
|
|
|
5945
5946
|
|
|
5946
5947
|
</ref-specdev-a-archive-and-consolidate-references-retro-archive>
|
|
5947
5948
|
|
|
5949
|
+
<shared-coordination-task-template>
|
|
5950
|
+
|
|
5951
|
+
# 任务简报
|
|
5952
|
+
|
|
5953
|
+
## Goal
|
|
5954
|
+
填写 Lead、分配的执行者职责、目标及成功定义。kind 替换为 implementation/review/research/test-observation 的实际值;已有 change/Ticket 可在头部增加 change/ticket,不制造对象。
|
|
5955
|
+
|
|
5956
|
+
## Inputs
|
|
5957
|
+
引用真实 Work SKILL.md、必要规格/项目 Skill、已锁定决定与依赖报告。先读真实入口,按当前阶段执行,不递归启动 Goal、不扩大派遣范围。
|
|
5958
|
+
|
|
5959
|
+
## Workspace and Scope
|
|
5960
|
+
填写实际工作区及基线、允许/只读/共享路径、共享构建输出/端口/测试资源 owner、已授权动作和停止条件。执行者只写分配产物与自己的 REPORT,不写 TASK、定位文件或正式业务状态/Evidence;需要额外权限时返回问题与依据。
|
|
5961
|
+
|
|
5962
|
+
## Acceptance
|
|
5963
|
+
填写真实检查命令、可观察通过标准、未在执行者环境执行的 Gate 及其 owner。整体 E2E 与最终验收由 Lead 核验,候选自报不替代验收。
|
|
5964
|
+
|
|
5965
|
+
## Return
|
|
5966
|
+
填写准确 REPORT 位置及原生提问/通知通道。交付后回读,再按工具原生协议返回任务身份、实际状态、报告位置和一句话摘要。
|
|
5967
|
+
|
|
5968
|
+
派遣后准确确认的日志绝对路径由 Lead 写入同目录 session-locator.json 的唯一字段 path。执行者可通过原生通道提供地址;无法准确取得日志地址时省略,不猜路径,不为此阻塞独立可验证的交付。TASK 投递后冻结。
|
|
5969
|
+
|
|
5970
|
+
</shared-coordination-task-template>
|
|
5971
|
+
|
|
5972
|
+
<shared-coordination-report-template>
|
|
5973
|
+
|
|
5974
|
+
# 任务回报
|
|
5975
|
+
|
|
5976
|
+
Session: <本轮编排标识>
|
|
5977
|
+
Task: <本次派遣标识>
|
|
5978
|
+
Status: <completed / blocked / failed / cancelled 中的实际值>
|
|
5979
|
+
|
|
5980
|
+
## 聚焦交接
|
|
5981
|
+
三至五句话说明完成内容、关键决定、当前停点和下一安全动作。
|
|
5982
|
+
|
|
5983
|
+
## 产物与验证
|
|
5984
|
+
- 修改或成果:真实文件、checkpoint/commit、dirty 状态或其他产物位置。
|
|
5985
|
+
- 验证:命令、退出码、环境和实际观察;研究列来源,审查列 findings。
|
|
5986
|
+
- 未完成或未验证:实际事项,没有则写“无”。
|
|
5987
|
+
|
|
5988
|
+
## 问题与下一步
|
|
5989
|
+
阻塞/失败/取消事实、已尝试内容、需要谁提供什么及恢复条件;无问题写“无”。
|
|
5990
|
+
|
|
5991
|
+
仅当同目录 session-locator.json 已存在时引用它,不重复维护其中字段。没有日志入口不影响报告成立。completed 只表示候选交回,业务完成由 Lead 验收。
|
|
5992
|
+
|
|
5993
|
+
</shared-coordination-report-template>
|
|
5994
|
+
|
|
5995
|
+
<ref-common-schemas-session-locator-schema>
|
|
5996
|
+
|
|
5997
|
+
```json
|
|
5998
|
+
{
|
|
5999
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
6000
|
+
"$id": "urn:speculo:specdev:session-locator",
|
|
6001
|
+
"type": "object",
|
|
6002
|
+
"required": [
|
|
6003
|
+
"path"
|
|
6004
|
+
],
|
|
6005
|
+
"properties": {
|
|
6006
|
+
"path": {
|
|
6007
|
+
"type": "string",
|
|
6008
|
+
"minLength": 1
|
|
6009
|
+
}
|
|
6010
|
+
},
|
|
6011
|
+
"additionalProperties": false
|
|
6012
|
+
}
|
|
6013
|
+
```
|
|
6014
|
+
|
|
6015
|
+
</ref-common-schemas-session-locator-schema>
|
|
6016
|
+
|
|
5948
6017
|
<ref-common-rules-planning-principles>
|
|
5949
6018
|
|
|
5950
6019
|
# 规划原则
|