Repository navigation
tsk list orders rows within each status like the board (#123) - #190
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
smarzban
force-pushed
the
tsk/t213-tsk-list-order-matches-the
branch
from
October 11, 2026 10:31
7dd3d43 to
250afba
Compare
This was referenced Oct 16, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #123.
What
tsk listsorted only by status group, so within a group rows came out in store (capture) order. It now uses the board's own section order (reused fromsrc/ui/queue.rsvia a newcmp_within_status, not a copy):ready: oldest pick firstopen: oldest capture firststarted,blocked,review,done: most recent status change firstGroup order (STARTED, READY, OPEN, BLOCKED, REVIEW) is unchanged.
--deletedkeeps newest deletion first. JSON is the flat board order. With--all, human output still groups each status by scope: groups are ordered by their first row and rows inside a group keep the board order, so interleaved scopes print in a different order from JSON (documented in cli.md, llms.txt and the CHANGELOG). Four existingcli_listexpectations were updated (newest started/done first).Docs:
cli.mdlist section, CHANGELOG Unreleased › Fixed.Proof
list_ready_puts_the_oldest_pick_first_like_the_board: the issue's exact sequence (fails on main:[1, 2]vs[2, 1]).list_orders_each_status_group_like_its_board_section: every group (fails on main).list_all_groups_interleaved_scopes_by_first_row_and_keeps_board_order_inside: interleaved desk and project rows. It pins the flat JSON order and the grouped human output, and fails if the order inside a group breaks or the fix is reverted.cargo clippy --target x86_64-pc-windows-gnu --all-targets -D warnings, sitenpm test: all pass.Before / after
Binaries:
/tmp/tsk-t213-before(origin/main 39e3a8e, release) and/tmp/tsk-t213-after(this branch at 250afba, rebased on main 6ad77d0, release). Scenario/tmp/tsk-t213-scenario.shruns against a freshmktempTSK_STATE_DIR: add T1–T4 on the desk,status T2 ready; status T1 ready; status T3 started; status T4 started.How to test
Or by hand against a throwaway store:
Look for: READY lists the earliest pick first, STARTED the latest start first, and both match the board's ON DECK / IN MOTION.
Live in Herdr (workspace w9E, tabs
beforeandafter)Each tab has the scenario output on screen and an idle shell. It ran against its own store (
/tmp/tsk-t213-state-beforeand/tmp/tsk-t213-state-after, never~/.tsk).↑thenEnter. That repeatsenv TSK_STATE_DIR=/tmp/tsk-t213-state-<tab> sh /tmp/tsk-t213-demo.sh /tmp/tsk-t213-<tab>, which reseeds the store from scratch and prints the lists again.before:['T1', 'T2'], READY 1,2 and STARTED 3,4 (the bug).after:['T2', 'T1'], READY 2,1 and STARTED 4,3.env TSK_STATE_DIR=/tmp/tsk-t213-state-after /tmp/tsk-t213-afterin theaftertab and press1for the desk. ON DECK and IN MOTION show the same order as the list.