Skip to content

feat(dashboard): show admin bot profiles#1213

Open
ymote wants to merge 1 commit into
mainfrom
feat/admin-bot-profile-list
Open

feat(dashboard): show admin bot profiles#1213
ymote wants to merge 1 commit into
mainfrom
feat/admin-bot-profile-list

Conversation

@ymote

@ymote ymote commented May 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Replace the static Admin Bot Profile copy with an admin-mode profile list and running/stopped status badges.
  • Show the currently running admin bot inline when one exists, with an empty state when none are configured.
  • Add a create shortcut to /profiles/new?adminMode=true and make NewProfile submit admin_mode: true when that shortcut is used.
  • Add focused AdminBotPage and NewProfile tests.
  • Refreshed on current GitHub main / origin/main 1df02bd3975a66b232ae1a5c62ddf48297f88317; refreshed head ba8008dc04590bc255121953787d21c9c4bb3375.
  • Dropped stale unrelated Rust formatting/clippy carry and the non-closing CLI temp-script workaround from the old branch; this refresh is dashboard-only.

Closes #425

Validation

Environment: isolated clone /Users/yuechen/home/octos/target/octos-1213-refresh.rIYT6Z/octos; root checkout left untouched; npm cache /private/tmp/octos-npm-cache-425-current; explicit dashboard build output /private/tmp/octos-425-dashboard-build-current-1df02.

Passed locally:

  • git diff --check origin/main...HEAD
  • cargo fmt --all -- --check
  • git ls-files --others --exclude-standard -> empty
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard ci -> completed with existing npm audit findings only: 3 vulnerabilities, 1 moderate and 2 high
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard test -- AdminBotPage NewProfile -> 2 files / 3 tests passed
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard test -> 8 files / 35 tests passed
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard run typecheck
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current VITE_OUT_DIR=/private/tmp/octos-425-dashboard-build-current-1df02 npm --prefix dashboard run build
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current ./scripts/milestone-ci.sh dashboard -> passed and left the checkout clean
  • typos dashboard/src/pages/AdminBotPage.test.tsx dashboard/src/pages/AdminBotPage.tsx dashboard/src/pages/NewProfile.test.tsx dashboard/src/pages/NewProfile.tsx

GitHub CI passed on refreshed head ba8008dc04590bc255121953787d21c9c4bb3375:

  • check
  • check-matrix
  • dashboard
  • swarm-app
  • test-octos-agent (lib)
  • test-octos-agent (integration)
  • test-octos-cli
  • typos
  • reject blocked author/committer emails

No generated artifacts are included. Explicit dashboard build output stayed under /private/tmp/octos-425-dashboard-build-current-1df02; milestone output left no tracked or untracked diff.

Current State

  • GitHub reports mergeStateStatus=BLOCKED, mergeable=MERGEABLE, and reviewDecision=REVIEW_REQUIRED; remaining blocker is required review.

@ymote

ymote commented May 26, 2026

Copy link
Copy Markdown
Contributor Author

Codex validation pass for #1213 on 2026-05-26.

Scope checked:

  • PR head: 9fe86a33f0f8b7e854b8fb0d77324a6e657097de
  • Closure target: Closes #425
  • Files touched: dashboard/src/pages/AdminBotPage.tsx, dashboard/src/pages/AdminBotPage.test.tsx, dashboard/src/pages/NewProfile.tsx, dashboard/src/pages/NewProfile.test.tsx
  • Current-main merge rehearsal base: origin/main 4bb169b409f21cdd42ba31b63d3b3a868877454e

Validation on PR head:

  • npm --prefix dashboard test -- AdminBotPage NewProfile -> 2 files / 3 tests passed
  • npm --prefix dashboard run typecheck -> passed
  • npm --prefix dashboard run build -> passed
  • git diff --check -> clean
  • git ls-files --others --exclude-standard -> clean

Acceptance notes:

  • AdminBotPage now filters and lists admin_mode profiles, shows running/stopped status badges, and highlights the currently running admin bot when present.
  • Empty state is covered when no admin profile exists.
  • The create shortcut points to /profiles/new?adminMode=true, and NewProfile submits admin_mode: true from that shortcut.
  • Focused tests cover the profile list/running state and the admin-mode create shortcut payload.

Merge rehearsal:

  • git checkout -B codex/merge-pr1213 origin/main
  • git merge --no-commit --no-ff codex/review-pr-1213 -> clean merge
  • On the merged tree, re-ran npm --prefix dashboard test -- AdminBotPage NewProfile, git diff --check, and git ls-files --others --exclude-standard; all passed/clean.
  • Merge was aborted after validation; no generated artifacts were committed.

I did not find a blocker for the #425 acceptance in #1213. GitHub still reports this PR as MERGEABLE but branch-protection blocked on required review, so it needs an eligible external approval before merge.

@ymote ymote requested a review from bobdingAI May 28, 2026 11:34
@ymote

ymote commented May 29, 2026

Copy link
Copy Markdown
Contributor Author

Current-main closure-path evidence for #425.

