speccore 8.3.255 → 8.3.256

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.
Files changed (38) hide show
  1. package/.agents/skills/spec-analyze/SKILL.md +2 -1
  2. package/.agents/skills/spec-from-source/SKILL.md +4 -2
  3. package/.agents/skills/speccore-router/SKILL.md +10 -9
  4. package/dist/cli.js +3 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/analyze.js +7 -7
  7. package/dist/commands/analyze.js.map +1 -1
  8. package/dist/commands/change.d.ts.map +1 -1
  9. package/dist/commands/change.js +6 -15
  10. package/dist/commands/change.js.map +1 -1
  11. package/dist/commands/execute.js +2 -2
  12. package/dist/commands/execute.js.map +1 -1
  13. package/dist/commands/init.js +1 -1
  14. package/dist/commands/iteration/taskify.d.ts.map +1 -1
  15. package/dist/commands/iteration/taskify.js +11 -13
  16. package/dist/commands/iteration/taskify.js.map +1 -1
  17. package/dist/commands/rag-index.d.ts.map +1 -1
  18. package/dist/commands/rag-index.js +1 -3
  19. package/dist/commands/rag-index.js.map +1 -1
  20. package/dist/commands/task/new.js +2 -8
  21. package/dist/commands/task/new.js.map +1 -1
  22. package/dist/core/ai-impact-analyzer.js +5 -5
  23. package/dist/core/ai-impact-analyzer.js.map +1 -1
  24. package/dist/core/ask-engine.js +2 -2
  25. package/dist/core/ask-engine.js.map +1 -1
  26. package/dist/core/change-impact-global.js +5 -5
  27. package/dist/core/change-impact-global.js.map +1 -1
  28. package/dist/core/doc-quality-gate.js +1 -1
  29. package/dist/core/doc-quality-gate.js.map +1 -1
  30. package/dist/core/intent-recognition.js +2 -2
  31. package/dist/core/intent-recognition.js.map +1 -1
  32. package/dist/core/next-steps.js +1 -1
  33. package/dist/core/next-steps.js.map +1 -1
  34. package/dist/core/spec-merger.d.ts +5 -4
  35. package/dist/core/spec-merger.d.ts.map +1 -1
  36. package/dist/core/spec-merger.js +5 -4
  37. package/dist/core/spec-merger.js.map +1 -1
  38. package/package.json +1 -1
@@ -1015,7 +1015,7 @@ async function iterationTaskifyCommand(options) {
1015
1015
  process.stdout.write('\n[SPECCORE_TASK_SUMMARY]\n');
1016
1016
  process.stdout.write(summaryMd);
1017
1017
  process.stdout.write('\n[/SPECCORE_TASK_SUMMARY]\n');
1018
- // 输出下一步操作标记:引导宿主 AI 对每个 Task 执行 analyze --task
1018
+ // 输出下一步操作标记:引导宿主 AI 填充任务级 00-specs/ 文档(analyze --task 已删除)
1019
1019
  outputAnalyzeTaskHints(iter, createdSections);
1020
1020
  }
1021
1021
  logger_1.logger.success(`✅ 创建了 ${createdSections.length}/${sections.length} 个任务(${sections.length - createdSections.length} 个跳过)`);
@@ -1125,6 +1125,8 @@ async function iterationTaskifyCommand(options) {
1125
1125
  if (!options.prompt && !options.response) {
1126
1126
  const moduleDrivenResult = await tryModuleDrivenSplit(iteration, iterationDir, options);
1127
1127
  if (moduleDrivenResult) {
1128
+ // v8.3.256: spinner 未 stop 会导致 ora interval 保持事件循环存活、进程挂起
1129
+ spinner.stop('✅ 模块驱动拆分完成');
1128
1130
  return;
1129
1131
  }
1130
1132
  }
@@ -3941,26 +3943,22 @@ async function generateTaskSummary(iterationDir, tasks, createdSections) {
3941
3943
  return md;
3942
3944
  }
3943
3945
  /**
3944
- * 输出 [SPECCORE_NEXT_STEPS] 标记,引导宿主 AI 对每个 Task 执行 analyze --task
3945
- * split 完成后调用,生成任务级 00-specs/ 文档
3946
+ * 输出 [SPECCORE_NEXT_STEPS] 标记,引导宿主 AI 填充任务级 00-specs/ 文档
3947
+ * v8.3.256: 任务层 analyze(--task)已删除,任务级规格由 taskify 预创建骨架 + 宿主 AI 填充
3946
3948
  */
3947
3949
  function outputAnalyzeTaskHints(iteration, sections) {
3948
3950
  if (sections.length === 0)
3949
3951
  return;
3950
3952
  const iterFlag = iteration ? ` -I ${iteration}` : '';
3951
- let md = `\n## 🧠 下一步:任务级 Spec 分析\n\n`;
3952
- md += `拆分完成!每个 Task 需要执行 AI 分析,生成任务级 00-specs/ 文档(REQ.md、TECH.md、TASK.md、SCHEMA.md)。\n\n`;
3953
- md += `AI 会 Read global/ 和 {端}/ 的全局 spec 作为参考,根据本 Task 的原子范围生成针对性分析。\n\n`;
3954
- md += `### 执行命令\n\n`;
3953
+ let md = `\n## 🧠 下一步:填充任务级 00-specs/ 文档\n\n`;
3954
+ md += `拆分完成!每个 Task 的 00-specs/ 骨架已由 CLI 预创建(REQ.md、TECH.md、TASK.md),请宿主 AI 直接 Read 对应端目录下的骨架并用 Write 填充专业内容。\n\n`;
3955
+ md += `参考上下文:020-specs/overview/ 全局规格 + 020-specs/{功能单元}/ 单元规格。\n\n`;
3956
+ md += `### 待填充任务\n\n`;
3955
3957
  for (const sec of sections) {
3956
3958
  const taskId = sec._taskId || sec.name;
3957
- md += `\`\`\`bash
3958
- speccore analyze --task ${taskId}${iterFlag}
3959
- \`\`\`
3960
-
3961
- `;
3959
+ md += `- ${taskId}:Read 030-tasks/**/${taskId}/{端}/ 下子任务目录的 00-specs/REQ.md 与 TECH.md,填充需求规格与技术方案\n`;
3962
3960
  }
3963
- md += `> 自动模式可逐个执行,或告诉 AI:“对所有新建 Task 执行 analyze --task”\n`;
3961
+ md += `\n> 填充完成后运行 \`speccore execute --resume\` 或 \`speccore plan${iterFlag}\` 制定执行计划。\n`;
3964
3962
  process.stdout.write('\n[SPECCORE_NEXT_STEPS]\n');
3965
3963
  process.stdout.write(md);
3966
3964
  process.stdout.write('\n[/SPECCORE_NEXT_STEPS]\n');