feat: F∆I Studio MVP scaffold (Tier-2 desktop GUI)

Initial scaffold for the F∆I Platform Tier-2 generic GUI client.
Flutter Desktop (macOS, Linux, Windows). Three MVP pages with
mock data, sharing one navigation shell:

- Modules — installed modules with capabilities, declared
  permissions and required services.
- Audit — event-stream view with type filter and tone-coded
  rows (started / completed / failed).
- Approvals — pending system.approval@^0 reviews with prompt,
  payload preview, and approve/reject buttons.

Live gRPC connection arrives in the next iteration via
fai_dart_sdk (sibling repo, currently a typed stub).

Future Forgejo path: fai/studio. Local layout matches existing
fai_platform/ convention.

Background: see docs/architecture/client.md in the platform
repo. The tier-2 client was previously called "Stage" — renamed
to "Studio" on 2026-05-05 to avoid confusion with
"staging environment".

flutter analyze: clean. flutter test: 2/2.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-05-05 14:19:39 +02:00
commit a173eec1d0
68 changed files with 4277 additions and 0 deletions

50
README.md Normal file
View file

@ -0,0 +1,50 @@
# F∆I Studio
Desktop GUI client for the F∆I Platform hub. Tier-2 generic
platform client per `docs/architecture/client.md`. Connects to a
local or remote `fai 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 [`fai_dart_sdk`](../fai_dart_sdk) (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 `fai_studio/` follows the established
`fai_platform/` 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.