Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Feb 15:15
· 24 commits to main since this release
v1.0.0
1672d09

[1.0.0] - 2026-02-15

Added

  • Add auto-release spec and archive change

Archive the add-auto-release-generation change set under openspec/changes/archive/2026-02-14 and add a new formal spec at openspec/specs/auto-release/spec.md. The new spec defines requirements and scenarios for git-cliff configuration (imperative-mood commit parsing and grouping, skipping version/merge commits), a GitHub Actions release workflow that triggers on v* tags to generate release notes and create GitHub Releases, and initial CHANGELOG.md generation covering existing tags.

  • Add CLI dependency checks for qsv and flock

Introduce a shared dependency checker (src/core/dependencies.ts) that runs qsv --version and flock --version with a timeout and returns structured availability/version info. Call this utility from nightshift init and nightshift update (src/cli/commands/init.ts, src/cli/commands/update.ts) to print a --- Dependencies --- summary showing ✓ for present tools or a warning with brew install ... instructions for missing tools (non-blocking). Remove the redundant pre-flight dependency checks and version lines from the nightshift-start template and update related specs and openspec change archives accordingly. Also update benchmarks metadata.

================================================================================
TEST RESULTS
================================================================================
Test                         Result    Accuracy    Duration      Benchmark
--------------------------------------------------------------------------
init                         PASS      11/11       1.4s          SLOW (+16.2%)
nightshift-start             PASS      3/3         2m 41s        FASTER (-4.6%)
nightshift-start-parallel    PASS      3/3         2m 5s         FASTER (-7.0%)
--------------------------------------------------------------------------

Changed

  • Update changelog [skip ci]

Other

  • Improve orchestration

Switch orchestration so dev and QA agents write their own item statuses to table.csv using flock-protected qsv commands; remove the transient in_progress state and simplify the state machine to todo → qa → done|failed. Make qsv and flock required dependencies, add {SHIFT:TABLE} template variable, and update manager responsibilities (progress reporting, applying only successful dev recommendations, writing manager.md and task files). Update docs, agent/command templates, and OpenSpec specs/design/proposal to reflect the new model; remove opencode.jsonc and adjust README/AGENTS.md accordingly.

  • Optimize orchestration performance

Enable manager self-continuation and reduce inter-agent payloads to cut per-batch overhead. The manager now processes batches autonomously and only yields to the supervisor on compaction or completion; the supervisor no longer gates each batch or runs redundant per-batch qsv termination checks. Dev/QA agent output contracts are streamlined (dev: overall_status, recommendations, error; QA: overall_status, summary) and dev/QA continue to write statuses directly to table.csv with flock-prefixed qsv edits. Updated templates and specs to reflect the new supervisor/manager model and slimmed agent contracts, added an archived change package documenting the design/proposal/tasks, and adjusted benchmarks.json accordingly.

  • Archive spec changes

Move change proposals into the 2026-02-15 archive and introduce exclusive file locking for all qsv operations on shift tables. Require qsv and flock as external dependencies and update all CSV read/write scenarios to use flock -x <table_path> qsv <subcommand> (including qsv edit -i for in-place updates). Add a new table-file-locking spec, update bash permission requirements to allow qsv* and flock* for manager/dev/QA/global contexts, and ensure manager/dev agents write status transitions to table.csv via flock-prefixed qsv commands. Also add {SHIFT:TABLE} placeholder support, restrict manager step-improvement application to successful dev runs, and enhance dev result reporting and retry behavior.

  • Sync specs/docs with two-agent implementation

Update repository docs and OpenSpec files to match the implemented two-agent model (manager + dev) and three-state machine (todo, done, failed). Rewrites AGENTS.md and README.md to remove QA references, update state transitions, project layout (TypeScript CLI: src/, bin/, dist/, templates/, test/), build/test instructions (pnpm), and permissions/delegation rules. Modify OpenSpec specs (nightshift-installer, qsv-csv-operations, table-file-locking, test-runner) to reflect: dev self-validation, exclusive flock-wrapped qsv operations, manager/dev bash permissions only, updated init/update flags (--force applies to init; update supports --yes), pnpm build, and removal of several test requirements. Add an openspec change archive (design, proposal, tasks, per-spec diffs) and remove stale QA/global opencode.jsonc scenarios. Also trim commented tests from test/run-tests.ts to match the reduced test suite.

Removed

  • Remove QA & compaction handling

Remove redundant QA and compaction-recovery overhead from Nightshift orchestration. This change deletes the QA subagent and its template, removes compaction detection and the supervisor's replay loop, eliminates the denormalized ## Progress writes from manager.md, and aligns the state machine to three statuses (todo, done, failed) by removing qa and in_progress. The dev agent now writes done/failed directly; the manager runs once per invocation, derives final counts from table.csv via qsv, and continues autonomous batch processing (with adaptive parallel batching preserved). Updated: templates, specs, installer, scaffolder, commands, tests, and migration tasks (existing shifts with qa-status rows must be migrated via qsv edit).

================================================================================
TEST RESULTS
================================================================================
Test                         Result    Accuracy    Duration      Benchmark
--------------------------------------------------------------------------
init                         PASS      11/11       1.2s          FASTER (-0.1%)
nightshift-start             PASS      3/3         2m 58s        FASTER (-30.3%)
nightshift-start-parallel    PASS      3/3         2m 15s        FASTER (-13.4%)
--------------------------------------------------------------------------
  • Remove row column; use positional item indices

Remove the redundant row column from the Nightshift data model and switch agents/commands to use qsv's 0-based positional indices. Update documentation and templates (AGENTS.md, README.md, various templates) to refer to "items" instead of "rows", change test-task prompts to display 1-based labels while converting to 0-based indices internally, and stop scaffolding/maintaining row numbering when creating or updating tables. Add an OpenSpec archived change set (2026-02-15) and corresponding modified specs to reflect the new behavior for agents, commands, CSV operations, tasks, and tests. This simplifies index handling (removes the qsv_index = row_number - 1 conversion) and keeps backward compatibility for existing tables that still include a row column.

  • Remove README 'Progress' subsection

Delete the redundant 'Progress' block (Total items/Completed/Failed/Remaining) from the README example. This cleans up an outdated example section and avoids duplicating task status information in the documentation.