ref:main

issue view silently omits all comments — no bodies, no count, no indication anything was hidden #48

open Opened by cole.christensen@gmail.com

Links

No links yet.

anvil issue view <N> prints the issue body and stops. Comments are never rendered, and nothing in the output indicates any exist. The data is present in the API and in --json, so this is a rendering gap in the human-readable view, not a backend problem.

The failure mode is that the default view of an issue gives a wrong answer presented as a complete one. There is no truncation marker, no “N comments”, no trailing hint — the output simply ends at the last line of the body, which looks exactly like an issue that has no discussion.

Reproduction

fangorn/ex_git_objectstore#77 has one comment (11,780 characters, five findings F9–F13).

$ anvil issue view 77 --repo fangorn/ex_git_objectstore | wc -l
319
$ anvil issue view 77 --repo fangorn/ex_git_objectstore | tail -1
The F2 + F5 experiment is a working patch that passes the 112 protocol tests; it is on hand and can be raised as a PR on request. Everything else is a proposal, not code.

That last line is the final line of the issue body. Nothing follows it.

$ anvil issue view 77 --repo fangorn/ex_git_objectstore --json | jq '.comments | length'
1
$ anvil issue view 77 --repo fangorn/ex_git_objectstore --json \
| jq -r '.comments[0] | "\(.inserted_at) — \(.body | length) chars"'
2026-07-30T17:59:57Z — 11780 chars

Grepping the plain output for any comment affordance finds nothing — the single hit is prose inside the body itself, not UI:

$ anvil issue view 77 --repo fangorn/ex_git_objectstore | grep -inE "comment|discussion|repl"
258:The comment at `receive_pack.ex:504` references a real push of ~134k objects. ...

The header block carries no count either:

Issue #77 — perf audit: measured inefficiency in upload-pack, receive-pack and the Filesystem backend (round 1)
State open
Author colechristensen
Created 2026-07-30 17:53:37

Observed consequence

This is not hypothetical. Reviewing #77 with the documented command, a reader sees findings F1–F8 and concludes that F9–F13 were never filed — because the comment carrying them is invisible. In this session that happened to someone holding full context on the work, who then acted on the wrong conclusion. --json is the only way to discover that a discussion exists at all, and you would only reach for it if you already suspected something was missing.

anvil issue comment reports ✓ Added comment to issue #77 on success, so a writer has no reason to doubt the comment landed, and a reader has no signal that it did. The two halves of the loop disagree silently.

Suggested fix

Render comments in issue view after the body — author, timestamp, and body per comment, in the same style as the header block.

If full bodies in the default view are considered too noisy, the minimum viable fix is a count in the header, so absence is at least visible:

Issue #77 — perf audit: ...
State open
Author colechristensen
Created 2026-07-30 17:53:37
Comments 1 (anvil issue view 77 --comments)

Anything that makes “this issue has discussion you are not seeing” observable would prevent the failure. Silently omitting it is the part that causes harm.

Scope

Confirmed for anvil issue view. I could not confirm or rule out anvil pr view: the PRs I sampled on fangorn/anvil (#224, #225, #228) all report 0 comments in --json, so there was nothing to render either way. pr view prints the same header-block-then-body shape, so it is worth checking against a PR that does have review discussion.

Version: anvil built from /Users/chaos/src/notifd_src/anvil_cli (git@anvil.fangorn.io:fangorn/anvil-cli.git), release binary at target/release/anvil.

Found while filing a performance audit on fangorn/ex_git_objectstore#77.