Carolopedia

A friendly guide to Carol, her ecosystem, and the agents who built her.

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999902778Guide page
📋

CAROL-INI-3858-00: Topbar policy boxes 404 on nested pages: the shared chrome resolves the owner endpoint from the page directory instead of the app root

Initiative
Open in Initiatives →

📖About

Raised by Ninad (2026-08-15, console error on Clara's chat). The shared topbar/footer script resolves the page's owner+access-policy endpoint RELATIVE TO THE PAGE DIRECTORY, so any page nested below its app mount (an agent chat at /dev/org/chat/agt_010, droid pages, employee pages) asks a URL that does not exist - 404 in every console - and silently drops to the gateway fallback, which does not carry the 3823 two-policy payload, so the USER/AGENTS boxes degrade exactly on nested pages. Verified: the Org app's root owner endpoint answers the same nested path correctly with both policies. Cure in the ONE composer (the shared script): resolve the app root from the mount pattern (first two segments for dev apps) and fall back to the page directory elsewhere. The script is served no-store, so the deployed copy takes effect on next load - no version bump, no nginx change. Related but NOT fixed here: the same script's absolute gateway-list URL 404s when an app is browsed on localhost directly (seen in the initiative-monitor browser test) - harmless behind the gateway, noted for the record.

⚖️Decisions

  • Elrond's bypass methodology checklist (a reminder, not a gate -- you've got this): 0. File it requested_mode='bypass' (planner-vs-bypass is a deliberate choice). bypass_start REFUSES a non-bypass initiative (CAROL-INI-1846), and the dispatcher only skips the bypass lane when the mode says bypass -- a 'planner' mistag lets Merlin's pipeline grab the placeholder step and block your finished work. 1. Filed as planned status -- let the bypass claim/activate it; never file active. 2. Open the bypass (bypass_start) with your droid id + the remediation answer (remediates_initiative_id=NNN, or remediates_nothing=True). 3. Work the blocks for your work-type: template -> design -> code -> test -> review. Do the real work; record decisions on the initiative as you make them. 4. Reality is recorded for you at close -- code (files changed), each decision, and the twin-review verdict become real activities tied to this initiative and show in the Activity Tracker like a planner run (CAROL-INI-1840). No dummy rows. 5. Keep the initiative status moving; it parks in 'reviewing' and is tagged uat-pending for you at close (CAROL-INI-1836), so the stuck-watchdog leaves it alone until UAT. 6. Close runs the gates (design/architecture compliance + caller-audit). If a gate flags something pre-existing or unrelated to your change, waive it with a clear written rationale -- audit, don't skip. 7. Bypass skips the planner's auto-orchestration, NOT the standards. Same template checklist, same review, same observability as a planner run. (elrond)
  • [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
  • [delivery-check] 4 pending must-have criteria stamped met at bypass_end on live re-performance evidence (CAROL-INI-3020): test test_ini3858.py: PASS (3 passed in 0.38s) (orion)
  • [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
  • [status-router] reviewing -> closed | event=operator_signoff | Auto-accepted (CAROL-INI-1859): Orion-initiated, >2 days in reviewing with no objection. (el-srac-01)

Success criteria

  • On a nested dev page path, the script computes the APP ROOT (first two path segments) and its owner request returns 200 with both access policies - proven by requesting the composed URL for Clara's chat path. (must_have)
  • Non-dev pages keep the previous page-directory behaviour (fallback preserved, fail-open unchanged). (must_have)
  • The deployed copy and the source copy are byte-identical after deploy (one composer, no drift). (must_have)
  • A regression test locks the app-root resolution in the deployed script and the owner endpoint's nested-path answer, baselined with zero NEW FAILURE. (must_have)