Investigate: one-call orient read — branch commits ahead of mainline + tree status + release cadence #38

Closed
opened 2026-07-13 17:02:38 +00:00 by hexajon · 0 comments
hexajon commented 2026-07-13 17:02:38 +00:00 (Migrated from codeberg.org)

Orienting on a feature branch currently means shelling out to raw git for the combined read:

git log --oneline main..HEAD && git status --short && git describe --tags --abbrev=0 && git rev-list $(git describe --tags --abbrev=0)..main --count

i.e. in one invocation: (1) the list of commits the branch carries ahead of mainline, (2) working-tree cleanliness, (3) latest tag, (4) unreleased-commit count on mainline (release-cadence gate).

madt_status / madtea status already return branch, staged/unstaged/untracked, latestTag, commitsSinceTag, and mainlineBehind — but NOT the branch-ahead commit list (main..HEAD subjects), and commitsSinceTag is computed from HEAD, not from mainline, so on a feature branch it doesn't answer "how many unreleased commits would a release from main cover".

Investigate whether to:

  • extend status with an opt-in branch-ahead commit list (and/or a mainline-based cadence count), or
  • extend madt_log with a range/mainline mode, or
  • leave as-is and document the two-call pattern (madt_status + madt_log).

Whatever the outcome: both surfaces (CLI + MCP) per naming conventions, endpointSuggestions, COMPARISON.md row — see docs/contributing/adding-commands.md.

Orienting on a feature branch currently means shelling out to raw git for the combined read: ``` git log --oneline main..HEAD && git status --short && git describe --tags --abbrev=0 && git rev-list $(git describe --tags --abbrev=0)..main --count ``` i.e. in one invocation: (1) the list of commits the branch carries ahead of mainline, (2) working-tree cleanliness, (3) latest tag, (4) unreleased-commit count on mainline (release-cadence gate). `madt_status` / `madtea status` already return branch, staged/unstaged/untracked, `latestTag`, `commitsSinceTag`, and `mainlineBehind` — but NOT the branch-ahead commit *list* (`main..HEAD` subjects), and `commitsSinceTag` is computed from HEAD, not from mainline, so on a feature branch it doesn't answer "how many unreleased commits would a release from main cover". Investigate whether to: - extend `status` with an opt-in branch-ahead commit list (and/or a mainline-based cadence count), or - extend `madt_log` with a range/mainline mode, or - leave as-is and document the two-call pattern (`madt_status` + `madt_log`). Whatever the outcome: both surfaces (CLI + MCP) per naming conventions, `endpointSuggestions`, COMPARISON.md row — see docs/contributing/adding-commands.md.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#38
No description provided.