Human-legible output: YAML/text variants for watch-curl routes #13
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/repo-recall#13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-21T09:18:30Z - https://github.com/coilysiren/repo-recall/issues/233
Idea
repo-recall's JSON is correct but not human-legible. A person who wants "what needs my attention across every repo" gets chatty JSON - maybe four items fit on a screen when twenty need action. Give every route a human cares about a flat, terse text variant that survives
watch curlwithout line-wrapping.This is also the UI decision: if
watch curlover a YAML variant is good enough, repo-recall may never need the React SPA. Theweb/tree could eventually retire.Decisions locked
commits_ahead > 0becomes apushaction-required signal.commits_behindstays informational - it's drift that self-resolves on the next pull, not a todo.Accept: application/yaml(a real registered media type since RFC 9512). No path-suffix or query-param routes.Architecture
Not a
routes/humansvsroutes/robotsdirectory fork. The same query feeds JSON, YAML, and MCP - forking the route directory would duplicate the handler and itsspawn_blockingquery just to swap a render tail.Instead: one handler per route, content-negotiated render tail.
renderstep:json()(exists) plushuman_lines()(new).negotiate.rsalready owns content negotiation - extend it to branch onAccept.HumanLinestrait. That subset is the inventory below - no directory needed.Line-wrap discipline lives in the data, not the renderer:
DerivedSignalgets atersefield next to the chattydetail.detailstays for JSON,terseis the pre-capped one-liner.Route inventory
Human-watchable, priority order:
RepoCard+config.rs, never server-side.Robot-only (no human renderer):
/api/sessions,/api/refresh,/openapi.json,/mcp.Proposed terse vocabulary
First-pass strings - expect to iterate on the wording:
ci_failing-CI failing on <branch>dirty_tree-<n> uncommitted filesin_progress_op-<op> in progressdetached_head-detached HEADreview_requested-<n> PRs awaiting your reviewmy_draft_pr-<n> draft PRs to finishpr_no_reviewer-<n> PRs need a reviewermy_open_pr-<n> open PRs to testissue_assigned-<n> issues assigned to youdeploy_failing-deploy failingdeploy_stale-deploy stale (<n>d)stale_branches-stale branch <name> (<n>d), or<n> stale branchesfor manypush(new) -push <n> commitsRendered line:
<repo>: <terse>, e.g.backend: push 3 commits.Children
Tracked as sliced issues, links added below as filed.
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.