tuicr/Q/In tuicr, is the --username on an agent comment tied to a GitHub or forge account, how does tuicr distinguish AI from human comments, and can a whole conversation happen offline before :submit?
In tuicr, is the --username on an agent comment tied to a GitHub or forge account, how does tuicr distinguish AI from human comments, and can a whole conversation happen offline before :submit?
- Answer/Official from docs/CONFIG.md, docs/REVIEW_CLI.md, docs/KEYBINDINGS.md, and skills/tuicr/SKILL.md
- Short answer:
--username/author is a purely local, tuicr-only display label — it is not a GitHub/GitLab/forge identity and is never sent to the forge on :submit. tuicr distinguishes comments locally by that author field (TUI coloring, tuicr review comments JSON), but the forge side sees every submitted comment posted under whichever single account gh/glab is authenticated as — there's no built-in per-author signature on the pushed comment text. Yes, an entire back-and-forth (human writes, agent reads and replies with new comments, human reads those, etc.) can accumulate fully offline as local-draft rows in the session file, then one :submit pushes everything to the forge at once. Is --username a forge account?
- No. The
username config key / --username CLI flag is documented as "Display name stamped on local comments and used as the viewer identity for local comment coloring" (see tuicr/Config) — it lives only in tuicr's own session JSON as the author field, independent of whatever account gh or glab is authenticated as when :submit actually pushes to GitHub/GitLab/etc. - tuicr/Agent/Skill leans on this: it tells an agent to pass an explicit
--username (e.g. "Codex") so its own comments are visually distinguishable from the human's — a convention, not an auth mechanism.
How does tuicr distinguish AI from human comments?
- Locally, yes, two ways:
- The TUI colors comments based on whether their
author matches your configured username (the "viewer identity"), so a human reviewer can visually tell "mine" from "someone/something else's." tuicr review comments returns each comment's author field in JSON — the skill instructs an agent to "check author to distinguish your comments from the user's."
- On the actual forge PR, not automatically. Nothing in the export or
:submit path stamps the per-comment author/username into the pushed comment body — the only built-in prefix is the comment-type tag ([ISSUE], [SUGGESTION], etc.) via comment_type_prefix, not an author signature. All comments submitted in one :submit post as the one authenticated forge account, so a reader on GitHub/GitLab can't tell "written by the agent" from "written by the human" unless the comment text itself says so.
Can a whole conversation happen offline, then get pushed on submit?
- Yes. Comments — from the human in the TUI or the agent via
tuicr review add/--input — all land as lifecycle_state: local_draft rows in the same persisted session JSON; there is no live push to the forge as they're written. - Multiple rounds are workable: the agent polls
tuicr review comments to read what's there, adds its own comments, the human reads/edits/deletes in the TUI, and this can repeat any number of times — none of it touches GitHub/GitLab until a human runs :submit. :submit opens a picker (Comment / Approve / Request changes / Draft) and pushes all pending local comments as a single review event in one shot; there's no per-comment incremental submit. tuicr does support doing this again later for a newer batch of commits (it can preselect just the commits newer than your last submitted review), so "offline round, then submit" can repeat across multiple sessions of the same PR.- Caveat: there's no reply/threading — a "conversation" here means a sequence of separate flat comments accumulating on the same location, not a nested thread; see tuicr/Agent/Skill and tuicr/Comment/Type for the flat-comment model.