Skip to content

docs(design): promote admin dashboard _partial_ → _implemented_#701

Merged
bootjp merged 5 commits intomainfrom
docs/admin-dashboard-implemented
Apr 28, 2026
Merged

docs(design): promote admin dashboard _partial_ → _implemented_#701
bootjp merged 5 commits intomainfrom
docs/admin-dashboard-implemented

Conversation

@bootjp
Copy link
Copy Markdown
Owner

@bootjp bootjp commented Apr 28, 2026

Summary

Promote the admin dashboard design doc from _partial__implemented_ per docs/design/README.md's lifecycle convention. PR #695 landed the TOCTOU safety-net fix (the last in-flight item that kept the doc at _partial_), so the original P1–P4 plan is now fully shipped:

Phase Landed via
P1 (admin skeleton + Dynamo + AdminForward) #634 / #635 / #644 / #648
P2 (S3 endpoints + writes + AdminForward S3 + TOCTOU fix) #658 / #669 / #673 / #695
P3 (React SPA + embed) #649 / #650
P4 (TLS / role / CSRF / operator doc / runbook / script wiring) #674 / #669 / #678

The remaining three items in the doc move from "Outstanding open items" (in-flight) to "Out-of-scope follow-ups" (deferred-at-design or Non-goal):

  • AdminForward criterion 5 — rolling-upgrade flag, deferred behind a cluster-version bump that doesn't exist yet
  • S3 object browser — Non-goal per §2.2
  • TLS cert hot-reload — out of scope per docs/admin.md

Changes

  • git mv partial → implemented (history follows the rename)
  • Status line / Last-updated / status-table / Out-of-scope section content reflects the promotion
  • Cross-references updated in all 4 referencing files: docs/admin.md, docs/admin_deployment.md, docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md, internal/admin/config.go (comment-only)

Test plan

  • No code changes other than a comment-only filename refresh in config.go
  • go build ./... passes
  • golangci-lint run ./internal/admin/... — 0 issues
  • grep -rn "2026_04_24_partial\|2026_04_24_proposed_admin" returns nothing — no stale references

Per docs/design/README.md's lifecycle convention. The original
P1–P4 plan has fully shipped:

  - P1 (admin skeleton + Dynamo + AdminForward) — #634/#635/#644/#648
  - P2 (S3 endpoints incl. write paths and AdminForward integration)
        — #658 / #669 / #673 / #695 (TOCTOU safety net)
  - P3 (React SPA + embed) — #649 / #650
  - P4 (TLS / role / CSRF / operator doc / deployment runbook
        / scripts/rolling-update.sh admin support) — #674 / #669
        / #678

The AdminDeleteBucket TOCTOU caught during PR #669 review (the
last "in-flight" item that kept the doc at _partial_) is fully
resolved by the safety-net design landed in #695.

What changed:

  - git mv 2026_04_24_partial_admin_dashboard.md →
            2026_04_24_implemented_admin_dashboard.md (history
            follows the rename)
  - Header Status line: "Partial" → "Implemented", explanation
    updated to reflect the post-fix state and the rationale for
    promotion.
  - "Last updated" bumped to 2026-04-28 with the rename trigger.
  - Section heading "Outstanding open items" → "Out-of-scope
    follow-ups" — the remaining three entries (criterion 5,
    object browser, TLS hot-reload) are not in-flight work; they
    are deferred-at-design or Non-goal items. The TOCTOU bullet
    is removed (resolved) and replaced with a one-line
    cross-link to the safety-net design + admin_deployment.md
    §4.6 contract.
  - Removed the closing "rename trigger" sentence — we just did
    the rename.
  - Status table: P2 row now lists #695 alongside #658/#669/#673
    so a future reader can find the TOCTOU fix from the index.
  - Cross-references updated everywhere the old filename
    appeared:
      docs/admin.md (header link + Cross-references)
      docs/admin_deployment.md (header link + final cross-ref)
      docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md
        (Background section pointer)
      internal/admin/config.go (Section 7.1 reference comment)

No code changes other than the comment-only filename refresh in
config.go.
@bootjp
Copy link
Copy Markdown
Owner Author

bootjp commented Apr 28, 2026

@claude review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 28, 2026

Warning

Rate limit exceeded

@bootjp has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 32 minutes and 23 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1db53a30-f0ed-42ee-afa8-2baffc84abb8

