跳转到主要内容

What’s Changed [0.2.6] - 2026-05-23

Added

  • Build decision enforcement: Build guard and comet-state.sh transition build-complete now require isolation and build_mode before moving from build to verify
  • Direct mode override: Full workflows must set direct_override: true before using build_mode: direct; hotfix/tweak remain allowed by default
  • Configurable guard commands: Guard scripts now read build_command and verify_command from the change .comet.yaml or repo-root Comet config before falling back to auto-detected build commands
  • Archive diff preview: Archive sync prints a unified diff before overwriting an existing main spec when it differs from the delta spec
  • Cross-platform script smoke CI: Added Ubuntu, macOS, and Windows smoke coverage for Comet shell scripts and portable shell tests
  • Shell line-ending policy: Added .gitattributes rules to keep shell and Bats scripts on LF endings

Changed

  • Guard failure output: Guard checks now preserve and print command failure output, plus actionable Next: hints for missing build decisions and unfinished tasks
  • Command handling: Project commands run through bash -lc, Maven uses mvnw or mvn.cmd where appropriate, and Windows Git Bash paths are handled in shell test helpers
  • Archive step counting: Dry-run, delta sync, annotation, move, and archive status steps now count real executed steps without double-counting repeated operations
  • English docs and skills: Synced the English README and Comet skill text with the Chinese build-decision, command-config, and archive behavior descriptions

Fixed

  • macOS shell script state updates: Replaced GNU-only sed -i writes in comet-state.sh with portable temp-file updates, fixing macOS CI failures during scale, transition, and YAML field updates
  • Optional field reads under pipefail: Guard and state scripts now tolerate missing optional YAML fields without exiting early under set -euo pipefail
  • Bash detection fallback: Shell test helpers now handle failed bash probes without crashing on empty spawnSync output
  • Configured command persistence: comet-state.sh set now escapes sed replacement metacharacters so command values containing &, |, or backslashes are preserved
  • Optional schema fields: YAML validation now recognizes direct_override, build_command, and verify_command
  • Quoted YAML values: State, guard, and validator scripts now strip only wrapping quotes instead of deleting all quote characters from values

Tests

  • Added coverage for missing build decisions, direct-mode override blocking and allowance, configured build/verify commands, command metacharacter preservation, unfinished-task remediation output, archive step counts, cross-platform path handling, BSD/GNU sed portability, optional YAML field reads under pipefail, and failed bash probe handling