KB-2DA7

11 — Final Summary

3 min read Revision 1
architecturerpfinal-summary2026-06-06

— 11 FINAL SUMMARY

Verdict: PARTIAL — all safe engineering branches complete and proven; live deploy (restart/rebuild) is the only remaining step and is operator-gated. This satisfies the macro PARTIAL contract (deploy/operator credentials block live deploy but every safe engineering branch is complete).

What was achieved:

  • Production API truth baseline reproduced live (12 HEALTHY / 4 PARAM / 2 500 / 1 404), matching the prior P0 rollup; no ambiguity remains.
  • Route/handler mapping concrete: bind-mounted .output, nginx proxy map, rpQuery vs Directus-REST split identified.
  • pivot-query 500 root cause (jsonb _neq -> Directus 400) and fix PROVEN live (200, 12 cross of 37) without touching prod; drop-in patch staged, node --check clean.
  • matrix 500 root cause (897,347 entity_labels over Directus REST in a 512 MB container) fixed with a birth-neutral pg aggregate view (v_rp_entity_label_facet_counts, 226,052 rows) + handler patch using rpQuery; patch node --check clean.
  • registries/index 404 root cause (client/server drift) explained; candidate handler + repoint option staged (rebuild-gated).
  • PIVOT_MISSING x14 fully classified (9 by-design / 3 empty-level / 2 retire); guard PASS, nothing unexplained, nothing hidden.
  • Real smoke harness built and proven (correctly FAILs current prod, exit 1); DB-encoded expectation contract.
  • Operator packet with express hotfix (auto-rollback) and durable rebuild path; exact paths/commands.
  • 10 additive reversible views, birth-neutral (1,210,816 == 1,210,816), RC=0; router updated to RED_ACTION_READY that self-flips to GREEN on deploy.

Exact blocker: operator must (a) run rp-apply-hotfix.sh on the VPS to fix matrix + pivot-query live (express), and/or (b) apply the three source patches in the web repo, rebuild nuxt-output, restart incomex-nuxt to fix all three durably. Restart is an all-users SSR action and was not self-authorized.

Outstanding non-blocking follow-ups: species-matrix slow route (~18–22s, same bloat pattern, next pg-aggregate candidate); /api/registry/counts raw-vs-clean count honesty; homepage SSR /items/pages 403; deactivation of the 2 retire-phantom pivots (PIV-020, MTX-TEST) — all operator/owner actions, no engineering blocker.

Next macro: RP_PRODUCTION_DEPLOY_AND_POSTFIX_SMOKE (operator executes packet; then re-run smoke -> expect PASS, guard -> GREEN), then RP UI clean-vs-raw count truth + species-matrix hardening.

Back to Knowledge Hub knowledge/dev/reports/architecture/rp-production-api-operator-fix-ui-truth-smoke-2026-06-06/11-final-summary.md