# Ch∆In Studio

Desktop GUI client for the Ch∆In Platform hub. Tier-2 generic
platform client per `docs/architecture/client.md`. Connects to a
local or remote `chain serve` over gRPC.

> **Status (2026-05-05):** MVP scaffold. Three pages with mock
> data, no live gRPC connection yet. Validates the visual
> direction before the Dart SDK is wired in.

## Pages (MVP scope)

1. **Modules** — installed modules, capabilities, declared
   permissions. Click → manifest detail.
2. **Audit** — live stream of hub events (when wired). Filter
   by event type and flow.
3. **Approvals** — pending `system.approval@^0` reviews with
   approve / reject buttons.

These three cover the platform's central properties:
**composition** (modules), **audit** (events),
**human-in-the-loop** (approvals).

## Stack

- Flutter 3.40+ (Desktop: macOS, Linux, Windows)
- gRPC client via [`chain_client_sdk`](../fai_chain_client_sdk_dart) (sibling
  repo; pinned by relative path during development)
- No external runtime dependencies; bundles its own Dart VM

## Run locally

```bash
flutter run -d macos
```

## Repo placement

Will be published as `fai/studio` on Forgejo (`git.flemming.ws`).
The local directory `chain_studio/` follows the established
`fai_chain/` layout convention.

## Why "Studio" and not "Stage"

"Stage" collided too easily with "staging environment" in
developer English. "Studio" is the established industry pattern
for creator-tools (Visual Studio, Android Studio, RStudio) and
matches the GUI's audience of module developers, operators, and
power users. The rename was applied across all `docs/` in the
platform repo on 2026-05-05.
