Commit log

36f06d4 Replace deprecated Command::cargo_bin with cargo_bin_cmd! in tests

Amolith created

fa87351 Update AGENTS.md to reflect central storage architecture

Amolith created

112ea9a Update SKILL.md and AGENTS.md for project subcommand interface

Amolith created

6451bfe Add tests/cli_project.rs, remove tests/cli_init.rs

Amolith created

1a87c55 Update test files to use project subcommand

Amolith created

b20c9f8 Implement cmd::project handlers and retire flat project commands

Click to expand commit body
Add src/cmd/project.rs with handlers for all five ProjectAction variants
(init, bind, unbind, delete, list). Wire dispatch in cmd/mod.rs.

Remove the now-superseded src/cmd/init.rs, use.rs, and projects.rs modules.
Update the two error strings in cmd/sync.rs that still referenced td init.

Amolith created

b07cd64 Introduce td project subcommand group and extend db layer

Click to expand commit body
Replace the flat Init, Use, and Projects top-level commands with a single
Project { action: ProjectAction } variant and a ProjectAction enum covering
Init, Bind, Unbind, Delete, and List.

Add unbind_project() and delete_project() to the db layer. Update the three
error strings that still referenced the old command names.

Amolith created

4aa0d43 Rename td compact to td tidy; implement two-phase compaction

Amolith created

789db30 Restore verbose output for next command

Click to expand commit body
The Loro migration stripped the verbose breakdown down to just an ID and
final score. Restore the three pieces that were lost:

- Active scoring mode printed once before the per-task list
- Expanded formula with actual values substituted, branching on mode:
    impact: (downstream + 1.00) × priority / effort^0.25 = score
    effort: (downstream × 0.25 + 1.00) × priority / effort² = score
- Unblocks count: N tasks (M directly), with correct singular/plural

All data was already present in ScoredTask; only the rendering in
src/cmd/next.rs needed updating.

Update the two cli_next verbose tests whose assertions reflected the old
'score:' label rather than the restored output. Add two new tests
covering the singular 'task' grammar and transitive unblocks counts,
both of which were untested before.

Amolith created

d76a593 Fix next --json emitting priority/effort as integers instead of labels

Amolith created

e005a12 Fix typo and link

Amolith created

f5386e3 Add sync docs, reflow some paragraphs

Amolith created

b99bc71 add click hint to summary element

Amolith created

09282eb Update desc, add usage

Amolith created

227178e Restore td- prefix on displayed task IDs

Click to expand commit body
short() and display_id() now emit td-XXXXXXX instead of bare suffixes.
resolve_task_id() strips the prefix on input so both forms are accepted.

Amolith created

fc23e4e Use short IDs in next and rm human output

Click to expand commit body
next extracted task IDs as raw ULID strings for the scoring engine
then displayed those same strings. rm did the same with unblocked_ids
in its warning message. Both now go through TaskId::Display or
display_id() at render time.

Add display_id() to TaskId for contexts where a raw &str needs
shortening without constructing a TaskId.

Amolith created

4b583a0 Surface serde error detail in sync handshake failure

Amolith created

98a12e9 Update README/SKILL

Amolith created

23f0ffe Implement sync bootstrap mode

Amolith created

a26c272 Note jj diff --git preference in AGENTS.md

Amolith created

be887a3 Use ULID suffix for short display IDs and resolution

Amolith created

fb2aae2 update SKILL.md for Loro storage, ULID IDs, and new project commands

Amolith created

35512eb add magic-wormhole sync command

Amolith created

6972807 update AGENTS.md jj workflow instructions

Amolith created

140addc fix compact cleanup and import merge behavior

Amolith created

78ea171 migrate command tests for central loro store

Amolith created

68dcedd build loro storage layer primitives

Amolith created

94815dd Introduce jj fix, improve make target

Amolith created

028fd0d Add jj instructions

Amolith created

b324c98 Fix typo in contributions section

Amolith created

10671bf add contributing info

Amolith created

9eaf859 mention pr.pico.sh and the skill in agent guidance

Amolith created

0c64b95 Swap from DESC to EOF

Amolith created

c77a5f5 Mention HEREDOC syntax, include more guidance

Amolith created

fc3fb31 Dampen effort in impact mode scoring

Click to expand commit body
Impact mode formula changed from (ds+1)×pw/ew to (ds+1)×pw/ew^0.25
so that effort no longer perfectly cancels priority for standalone
tasks. High-priority high-effort work now ranks above medium-priority
low-effort work, matching impact mode's intent of favoring importance
over cost.

Amolith created

d3a8acb Mention jj workflow

Amolith created

206bb5b add cascade FK migration and rm command

Amolith created

8612e36 Add log subcommand for appending timestamped work entries to tasks

Amolith created

e6f63ac Add FK constraint on blockers.blocker_id → tasks(id)

Amolith created

41ee4d3 Rework show command output as compact Markdown-style view

Amolith created

2fc21ce Update AGENTS.md

Amolith created

8b6e60e Use comfy-table Cell API instead of raw ANSI in table cells

Click to expand commit body
Embedding raw ANSI escape codes in cell strings causes comfy-table to
count them as visible characters when calculating column widths, shifting
headers out of alignment with their data columns.

Replace format!() with raw escapes with Cell::fg() and
Cell::add_attribute() across list, ready, next, and search. Add
cell_bold() and cell_fg() helpers in color.rs that conditionally apply
styling based on the existing NO_COLOR / TTY checks.

Amolith created

96aefa2 refine readme

Amolith created

d48826d Exclude parent tasks with open subtasks from next candidates

Amolith created

b173256 Add integration tests and update docs for next command

Click to expand commit body
Cover both scoring modes, verbose output, limit, empty case, and JSON
output. Update SKILL.md and README.md.

Amolith created

1665ae0 Wire next subcommand with --mode, --verbose, -n flags

Click to expand commit body
Add next to cli.rs, cmd/next.rs, and cmd/mod.rs. Queries open tasks and
blocker edges from the DB, feeds them to score::rank(), and renders
results using comfy-table with a header row.

Amolith created

df88ed8 Implement dependency graph traversal and scoring engine

Click to expand commit body
Add src/score.rs with the core algorithm for the next command: build the
blocker DAG from open tasks, compute transitive downstream scores, and
rank ready tasks using mode-dependent formulas.

Amolith created

f587294 Distinguish resolved blockers from open ones in show output

Click to expand commit body
show displays all blocker edges regardless of status, making tasks appear
blocked when their blockers are closed. Split the display into open
blockers (actually blocking) and resolved ones.

Amolith created

24034ed Add header rows to list and ready table output

Click to expand commit body
list and ready display priority and effort as bare low/medium/high in
adjacent columns with nothing distinguishing them. Add a header row to
each using comfy-table's set_header().

Amolith created

d9e455f Adopt comfy-table for consistent CLI output formatting

Click to expand commit body
Replace hardcoded format!() spacing with comfy-table across all commands.
Fix missing effort column in list output.

Amolith created