Skip to content

PR13 — Deployment runbook and enterprise-security smoke test extension - #23

Merged
man4ish merged 3 commits into
mainfrom
feature/pr13-dynamic-rbac-activation
Aug 6, 2026
Merged

PR13 — Deployment runbook and enterprise-security smoke test extension#23
man4ish merged 3 commits into
mainfrom
feature/pr13-dynamic-rbac-activation

Conversation

@man4ish

@man4ish man4ish commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Deployment support for PR13, not application code:

  • scripts/test-enterprise-security.sh: extends the existing PR12 IAM/RBAC smoke test with the case it previously couldn't exercise without an operator-provided ADMIN_BOOTSTRAP_TOKEN — a real "200 when permission present" check. Seeds throwaway scientist- and viewer-role users directly via MySQL (this script's existing docker compose dependency, now also used for this, since there's no HTTP-only way to get a self-registered user into an org-scoped role — no accept-invite endpoint exists), then asserts a scientist token gets 200 on GET /model-registry/v1 and a viewer token gets 403.
  • scripts/PR13-DEPLOYMENT-RUNBOOK.md: the documented deploy procedure (backup → merge → migrate → restart → verify) for when PR13 is actually approved. Documentation only — none of these steps have been executed.

Dependency

This PR is part of PR13 — Dynamic Enterprise RBAC Activation.
It must be reviewed and merged in dependency order with the other PR13 repositories.
Do not merge independently.

Dependency order: auth → policy-engine → api-gateway → control-center → studio (this PR) → docs. This repo's smoke test only exercises the live stack meaningfully once the other 4 repos' PRs are merged and deployed per the runbook.

Validation

Tests performed: no automated test suite exists for this repo (Electron app) — the PR13 diff here is scripts/docs only, no application code. bash -n syntax-checked; the smoke test's new logic was validated conceptually against the actual omnibioai-auth schema (membership_roles/organization_memberships tables) it seeds, but not yet run against the live stack — that's deferred to actual deployment time, per the runbook.

Security checks: n/a — no application code in this PR. The smoke test itself is a security validation tool, not something requiring its own security review beyond "does it seed test data safely" — it only ever creates throwaway accounts/orgs, never touches real user data.

Compatibility notes: ADMIN_BOOTSTRAP_TOKEN still works as a direct override for an operator who'd rather not grant the script MySQL access — the new seeding path is additive, not a replacement.

Related PRs

Part of the PR13 review set, all on feature/pr13-dynamic-rbac-activation:

  • omnibioai-authPR #32 (draft, open)
  • omnibioai-policy-enginePR #2 (draft, open)
  • omnibioai-api-gatewayPR #5 (draft, open)
  • omnibioai-control-centerPR #20 (draft, open)
  • omnibioai-docs — architecture documentation

Review only — do not merge. No migration applied, no deployment performed, live stack untouched. The deployment runbook in this PR is documentation of a future procedure, not a record of one that ran.

man4ish and others added 3 commits August 5, 2026 20:53
Seeds throwaway scientist/viewer-role users directly via MySQL (no
HTTP-reachable way to do this otherwise -- org creation only grants
org_admin, and there's no accept-invite endpoint to get a second user
into active org membership), then asserts scientist gets 200 and viewer
gets 403 on GET /model-registry/v1. ADMIN_BOOTSTRAP_TOKEN still works as
a direct override for an operator who'd rather not grant DB access.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Backup -> merge -> migrate -> restart -> verify procedure for when PR13
is reviewed and approved. Documentation only -- migration 0016 has not
been applied and the live stack has not been touched.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Closes the gap flagged in the PR13 pre-merge integration review ("no
rollback plan exists"). Flags that scripts/restore-mysql.sh referenced
in the original draft doesn't actually exist in this repo -- gives the
working manual mysqldump-restore command instead of silently documenting
a broken reference. Also fixes the earlier merge-order inconsistency
(this file previously listed docs before studio; every PR's stated
dependency order has studio before docs) while in here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@man4ish
man4ish marked this pull request as ready for review August 6, 2026 02:50
@man4ish
man4ish merged commit fa4a450 into main Aug 6, 2026
11 of 13 checks passed
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