todo2code

Live Branch Audit: wellmanifest/new-project (2026-08-04)

Scope and method

This is read-only planning evidence for the Branch Intelligence design. The remote refs and PR history came from GitHub. Each exact commit tree was examined in an isolated detached worktree. No branch, PR, tag or repository file was mutated.

Checks used:

OpenRouter and GitHub write credentials were not used.

Snapshot

Base:

Branch Head SHA Behind / ahead In main ancestry PR evidence Prototype disposition
plan/governance-010-sync 3eb5a53e541c0ec89685805a5a5aef6ace3e4b2c 13 / 0 yes current head equals merged PR #3; the same branch name also served PR #1 at another head stale / deletion candidate after explicit confirmation
ticket/003-validator-approval-evidence d082373f314191dba794aba58aca2d4475ea497a 31 / 0 yes current head equals merged PR #2 stale / deletion candidate after explicit confirmation
feat/bounded-delivery-contract 1ae86a15a1348443fe3d270c6f4c6528dc309436 34 / 7 no no PR found in current repository history superseded plus manual_review; do not merge directly

Git findings

todo2code findings

Both offline pipelines succeeded with no warnings and no LLM stage:

The existing graph diff correctly proves that the trees differ, reporting 1,941 records added, 1,009 removed, 61 changed and 56 unchanged when moving from the feature tree to current main. It does not yet convert those counts into a branch disposition.

Semantic evidence is nevertheless sufficient for a safe prototype decision:

Therefore the feature branch is not a clean missing feature to merge. Its valuable intent was incorporated and then evolved on main; blindly merging it would reintroduce an older lifecycle contract through a 12-file conflict. The correct automated recommendation is superseded, with a human review requirement before archival/deletion because Git still reports seven unique commits.

Design defects exposed by the audit

  1. PR cardinality: branch name to PR is one-to-many, not one-to-one. The DSL now stores pullRequests[] and validates each historical headSha.
  2. Age is insufficient: all refs were updated on the same day, yet two are already contained and one is obsolete semantically.
  3. Git uniqueness is insufficient: seven unique commits do not imply seven missing capabilities.
  4. Graph-diff volume is insufficient: raw added/removed counts cannot choose merge/rebase/close without truth-map grouping and explicit supersession.
  5. Base binding is mandatory: a recommendation must be invalidated whenever main moves, even when a feature head remains unchanged.
  6. Deletion is a separate command: stale or superseded is evidence, not authority to delete a ref.

Test verdict

The architecture can represent and safely classify today’s branch portfolio after the pullRequests[] correction. Existing todo2code supplies useful offline evidence, but the end-to-end feature is not implemented yet:

Until those tickets are implemented and tested, the three prototype dispositions above remain read-only recommendations, not executable merge or deletion decisions.

Goal -a consumer check

Goal 2.1.284 was checked by source inspection and by a non-mutating goal -a --dry-run --no-publish in a temporary clone with one staged file.

Observed behavior:

Verdict: current goal -a cannot use this evidence. It needs an explicit preflight adapter and an approved exact-snapshot plan. When such a plan is present, any non-fast-forward response must invalidate the plan instead of triggering the existing automatic rebase retry.