Twinned from https://github.com/cfsh/ninefold/issues/898 by tools/beads/import_github.py's reconcile pass.
Suggestions from ninefold-reviewer's review of #891. Both sit under that PR's gate (it converged) — filed so they are not lost, not to block it. Unclaimed and unlabelled.
tools/nflib/devcli.py:1754 — parser()'s epilog still carries the claim #891 deleted everywhere else. It reads *"Every verb prints the plumbing command it runs. Run that directly whenever you want to — nothing here replaces it."* That is the drop-down claim @aedanpope questioned on #891 (*"Is this accurate that you can drop down?"*), which is inaccurate for status (no single command underneath it) and imprecise for check/pr (each runs several). #891 removed it from CLAUDE.md, dev.py's docstring and devcli.py's rule 3; this copy is the one a dev actually meets — argparse prints it on ./dev.py --help, and main() prints the help on a bare ./dev.py too. It predates #891 and is not pinned by anything (UsageDocstringSyncTest only matches lines starting ./dev.py ). Fix: the wording already chosen three times over — every process a verb runs is echoed. May already be folded into #891 before merge.tools/nflib/devcli.py:1611 — verb_status trusts gh.me() where merge_pr.py fails closed on the same value. me = gh.me() goes straight into unanswered_inline/unanswered_top_level. tools/pr/merge_pr.py:186-194 guards exactly this: with no login the ledger *"cannot tell your replies from anyone else's"*, so it refuses and says why. With me = "" here, the own-reply scan in unanswered_top_level matches nothing, last_reply is "", and every non-advisory review body and comment — the session's own included — sorts later than it. status then prints ⚠ YOU OWE <everyone> A REPLY over a thread that has already been answered, and next_action can hand that back as the imperative line when nothing is ready. Narrow trigger (gh api user returning 200 with no login; a hard failure raises through the seam instead), so it is hardening, not a live bug. Fix: the sibling's shape — say the identity could not be read and skip the owed marker, rather than treating "" as a login nobody has.None.
No comments.