● Increment 6 complete. All six increments now landed. #42
No reviewers
Labels
No labels
bug
dependencies
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
rust
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
navicore/anz!42
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "increment-6"
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?
What changed:
File: docs/ARCHITECTURE.md
Change: Updated Actors (Operator now spans local + remote); added
admin_api/, cli/backend/, server/admin/ to the Modules table; added
clap_complete / reqwest (rustls) / webbrowser to Solution Strategy;
expanded Error handling to mention 403 + 409 and the UNIQUE-constraint →
Conflict routing; added a new Admin API crosscutting section covering
off-by-default listener, reserved admin realm + anz-admin group,
live-state authz, denial audit, short admin TTLs, secret-once contract
────────────────────────────────────────
File: docs/ROADMAP.md
Change: Added remote admin to Current State with link to the retired design
────────────────────────────────────────
File: docs/design/remote-admin-api.md →
docs/design/done/remote-admin-api.md
Change: Retired via plain mv. Matches the convention with the other six
done/ docs.
The doc tree now matches reality: a fresh contributor can read
docs/ARCHITECTURE.md and understand the remote-admin posture without
consulting the design doc, and the link from ROADMAP to
done/remote-admin-api.md preserves the design rationale for future
reference until you choose to delete it.
The whole feature is shipped — bootstrap on the box, log in via browser
from a desktop, administer over HTTPS with tab completion + profile-driven
routing, audit log attributes every change to the operator. Same merge
recommendation: own PR. Nothing left on the increment list.
What changed: File: docs/ARCHITECTURE.md Change: Updated Actors (Operator now spans local + remote); added admin_api/, cli/backend/, server/admin/ to the Modules table; added clap_complete / reqwest (rustls) / webbrowser to Solution Strategy; expanded Error handling to mention 403 + 409 and the UNIQUE-constraint → Conflict routing; added a new Admin API crosscutting section covering off-by-default listener, reserved admin realm + anz-admin group, live-state authz, denial audit, short admin TTLs, secret-once contract ──────────────────────────────────────── File: docs/ROADMAP.md Change: Added remote admin to Current State with link to the retired design doc; bumped test count to "150+" ──────────────────────────────────────── File: docs/design/remote-admin-api.md → docs/design/done/remote-admin-api.md Change: Retired via plain mv. Matches the convention with the other six done/ docs. The doc tree now matches reality: a fresh contributor can read docs/ARCHITECTURE.md and understand the remote-admin posture without consulting the design doc, and the link from ROADMAP to done/remote-admin-api.md preserves the design rationale for future reference until you choose to delete it. The whole feature is shipped — bootstrap on the box, log in via browser from a desktop, administer over HTTPS with tab completion + profile-driven routing, audit log attributes every change to the operator. Same merge recommendation: own PR. Nothing left on the increment list.Review: Increment 6 — documentation (feature complete)
Verdict: accurate, ready to merge. Docs-only (+17 -6):
ARCHITECTURE.md+ROADMAP.mdupdates and themvofremote-admin-api.mdintodesign/done/, matching the convention already used for the other retired designs. The value of reviewing a docs PR is checking the prose against the code — so I verified every falsifiable claim, with attention to the two that describe behavior that didn't exist when I reviewed Increment 3.Claims verified against the code
error.rshas aConflictvariant, and bothFrom<rusqlite::Error>andFrom<anyhow::Error>routeSQLITE_CONSTRAINT_UNIQUEto 409. Theanyhowimpl correctlydowncast_refs through the wrapper (the db layer returnsanyhow::Result, so the raw rusqlite error is buried) — that subtlety is exactly right, andcreate_realm_duplicate_returns_409covers it. This was my #39 finding; it's genuinely fixed, not just documented.delete_realmguardsrealm == config.admin_realmand returns 403 with a "use the local CLI on the box" message, tested bydelete_admin_realm_is_refused. This was my #39 self-lockout note; also genuinely implemented.openssl*crates inCargo.lock,rustlspresent.no_bearer/invalid_token/foreign_realm/disabled/no_admin_group/unknown_subject), loopback redirect127.0.0.1:8765/callback, live-state authz (issuer+kid checked twice), refresh-once-on-401, secret-once contract, local MFA-QR rendering, 10 db tables — all match.Minor (optional, non-blocking)
anz-adminfrom themselves — remain possible (both operator-recoverable via another admin or break-glass). The docs don't claim those are guarded, so this isn't an inaccuracy; just flagging that "self-lockout" protection is partial-by-design if you want the doc to say so explicitly.Nicely closes the loop on the series — the two behavioral gaps from the Increment 3 review were implemented and are now described faithfully. No fiction in these docs.