allod secret: answer the cross-family review #198
No reviewers
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/tools!198
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/secret-review-fixes"
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?
Seven fixes to
allod secretfrom a cross-family review of allod/tools#195 after it merged, none of which changes what a successful landing writes. The command now refuses a checkout whose default branch cannot be resolved instead of guessingmasterand risking a push tomain; refuses whengit statusitself fails; restores and unstages both files whengit addorgit commitfails, and says so plainly if that restoration itself fails; flips the pending entry correctly when a comment quotes the field or a string contains a brace; evaluates a checkout whose path contains a space; and compiles again on the BSD family, which the moved terminal code had broken for every untagged build. On Nexus nothing changes until theallod-toolspin moves. What proves it: all four tag builds pass with six new tests, a darwin cross-vet passes, and the tagged binary was smoke-tested against a real secrets clone under a path with a space. If it is wrong, revert; the previous behavior differs only in the failure paths named above.Refs allod/tools#182. Reviews: gpt-5.6-sol and gpt-5.6-terra via pi, thinking high, each reading the merged diff of #195 cold. codex refused both models with a reconnect error, so the runner changed and the model ids did not. Between them nine findings; seven reproduced against the source and are fixed here. Two were discarded: one claimed
git addor commit failures leave files modified, which is the same defect as another finding and is fixed; one claimed the moved code changedsite configbehavior, which the unchanged site tests refute.Risk
R2. Every change is on a refusal or rollback path; the happy path's writes, recipients, and commit contents are untouched, and the existing tests for them pass unchanged.
Validation
nix flake checkon this branch asgit+file://<worktree>: all checks passed.createandrekey; the flip survives a commented duplicate and a brace inside a string.CGO_ENABLED=0 GOOS=darwin go vet -tags site,secret ./cmd/allodpasses; before this changesyscall.TCGETSwas undefined there..../secret landing/with realnix evaland realage -d: an active entry is refused as not pending,rekeyreaches the decrypt call, and unsettingorigin/HEADproduces the new refusal with itsremote set-headhint.