Skip to content

handoff: stop reporting the commit offer when there is nothing to commit #80

Description

@jsirish

What

handoff's Phase 4 step 8 tells the agent to announce that it is not offering a commit:

Otherwise, check DATA/HANDOFF.md and the new session log independently with git check-ignore. Offer to stage whichever of the two is NOT ignored; if both are ignored, say so and skip the offer - nothing committable exists

That "say so" produces a line like "No commit offer: .claude/throughline/ is gitignored in this repo, which is the intended local-only default" in the report, on every single handoff of a default-layout project.

Why it should go

It is pure noise. The step's own text already establishes why:

throughline's data is local-only by default [...] on an unmodified default layout it will correctly find nothing to stage and skip silently. Do not treat "nothing offered" as a bug; it's the expected outcome unless the project opted in.

So the instruction is internally inconsistent: it tells the agent this outcome is unremarkable and expected, and then tells it to remark on it anyway. Reporting the absence of an optional action is the kind of filler that makes a report longer without making it more useful, and it recurs on literally every run in the common case.

The guidance elsewhere in the same skill is the right instinct - "Match length to substance. Cover the actual in-flight state; do not pad with filler sections, redundant summaries, or boilerplate." This line is boilerplate by that standard.

Proposed change

Drop "say so and" from that sentence:

-  if both are ignored, say so and skip the offer - nothing committable exists
+  if both are ignored, skip the offer silently - nothing committable exists

And in the Reminders block at the bottom, the "then the commit/push offer" clause should read as conditional rather than as a required section of the report.

Worth keeping the announcement in one narrower case, if you want to preserve any of it: when only one of the two files is ignored, so the agent stages a partial set. That asymmetry is genuinely surprising and worth a word. The both-ignored default is not.

Context

Surfaced 2026-09-05 by a user reading a handoff report and asking why it was telling them about something that wasn't happening.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions