Decide: should device discovery and display helpers leave the CLI module? #10

Open
opened 2026-08-25 22:30:06 +02:00 by wokoman · 0 comments
wokoman commented 2026-08-25 22:30:06 +02:00 (Migrated from code.nolog.cz)

What to explore

Whether device discovery and the terminal-formatting helpers should move out of the command-line module.

The seam currently points backwards. The browser imports fit, plural, duration and the audio-file walker from the CLI module, and fit's own documentation explains itself in terms of a browser pane being squeezed flat — a helper documented in terms of the caller that supposedly doesn't own it. Meanwhile device discovery, the one piece of real domain logic in that file, is private, so the browser can only reach it indirectly.

The proposal is two modules out — device discovery, and the display helpers — leaving argument parsing and printing behind. No behaviour changes.

Why this needs a decision before it needs an implementation

This contradicts a recorded decision. SPEC.md:549 settled on "One file, not the module tree sketched above." That finding was about the browser module, and its stated premise was ~600 lines that only ever change together. That file is now 2,051 lines and the busiest in the repo, so the premise no longer describes the code.

This is not a request to adopt the module tree that was rejected. It moves two things that demonstrably do not change together, one of which already lives in the wrong file. But it is still a reopening of a settled question, and that is the maintainer's call, not an agent's.

What "done" looks like for this ticket

Either a decision to proceed — in which case this becomes an implementation ticket with the recorded finding updated to say what changed and why — or a decision to leave it, recorded so a future architecture review does not raise it again.

Blocked by

  • None — but this is a decision, not a task. Do not implement it before the decision is made.
## What to explore Whether device discovery and the terminal-formatting helpers should move out of the command-line module. The seam currently points backwards. The browser imports `fit`, `plural`, `duration` and the audio-file walker from the CLI module, and `fit`'s own documentation explains itself in terms of a browser pane being squeezed flat — a helper documented in terms of the caller that supposedly doesn't own it. Meanwhile device discovery, the one piece of real domain logic in that file, is private, so the browser can only reach it indirectly. The proposal is two modules out — device discovery, and the display helpers — leaving argument parsing and printing behind. No behaviour changes. ## Why this needs a decision before it needs an implementation **This contradicts a recorded decision.** `SPEC.md:549` settled on "One file, not the module tree sketched above." That finding was about the browser module, and its stated premise was *~600 lines that only ever change together*. That file is now 2,051 lines and the busiest in the repo, so the premise no longer describes the code. This is not a request to adopt the module tree that was rejected. It moves two things that demonstrably do not change together, one of which already lives in the wrong file. But it is still a reopening of a settled question, and that is the maintainer's call, not an agent's. ## What "done" looks like for this ticket Either a decision to proceed — in which case this becomes an implementation ticket with the recorded finding updated to say what changed and why — or a decision to leave it, recorded so a future architecture review does not raise it again. ## Blocked by - None — but this is a decision, not a task. Do not implement it before the decision is made.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
wokoman/ironpod#10
No description provided.