Docs

Features

Studio

The web app that reads the record: work in flight, measures over time, and every repository one owner governs. It reads; it never decides.

Web app
Read-only
Local
Reads the Log

About Studio

Studio is the harness's reader. It shows you what your runs did, using only what was recorded.

It answers three kinds of question:

  • Work in flight. What is happening, for how long, and who must act.
  • Over time. The ten questions the Log exists to answer, plus a confidence comparison, as statistics and conclusions.
  • Across repositories. Every repository one owner governs, on one page.

Studio is a harness feature. It reads the Log contract, which is the same for every process. Its screens speak the Vinaya process's vocabulary: rounds, verdicts, pauses, tranches and the nine derived statuses described in the Overview.

How it works

Studio has two inputs:

  • The Log, for execution history. Studio reads Log events and nothing else to know what ran. The Log is a log server or the local log folder. Where a generic family has no event of its own, Studio works it out from the events that exist. See Events.
  • The forge, for presentation only. Task titles, kinds, pull request state, merge state and who merged. Without the forge the screen is still correct, just plainer.

What Studio never does:

  • It never decides. It does not touch control state. It does not start, resume, cancel or merge, and it holds no forge-write credential.
  • It never claims more than the record supports. A task that stopped reporting is shown as presumed dead, with its silence stated. A pause with no recorded reason claims nothing. Merged appears only where a source outside the Log says so.
  • It never asks the Log to record more. If a fact is not in the Log, Studio shows less.

What Studio shows

Start Studio

Run Studio from inside a governed repository:

vinaya studio

To choose the port yourself:

vinaya studio --port <n>
  1. 1

    The launcher finds your repository

    Before the server starts, the launcher resolves which repository it is in. It passes the repository (AEG_REPO, as owner/repo) and your working directory (VINAYA_REPO_ROOT) into the server's environment.

  2. 2

    It finds the Studio app

    From a checkout that carries the Studio web app, it runs that (workspace). Otherwise it runs the Studio build bundled into the installed @attalabs/vinaya package (package). If neither is there (missing), it refuses and tells you how to install it.

  3. 3

    It picks a port

    Studio uses port 3008 by default, or 3108 if 3008 is taken. A port you pass with --port is used exactly, or refused; it is never moved.

  4. 4

    It binds to your machine only

    Studio listens on loopback (127.0.0.1) unless your own HOSTNAME says otherwise.

Configuration

Studio has no keys of its own. It reads:

SettingWhat Studio uses it for
logsWhere the Log is: a destination folder, or a server with its readHeaders
.vinaya/projects.mdRead by the dashboard, beside the forge
vinaya.config.jsonThe repository's settings

Both files are read from the repository root Studio was launched in. See The file and its keys.

What gets logged

Nothing. Studio reads the Log and never writes to it.

Troubleshooting

What's next