You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CLI i18n shared module: Extracted the init-time translation table to src/commands/i18n.ts so init, update, and future commands can share English/Chinese strings consistently instead of duplicating tables per command.
Optional npm dependency prompts in init/update: comet init and comet update now present a multi-select for OpenSpec CLI, Superpowers (via npx skills add), and CodeGraph CLI instead of force-installing them. Items not yet detected on the system default to checked; already-installed items default to unchecked so users can opt into upgrades without being forced. The Superpowers entry also surfaces a recommendation to install v6.0.0+ (≈2× faster, ≈50% fewer tokens).
--language option for comet init: New CLI flag (en/zh) that selects skill language non-interactively, mirroring the existing comet update --language option (#109).
review_mode field for code review control: Added .comet.yaml field review_mode (off / standard / thorough) controlling automatic code review during build and verify phases. comet-build requires user selection before execution; comet-verify and subagent dispatch adapt behavior per mode; comet-hotfix defaults to off. Validated by comet-state.sh, comet-guard.sh, and comet-yaml-validate.sh.
Project-level review mode defaults: .comet/config.yaml can now set review_mode: off|standard|thorough, which is snapshotted into new full workflow changes so teams can choose a project-wide automatic review default while preserving existing per-change state behavior. Newly generated config files include enum comments for context_compression, review_mode, and auto_transition so users can adjust supported values without searching the docs.
Uninstall by platform selection: comet uninstall now shows a checkbox prompt when multiple platforms are detected, allowing users to selectively uninstall specific platforms instead of removing all at once. Single-target scenarios use a simple yes/no confirmation. --force and --json flags retain the existing all-at-once behavior.
Codex plugin-installed Superpowers detection: comet init now detects Superpowers already installed via the Codex plugin cache (~/.codex/plugins/cache/...), preventing duplicate re-installation — parallel to the existing Claude Code and OpenCode plugin detection (#115).
Changed
Release notes alignment: Updated NEWS.md and the README highlight blocks so the visible documentation covers the 0.3.8 and 0.3.9 releases, including the new review mode behavior, instead of leaving the front-page summary on 0.3.7.
Tagline rebrand: Changed the Comet tagline in the comet init banner and the package.json / CLI --description from "OpenSpec + Superpowers dual-star development workflow" to "Agent Skill Harness Phase-Guarded Automation From Idea To Archive", positioning Comet by its core value (a phase-guarded agent skill harness) rather than by its underlying OpenSpec + Superpowers dependencies.
Change name confirmation as a blocking decision point: comet-open SKILL.md (Chinese and English) now adds a dedicated Step 1c that pauses before openspec new change to confirm the change name. The agent must recommend 2-3 kebab-case English candidate names derived from the clarification summary, always offer a custom-input option, and warn that Chinese (or any non-kebab-case) input will be converted into a compliant kebab-case English name and shown back for confirmation — preventing agents from auto-generating non-compliant Chinese change names.
Non-ASCII change name prevention: Added explicit ASCII validation rules to comet-open SKILL.md (both Chinese and English) to prevent agents from auto-generating non-compliant change names containing Chinese, Japanese, Korean characters, spaces, or special characters. The agent must now ask the user for an ASCII-compliant name.
Chinese gate-term normalization: Updated Chinese Comet wording to avoid translating gate literally as "门": Design Step 1e now uses "主动式上下文压缩", the shared debugging guidance now uses "异常调试协议", and CLAUDE.md / AGENTS.md now define this as the standard Chinese translation rule for future skill edits.
Full i18n coverage for CLI prompts: Extended translation coverage from init-only to also cover update (banner, npm update progress, skills copy progress, summary, codegraph prompt). All user-facing strings now have English and Chinese variants (#109).
Fixed
Phase-skip enforcement across all guard layers: Fixed agents jumping from open to build (skipping design) undetected. comet-state.sh now enforces evidence on every forward transition; direct set phase is blocked (with COMET_FORCE_PHASE=1 escape hatch); comet-hook-guard.sh blocks source writes when design_doc is null; comet-phase-guard rule adds a phase-entry self-consistency check requiring prerequisite artifacts before writing source.
Hook guard cross-change false positives: Fixed comet-hook-guard.sh letting one change's phase wrongly block writes to a different change. Writes targeting openspec/changes/<name>/ are now governed by that change's own .comet.yaml phase instead of the first active change found in the directory. This covers two cases that previously blocked a brand-new change's artifact writes: (1) an old change marked archived: true but not yet physically moved to the archive/ subdirectory, and (2) an old change stalled in the archive phase with archived: false (not yet run through the archive script). Additionally, a new change directory whose .comet.yaml does not exist yet (artifacts are written before the state file during /comet-open) is treated as open, so proposal/design/tasks/specs writes are allowed.
CodeGraph setup detection: Fixed comet init and comet update prompting for CodeGraph setup even when the project already has a .codegraph/ index. Existing project indexes now skip the optional CodeGraph prompt and install step, and CodeGraph CLI resolution can use a pnpm global binary before falling back to npm global installation.
Phase guard auto-transition handoff: Fixed the injected Comet phase guard rule hardcoding the next skill after guard --apply, which could bypass auto_transition: false. The rule now delegates post-guard handoff to comet-state next <change-name> and follows NEXT: auto|manual|done so manual phase boundaries are respected.
Executable permission loss on macOS after update: bin/comet.js and all shell scripts under assets/skills/comet/scripts/ were committed with git mode 100644 (non-executable). After an npm update, macOS users lost execute permissions on the comet CLI entry point. Changed all 8 files to 100755 in git so npm installs always preserve the executable bit.
Preset workflow open transition: Fixed comet-state.sh requiring design.md before hotfix/tweak changes could leave open, aligning state transitions with the guard rules that only require proposal.md and tasks.md for preset workflows.
Review mode build gating: Fixed comet-guard.sh allowing full-workflow changes with a missing review_mode field to pass build checks before comet-state.sh rejected the transition, so both guard layers now report the same required review-mode decision.
Hook guard blocked-message language: Changed comet-hook-guard.sh blocked-write guidance to English so the English-distributed hook script no longer emits Chinese-only recovery instructions during phase enforcement.
Tests
Phase-skip enforcement coverage: Added shell-script tests covering the hardened guard layers — open-complete blocked when an open artifact is missing, design-complete blocked/allowed by design_doc presence, archived blocked until verify_result: pass, direct set phase blocked while the COMET_FORCE_PHASE escape hatch is allowed, and hook-guard blocking full-workflow build source writes when design_doc is null while still allowing preset workflows and full workflows with a valid design_doc.
Project review mode default coverage: Added regression coverage for .comet/config.yamlreview_mode snapshotting into full workflow changes, invalid project review mode rejection, and enum comments in generated project config files.
CodeGraph setup coverage: Added regression tests for existing .codegraph/ index detection, skipping redundant CodeGraph installation, pnpm global CLI resolution, and suppressing the update-time CodeGraph prompt when a project index already exists.
Phase guard handoff coverage: Added skill-rule regression coverage ensuring the phase guard delegates to comet-state next and no longer embeds a fixed next-skill mapping that can ignore auto_transition.
review_mode integration coverage: Added regression tests verifying review_mode is wired through state, guard, and validation scripts, with correct mode-specific behavior in comet-build/comet-verify/comet-hotfix.
Uninstall platform selection coverage: Added tests for single-target auto-select, multi-target checkbox selection, user cancellation, --force skip, --json output, and no-targets-found handling.
CI regression coverage: Added state-machine regression coverage for preset workflows leaving open without design.md, missing full-workflow review_mode being blocked consistently, and repair-only phase resets using COMET_FORCE_PHASE.
Hook guard message coverage: Added regression coverage ensuring comet-hook-guard.sh blocked-write messages remain English and do not reintroduce Chinese-only guidance.
CI fixture alignment: Updated shell-script test fixtures to preserve executable permissions after copying scripts, include required review_mode decisions in full-workflow build states, and use the repair-only COMET_FORCE_PHASE escape hatch only when constructing phase states for guard checks.