Commits checked:

  • GitHub heads/main / local origin/main: 1fb4c88e020242d82cee245b331798ed6dc551e7
  • PR feat(dashboard): show admin bot profiles #1213 head: 9fe86a33f0f8b7e854b8fb0d77324a6e657097de
  • Local rehearsal merge: 514f18a5de0e9cce80e6bb0f626436a2977a4c91

Environment/artifacts:

  • Temp worktree: /private/tmp/octos-1213-current-RI3Mcf
  • npm cache: /private/tmp/octos-npm-cache-425-current
  • Dashboard build output: /private/tmp/octos-425-dashboard-build-current-1fb4
  • Root checkout was not used.
  • No generated artifacts were added to the repo; git ls-files --others --exclude-standard is empty in the rehearsal worktree.

Acceptance checked:

  • AdminBotPage filters and lists admin_mode profiles only.
  • It shows running/stopped badges and the currently active admin bot, or None running plus an empty state.
  • The create shortcut links to /profiles/new?adminMode=true.
  • NewProfile preselects Admin Mode from that query string and submits config.admin_mode: true.

Commands/results:

  • git merge --no-edit pr/1213 onto current origin/main: clean.
  • git diff --check origin/main...HEAD: passed.
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard ci: passed, with existing audit output of 1 moderate and 2 high vulnerabilities.
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard test -- AdminBotPage NewProfile: passed, 2 files / 3 tests.
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard test: passed, 5 files / 22 tests.
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current npm --prefix dashboard run typecheck: passed.
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-current VITE_OUT_DIR=/private/tmp/octos-425-dashboard-build-current-1fb4 npm --prefix dashboard run build: passed.

Result:

@ymote

ymote commented May 29, 2026

Copy link
Copy Markdown
Contributor Author

Current-main validation for #425 on 2026-05-29.

Validated PR head 9fe86a33f0f8b7e854b8fb0d77324a6e657097de by cleanly merging it onto current origin/main 1fb4c88e020242d82cee245b331798ed6dc551e7 in /private/tmp/octos-1213-current-4cK0rt; local rehearsal merge commit was b23098266568451481aafa074c9377d93479684a.

Acceptance evidence:

  • AdminBotPage loads profiles and filters config.admin_mode profiles into an admin bot list.
  • The page shows each admin profile with profile link, id, and running/stopped status.
  • The currently running admin profile is shown inline as the active admin bot; empty state shows None running and No admin-mode profiles found.
  • The Create admin profile shortcut links to /profiles/new?adminMode=true.
  • NewProfile preselects Admin Mode from that query string and submits config.admin_mode: true with empty channel/gateway/env defaults.

Commands run:

  • git diff --check origin/main...HEAD passed.
  • npm --prefix dashboard ci passed; npm reported existing audit findings: 20 vulnerabilities, 18 moderate and 2 high.
  • npm --prefix dashboard test -- AdminBotPage.test.tsx NewProfile.test.tsx passed: 2 files, 3 tests.
  • npm --prefix dashboard run typecheck passed.
  • VITE_OUT_DIR=/private/tmp/octos-1213-dashboard-dist npm --prefix dashboard run build passed.

Environment: node v24.10.0, npm 11.6.0, Darwin 25.5.0 arm64. Build artifacts were redirected to /private/tmp/octos-1213-dashboard-dist; git ls-files --others --exclude-standard was empty after validation.

Remaining gap: GitHub reports this PR as MERGEABLE but branch protection is BLOCKED because review is still required, so I did not merge it.

@ymote

ymote commented May 30, 2026

Copy link
Copy Markdown
Contributor Author

Current-main validation refresh for #425, without force-pushing the PR branch.

Evidence:

  • Live GitHub main: 4b6d7218b14e91ece68ecde1ca10216975baea58
  • Existing PR feat(dashboard): show admin bot profiles #1213 head: 9fe86a33f0f8b7e854b8fb0d77324a6e657097de
  • Local rehearsal merge: d7e37c3fc97177542f3ce61d5df3926f8a77985b
  • Temp checkout: /private/tmp/octos-1213-refresh-Kj9NRm/octos
  • Diff against origin/main: only dashboard/src/pages/AdminBotPage.test.tsx, dashboard/src/pages/AdminBotPage.tsx, dashboard/src/pages/NewProfile.test.tsx, and dashboard/src/pages/NewProfile.tsx
  • Environment: Node v24.10.0, npm 11.6.0, Darwin 25.5.0 arm64
  • Dashboard build output: /private/tmp/octos-425-dashboard-build-current-4b6d; npm cache: /private/tmp/octos-npm-cache-1213

Passed:

  • git diff --check origin/main...HEAD
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-1213 npm --prefix dashboard ci (existing audit output: 3 vulnerabilities)
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-1213 npm --prefix dashboard test -- AdminBotPage.test.tsx NewProfile.test.tsx (2 files / 3 tests)
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-1213 npm --prefix dashboard test (5 files / 22 tests)
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-1213 npm --prefix dashboard run typecheck
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-1213 VITE_OUT_DIR=/private/tmp/octos-425-dashboard-build-current-4b6d npm --prefix dashboard run build
  • NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-1213 ./scripts/milestone-ci.sh dashboard
  • git ls-files --others --exclude-standard returned empty after validation

