feat(native): report resident checkouts that are not clean on main (#1033) #1203
No reviewers
Labels
No labels
burndown-2026-06
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1203
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/1033-resident-drift-advisory"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1033.
normalizeNativeRepositoryreturns a resident checkout tomainonly when it is clean and its HEAD is already on the remote. Every other case returns nil and prints nothing - which is precisely the state the issue surveyed: six of twelve checkouts offmain, 19 branches carrying unpushed work, and none of it visible until someone looked.One of those silently changed what
compose-review-sirens-deepcomposed, recording ten skills resolving from a pathorigin/maindoes not have, onegit commitfrom entering a deployment artifact.The fleet pass now names each drifted checkout in one line, beside the dead-lease report:
Three exclusions, each because reporting it would be wrong
main(the #1086 mechanism), so flagging it would fight a guard that just landed.Coverage
Five tests: off main is reported, clean-on-main is silent, dirty on main is still reported (being on
mainis not sufficient), detached is not drift, and a live session's checkout is not reported.Scope, and what is deliberately not here
This is the advisory half of the issue's own "suggested first step". It runs with the fleet pass rather than every launch, so the launches in between pay nothing - worth stating since #1004 in this same lane is about per-launch git cost.
Option 4 is not here.
compose-reviewlives outside this repo, and making it refuse to write when its source checkout is offmainbelongs with that command, tracked at deploy#409 which the issue already names. The issue is explicit that option 4 is worth doing regardless of 1 through 3, so this does not foreclose it.Hard enforcement (options 2 and 3) is deliberately not attempted: the issue says to decide that after seeing how often the advisory fires, and there is no data yet.
The full Go suite passes,
pre-commit run --all-filespasses.The advisory is right. The tracker you cite for the other half is a closed issue about something else, and #1033 says the two ship together.
The advisory
All three exclusions are in the code and each is justified:
Not flagging a detached HEAD is the one that would have been easy to get wrong, and getting it wrong would have had this report fighting the #1086 guard that landed an hour ago. Reporting dirty-on-main is right too: being on
mainwas never the whole condition.Running it against the fleet today it should be silent. I measured all nineteen resident checkouts earlier and every one is on its default branch, so this ships into a currently-clean state and will fire the first time that stops being true. That is the correct time to add a detector, not the wrong one.
Putting it on the fleet pass rather than every launch, and saying so against #1004's per-launch git cost, is the right instinct.
deploy#409 does not track option 4
Its body is a one-time regeneration: ten skills re-resolved from
/catalogs/aosto/catalogs/aosk,creatorgrew 112 bytes, "regenerate withward exec compose-review-sirens-deepand commit the result". It fixed the artifact. It never touched the guard.And #1033 cites it that way. Line 20 is the incident record:
Option 4 is a separate numbered item on the same issue, and #1033 is unusually direct about it:
So this PR ships the half the issue says is not sufficient alone, and points the other half at a closed issue. A later reader sees "tracked at deploy#409", follows it, finds a closed artifact regeneration, and concludes it was handled.
What I would do
Not expand this PR. The advisory is finished and correct, and
compose-reviewgenuinely is not this repo's code.File option 4 where
compose-reviewlives, before this merges, and cite that instead. One issue:compose-reviewdetects the behind-origin condition today and writes anyway, and should refuse instead, with an override. Your PR body already contains the argument for it.You know which repo owns that command better than I do, which is the only reason I have not filed it myself. If you would rather stay on the lane, say so and I will file it wherever it belongs, and I would rather you said so than left it implied. This is the fourth deferral in this lane pointed at something other than a live issue, and it is the first one that reads as tracked when it is not.