Skip to content

t.0vy: finalize empty-list stats footer behavior#264

Open
cs3b wants to merge 7 commits intomainfrom
0vy-show-stats-footer-in-ace-task-list-for-empty-results
Open

t.0vy: finalize empty-list stats footer behavior#264
cs3b wants to merge 7 commits intomainfrom
0vy-show-stats-footer-in-ace-task-list-for-empty-results

Conversation

@cs3b
Copy link
Owner

@cs3b cs3b commented Mar 26, 2026

📋 Summary

  • Reviewing and validating the empty-state output is easier now because ace-task list consistently shows the stats footer even when filters produce no tasks, so reviewers still see global context (0 of N and folder totals).
  • Before this, empty-result output had two pain points: the footer could disappear on empty task lists, and fully empty status maps could render awkward spacing in the support formatter.
  • This PR removes that friction by unifying empty/non-empty footer rendering in ace-task, hardening zero-status formatting in ace-support-items, and finalizing release/task metadata for the shipped behavior.

✏️ Changes

  • TaskDisplayFormatter.format_list: consolidated empty and non-empty list rendering through one shared stats-line return path, keeping footer behavior consistent.
  • StatsLineFormatter: fixed zero-status formatting so empty summaries render as Tasks: • 0 total without malformed spacing.
  • Regression tests: added/expanded command and formatter coverage to lock empty-list footer output and folder summary behavior.
  • Release metadata: updated ace-task, ace-support-items, and root changelogs/versions to reflect the final delivered state.

📁 File Changes

 +125,    -9   12 files   total

  +27,    -2    4 files      ace-support-items/
   +6,    -2    2 files   🧱 lib/
   +5,    -1                 ace/support/items/atoms/stats_line_formatter.rb
   +1,    -1                 ace/support/items/version.rb
  +13,    -0    1 files   🧪 test/
  +13,    -0                 atoms/stats_line_formatter_test.rb
   +8,    -0    1 files      
   +8,    -0                 CHANGELOG.md

  +52,    -6    5 files      ace-task/
  +13,    -4    2 files   🧱 lib/
  +12,    -3                 ace/task/molecules/task_display_formatter.rb
   +1,    -1                 ace/task/version.rb
  +18,    -2    2 files   🧪 test/
   +1,    -0                 commands/list_test.rb
  +17,    -2                 molecules/task_display_formatter_test.rb
  +21,    -0    1 files      
  +21,    -0                 CHANGELOG.md

   +1,    -1    1 files      .ace-tasks/
   +1,    -1                 8qp.t.0vy-show-stats-footer-in-ace/8qp.t.0vy-show-stats-footer-in-ace-task-list.s.md

  +29,    -0    1 files      .ace-retros/
  +29,    -0                 8qp1ai-t-0vy-empty-task-list/8qp1ai-t-0vy-empty-task-list-stats-footer.retro.md

  +16,    -0    1 files      ./
  +16,    -0                 CHANGELOG.md

🧪 Test Evidence

  • StatsLineFormatterTest (ace-support-items/test/atoms/stats_line_formatter_test.rb) — validates zero-status formatting fallback; 20 tests, 27 assertions, 0 failures, 0 errors.
  • ListTest (ace-task/test/commands/list_test.rb) — verifies command-level empty-list output includes the footer; 8 tests, 32 assertions, 0 failures, 0 errors.
  • TaskDisplayFormatterTest (ace-task/test/molecules/task_display_formatter_test.rb) — verifies empty-list footer plus 0 of N folder-summary behavior; 30 tests, 101 assertions, 0 failures, 0 errors.

📦 Releases

  • ace-support-items v0.15.4 — fixed empty-status footer formatting and added regression coverage.
  • ace-task v0.31.1–v0.31.3 — delivered footer-on-empty behavior, aligned formatter output, and added command/formatter regression assertions.
  • project v0.9.926–v0.9.928 — recorded final shipped fixes and test hardening in the root changelog.

🎮 Demo

Run

ace-task list --filter id:__no_match__

Expected Output

No tasks found.

Tasks: • 0 of 313 — archive 301 | maybe 10 | next 2

Artifacts

No generated files; output is printed directly to stdout.

cs3b added 5 commits March 26, 2026 01:23
Route empty and non-empty task output through the same formatter path so the footer is always emitted. Add coverage for the empty-state summary and zero-total filtered output.
Normalize the status bucket prefix so the footer renders cleanly when no statuses are present. Add a regression test for the zero-bucket case.
Update the top-level changelog entries and locked dependency versions to capture the latest package release state.
Add a retrospective entry covering the empty-list footer fix, lessons learned, and next steps.
Advance the task spec from in progress to done after the formatter and test updates landed.
@cs3b cs3b force-pushed the 0vy-show-stats-footer-in-ace-task-list-for-empty-results branch from 4f710e9 to 6d834a5 Compare March 26, 2026 01:23
@cs3b cs3b changed the title t.0vy: show stats footer in ace-task list for empty results t.0vy: finalize empty-list stats footer behavior Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant