KB-4899
03 · UI Final Deploy Handoff (operator runbook)
3 min read Revision 1
03 · UI Final Deploy Handoff — Operator Runbook (2026-06-05)
The PR branch already exists (feat/process-axis-dashboard, commit 614b668). Operator authority is required only to push over the public diverged remote and to deploy.
One-path deploy (recommended)
cd /opt/incomex/docker/nuxt-repo/web
git fetch origin # needs GitHub creds (agent has none)
# Branch is already committed off origin/main (260ed7b). Push it:
git push -u origin feat/process-axis-dashboard
# Open PR feat/process-axis-dashboard -> main on github.com/Huyen1974/web-test
If you prefer to apply the patch on a fresh clean checkout
git switch -c feat/process-axis-dashboard origin/main
git apply /opt/incomex/docs/mcp-writes/authority-independent-total-closeout-2026-06-04/process-axis-dashboard.patch
# or: git am < .../process-axis-dashboard.patch (preserves commit message)
pnpm install --frozen-lockfile # only if node_modules differs from origin/main
pnpm lint # expect exit 0
pnpm build # final SSR build check
git push -u origin feat/process-axis-dashboard
Divergence reconciliation (the real operator decision)
main is ahead 17 / behind 13. The 17 ahead are auto-snapshot commits; the 13 behind are upstream. Safest: keep the feature PR minimal (off origin/main, as built), merge it first, then separately rebase/reconcile the 17 local snapshots onto the new main. Do NOT force-push public main.
Deploy + rollback
- Deploy via the existing image pipeline (
nuxt-ssr-local:sNNNrebuild). The running container is unchanged until image rebuild. - Rollback: do not merge the PR (running container unaffected), or
git revertthe merge commit and rebuild.
Route smoke tests (post-deploy, through nginx/WAF)
/knowledge/process-axis— Process Axis overview (new page)./api/process-axis/overview— pass-through endpoint (8 governance views)./knowledge/registries-pivot— existing pivot dashboard (regression).- Confirm panels render: canon/official-vs-candidate, owner/president decision flow, owner-gate readiness, candidate action handlers, RP visibility, dot:kg REAL_RUN ladder, residual + trigger cross-check.
Guarantees
Render-only; no checkbox, no mutation, no Nuxt-side math (all numbers come from committed PG views via SELECT *).