Running the dashboard

The site publishes a read-only dashboard for structured analyses of an organisation's goals and constraints. Each analysis opens on the current constraint, the next action, its expected effect, and any defined throughput signals; the six underlying trees, evidence, assumptions, and filters are available on demand. This page covers adding a project and running the dashboard locally; for what the analysis is, start with the explainer series.

Published multi-project dashboard

The site publishes the dashboard at /dashboard/ with a project picker, so several analyses live in one place. Each project is a static model under skills/project-ltp/dashboard/public/projects/<slug>/model.yaml, listed in public/projects/manifest.json. To add a project, drop its ltp-model.yaml (and optional throughput.yaml) under a new slug, add a manifest entry, then build and publish:

sh skills/project-ltp/scripts/publish_dashboard.sh

This builds the dashboard and copies it to the repo-root dashboard/ directory that the site serves. The build first runs the configured throughput generators in skills/project-ltp/dashboard/throughput.config.json.

No bundled project currently defines a throughput track, so throughput.config.json holds an empty tracks list and the generator writes nothing. The 2R Research Circle project that used to carry one was removed on 2026-09-06: its model was the July 2026 project-ltp analysis, and the live model now lives in the Reason Commons space connected to the 2R-Research repository, which exports it to that repository as .reason-commons/<space-id>.ltp.json and measures throughput from the record rather than from Git history. A track can be added back for any project whose model is versioned in this repository.

Linking to a project or a tree

The open project and view are held in the URL, so any screen can be linked to directly — in an issue, a talk, or a message that says "look at this branch of the reality tree". The published site serves the dashboard as a single file, so the address is a hash on /dashboard/index.html:

LinkOpens
/dashboard/index.html#/the project picker
/dashboard/index.html#/second-renaissancethat project's overview
/dashboard/index.html#/second-renaissance/current-realityits Current Reality Tree

The first segment is the project's slug in projects/manifest.json; the second is the view id used in model.yaml — goal-tree, current-reality, evaporating-cloud, future-reality, prerequisite-tree, or transition-tree. A link to a tree the project has not modelled opens its overview instead, and an unknown project slug lands on the picker, so an out-of-date link degrades rather than breaking. The address bar updates as you move around, so a link can just be copied from it, and Back and Forward walk the views visited.

Local single-project dashboard

For any project containing ltp/ltp-model.yaml, run the local read-only server (it live-reloads as you edit the model):

python skills/project-ltp/scripts/serve_dashboard.py --project /path/to/project --open

The server prefers port 8765. If that port is occupied and --port was not specified, it automatically tries the next available port and prints the URL it selected. Pass --port 9000 when an exact port is required.

To explore the bundled remote-work toy fixture:

python skills/project-ltp/scripts/serve_dashboard.py \
  --project skills/project-ltp/evals/fixtures/dashboard --open

The server binds to 127.0.0.1, exposes only the known model files and bundled interface, and does not write to the analysed project.

How to use the graphical interface

  1. Start on Overview to follow the current constraint → next move → expected shift. Select any card to inspect its evidence and reasoning.
  2. Use the top navigation to switch between the Goal, Current Reality, Evaporating Cloud, Future Reality, Prerequisite, and Transition views. A disabled view has not yet been modelled in ltp/ltp-model.yaml.
  3. Pan or zoom the canvas, use the minimap for orientation, and drag nodes into a temporary arrangement. Layout changes are view-only and are not saved.
  4. Select a node to open its status, confidence, reasoning, source evidence, assumptions, causal connections, and membership in other views.
  5. Open Refine to filter nodes by evidence status and confidence. Open How to read this for the status legend.
  6. When a real ltp/throughput.yaml exists, use the Overview metrics and trend disclosure to inspect goal throughput and supporting flow signals. Git-derived node throughput also shows created, updated, and deleted totals plus the revisions and entity IDs that produced them. The dashboard intentionally shows no made-up metrics when that file is absent.

The dashboard polls the YAML files and refreshes after changes. To revise the analysis, ask Codex to update the canonical files under ltp/ (or edit them in an editor); the browser itself remains read-only. Stop the server with Ctrl+C in the terminal that launched it.

Built with LogoFlowershow