📥 Commits

Reviewing files that changed from the base of the PR and between 4d68b36 and 1825f1d.

📒 Files selected for processing (5)
  • docs/admin.md
  • docs/admin_deployment.md
  • docs/design/2026_04_24_implemented_admin_dashboard.md
  • docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md
  • internal/admin/config.go
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/admin-dashboard-implemented

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude
Copy link
Copy Markdown

claude Bot commented Apr 28, 2026

Claude finished @bootjp's task in 3m 45s —— View job


Review: docs(design): promote admin dashboard _partial__implemented_

  • Read changed files and design doc
  • Verify cross-references are consistent
  • Check lifecycle promotion correctness per CLAUDE.md conventions
  • Post review feedback

Overall: LGTM with one minor documentation inconsistency to note.

This is a well-executed documentation-only lifecycle promotion. The rename, status update, cross-reference sweep, and "Out-of-scope follow-ups" re-categorization all look correct. No functional code changes.


✅ What's correct

Lifecycle convention followed correctly

  • git mv used (rename history intact, per docs/design/README.md: "Always use git mv so rename history and git log --follow continue to trace prior revisions")
  • Propose date (2026_04_24) unchanged in filename — correct per convention
  • Only the status token changed: _partial__implemented_
  • Last updated bumped with a reason — a helpful addition not required by convention but useful for future readers

Cross-reference sweep is complete
All four referencing files are updated and the grep check confirms no stale 2026_04_24_partial references remain:

  • docs/admin.md lines 5, 339
  • docs/admin_deployment.md lines 14, 405
  • docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md line 11
  • internal/admin/config.go line 18

Status table is accurate
P2 now correctly lists #695 alongside #658/#669/#673, giving future readers a complete trail to the TOCTOU fix.

"Out-of-scope follow-ups" section is appropriately scoped
The three deferred items (AdminForward criterion 5, S3 object browser, TLS cert hot-reload) are genuine Non-goals or design-time deferrals, not in-flight work. Moving them out of "Outstanding open items" is the right call.


⚠️ Minor documentation inconsistency

2026_04_28_proposed_admin_delete_bucket_safety_net.md background — stale cross-section pointer

docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md line 12 currently reads:

TOCTOU race documented in
[`docs/design/2026_04_24_implemented_admin_dashboard.md`](...)
under Out-of-scope follow-ups.

After this PR, the TOCTOU is not listed under "Out-of-scope follow-ups" in the admin dashboard doc — it's described as resolved in the status block above that section:

"The AdminDeleteBucket TOCTOU is fully resolved: see [2026_04_28_proposed_admin_delete_bucket_safety_net.md]..."

The pointer is accurate about the file (filename updated correctly), but "under Out-of-scope follow-ups" now points a reader to the wrong subsection. A future reader following the link to find the original race description won't find it there.

Suggested fix in 2026_04_28_proposed_admin_delete_bucket_safety_net.md line 12:

-under Out-of-scope follow-ups. coderabbitai 🔴/🟠 flagged it during PR
+in the implementation status block. coderabbitai 🔴/🟠 flagged it during PR

This is cosmetic — the correct file is linked, just the subsection anchor in prose is stale. Not a blocker, but worth a fix since the safety-net doc is the one future readers will follow to understand the TOCTOU's history.

Fix this →


ℹ️ Observation (not a blocker)

The **Status:** Implemented — … bold-key format in the admin dashboard doc differs slightly from the Status: Proposed plain-text format documented in docs/design/README.md's "Document header" example. Other implemented docs (e.g. 2026_04_20_implemented_lease_read.md) still carry Status: Proposed because they predate the convention. The extended inline explanation in the admin doc (Status: Implemented — every phase…) is more informative than the minimal Status: Implemented the README template suggests, but it's a superset — no behavioral issue.


Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the documentation and internal code comments to reflect the transition of the elastickv Admin Dashboard from a partial to a fully implemented status. Key changes include renaming the design document to 'implemented', updating the implementation status table to include the AdminDeleteBucket TOCTOU safety net fix, and reclassifying remaining tasks as out-of-scope follow-ups. A review comment suggests improving the design document's navigability by adding a markdown link to the follow-ups section.

Comment thread docs/design/2026_04_24_implemented_admin_dashboard.md Outdated
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@bootjp
Copy link
Copy Markdown
Owner Author

