Skip to content

Session-end hygiene: unmerged branches, mega-commits, state-doc churn #17

Description

@PBNZ

Retrospective finding — refs #10.

Context

Three small failure modes that share a root cause — nothing in the standard looks backwards at
the end of a working session:

  • Finished work abandoned on a branch. One repo contains a complete, four-commit process
    improvement on a side branch that was never merged; the main branch moved on for days
    afterwards. Nobody decided to drop it — it was simply never looked at again. No checklist item
    asks "do unmerged branches exist, and what's the decision on each?"
  • Mega-commits when there are no PRs. "One concern per PR" has no teeth in solo repos that
    commit straight to the main branch: intense one-day builds landed as single commits spanning
    theming, data pipelines and docs at once, which defeats bisecting and makes the changelog entry
    a paragraph. The rule needs a committing-straight-to-main formulation ("one concern per
    commit").
  • State-doc copy-paste churn. Prepend-style state docs accumulate errors under repeated
    session edits — a duplicated section heading survived multiple later edits unnoticed. Trivial,
    but it's exactly the doc a fresh session trusts first.

Proposal

Add a short session-end checklist to the standard (sibling of pre-commit/pre-PR):

  1. git branch -a --no-merged — for each hit: merge it, delete it, or open an issue that owns
    it. No silent survivors.
  2. If committing straight to main: does the commit describe one concern? If the subject needs
    an "and", split before pushing.
  3. Resume-state doc: updated, dated, next step stated — and a quick scan for duplicated
    headings/sections from prepend churn.
  4. (Board repos) card positions match reality — ties into the agent-collaboration reference.

Tasks

  • Author the session-end checklist alongside the existing checklists.
  • Reference it from the standard's checklist router so agents load it at wrap-up.

Acceptance criteria

  • The checklist exists, is ≤ 10 lines, and every item is mechanically checkable in under a
    minute.
  • The abandoned-branch case is prevented by construction: a session cannot end "clean" with an
    undecided unmerged branch.

— 🤖 Claude, on behalf of @PBNZ

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions