feat: add auto transition config#74
Conversation
Add a Change-level auto_transition setting copied from openspec/comet.yaml so Chinese Comet skills can pause before invoking the next phase while preserving state transitions. Cover initialization defaults, state validation, YAML schema checks, and skill text safeguards for manual flow. Co-Authored-By: Codex <noreply@openai.com>
Let scale assessment continue when a plan omits base-ref so it can use the Change base_ref fallback instead of exiting under pipefail. Add a regression test covering committed changes with a plan file that lacks base-ref metadata. Co-Authored-By: Codex <noreply@openai.com>
Archive the completed add-auto-transition-config change and sync its accepted requirements into the main comet-auto-transition spec. Refs add-auto-transition-config Co-Authored-By: Codex <noreply@openai.com>
Document the auto_transition manual-flow behavior in English Comet skills and add English safeguard assertions so future changes cannot drop the instructions. Co-Authored-By: Codex <noreply@openai.com>
Document the auto-transition configuration and manual continuation behavior. Also capture the scale fallback fix and related test coverage. Co-Authored-By: Codex <noreply@openai.com>
|
Complex PR? Review this PR in Change Stack to move by importance, not file order. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThis PR introduces Changesauto_transition State Control for Comet Workflow Phases
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
assets/skills-zh/comet/SKILL.md (1)
201-201: ⚡ Quick winAlign
auto_transitionsemantics with the English contract.This line should also state that the value is copied from
openspec/comet.yamlduring init (fallbacktrue), not only that default istrue, to avoid EN/ZH behavior drift.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@assets/skills-zh/comet/SKILL.md` at line 201, Update the `auto_transition` description in assets/skills-zh/comet/SKILL.md (the `auto_transition` row) to match the English contract: state that the value is copied from openspec/comet.yaml during initialization (with a fallback of `true`) rather than merely saying the default is `true`, and keep the existing note that it accepts `true` 或 `false` and controls whether the next Skill is automatically invoked after a phase advances.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@assets/skills-zh/comet/SKILL.md`:
- Line 201: Update the `auto_transition` description in
assets/skills-zh/comet/SKILL.md (the `auto_transition` row) to match the English
contract: state that the value is copied from openspec/comet.yaml during
initialization (with a fallback of `true`) rather than merely saying the default
is `true`, and keep the existing note that it accepts `true` 或 `false` and
controls whether the next Skill is automatically invoked after a phase advances.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 9cb2195c-f718-4f82-899c-52a73a550bfc
📒 Files selected for processing (20)
.gitignoreCHANGELOG.mdassets/skills-zh/comet-build/SKILL.mdassets/skills-zh/comet-design/SKILL.mdassets/skills-zh/comet-hotfix/SKILL.mdassets/skills-zh/comet-open/SKILL.mdassets/skills-zh/comet-tweak/SKILL.mdassets/skills-zh/comet-verify/SKILL.mdassets/skills-zh/comet/SKILL.mdassets/skills/comet-build/SKILL.mdassets/skills/comet-design/SKILL.mdassets/skills/comet-hotfix/SKILL.mdassets/skills/comet-open/SKILL.mdassets/skills/comet-tweak/SKILL.mdassets/skills/comet-verify/SKILL.mdassets/skills/comet/SKILL.mdassets/skills/comet/scripts/comet-state.shassets/skills/comet/scripts/comet-yaml-validate.shtest/ts/comet-scripts.test.tstest/ts/skills.test.ts
✨ Summary
根据 Issue #65 修改. 为 Skill 间的自动流转添加配置项, 默认开启自动流转, 当
auto_transition参数为 false 时, 仅打印提示用户进入下一阶段的指令.用户可以在
openspec目录下新增comet.yaml文件作为项目级配置. 每次创建新的 change 时, 会从openspec/comet.yaml中尝试读取auto_transition配置并写入本次 change 的.comet.yaml文件中. 如果不存在openspec/comet.yaml文件, 文件中找不到auto_transition配置, 或是auto_transition配置了false以外的值, 默认均会视为auto_transition=true🎯 Scope
init,status,doctor,update)assets/skills/,assets/skills-zh/)assets/skills/comet/scripts/)🧪 Testing
pnpm buildpnpm lintpnpm format:checkpnpm testpnpm test -- test/ts/comet-scripts.test.tspnpm test:shell✅ Checklist
fix: handle project-scope initREADME.md,README-zh.md, orCONTRIBUTING.mdCHANGELOG.mdis updated when behavior changesassets/manifest.jsonand relevant tests👀 Notes for Reviewers
openspec/目录是否是放置 comet 项目级配置的合适位置? 但为此专门新增comet文件夹似乎有些多余CHANGELOG.md如何更新有些疑虑, 我不确定是应该放在 0.3.6 的更新日志中还是新增 0.3.7 版本号?Summary by CodeRabbit
New Features
auto_transitionoption to control automatic workflow phase progression (enabled by default); when disabled, workflows stop after a phase and require manual next-phase commands.Documentation
Tests
auto_transitionbehaviors and related state/validation flows.Chores