Releases: rpamis/comet
Release list
0.4.0-beta.3
What's Changed
- fix: improve doctor scope diagnostics by @googs1025 in #165
- fix: harden classic runtime distribution by @benym in #169
Fixed
- Doctor scope diagnostics:
comet doctornow reports auto-scope behavior, Node/platform environment details, and a non-alarming project-scope note when a global Comet install is available but the current project has no local Skill copy, so users can distinguish an optional project install from a broken setup. - PowerShell Classic initialization:
comet-state.mjs initnow writes its successful initialization message to stdout instead of stderr, so Windows PowerShell no longer reports a successful.comet.yamlcreation as aNativeCommandError(#167). - Version flag alias:
comet -vnow works as a short alias forcomet --version, matching common CLI expectations on Windows and other shells (#167). - Classic runtime fallback: Classic phase scripts now keep an embedded runtime package fallback, so
comet-guard.mjs, handoff, and archive flows continue to run even when a platform installation is missing the internalruntime/classicasset files (#168). - Project config lookup: Classic guards now resolve project defaults only from
.comet/config.yaml, while workflow state remains in each change's.comet.yaml(#158). - Legacy command field cleanup: Classic guards now remove stale
build_commandandverify_commandfields from older change.comet.yamlfiles before unknown-field checks, while project-level command overrides in.comet/config.yamlfail explicitly instead of being silently skipped.
Removed
- Custom guard command fields: Classic workflow state no longer accepts custom build or verify command fields; guards use the built-in project build detection path instead.
New Contributors
- @googs1025 made their first contribution in #165
Full Changelog: 0.4.0-beta.2...0.4.0-beta.3
0.4.0-beta.2
What's Changed
- fix: install only the selected language's Comet rule file by @1919chichi in #163
- fix: protect installs and artifact routing by @benym in #164
Fixed
- Single-language rule install:
comet initandcomet updatenow install only the Comet phase-guard rule file matching the selected/detected Skill language (e.g..claude/rules/comet-phase-guard.md), instead of always installing both the Chinese and English rule variants side by side regardless of language choice. - Symlink install safety:
comet initandcomet updatenow refuse to replace an existing platformskills/directory with a symlink when it contains files outside Comet's managed manifest, preserving local or third-party Skills instead of deleting them during symlink-mode installs (#159). - Parallel change artifact writes: Classic phase guards now route
docs/superpowers/writes to the matching design/build/verify change instead of letting an unrelated earlier active change block shared Design Doc and planning artifacts (#160).
Full Changelog: 0.4.0-beta.1...0.4.0-beta.2
0.4.0-beta.1
What's Changed
- feat: add init platform selected summary by @Ninzero in #125
- feat: 新增 comet dashboard 命令 by @ScWen7 in #138
- fix: 优化 init 部分失败的汇总展示 by @ddddddddwp in #145
- feat: add Antigravity 2.0 platform support and isolate test suites by @LeoYang06 in #152
- feat: add configured artifact language by @1919chichi in #153
- feat: comet v0.4.0-beta.1 comet-eval comet-any support by @benym in #156
This is the first beta of the 0.4.0 line. Relative to 0.3.9, Comet becomes a cross-platform Node runtime and expands from a /comet workflow bundle into a workflow, Skill creation, eval, and dashboard platform. The notes below describe the final user-visible release shape, not the branch work history.
Added
- Cross-platform Classic runtime: Bundled
/cometworkflow scripts now run through Node.mjslaunchers backed by the TypeScript Classic runtime, so the same workflow works on Windows, macOS, and Linux without requiring Git Bash, WSL, or shell-compatible scripts. comet dashboard: Adds a local read-only browser dashboard for active and archived changes, including phase progress, artifact groups, task progress, verify status, next-action guidance, risk signals, Git context, artifact previews with metadata, and a light/dark UI.--json,--port,--no-open, andGET /api/dashboardexpose the same snapshot for scripts and CI./comet-anySkill Creator: Adds the primary flow for creating or upgrading reusable Skills. The flow covers candidate discovery, confirmable proposals, generated Skill bundles, authored decision/guidance zones, authoring lanes, current-draft eval readiness, review approval, publish, distribution, and platform-native files such as Claude Code custom agents.- Skill Creator CLI: Adds
comet creatorfor ordinary creation/resume guidance andcomet publishfor review, approval, publish, and distribution previews, keeping backend Bundle commands available only as advanced tooling. - Local Skill tooling: Adds
comet skill add|show|run|continue|checkfor installing, inspecting, running, resuming, and deterministically checking local Skill packages with snapshots. comet evalharness: Adds repository-local evaluation for Comet workflows and arbitrary local Skills, with task profiles, generated manifests, HTML reports, token/cost attribution, pass@k/pass^k reliability metrics, workflow-specific scoring, Skill invocation evidence checks, configurable simulator prompts, Anthropic-compatible proxy auth, Windows/WSL-friendly execution, UTF-8 logs, and regression gates.- Comet workflow eval tasks: Expands the bundled Comet workflow benchmark to 20 tasks, adding dependency-confusion, layered streaming, persistence, approval, noise-resistance, cross-file refactor, observability config, graph execution review, agent memory routing, and framework selection scenarios for stronger CONTROL vs 0.3.9 vs 0.4.0 comparisons.
- Hotfix/tweak scope decisions: Adds qualitative upgrade signals for hotfix and tweak workflows, while file-count thresholds now pause for user confirmation instead of forcing an automatic full-workflow escalation (#121).
- Supported platforms: Adds ZCode, MimoCode, Trae CN, and Antigravity 2.0 support. Antigravity 2.0 global installs use
~/.gemini/config/skills/; ZCode and MimoCode use OpenCode-compatible layouts; Trae CN uses.trae-cn/skills. - Symlink install mode:
comet initandcomet updatecan now install skills by copy or by symlink/junction from a shared.comet/skills/store. - Project Skill preferences: Adds
.comet/skill-preferences.yamlso projects can guide preferred Skills, ordering, and Skill Creator proposals without hand-editing bundle files. - Configured artifact language:
comet initnow records a project-wide artifact language (enorzh-CN) in.comet/config.yaml, and each new change snapshots that language into its.comet.yaml. OpenSpec and Superpowers artifacts follow this configured language instead of the language of whichever request happened to trigger the workflow, keeping output stable across resumed or mixed-language sessions. Comet guard checks reject workflow artifacts that are clearly written in the wrong dominant language for the configured value, fail closed on an invalidlanguage, and ignore fenced code blocks so pasted commands, paths, or hashes don't skew the check.
Changed
- Comet product model: README, CLI help, and Skill guidance now present Comet as a workflow and Skill platform: run guided workflows, create Skills, evaluate them, publish them, and diagnose stuck changes.
- Comet skill language instructions: English and Chinese Comet skills now read the configured artifact language (
enorzh-CNonly — no aliases) for OpenSpec prompts, Superpowers arguments, subagent dispatch, verification reports, and archive notes, instead of deriving it from the triggering user request. - Eval judge provider: LLM-as-judge now requires an explicit
BENCH_JUDGE_MODELand uses the independentBENCH_JUDGE_*provider settings, including direct Anthropic-compatible HTTP when a judge endpoint and credential are configured, so judge runs no longer silently share the subject model, endpoint, or credentials and report a skipped status when judge configuration is incomplete. - LangSmith eval configuration: LangSmith eval runs now derive Claude Code tracing plugin settings from the primary
LANGSMITH_*configuration, keep Claude Code traces in the configured base project, preserve hook logs in saved artifacts, and auto-build the official Claude Code tracing plugin into the eval cache when needed, so users no longer need to configure bothLANGSMITH_TRACINGand the similar-lookingTRACE_TO_LANGSMITH, hunt through per-experiment trace projects, or manually prepare plugin directories in normal setups. - Eval comparison reporting: Eval reports now separate raw, analysis-set, flagged, and excluded runs; treat CONTROL as a business-only baseline; split overall, business, and workflow pass@k/pass^k views; and render paper-style Markdown/HTML reports with metric explanations, rubric-dimension explanations, source evidence, failure attribution, centered tables, a Chinese/English toggle, Python-first charts, and inline SVG fallback.
- README eval evidence: README now highlights paper-style baseline figures for pass@5/pass^5 and core rubric/judge metrics, making the no-Comet, 0.3.9, and 0.4.0 comparison visible without opening the full eval report.
- Classic workflow state: Machine-owned run checkpoints moved from
.comet.yamlto.comet/run-state.json, while user-editable workflow fields remain YAML-readable. Classic phase transitions now also write.comet/state-events.jsonlfor an auditable state history. - Classic runtime packaging: Classic control metadata now lives under
comet/runtime/classic, and command scripts ship as thin Node launchers backed by a sharedcomet-runtime.mjsbundle while preserving the existing/comet*command behavior. - Workflow diagnostics:
comet statusandcomet doctornow share the same runtime evidence path and report current step, runtime mode, malformed state, missing evidence, and recommended recovery action. - Workflow routing:
/cometnow uses an explicit intent-frame route model for full, hotfix, tweak, resume, and ambiguous requests./comet-tweakis now a tweak-only OpenSpec action path, while full/cometremains on the Superpowers design/plan/build path. - Review workflow:
review_modenow defaults tostandardfor full workflows.off,standard, andthoroughform a clearer review gradient, and Comet owns review dispatch policy so users do not pay for overlapping Superpowers and Comet review loops. - Interactive decision points: Comet decision points prefer Claude Code's structured question UI when available, with a text fallback for other platforms.
- Debug workflow: The Debug Gate can investigate independent failure groups in parallel before fixes are applied serially through the configured review flow.
- Repository layout: Source code moved into
app/,domains/,platform/, andscripts/, with tests moved to matchingtest/app/,test/domains/,test/platform/,test/scripts/, andtest/repository/roots for clearer contributor ownership. - CI smoke test entry point: Adds a dedicated
test:script-smokepackage script and routes GitHub Actions through it, so contributors and CI exercise the same Classic launcher smoke suite. - README formatting policy: Root README files are excluded from Prettier checks so user-facing prose and exact documentation phrases are not rewritten by formatter line wrapping.
Fixed
- Windows path handling: Fixes OpenSpec init/update path quoting for directories with spaces on Windows, so
comet initno longer fails when the project path contains spaces. - Git submodule script lookup: Comet hook and runtime script resolution now uses the containing project root when an agent works inside a Git submodule, so submodule edits no longer fail because
.claude/skills/comet/scripts/*is only present at the parent project level (#136). - Superpowers workspace writes: Comet phase write guards now allow Superpowers to write its
.superpowers/workspace during protected workflow phases, so Superpowers progress files are no longer mistaken for blocked source edits (#154). - Doctor diagnostics:
comet doctornow gives clearer version, project/global scope, malformed state, missing evidence, and recovery gui...
0.3.9
What's Changed
- fix: detect Codex plugin superpowers by @1919chichi in #115
- feat(cli): full i18n for CLI prompts by @21307369 in #109
- feat: enhance comet scripts with phase checks, rebranding, and cli updates by @benym in #118
New Contributors
- @1919chichi made their first contribution in #115
- @21307369 made their first contribution in #109
Added
- CLI i18n shared module: Extracted the init-time translation table to
src/commands/i18n.tsso 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 initandcomet updatenow present a multi-select for OpenSpec CLI, Superpowers (vianpx 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). --languageoption forcomet init: New CLI flag (en/zh) that selects skill language non-interactively, mirroring the existingcomet update --languageoption (#109).review_modefield for code review control: Added.comet.yamlfieldreview_mode(off/standard/thorough) controlling automatic code review during build and verify phases.comet-buildrequires user selection before execution;comet-verifyand subagent dispatch adapt behavior per mode;comet-hotfixdefaults tooff. Validated bycomet-state.sh,comet-guard.sh, andcomet-yaml-validate.sh.- Project-level review mode defaults:
.comet/config.yamlcan now setreview_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 forcontext_compression,review_mode, andauto_transitionso users can adjust supported values without searching the docs. - Uninstall by platform selection:
comet uninstallnow 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.--forceand--jsonflags retain the existing all-at-once behavior. - Codex plugin-installed Superpowers detection:
comet initnow 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.mdand 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 initbanner and thepackage.json/ CLI--descriptionfrom "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-openSKILL.md (Chinese and English) now adds a dedicated Step 1c that pauses beforeopenspec new changeto 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-openSKILL.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
gateliterally as "门": Design Step 1e now uses "主动式上下文压缩", the shared debugging guidance now uses "异常调试协议", andCLAUDE.md/AGENTS.mdnow 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 coverupdate(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
opentobuild(skippingdesign) undetected.comet-state.shnow enforces evidence on every forward transition; directset phaseis blocked (withCOMET_FORCE_PHASE=1escape hatch);comet-hook-guard.shblocks source writes whendesign_docis null;comet-phase-guardrule adds a phase-entry self-consistency check requiring prerequisite artifacts before writing source. - Hook guard cross-change false positives: Fixed
comet-hook-guard.shletting one change's phase wrongly block writes to a different change. Writes targetingopenspec/changes/<name>/are now governed by that change's own.comet.yamlphase 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 markedarchived: truebut not yet physically moved to thearchive/subdirectory, and (2) an old change stalled in thearchivephase witharchived: false(not yet run through the archive script). Additionally, a new change directory whose.comet.yamldoes not exist yet (artifacts are written before the state file during/comet-open) is treated asopen, soproposal/design/tasks/specswrites are allowed. - CodeGraph setup detection: Fixed
comet initandcomet updateprompting 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 bypassauto_transition: false. The rule now delegates post-guard handoff tocomet-state next <change-name>and followsNEXT: auto|manual|doneso manual phase boundaries are respected. - Executable permission loss on macOS after update:
bin/comet.jsand all shell scripts underassets/skills/comet/scripts/were committed with git mode100644(non-executable). After an npm update, macOS users lost execute permissions on thecometCLI entry point. Changed all 8 files to100755in git so npm installs always preserve the executable bit. - Preset workflow open transition: Fixed
comet-state.shrequiringdesign.mdbeforehotfix/tweakchanges could leaveopen, aligning state transitions with the guard rules that only requireproposal.mdandtasks.mdfor preset workflows. - Review mode build gating: Fixed
comet-guard.shallowing full-workflow changes with a missingreview_modefield to pass build checks beforecomet-state.shrejected the transition, so both guard layers now report the same required review-mode decision. - Hook guard blocked-message language: Changed
comet-hook-guard.shblocked-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-completeblocked when an open artifact is missing,design-completeblocked/allowed bydesign_docpresence,archivedblocked untilverify_result: pass, directset phaseblocked while theCOMET_FORCE_PHASEescape hatch is allowed, and hook-guard blocking full-workflowbuildsource writes whendesign_docis null while still allowing preset workflows and full workflows with a validdesign_doc. - Project review mode default coverage: Added regression coverage for
.comet/config.yamlreview_modesnapshotting 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 nextand no longer embeds a fixed next-skill mapping that can ignoreauto_transition. review_modeintegration coverage: Added regression tests verifyingreview_modeis wired through state, guard, and validation scripts, with correct mode-specific behavior incomet-build/comet-verify/comet-hotfix.- Uninstall platform selection coverage: Added tests for single-target auto-select, multi-target checkbox selection, user cancellation,
--forceskip,--jsonoutput, and no-targets-found ha...
0.3.8
What's Changed
- feat: Add lightweight verification review #42 by @ddddddddwp in #86
- feat(core): add Kimi Code CLI platform support by @Joechan11 in #90
- feat: enhance skills handling, openspec upgrades, and cli improvements by @benym in #106
Added
- Kimi Code CLI support: Added Kimi Code as the 29th supported platform, including project/global skill installation under
.kimi-code/, OpenSpeckimitool integration, Superpowerskimi-code-climapping, detection, documentation, and cross-platform regression coverage (#90). - Version info and update check:
comet initandcomet updatenow display the current installed Comet version at the start of command output and check the npm registry for newer versions. If an update is available, users see a prompt to upgrade; if already on the latest version, a confirmation message is shown; if the registry is unreachable, the check is skipped silently without error (#99). - Official registry enforcement for update:
comet updatenow passes--registry https://registry.npmjs.orgto npm when updating the@rpamis/cometpackage, ensuring it always fetches from the official npm registry regardless of the user's local.npmrcor mirror configuration. Other packages continue using the user's normal registry settings. If the official registry is unreachable, a clear error message indicates the registry issue (#100). - Subagent dispatch Comet extensions: Rewrote the inline subagent dispatch protocol from
comet-build/SKILL.mdintocomet/reference/subagent-dispatch.md(Chinese and English) as Comet-specific extensions layered on top of the Superpowerssubagent-driven-developmentskill. The skill provides the core dispatch loop; the Comet extensions add real background dispatch, durable per-task checkpoints (subagent-progress.md), coordinator-only source execution, TDD ownership by background agents, bounded review-fix rounds (3 max), continuous task execution without pauses, and precise context recovery from checkpoint stages. task-checkoffsubcommand: Addedcomet-state task-checkoff <file> <task-text>to verify a specific task is uniquely checked in a markdown file. Used by the subagent dispatch protocol for targeted completion verification after dual review passes. Includes path traversal prevention, CRLF handling, and exact-match validation.comet uninstallcommand: Addedcomet uninstall [path]CLI command to safely remove Comet-distributed skills, rules, and hooks across all 29 supported AI coding platforms. Supports--scope(project/global),--force(skip confirmation), and--jsonoutput. Auto-detects installed targets, removes only Comet-managed artifacts while preserving user-defined hooks and non-Comet configuration, cleans up empty directories and working directories (.comet/,docs/superpowers/), and handles all 7 hook formats (Claude Code, Qwen, Qoder, Gemini, Windsurf, GitHub Copilot, Kiro) and all 3 rule formats (md, mdc, copilot instructions) (#95).- Progressive loading reference docs: Extracted four reference documents from inline skill content to enable on-demand loading and reduce per-invocation token cost (both Chinese and English):
auto-transition.md(auto-transition protocol, replacing 7 × ~10 lines of repeated content across sub-skills),context-recovery.md(context compression recovery, replacing 4 × ~8 lines),comet-yaml-fields.md(.comet.yamlfield table, ~40 lines), andfile-structure.md(directory structure, ~20 lines). Maincomet/SKILL.mdretains critical state machine hard constraints inline while pointing to reference docs for detailed field descriptions. Estimated per-invocation savings: 600–1,500 tokens depending on skill; cumulative ~4,100 tokens across a full workflow. - Pre-commit formatting hook: Added a
husky+lint-stagedpre-commit hook that automatically runsprettier --writeon staged source files undersrc/at everygit commit(scope aligned with CIformat:check). Editor-agnostic — enforced for all contributors regardless of IDE or agent — preventing Prettier formatting issues from reaching CI. Thepreparescript installs the hook onpnpm install, and.husky/is excluded from the published package via thefileswhitelist.
Changed
- Skills progressive loading refactor: All 7 sub-skills (
comet-open,comet-design,comet-build,comet-verify,comet-archive,comet-hotfix,comet-tweak) in both Chinese and English now reference shared protocol documents for auto-transition and context recovery instead of embedding full content inline, while retaining critical inline commands (nextcommand and output interpretation) for safe standalone loading. - Phase guard recovery with durable checkpoints: Updated recovery steps in
comet-phase-guard.md(Chinese and English) to reload the Superpowerssubagent-driven-developmentskill, readsubagent-progress.mdfor exact stage recovery (implementation commit, RED/GREEN evidence, passed reviews, unresolved feedback, review-fix round), and resume from the checkpoint's precise phase instead of always starting from the first unchecked task. Both.claude/rules/andassets/skills/comet/rules/copies include consistent references with bilingual identifiers for cross-language test compatibility. - Decision point protocol extraction: Extracted inline user-decision-point text from all 7 sub-skills (
comet-open,comet-design,comet-build,comet-verify,comet-archive,comet-hotfix,comet-tweak) and maincomet/SKILL.mdinto sharedcomet/reference/decision-point.md(both Chinese and English). Sub-skills now reference the protocol by path instead of repeating the full blocking-point rules, reducing per-invocation token cost and ensuring consistency across skills. - Debug gate protocol extraction: Extracted the inline systematic-debugging four-stage flow from
comet-build,comet-hotfix, andcomet-tweakinto sharedcomet/reference/debug-gate.md(both Chinese and English). Sub-skills now reference the debug gate protocol by path, centralizing the investigation, minimal failing test, fix verification, and verification-loop rules. - Lightweight verification review: Lightweight verification now requires a scoped Superpowers
requesting-code-reviewreview focused on correctness, security, and edge cases, adding review coverage without running full spec or design drift checks (#86).
Fixed
- Pi slash command discovery:
comet initandcomet updatenow generate a Pi extension that registers all shipped/comet*workflows as native slash commands forwarding to/skill:*. Pi settings are merged non-destructively with skill commands enabled, global resources now use Pi's documented~/.pi/agent/directory, legacy~/.pi/skills/installs are detected for update and cleanup, andcomet uninstallremoves only Comet-managed assets while preserving shared settings and unrelated extensions (#89). - OpenCode plugin-installed Superpowers detection:
comet initnow correctly detects Superpowers already installed via the OpenCode plugin system (configured inopencode.json), preventing duplicate re-installation. Previously, only skills placed directly under~/.config/opencode/skills/were detected, missing the plugin source directory at~/.config/opencode/superpowers/skills/and thepluginarray inopencode.json. AddedhasOpenCodePluginSuperpowers()fallback detection similar to the existing Claude Code plugin cache check (#105). - Lightweight verification consistency: Hotfix documentation now describes the 6-item lightweight verification path, and verification failure handling treats CRITICAL and IMPORTANT findings as blocking so review pass criteria and failure decisions remain consistent.
- Hook configuration merging during init and update: Shared hook configuration files for Claude Code, Codex, Amazon Q, Qwen, Qoder, Gemini, and Windsurf now preserve user-defined hooks when Comet installs or updates a hook for the same matcher or event. Existing Comet commands are identified by their manifest script path and replaced in place, preventing stale install paths, duplicate matcher groups, and repeated hook accumulation while leaving unrelated settings untouched.
- Subagent-driven task isolation and continuity:
comet-buildnow loads the mature Superpowerssubagent-driven-developmentloop and applies a stricter Comet extension that requires one fresh background implementer per task, fresh background reviewers and fix agents, coordinator-only source execution, and automatic continuation between tasks without progress summaries or "continue?" prompts. TDD mode requires each implementer/fix agent to load the TDD skill and return auditable RED/GREEN evidence before review. A durable per-task checkpoint preserves implementation commits, review stages, feedback, and the three-round retry budget across context compression; task checkoff remains blocked until both reviews pass (#94, #96, #97). - npm shebang line ending issue on macOS: When npm packed the project on Windows,
bin/comet.jsshebang line got CRLF line endings, causing macOS to interpret#!/usr/bin/env node\rinstead of#!/usr/bin/env node, resulting in "command not found" afternpm install -g @rpamis/comet. Added expliciteol=lfrules for all text file extensions (.js, `....
0.3.7
What's Changed
- feat: propagate workflow output language by @ddddddddwp in #53
- fix: prevent skip-all from skipping uninstalled components in comet init by @qiansanyu in #73
- fix(skills): enforce executing-plans review gate (#41) by @ddddddddwp in #76
- feat: add auto transition config by @Ninzero in #74
- feat: token optimization, context compression beta, and anti-drift guards by @benym in #78
Added
-
Auto-transition config: Added
auto_transition(true|false) to.comet.yamland the.comet/config.yamlproject default so teams can choose whether Comet automatically advances to the next phase skill or pauses for a manual transition. Whenauto_transition: false, build/design/open/verify skills stop after meeting exit conditions and print the next manual step instead of invoking the next skill. Includes state-machine whitelist, enum validation, and schema (comet-yaml-validate.sh) coverage (#74). -
Deterministic next-step resolver: Added
comet-state next <change-name>to resolve post-guard routing from.comet.yaml(phase,workflow,auto_transition) with structured output:NEXT: auto|manual|done,SKILL: <skill-name>, andHINT(manual mode). This centralizes next-skill routing logic in scripts instead of duplicating it across skill prose. -
Workflow output language: Comet workflows now propagate the triggering user request language into OpenSpec and Superpowers steps via an explicit Output Language Rule, keeping generated proposals, designs, plans, verification reports, and archive notes readable in the user's language. Resuming an existing change preserves the dominant artifact language unless the user explicitly asks to switch (#53, #37).
-
Execution benchmark (Claude Code): Added
benchmark:execution, a benchmark harness with three test phases: L1 (design doc generation from handoff context), L2 (build a note-board module from handoff context + run tests), and L3 (full workflow — implement a dictionary module from spec, run 10 vitest tests). Invokes Claude Code (claude -p) and measures actual test pass rate, token usage, retry count, duration, and cost. Comparesoffvsbetacontext compression modes across small/medium/large tiers. Supports--phase l1|l2|l3|both|alland--dry-runfor deterministic verification. Extracted shared utilities (spawnCapture,parseClaudeJson,buildClaudeArgs, etc.) toscripts/benchmark-utils.mjs. -
Token optimization: TDD skill single load: Build skill now loads
test-driven-developmentskill once before the first task (instead of per-task), reducing ~44K tokens per 10-task workflow. Includes compaction recovery guidance to reload once on resume. -
Token optimization: brainstorming checkpoint: Design skill now writes
brainstorm-summary.mdafter user confirms design approach, providing a compaction recovery point that preserves confirmed decisions across context window compression. -
Token optimization: incremental brainstorming checkpoint: Design skill now incrementally updates
brainstorm-summary.mdduring brainstorming, preserving confirmed facts, candidate decisions, risks, testing notes, and pending questions before platform-driven context compaction can occur. -
Token optimization: active compaction gate: Design skill now requires an active context compaction gate after
brainstorm-summary.mdis finalized and before creating the Design Doc, using the host platform's native compaction mechanism when available and falling back to a manual user prompt when it is not. -
Token optimization: plan creation subagent offload: Build skill offloads
writing-plansexecution to a subagent, freeing main session context. Subagent reads Design Doc + tasks.md from files and returns the plan file path. Falls back to inline execution on subagent failure. -
Token optimization: verification skill dedup: Verify skill loads
verification-before-completiononce before the light/full branch point instead of in each branch, eliminating redundant skill content. -
Token optimization: tasks.md incremental scan: Build skill uses
grepto find unchecked tasks instead of re-reading the entiretasks.mdfile after each task completion. -
Token optimization: hash on-demand read in verify: Verify skill checks
handoff_hashbefore re-reading OpenSpec artifacts. When hash matches, onlytasks.mdis skipped (proposal.md and design.md are still read for comparison checks). Uses newcomet-handoff.sh --hash-onlyflag. -
--hash-onlyflag for comet-handoff.sh: New backward-compatible flag outputs the context hash without generating handoff files, used by verify phase for hash comparison. Validates required files exist before computing hash. -
CodeGraph integration in comet init:
comet initnow offers an optional step to install and configure CodeGraph (@colbymchenry/codegraph) for semantic code intelligence. It auto-detects supported platforms (Claude Code, Cursor, Codex, OpenCode, Gemini, Kiro, Antigravity), installs the CLI if missing, runscodegraph installfor agent wiring, and initializes the project index. Skips gracefully under--jsonmode. -
Stale PR automation: Added a scheduled and manually runnable GitHub Actions workflow that marks inactive pull requests stale after 90 days and closes them after another 30 days, helping keep long-idle review queues manageable.
-
TDD mode field: Added
tdd_mode(tdd|direct) to.comet.yamlstate machine so users choose whether to enforce TDD during build. Whentdd_mode: tdd, subagent dispatches inject an explicit TDD hard constraint, bypassing implementer-prompt.md's conditional trigger. Addresses #67. -
subagent_dispatch field: Added
subagent_dispatch(null|confirmed) to.comet.yamlstate machine, ensuringbuild_mode: subagent-driven-developmentcan only leave the build phase after the platform's real background dispatch capability is confirmed. -
Verify retry limit: Verify skill now enforces a mandatory user decision after 3 consecutive verify-fail cycles, preventing indefinite automated retry loops.
-
Manual verify_mode override: Users can override automatic verification scale assessment via
comet-state set <name> verify_mode <light|full>when the auto-detected mode doesn't fit. -
Local context compression benchmark: Added
benchmark:context, a local Codex benchmark harness that creates matchedcontext_compression: offandbetaComet fixtures, runscodex execagainst each mode, and reports token savings, spec drift rate, task completion rate, parse success, and timing. Use--dry-runfor deterministic non-Codex verification. -
Beta-gated context compression switch: Project installs now create
.comet/config.yamlwithcontext_compression: off, allowing teams to opt new changes into beta spec projection by settingcontext_compression: beta. This switch controls only the OpenSpec handoff projection path (spec-context.*); the workflow token optimizations above are default-on and do not require beta mode. -
Beta spec projection handoff:
/comet-designcan now use beta context compression to generatespec-context.jsonandspec-context.md, preserving OpenSpec requirement and scenario headings with source hashes so compact design handoffs reduce token load without weakening acceptance coverage.
Changed
- executing-plans review gate: When
build_modeisexecuting-plans, the build phase now requires loading the Superpowersrequesting-code-reviewskill and requesting code review at least once before the build→verify phase guard. CRITICAL findings must be fixed before verify; accepted non-CRITICAL findings must record acceptance rationale in a durable artifact. The build-exit checklist enforces this gate (#76, #41). - Phase advancement vs handoff wording: Chinese and English Comet skills now consistently distinguish guard-driven phase advancement (
--apply, always updatesphase) from next-skill invocation control (auto_transition). Open/design/build/verify/hotfix/tweak guidance now routes throughcomet-state nextfor auto/manual handoff. - Preset continuity wording: Hotfix and tweak guidance now explicitly documents the
auto_transition: falseexception in continuous execution mode, removing contradictory wording around "always continue" behavior. - Verify hash-skip scoped to tasks.md only: Full verification always reads
proposal.mdanddesign.mdeven when hash matches, ensuring goal-satisfaction and design-consistency checks have complete context. - Design Doc creation stays in main session: Design Doc is created inline (not offloaded to subagent) to preserve full brainstorming conversation context and prevent information loss for complex requirements.
- Subagent failure fallback: Plan creation subagent offload includes explicit degraded fallback — if the subagent fails, the main session loads
writing-plansinline. - Beta spec verbatim projection: Beta context compression now projects entire spec files verbatim (
cat) instead of filtering by English keywords (GIVEN/WHEN/THEN/AND/BUT). This eliminates language-dependent matching, ensures zero acceptance-criteria drift for Chinese or non-English specs, and removes the fragile AWK filter entirely. - JSON structural validation:
comet-guard.shnow validatesspec-context.jsonstructure (required fields:change,phase,mode,files,context_hash) and source file reference coverage, rep...
0.3.6
What's Changed [0.3.6] - 2026-06-02
Added
- Plan-ready build pause state: Added
build_pauseas a dedicated build-phase pause marker so Comet can stop after plan generation without confusing the pause with the actual execution method. - Plan-ready pause design: Added a design record for the model-switching pause workflow, covering recovery behavior, stale pause handling, and plan-missing remediation.
Changed
- Build recovery routing:
/cometand/comet-buildnow recognizebuild_pause: plan-ready, reuse the existing plan, and resume at workspace isolation and execution-method selection instead of regenerating the plan. - Bilingual workflow documentation: Chinese and English Comet skills now describe the plan-ready pause point, clarify that
build_pauseis notbuild_mode, and document the same state field in both README files.
Fixed
- GitHub Copilot Superpowers skill names: Comet skills now invoke the bare Superpowers skill names installed by the GitHub Copilot skills path, avoiding blocked workflows caused by unresolved
superpowers:*aliases. - Windows bash resolution: Comet now resolves a usable bash executable through
COMET_BASH, rejects the Windows WSL launcher path, and uses the resolved executable for nested script calls so guard, handoff, and archive flows do not fall back to a broken PATHbash. - Shell test runner bash resolution:
run-bats.jsnow resolves a usable bash throughCOMET_TEST_BASH,COMET_BASH, PATH, or Git Bash defaults, avoiding the broken Windows WSL launcher when running shell tests from Node. - Schema validation fatal output: Guard validation now preserves the final fatal schema-validation message after printing validator diagnostics, making invalid
.comet.yamlfailures easier to recognize.
Tests
- Superpowers skill invocation regression: Added coverage that shipped Comet skill prose does not reference plugin-prefixed Superpowers aliases.
- Comet bash execution regression: Added coverage for nested script calls, shipped command examples, and the shell test runner so Comet uses resolved bash paths instead of raw PATH
bash. - Plan-ready pause regression: Added shell-script coverage for
build_pauseinitialization, schema validation, state updates, and build recovery output. - README state-field regression: Added README coverage to ensure
build_pauseappears in examples and field descriptions for both English and Chinese documentation.
0.3.5
What's Changed [0.3.5] - 2026-05-30
Added
- Context compaction recovery (
--recover):comet-state check <name> <phase> --recoveroutputs a structured recovery context, including phase status, field progress, task count, and recovery actions, used for agent context compression to quickly locate breakpoints and resume operations. - Red Flags Anti-Rationalization List: Added 5 red flag warnings to the main scheduling skill (making decisions for the user, skipping confirmation, replacing historical preferences, agreeing without objection, and passing without verification), helping the agent identify its own overreach tendencies.
- Uncertainty Degradation Principles: Added SUGGESTION > WARNING > CRITICAL degradation rules to the verify skill. Only build failures, test failures, and security issues are marked CRITICAL; ambiguous issues must be downgraded.
- Anti-Automatic Selection Guardian: Added naming and scope anti-automatic selection rules to the open skill. Name changes must be specified by the user or AskUserQuestion. Confirmation: The scope cannot be expanded or narrowed arbitrarily.
- File Existence Verification: Before entering user confirmation, the open skill verifies that the proposal/design/tasks files are not empty, preventing empty files from skipping the check.
- Idempotency Description: Idempotency descriptions have been added to all skill stages (open/design/build/verify), clarifying which operations can be safely retried and which fields require confirmation before skipping.
Changed
- AskUserQuestion Tool Clarification: All 7 decision blocking points (open confirmation, brainstorming confirmation, build workflow, verify failure decision, spec drift handling, branch handling, upgrade conditions) are uniformly required to use the AskUserQuestion tool; plain text prompts are prohibited.
- Decision Points Expanded from 6 to 7: The open stage proposal/design/tasks review confirmation is now the first decision point.
- Spec Drift Single-Choice Question Format: Spec drift handling in the verify stage has been changed to an AskUserQuestion single-choice question (A/B/C). (Choose one of three), no longer implicit default option
- Completely synchronized Chinese and English skills: The content, structure, and option format of the 7 Chinese skills and 7 English skills are completely aligned.
Fixed
- Crash due to unbound variables in
set -u: Whencomet-state check --recoveris missingtasks.mdduring the build phase, thependingvariable is not declared, causing the script to exit directly; this is fixed by moving thelocaldeclaration forward and adding an explicit branchtasks.md MISSINGto the recovery action chain. - Path truncation risk:
field_statususing${var%% *}ondesign_docmay truncate paths containing spaces; changed to${var% }to only remove trailing spaces. - Inconsistent reading style for optional fields:
direct_overrideuses|| echo ""while other optional fields use|| true; unified to|| trueto be consistent withcmd_scale.
Tests
- Added 8
check --recoverand boundary test cases, covering five phases: open/build/verify/design/archive, as well as boundary scenarios such as missing tasks.md and all tasks completed. - Total number of tests increased from 34 to 42, all passed.
0.3.4
What's Changed [0.3.4] - 2026-05-29
Changed
- Command execution security: Refactored all command execution in OpenSpec and Superpowers install paths from
spawnwith shell interpretation toexecFileSync, eliminating shell injection surface and improving cross-platform reliability
Fixed
- OpenSpec global install path for OpenCode:
comet init --scope globalnow migrates OpenSpec skills from the hardcoded~/.opencode/directory to~/.config/opencode/where OpenCode actually reads them, with a self-deletion guard when source and destination paths coincide (#46, @gleami) - Windows command execution: Added
shelloption toexecFileSynccalls on Windows so command shims (.cmd) resolve correctly - Doctor
.comet.yamlvalidation:comet doctornow validates top-level keys instead of silently accepting unknown keys, andreadDirerrors other than ENOENT are no longer swallowed (@felanny) - CI JSON parsing: CI workflow parses command output by finding the first
{character, preventing non-JSON prefix lines from breaking JSON extraction (@kathy32) - CI warning output: CI now only counts and prints warnings when a step actually fails, reducing noise in successful runs (@kathy32)
- Spawn stdio noise: Changed
inherittoignorefor non-interactive spawn stdio so OpenSpec/Superpowers installers don't print unrelated progress to the console (@kathy32)
Tests
- Added coverage for OpenCode global OpenSpec path migration, self-deletion guard, and homedir mocking
- Added doctor tests for
.comet.yamltop-level key validation and non-ENOENTreadDirerror propagation - Fixed timeout for git-based test "uses plan base-ref to scale verification"
Docs
- Improved README setup guidance with clearer installation instructions and collapsible reference panels (both English and Chinese) (@bevishe)
- Added contributors wall to both README and README-zh (@Joechan11)
New Contributors
0.3.3
What's Changed [0.3.3] - 2026-05-27
Fixed
- OpenSpec all-workflows installation:
comet initnow writes the all-workflows config directly to the platform-specific default config path (%APPDATA%\openspec\on Windows,$XDG_CONFIG_HOME/openspec/on macOS/Linux when set, otherwise~/.config/openspec/) in addition to the isolatedXDG_CONFIG_HOMEenv override, ensuring all 11 OpenSpec workflows are always installed regardless of the user's previous OpenSpec config state.