Releases: demwick/software-engineer
Releases · demwick/software-engineer
v2.0.0 — scope cut and state consolidation
Changelog
All notable changes to software-engineer-agent are documented here.
This project follows Keep a Changelog and
Semantic Versioning.
[2.0.0] — 2026-04-15
v2.0.0 is a disciplined scope cut and state-model consolidation driven
by the refactor documented in
docs/specs/2026-04-15-scope-and-state-refactor.md. It removes five
user-facing commands and two agents whose methodology is better served
by composition with external plugins, and bumps the project state
schema from 1 to 2 with automatic one-way migration.
Removed (BREAKING)
- Commands:
/sea-ship,/sea-review,/sea-debug,/sea-milestone,
/sea-undo. Command surface narrowed from 11 to 6. - Agents:
reviewer(Sonnet) anddebugger(Haiku). Agent surface
narrowed from 6 to 4 (plus_common.md, the shared operating
constitution). Both had no callers after the commands above were
deleted.
Changed (BREAKING)
- State schema bumped from 1 to 2.
scripts/state-update.shnow
auto-migratesschema_version: 1→2on first touch. The bump is
the contract that the project uses the two-file auto-QA marker scheme
described below. Migration is one-way and idempotent; there is no
rollback in the script. Thepre-scope-cutgit tag is the floor. - Auto-QA marker split into two files. The
.sea/.needs-verify
marker is now existence-only — the hook ignores its content.
A new sibling file.sea/.verify-attemptsholds the retry counter
as{"attempts": N}, written atomically viajqto amktempfile,
thenmv-ed into place.hooks/auto-qaclears both files on every
terminal state (pass, loop-protection give-up, hard give-up,
host-compat fail, missing test runner). A v1 backward-compatibility
fallback reads the marker's legacy integer content when
.verify-attemptsis absent, so migrated v1 projects keep working
through the rollover.
Changed
/sea-roadmapabsorbs/sea-milestone. A new "Adding a milestone
to a completed project" section inskills/sea-roadmap/SKILL.md
documents the clarify-questions + planner Mode A + milestone boundary
marker +current_milestonestate field flow. Plain/sea-roadmap add "<description>"still covers single-phase appends; the milestone
flow triggers when the description spans multiple phases or the user
explicitly names a new milestone./sea-godelegates review and debug to composition. Step 5
(blocked executor) now recommendsobra/superpowers:debuggingor
addyosmani/agent-skills:debuggingif installed. Step 6.5 (previously
the internal reviewer call) now notes the availability of
addyosmani/agent-skills:code-reviewif installed instead of
invoking a SEA-owned reviewer.- Auto-QA retry constants.
hooks/auto-qanow exports
MAX_RETRIES=2andTEST_TAIL_LINES=30as named constants at the
top of the file with rationale comments. Block-decision messages
reference the constant so raising the retry budget in one place
updates every user-visible message. - Agent
maxTurnsrationale. Every surviving agent
(executor30,planner20,researcher15,verifier12) now has
a YAML-comment rationale explaining the cap and how to tune it.
Added
docs/STATE.mdv2.0.0 audit with per-file writer/reader/missing/
corrupted details, cross-file invariants (now nine, including a new
invariant pairing.needs-verifyand.verify-attempts), and a
"what if state.json and roadmap.md disagree?" decision matrix. The
v1.0.0 reference is preserved verbatim as a historical subsection.docs/specs/2026-04-15-scope-and-state-refactor.md— the spec that
drove this release.docs/specs/2026-04-15-scope-and-state-refactor-journal.md—
phase-by-phase journal of the refactor execution.docs/migration/v1-to-v2.md— migration guide for anyone onv1.x.CHANGELOG.md— this file.evals/suites/state/v1-to-v2-migration.sh— verifies the schema
migration is correct and idempotent.evals/suites/hooks/auto-qa-two-file-full-cycle.sh— regression
for the two-file marker scheme's retry-then-give-up cycle.evals/fixtures/states/v1-legacy.json— legacy v1 state fixture for
the migration eval. The four shared state fixtures
(fresh/executing/blocked/planning) were bumped toschema_version: 2.- Migration from v1.x section in
README.mdmapping each deleted
command to its composition replacement.
Fixed
- Documentation drift between
README.md,DESIGN.md, and the
filesystem (phantom counts,[NAME]placeholder,Draftstatus). - Overloaded
.sea/.needs-verifymarker that encoded both "verify
needed" and "retries so far" in the same file. - Missing rationale for
maxTurns: 30and the loop-protection
threshold2inhooks/auto-qa.
Migration
See docs/migration/v1-to-v2.md for the
full migration path — composition replacements for every deleted
command, how the state schema auto-migration works, how to verify it,
and how to recover if something goes wrong.
Notes
plugin.jsonversion bumped from1.0.0→2.0.0.- The
pre-scope-cutgit tag marks the pre-v2.0.0mainHEAD and is
the only rollback floor. State schema migrations are one-way:
reverting the code does not roll back a migrated.sea/state.json
in a user project.