Skip to content

Releases: rpamis/comet

0.4.0-beta.3

Choose a tag to compare

@benym benym released this 08 Jul 16:32
da58122

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 doctor now 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 init now writes its successful initialization message to stdout instead of stderr, so Windows PowerShell no longer reports a successful .comet.yaml creation as a NativeCommandError (#167).
  • Version flag alias: comet -v now works as a short alias for comet --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 internal runtime/classic asset 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_command and verify_command fields from older change .comet.yaml files before unknown-field checks, while project-level command overrides in .comet/config.yaml fail 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

Full Changelog: 0.4.0-beta.2...0.4.0-beta.3

0.4.0-beta.2

Choose a tag to compare

@benym benym released this 07 Jul 15:41

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 init and comet update now 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 init and comet update now refuse to replace an existing platform skills/ 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

Choose a tag to compare

@benym benym released this 07 Jul 03:34
baade7b

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 /comet workflow scripts now run through Node .mjs launchers 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, and GET /api/dashboard expose the same snapshot for scripts and CI.
  • /comet-any Skill 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 creator for ordinary creation/resume guidance and comet publish for 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|check for installing, inspecting, running, resuming, and deterministically checking local Skill packages with snapshots.
  • comet eval harness: 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 init and comet update can now install skills by copy or by symlink/junction from a shared .comet/skills/ store.
  • Project Skill preferences: Adds .comet/skill-preferences.yaml so projects can guide preferred Skills, ordering, and Skill Creator proposals without hand-editing bundle files.
  • Configured artifact language: comet init now records a project-wide artifact language (en or zh-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 invalid language, 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 (en or zh-CN only — 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_MODEL and uses the independent BENCH_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 both LANGSMITH_TRACING and the similar-looking TRACE_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.yaml to .comet/run-state.json, while user-editable workflow fields remain YAML-readable. Classic phase transitions now also write .comet/state-events.jsonl for 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 shared comet-runtime.mjs bundle while preserving the existing /comet* command behavior.
  • Workflow diagnostics: comet status and comet doctor now share the same runtime evidence path and report current step, runtime mode, malformed state, missing evidence, and recommended recovery action.
  • Workflow routing: /comet now uses an explicit intent-frame route model for full, hotfix, tweak, resume, and ambiguous requests. /comet-tweak is now a tweak-only OpenSpec action path, while full /comet remains on the Superpowers design/plan/build path.
  • Review workflow: review_mode now defaults to standard for full workflows. off, standard, and thorough form 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/, and scripts/, with tests moved to matching test/app/, test/domains/, test/platform/, test/scripts/, and test/repository/ roots for clearer contributor ownership.
  • CI smoke test entry point: Adds a dedicated test:script-smoke package 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 init no 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 doctor now gives clearer version, project/global scope, malformed state, missing evidence, and recovery gui...
Read more

0.3.9

Choose a tag to compare

@benym benym released this 18 Jun 04:31

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

Added

  • 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.yaml review_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 ha...
Read more

0.3.8

Choose a tag to compare

@benym benym released this 13 Jun 11:19

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/, OpenSpec kimi tool integration, Superpowers kimi-code-cli mapping, detection, documentation, and cross-platform regression coverage (#90).
  • Version info and update check: comet init and comet update now 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 update now passes --registry https://registry.npmjs.org to npm when updating the @rpamis/comet package, ensuring it always fetches from the official npm registry regardless of the user's local .npmrc or 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.md into comet/reference/subagent-dispatch.md (Chinese and English) as Comet-specific extensions layered on top of the Superpowers subagent-driven-development skill. 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-checkoff subcommand: Added comet-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 uninstall command: Added comet 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 --json output. 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.yaml field table, ~40 lines), and file-structure.md (directory structure, ~20 lines). Main comet/SKILL.md retains 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-staged pre-commit hook that automatically runs prettier --write on staged source files under src/ at every git commit (scope aligned with CI format:check). Editor-agnostic — enforced for all contributors regardless of IDE or agent — preventing Prettier formatting issues from reaching CI. The prepare script installs the hook on pnpm install, and .husky/ is excluded from the published package via the files whitelist.

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 (next command 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 Superpowers subagent-driven-development skill, read subagent-progress.md for 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/ and assets/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 main comet/SKILL.md into shared comet/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, and comet-tweak into shared comet/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-review review 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 init and comet update now 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, and comet uninstall removes only Comet-managed assets while preserving shared settings and unrelated extensions (#89).
  • OpenCode plugin-installed Superpowers detection: comet init now correctly detects Superpowers already installed via the OpenCode plugin system (configured in opencode.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 the plugin array in opencode.json. Added hasOpenCodePluginSuperpowers() 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-build now loads the mature Superpowers subagent-driven-development loop 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.js shebang line got CRLF line endings, causing macOS to interpret #!/usr/bin/env node\r instead of #!/usr/bin/env node, resulting in "command not found" after npm install -g @rpamis/comet. Added explicit eol=lf rules for all text file extensions (.js, `....
Read more

0.3.7

Choose a tag to compare

@benym benym released this 09 Jun 10:00

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.yaml and the .comet/config.yaml project default so teams can choose whether Comet automatically advances to the next phase skill or pauses for a manual transition. When auto_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>, and HINT (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. Compares off vs beta context compression modes across small/medium/large tiers. Supports --phase l1|l2|l3|both|all and --dry-run for deterministic verification. Extracted shared utilities (spawnCapture, parseClaudeJson, buildClaudeArgs, etc.) to scripts/benchmark-utils.mjs.

  • Token optimization: TDD skill single load: Build skill now loads test-driven-development skill 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.md after 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.md during 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.md is 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-plans execution 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-completion once before the light/full branch point instead of in each branch, eliminating redundant skill content.

  • Token optimization: tasks.md incremental scan: Build skill uses grep to find unchecked tasks instead of re-reading the entire tasks.md file after each task completion.

  • Token optimization: hash on-demand read in verify: Verify skill checks handoff_hash before re-reading OpenSpec artifacts. When hash matches, only tasks.md is skipped (proposal.md and design.md are still read for comparison checks). Uses new comet-handoff.sh --hash-only flag.

  • --hash-only flag 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 init now 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, runs codegraph install for agent wiring, and initializes the project index. Skips gracefully under --json mode.

  • 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.yaml state machine so users choose whether to enforce TDD during build. When tdd_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.yaml state machine, ensuring build_mode: subagent-driven-development can 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 matched context_compression: off and beta Comet fixtures, runs codex exec against each mode, and reports token savings, spec drift rate, task completion rate, parse success, and timing. Use --dry-run for deterministic non-Codex verification.

  • Beta-gated context compression switch: Project installs now create .comet/config.yaml with context_compression: off, allowing teams to opt new changes into beta spec projection by setting context_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-design can now use beta context compression to generate spec-context.json and spec-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_mode is executing-plans, the build phase now requires loading the Superpowers requesting-code-review skill 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 updates phase) from next-skill invocation control (auto_transition). Open/design/build/verify/hotfix/tweak guidance now routes through comet-state next for auto/manual handoff.
  • Preset continuity wording: Hotfix and tweak guidance now explicitly documents the auto_transition: false exception in continuous execution mode, removing contradictory wording around "always continue" behavior.
  • Verify hash-skip scoped to tasks.md only: Full verification always reads proposal.md and design.md even 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-plans inline.
  • 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.sh now validates spec-context.json structure (required fields: change, phase, mode, files, context_hash) and source file reference coverage, rep...
Read more

0.3.6

Choose a tag to compare

@benym benym released this 02 Jun 16:06
07a13d9

What's Changed [0.3.6] - 2026-06-02

Added

  • Plan-ready build pause state: Added build_pause as 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: /comet and /comet-build now recognize build_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_pause is not build_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 PATH bash.
  • Shell test runner bash resolution: run-bats.js now resolves a usable bash through COMET_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.yaml failures 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_pause initialization, schema validation, state updates, and build recovery output.
  • README state-field regression: Added README coverage to ensure build_pause appears in examples and field descriptions for both English and Chinese documentation.

0.3.5

Choose a tag to compare

@benym benym released this 29 May 16:36

What's Changed [0.3.5] - 2026-05-30

Added

  • Context compaction recovery (--recover): comet-state check <name> <phase> --recover outputs 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: When comet-state check --recover is missing tasks.md during the build phase, the pending variable is not declared, causing the script to exit directly; this is fixed by moving the local declaration forward and adding an explicit branch tasks.md MISSING to the recovery action chain.
  • Path truncation risk: field_status using ${var%% *} on design_doc may truncate paths containing spaces; changed to ${var% } to only remove trailing spaces.
  • Inconsistent reading style for optional fields: direct_override uses || echo "" while other optional fields use || true; unified to || true to be consistent with cmd_scale.

Tests

  • Added 8 check --recover and 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

Choose a tag to compare

@benym benym released this 29 May 10:15
da3dc74

What's Changed [0.3.4] - 2026-05-29

Changed

  • Command execution security: Refactored all command execution in OpenSpec and Superpowers install paths from spawn with shell interpretation to execFileSync, eliminating shell injection surface and improving cross-platform reliability

Fixed

  • OpenSpec global install path for OpenCode: comet init --scope global now 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 shell option to execFileSync calls on Windows so command shims (.cmd) resolve correctly
  • Doctor .comet.yaml validation: comet doctor now validates top-level keys instead of silently accepting unknown keys, and readDir errors 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 inherit to ignore for 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.yaml top-level key validation and non-ENOENT readDir error 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

Choose a tag to compare

@benym benym released this 27 May 14:37
1b13f1e

What's Changed [0.3.3] - 2026-05-27

Fixed

  • OpenSpec all-workflows installation: comet init now 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 isolated XDG_CONFIG_HOME env override, ensuring all 11 OpenSpec workflows are always installed regardless of the user's previous OpenSpec config state.