Acceptance status: PR #1213 still satisfies #425 on current main. AdminBotPage lists admin-mode profiles with running/stopped status, shows the active running admin profile or an empty state, links to /profiles/new?adminMode=true, and NewProfile preselects/submits admin_mode: true from that shortcut.

Remaining blocker: PR #1213 is still MERGEABLE but branch-protection blocked by required review (REVIEW_REQUIRED), so #425 remains open until review and merge.

@ymote ymote force-pushed the feat/admin-bot-profile-list branch from 9fe86a3 to 798c937 Compare May 30, 2026 22:19
@ymote

ymote commented May 30, 2026

Copy link
Copy Markdown
Contributor Author

Current-main refresh evidence for #425 / PR #1213:

  • Base: 4b6d7218b14e91ece68ecde1ca10216975baea58
  • Head: 798c937a96c42c16b9ed5e19fe09238f6334bb29
  • Environment: isolated clone under /Users/yuechen/home/octos/target/octos-1213-refresh-current-VggErf/octos; root dirty checkout untouched. Darwin 25.5.0 arm64; Node v24.10.0; npm 11.6.0.
  • Artifact path: explicit dashboard build output only, outside repo at /private/tmp/octos-1213-dashboard-dist-current-4b6d.

Commands passed:

NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-refresh npm --prefix dashboard ci
git diff --check origin/main...HEAD
cargo fmt --all -- --check
NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-refresh npm --prefix dashboard test -- AdminBotPage NewProfile
NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-refresh npm --prefix dashboard test
NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-refresh npm --prefix dashboard run typecheck
NPM_CONFIG_CACHE=/private/tmp/octos-npm-cache-425-refresh VITE_OUT_DIR=/private/tmp/octos-1213-dashboard-dist-current-4b6d npm --prefix dashboard run build
./scripts/milestone-ci.sh dashboard
CARGO_TARGET_DIR=/private/tmp/octos-1213-current-target CARGO_INCREMENTAL=0 CARGO_PROFILE_TEST_DEBUG=0 CARGO_PROFILE_DEV_DEBUG=0 cargo test -p octos-cli --features api --lib cli_agent_adapter::tests:: -- --nocapture
CARGO_TARGET_DIR=/private/tmp/octos-1213-current-target CARGO_INCREMENTAL=0 CARGO_PROFILE_DEV_DEBUG=0 cargo clippy --workspace --all-targets -- -D warnings
git ls-files --others --exclude-standard

Result:

  • Focused dashboard tests passed: AdminBotPage / NewProfile, 2 files / 3 tests.
  • Full dashboard suite passed: 5 files / 22 tests.
  • Dashboard typecheck/build passed.
  • ./scripts/milestone-ci.sh dashboard passed; it left the checkout clean.
  • cli_agent_adapter::tests:: passed 8/8 with the test(cli): avoid temp script exec race #1322 temp-script race support fix included.
  • Strict workspace clippy passed.
  • Existing npm audit output remains: direct dashboard ci reported 3 vulnerabilities (1 moderate, 2 high); milestone script install reported 20 vulnerabilities (18 moderate, 2 high).
  • No generated artifacts or untracked files are included.

Issue acceptance: AdminBotPage now loads and shows admin profiles with running/stopped status, has an empty state, links to /profiles/new?adminMode=true, and NewProfile submits admin_mode: true for that shortcut.

Remaining gap: GitHub CI is running on the refreshed head. The PR is still expected to be branch-protection blocked by required review before merge/auto-close.

@ymote

ymote commented May 30, 2026

Copy link
Copy Markdown
Contributor Author

Final CI refresh for #425 / PR #1213:

  • Base: 4b6d7218b14e91ece68ecde1ca10216975baea58
  • Head: 798c937a96c42c16b9ed5e19fe09238f6334bb29
  • GitHub checks passed: dashboard, reject blocked author/committer emails, swarm-app, typos, check, test-octos-agent (lib), test-octos-agent (integration), test-octos-cli, and check-matrix. Platform/package/security/e2e jobs were skipped by matrix rules.
  • Local validation evidence is in the previous comment and included focused AdminBotPage/NewProfile tests, full dashboard tests/typecheck/build, ./scripts/milestone-ci.sh dashboard, focused octos-cli regression tests, strict workspace clippy, and clean untracked-artifact check.

Result: #1213 is current-main green and satisfies #425 acceptance evidence. Remaining gap: branch protection still reports MERGEABLE / BLOCKED / REVIEW_REQUIRED; no approved PRs are currently available to merge, so I did not merge or manually close #425.

@ymote ymote force-pushed the feat/admin-bot-profile-list branch 2 times, most recently from c0912cc to b905099 Compare May 31, 2026 23:19
@ymote ymote force-pushed the feat/admin-bot-profile-list branch from b905099 to ba8008d Compare June 1, 2026 07:37
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.

AdminBotPage: show admin-profile list and creation shortcut

1 participant