bootjp commented Apr 28, 2026

@claude review

@claude
Copy link
Copy Markdown

claude Bot commented Apr 28, 2026

Claude finished @bootjp's task in 2m 15s —— View job


Review: docs(design): promote admin dashboard _partial__implemented_

  • Read changed files
  • Verify lifecycle convention and cross-references
  • Check content accuracy of promotion
  • Post review feedback

Overall: LGTM with two minor documentation inconsistencies.


✅ What's correct

Lifecycle convention followed correctly

Cross-reference sweep is complete
All 4 referencing files updated; no stale _partial_ or _proposed_ references remain:

  • docs/admin.md (lines 5, 339)
  • docs/admin_deployment.md (lines 14, 405)
  • docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md (line 10)
  • internal/admin/config.go (comment on line 18)

gemini suggestion incorporated
The P1 row now links to the follow-ups section via [follow-ups](#out-of-scope-follow-ups).


⚠️ Issue 1: Stale subsection pointer in safety-net doc (from previous review, still unfixed)

docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md lines 10–12:

TOCTOU race documented in
[`docs/design/2026_04_24_implemented_admin_dashboard.md`](...)
under Out-of-scope follow-ups.

The TOCTOU is not listed under "Out-of-scope follow-ups" in the promoted doc. It's described as resolved in the paragraph immediately following the phase table (before the --- separator). The "Out-of-scope follow-ups" section only lists: AdminForward criterion 5, S3 object browser, and TLS cert reload. A future reader following this pointer to understand the TOCTOU's history will land in the wrong place.

Suggested fix:

-under Out-of-scope follow-ups. coderabbitai 🔴/🟠 flagged it during PR
+in the implementation status block. coderabbitai 🔴/🟠 flagged it during PR

Fix this →


⚠️ Issue 2: Stale link description in docs/admin_deployment.md

docs/admin_deployment.md line 406:

- [`docs/design/2026_04_24_implemented_admin_dashboard.md`](...) —
  design rationale, acceptance criteria, outstanding items.

The phrase "outstanding items" is the old language from the _partial_ doc. The promoted doc uses "Out-of-scope follow-ups." Minor, but the description is stale:

-  design rationale, acceptance criteria, outstanding items.
+  design rationale, acceptance criteria, follow-ups.

ℹ️ Observation: anchor link may not resolve

The P1 row now contains [follow-ups](#out-of-scope-follow-ups) (incorporated from gemini's suggestion). However, "Out-of-scope follow-ups" in the doc is a plain-text paragraph (Out-of-scope follow-ups (recorded so…):) — not a ## heading. GitHub only auto-generates anchor IDs for heading elements, not bold-text paragraphs. The link will silently resolve to nothing rather than navigating to the section.

If intra-doc navigation is desired, promoting the paragraph to a ## heading would make it work:

-Out-of-scope follow-ups (recorded so future readers know what was deliberately deferred):
+## Out-of-scope follow-ups
+
+(Recorded so future readers know what was deliberately deferred.)

Not a blocker for the lifecycle promotion itself.


Summary: Two minor documentation inconsistencies (stale subsection pointer + stale link description) are not blocking the _partial__implemented_ promotion, which is otherwise correct and complete. Suggest a follow-up commit or addressing them in-branch before merge.

… row

The gemini suggestion accepted in 0dd986a added the
[follow-ups](#out-of-scope-follow-ups) anchor link as intended,
but the suggestion text dropped the backticks around
`internal/admin/` in the P1 status-table row. Other rows in the
same table (P4's references to docs/admin.md and
scripts/rolling-update.sh) still use backticks for path-like
identifiers, so the unbacktick'd internal/admin/ is the
formatting outlier.

Re-added the backticks. No other changes — the anchor link the
suggestion introduced is preserved.
@bootjp
Copy link
Copy Markdown
Owner Author

bootjp commented Apr 28, 2026

@claude review

Addressed the gemini medium finding (anchor link to the follow-ups section): merged via the suggestion-accept on commit 0dd986a. The link is now in place.

In the same commit, the suggestion text accidentally dropped the backticks around internal/admin/ in the P1 status-table row — restored them in commit e2ed240 so the formatting matches the other path-like identifiers in the same table (docs/admin.md, scripts/rolling-update.sh etc.).

@claude
Copy link
Copy Markdown

claude Bot commented Apr 28, 2026

Claude finished @bootjp's task in 1m 53s —— View job


Review: docs(design): promote admin dashboard _partial__implemented_

  • Understand the request (verify fixes from commits 0dd986a and e2ed240)
  • Read current state of all changed files
  • Verify anchor link fix and backtick restoration
  • Check previously flagged issues (stale subsection pointer, stale link description)
  • Post review feedback

Verified: both commits are correct

Commit 0dd986a — gemini anchor suggestion accepted
docs/design/2026_04_24_implemented_admin_dashboard.md line 12 now reads:

criterion 5 deferred — see [follow-ups](#out-of-scope-follow-ups)

Link is in place. ✅

Commit e2ed240 — backtick restoration
The P1 row now reads `internal/admin/` (with backticks), matching the formatting of other path-like identifiers in the same table (`docs/admin.md`, `scripts/rolling-update.sh`). ✅


Two previously flagged issues remain unfixed

These were raised in both prior review passes and are still present in the current HEAD.

Issue 1 — Stale subsection pointer in safety-net doc

docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md lines 10–12:

TOCTOU race documented in
[`docs/design/2026_04_24_implemented_admin_dashboard.md`](...)
under Out-of-scope follow-ups.

After this PR the TOCTOU does not appear under "Out-of-scope follow-ups" — that section (lines 17–21 of the implemented doc) only lists: AdminForward criterion 5, S3 object browser, and TLS cert reload. The TOCTOU resolution is described in the status block at line 3 and in the paragraph at line 23. The subsection anchor in prose is stale.

Fix this →

Issue 2 — Stale link description in docs/admin_deployment.md

docs/admin_deployment.md lines 405–406:

[`docs/design/2026_04_24_implemented_admin_dashboard.md`](...) —
  design rationale, acceptance criteria, outstanding items.

"outstanding items" is the _partial_-era language. The promoted doc uses "Out-of-scope follow-ups."

-  design rationale, acceptance criteria, outstanding items.
+  design rationale, acceptance criteria, follow-ups.

Fix this →


ℹ️ Observation: anchor #out-of-scope-follow-ups still won't resolve

The accepted gemini suggestion adds [follow-ups](#out-of-scope-follow-ups) to the P1 row. But "Out-of-scope follow-ups" in the doc is a plain-text paragraph (line 17), not a ## heading — GitHub only auto-generates anchor IDs for heading elements. The link will silently point to the top of the document instead of navigating to the section.

If intra-doc navigation is desired, the fix is to promote it to a heading:

-Out-of-scope follow-ups (recorded so future readers know what was deliberately deferred):
+## Out-of-scope follow-ups
+
+(Recorded so future readers know what was deliberately deferred.)

Not a blocker for the promotion — the link text still conveys meaning even if the anchor doesn't scroll. Worth a follow-up fix if the anchor behavior matters.


Summary: The two new commits are correct. Two documentation inconsistencies (stale subsection pointer in the safety-net doc, stale link description in admin_deployment.md) flagged in prior reviews remain in HEAD. Neither blocks the _partial__implemented_ lifecycle promotion.

Three issues from the @claude review of PR #701:

1. **Anchor link target now resolves**. The accepted gemini
   suggestion added `[follow-ups](#out-of-scope-follow-ups)` to
   the P1 status-table row, but the target was a plain-text
   paragraph — GitHub only auto-generates anchors for headings,
   so the link silently scrolled to the top of the document.
   Promoted "Out-of-scope follow-ups" to a `### ` heading and
   moved the parenthetical caption onto its own italicised line
   below it. Anchor `#out-of-scope-follow-ups` now actually
   resolves.

2. **Stale subsection pointer in safety-net doc**. The
   2026_04_28_proposed_admin_delete_bucket_safety_net.md
   Background section pointed at "Out-of-scope follow-ups" for
   the TOCTOU description, but after the rename the TOCTOU is
   no longer in that section — it's resolved (described in the
   implementation-status block at the top of the implemented
   doc, line 23). Updated the prose to say "resolved by this
   design and recorded in the implementation-status block of …"
   so the cross-link points where the TOCTOU is actually
   discussed in the renamed doc.

3. **Stale link description in admin_deployment.md**. The
   final cross-references list called the design doc's third
   bullet "outstanding items" — that is the `_partial_`-era
   wording. Renamed to "out-of-scope follow-ups" to match the
   promoted doc's actual section heading.

Also reordered the implementation-status block: TOCTOU
resolution paragraph now precedes the Out-of-scope section so
the doc reads "what shipped → how the late-breaking issue was
fixed → what was deliberately deferred". Previously the
TOCTOU paragraph sat after the deferred-items bullet list
which read awkwardly.

No content changes other than the three fixes above and the
section reorder.
@bootjp
Copy link
Copy Markdown
Owner Author

bootjp commented Apr 28, 2026

@claude review

Addressed all three findings from the previous review:

  1. Anchor target now resolves — promoted "Out-of-scope follow-ups" from a plain-text paragraph to a ### heading. GitHub auto-anchors only headings, so #out-of-scope-follow-ups was previously a no-op scroll-to-top link. Now navigates correctly.

  2. Stale subsection pointer in safety-net doc — updated the Background section to read "resolved by this design and recorded in the implementation-status block of …" instead of the stale "under Out-of-scope follow-ups". Reflects where the TOCTOU is actually discussed in the renamed doc (the status-block paragraph at line 23, not the deferred-items section).

  3. Stale link description in admin_deployment.md — renamed the cross-reference's third bullet from "outstanding items" to "out-of-scope follow-ups" so it matches the promoted doc's actual section heading.

Also reordered the implementation-status block: TOCTOU resolution paragraph now precedes the Out-of-scope section so the flow reads "what shipped → how the late-breaking issue was fixed → what was deliberately deferred".

Latest commit: 1825f1d.

@claude
Copy link
Copy Markdown

claude Bot commented Apr 28, 2026

Claude finished @bootjp's task in 57s —— View job


Review: docs(design): promote admin dashboard _partial__implemented_

  • Understand the request (verify all three fixes from latest commit 1825f1d)
  • Read current state of changed files
  • Verify fix 1: anchor target #out-of-scope-follow-ups now resolves
  • Verify fix 2: stale subsection pointer in safety-net doc
  • Verify fix 3: stale link description in admin_deployment.md
  • Check reordering of implementation-status block
  • Post review feedback

Overall: LGTM. All three previously flagged issues are resolved. This is ready to merge.


✅ All three fixes verified

Fix 1 — Anchor target now resolves

docs/design/2026_04_24_implemented_admin_dashboard.md line 19 now reads:

### Out-of-scope follow-ups

Promoted from plain-text paragraph to ### heading. GitHub auto-anchors heading elements, so #out-of-scope-follow-ups in the P1 row now navigates correctly. ✅

Fix 2 — Stale subsection pointer in safety-net doc

docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md lines 9–12 now read:

TOCTOU race resolved by this design and recorded in the
implementation-status block of
[`docs/design/2026_04_24_implemented_admin_dashboard.md`](...)

The stale "under Out-of-scope follow-ups" pointer is gone. The new text accurately describes where the TOCTOU resolution lives in the promoted doc. ✅

Fix 3 — Stale link description in admin_deployment.md

docs/admin_deployment.md line 406 now reads:

design rationale, acceptance criteria, out-of-scope follow-ups.

"outstanding items" (partial-era language) replaced with "out-of-scope follow-ups" (matching the promoted doc's actual ### heading). ✅

Reordering of implementation-status block

The flow in the status block is now: phase table → TOCTOU resolution paragraph → ### Out-of-scope follow-ups section. The logical progression ("what shipped → how the late-breaking issue was fixed → what was deliberately deferred") reads correctly. ✅


✅ Cross-reference sweep still complete

No stale references remain:

  • docs/admin.md lines 5, 339 — 2026_04_24_implemented_admin_dashboard.md
  • docs/admin_deployment.md lines 405–406 — updated ✅
  • docs/design/2026_04_28_proposed_admin_delete_bucket_safety_net.md lines 9–12 — updated ✅
  • internal/admin/config.go line 18 — 2026_04_24_implemented_admin_dashboard.md

No further issues found. The lifecycle promotion is correct, the ### anchor fix is correctly implemented, and all stale prose from prior review rounds is cleaned up.

@bootjp bootjp enabled auto-merge April 28, 2026 17:06
@bootjp bootjp merged commit 67f40c5 into main Apr 28, 2026
9 checks passed
@bootjp bootjp deleted the docs/admin-dashboard-implemented branch April 28, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant