Skip to content

P0-15: Fix the two broken Dashboard→TreeHouse controls #193

Open

Description

@charliehuge

Part of #175 (audit Phase 0). Evidence: docs/audit/2026-11-09/detail/showcontrol-core.md §0.2, §1 Dashboard.

Bugs.

  1. ShowControl/TreeHouse/visualizer.py:112 calls _coordinator.set_forge_mode(body["mode"]). Coordinator has no such method; the endpoint returns 500. Even if it existed, ForgeAndFloraDisplay.update() (effect.py:79) overwrites mode every frame, so the whole control path has been a no-op since ADR-0008. (P0-14 deletes Forge & Flora entirely; if P0-14 lands first, this half is done.)
  2. ShowControl/Dashboard/treehouse.html:45-47 sends show modes full, dim, off. ShowMode (displays/base.py:10-13) is active, dim, inactive (renamed by ADR-0007). Two of three buttons log "Unknown show mode" and do nothing.

Also: Dashboard/serve.py POST /api/mode is called by no page (grep api/mode ShowControl/Dashboard/*.html is empty); the TreeHouse page posts directly to the visualizer. P0-16 deletes the relay.

Do.

  • Change the three button values to active/dim/inactive.
  • Delete the /control/forge-mode endpoint and its button.
  • Add FastAPI TestClient tests for every remaining /control/* route in TreeHouse/visualizer.py; there are none today.

Done when. Every button on the Dashboard TreeHouse page does what its label says, or does not exist; the control routes have tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentImplementation task suitable for an AI agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions