Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 31 additions & 31 deletions docs/ACCEPTANCE_DOSSIER.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,38 +100,38 @@ cargo run --manifest-path launcher/Cargo.toml

## 5. Requirement-to-Evidence Matrix (R01–R18 & L01–L12)

| Requirement ID | Specification | Implementation & Verification Evidence | Status |
| Requirement ID | Specification | Implementation & Verification Evidence | Verification Status |
| :--- | :--- | :--- | :--- |
| **R01** | Lightweight startup | Backend boots without `torch`; cloud mode requires 0 local GPU. Verified by `test_health.py` and `test_m1_core.py`. | **VERIFIED** |
| **R02** | Device readiness | `/api/v1/hardware/readiness` inspects NVIDIA GPU, VRAM, and storage without modifying system drivers. Verified by `test_m5_release.py`. | **VERIFIED** |
| **R03** | Managed engine installation | Isolated virtualenvs in `~/.ai-workflow/engine/`. Interrupted install recorded in manifest. Verified by `test_m2_engines.py`. | **VERIFIED** |
| **R04** | Existing engine connection | Connects to external engines via URL without modifying user directories. Verified by `test_comfy_bridge.py`. | **VERIFIED** |
| **R05** | Engine lifecycle | Supervised Start, Stop, and Status. Probes HTTP responsiveness. External processes preserved. Verified by `test_m2_engines.py`. | **VERIFIED** |
| **R06** | Infinite canvas | React Flow infinite canvas with pan/zoom, card selection, contextual image actions, and zero spaghetti wires. Verified by `FlowCanvas.tsx`. | **VERIFIED** |
| **R07** | Image creation | Prompt, aspect ratio, seed, and model selection. Unsupported combinations explain what is missing. Verified by `test_cancellation_and_actions.py`. | **VERIFIED** |
| **R08** | Inpainting | Canvas-aligned mask drawing tool (`InpaintModal.tsx`), natural dimension scaling, prompt editing, and result placement. Verified by `test_m3_creative.py`. | **VERIFIED** |
| **R09** | Upscaling and export | 2×/4× resolution upscaling (`UpscaleModal.tsx`), thumbnail dimension preview, and local export/download (`ImageCardNode.tsx`). | **VERIFIED** |
| **R10** | Workflow templates | Curated macro graphs for txt2img, img2img, inpaint, upscale. Node inputs validated. Verified by `test_macro_compiler.py`. | **VERIFIED** |
| **R11** | Model inventory | Non-destructive scanning of safetensors/checkpoints. Detects architectures (SDXL, SD1.5, Flux, LoRA) and missing VAE/CLIP. Verified by `test_m5_release.py`. | **VERIFIED** |
| **R12** | Directory management | Add/remove model roots via CLI and GUI without deleting files. Verified by `test_m5_release.py` and `EnvironmentManagerModal.tsx`. | **VERIFIED** |
| **R13** | BYOK cloud | Local credential storage for OpenAI, Fal.ai, SiliconFlow. Secrets redacted and never saved to canvas or git. Verified by `test_m4_cloud.py`. | **VERIFIED** |
| **R14** | Task lifecycle & cancellation | Queued, running, completed, error, and cancelled states. REST cancel endpoints (`/api/v1/tasks/{id}/cancel`, `/api/v1/workflow/cancel/{id}`) with truthful cloud disclosure. Verified by `test_cancellation_and_actions.py`. | **VERIFIED** |
| **R15** | Persistence & asset adoption | SQLite database saves projects, assets, and canvas state. Remote cloud URLs adopted into local content-addressable storage. Verified by `test_m1_core.py` and `test_m4_cloud.py`. | **VERIFIED** |
| **R16** | Deterministic caching | Hash calculated from action, prompt, model, seed, input image, and mask hashes. Identical inputs reuse cache; parameter changes re-execute. Verified by `test_dag_cache.py`. | **VERIFIED** |
| **R17** | Portable architecture | OS-specific process flags behind adapters (`launcher/src/backend.rs`). Portable core tested with 73 automated tests. | **VERIFIED** |
| **R18** | Native entry points | Opens configured native UI (`/api/v1/runtime/{engine}/ui`) without hardcoded assumptions. | **VERIFIED** |
| **L01** | Single entry point | Windows release package requires zero developer tools. Verified by `smoke-test-package.ps1` with sanitized PATH. | **VERIFIED** |
| **L02** | Accurate startup | 4-stage readiness check in Rust launcher. Missing frontend renders diagnostic HTML error rather than blank page. Verified by `test_m6_launcher_manager.py`. | **VERIFIED** |
| **L03** | No duplicate processes | Windows Named Mutex (`Global\BerryAIStudioLauncherMutex`) focuses existing workspace on second launch. Port collisions detected with diagnostic guidance. | **VERIFIED** |
| **L04** | Clear status | `/api/v1/manager/status` and `berry.exe status` aggregate core, engines, cloud, models, and active tasks. Verified by `test_m6_launcher_manager.py`. | **VERIFIED** |
| **L05** | Controlled engines | Managed engines install, start, stop, and update independently. External engines are never stopped or modified. | **VERIFIED** |
| **L06** | Recovery | Actionable error messages and retry paths for broken virtualenvs, port conflicts, and interrupted updates. | **VERIFIED** |
| **L07** | Shutdown policy | `/api/v1/manager/shutdown` and `berry stop` check active tasks; non-forced exit returns HTTP 409 if generations are running. Verified by `test_cancellation_and_actions.py`. | **VERIFIED** |
| **L08** | Updates separation | Application updates (`POST /api/v1/updates/app`) and engine updates (`POST /api/v1/runtime/{engine}/update`) are separate operations. Verified by `test_m6_launcher_manager.py`. | **VERIFIED** |
| **L09** | Launcher portability | Windows-specific Named Mutex and process creation behind `#[cfg(windows)]`. Cross-platform HTTP/TCP core. | **VERIFIED** |
| **L10** | Model inventory in launcher | `berry models list/roots/add-root/remove-root` CLI and GUI Environment Manager. Reuses backend model store. | **VERIFIED** |
| **L11** | Rust launcher boundary | Launcher implemented in Rust (`launcher/`), interacting with backend via REST API (`/api/v1/manager/*`). | **VERIFIED** |
| **L12** | Safe engine updates & rollback | Before engine update, active tasks are checked. Pre-update git commit captured; on failure, `git checkout <commit>` restores code. Preserves models and configs. Verified by `test_m6_launcher_manager.py`. | **VERIFIED** |
| **R01** | Lightweight startup | Backend boots without `torch`; cloud mode requires 0 local GPU. Verified by `test_health.py` and `test_m1_core.py`. | **MOCK_VERIFIED** |
| **R02** | Device readiness | `/api/v1/hardware/readiness` inspects NVIDIA GPU, VRAM, and storage without modifying system drivers. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **R03** | Managed engine installation | Isolated virtualenvs in `~/.ai-workflow/engine/`. Interrupted install recorded in manifest. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **R04** | Existing engine connection | Connects to external engines via URL without modifying user directories. Verified by `test_comfy_bridge.py`. | **MOCK_VERIFIED** |
| **R05** | Engine lifecycle | Supervised Start, Stop, and Status. Probes HTTP responsiveness. External processes preserved. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **R06** | Infinite canvas | React Flow infinite canvas with pan/zoom, card selection, contextual image actions, and zero spaghetti wires. Verified in browser build. | **MOCK_VERIFIED** |
| **R07** | Image creation | Prompt, aspect ratio, seed, and model selection. Real Fal.ai and local ComfyUI RTX 3060 runs recorded. | **REAL_PROVIDER_VERIFIED** & **PHYSICAL_VERIFIED** |
| **R08** | Inpainting | Canvas-aligned mask drawing tool (`InpaintModal.tsx`), natural dimension scaling, prompt editing. Real Fal.ai run recorded. | **REAL_PROVIDER_VERIFIED** |
| **R09** | Upscaling and export | 2×/4× resolution upscaling (`UpscaleModal.tsx`), thumbnail dimension preview, and local export/download (`ImageCardNode.tsx`). Real Fal.ai run recorded. | **REAL_PROVIDER_VERIFIED** |
| **R10** | Workflow templates | Curated macro graphs for txt2img, img2img, inpaint, upscale. Node inputs validated. Verified by `test_macro_compiler.py`. | **MOCK_VERIFIED** |
| **R11** | Model inventory | Non-destructive scanning of safetensors/checkpoints. Detects architectures (SDXL, SD1.5, Flux, LoRA) and missing VAE/CLIP. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **R12** | Directory management | Add/remove model roots via CLI and GUI without deleting files. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **R13** | BYOK cloud | Local credential storage for OpenAI, Fal.ai, SiliconFlow. Secrets redacted and never saved to canvas or git. Real BYOK credentials verified. | **REAL_PROVIDER_VERIFIED** |
| **R14** | Task lifecycle & cancellation | Queued, running, completed, error, and cancelled states. REST cancel endpoints with truthful cloud disclosure. Verified by `test_cancellation_and_actions.py`. | **MOCK_VERIFIED** |
| **R15** | Persistence & asset adoption | SQLite database saves projects, assets, and canvas state. Remote cloud URLs adopted into local content-addressable storage. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **R16** | Deterministic caching | Hash calculated from action, prompt, model, seed, input image, and mask hashes. Identical inputs reuse cache; parameter changes re-execute. Verified by `test_dag_cache.py`. | **MOCK_VERIFIED** |
| **R17** | Portable architecture | OS-specific process flags behind adapters (`launcher/src/backend.rs`). Cross-platform code paths passing unit tests. | **SOURCE_COMPATIBLE** |
| **R18** | Native entry points | Opens configured native UI (`/api/v1/runtime/{engine}/ui`) without hardcoded assumptions. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L01** | Single entry point | Windows release package requires zero developer tools. Verified by `smoke-test-package.ps1` with sanitized PATH. | **PHYSICAL_VERIFIED** |
| **L02** | Accurate startup | 4-stage readiness check in Rust launcher. Missing frontend renders diagnostic HTML error rather than blank page. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L03** | No duplicate processes | Windows Named Mutex (`Global\BerryAIStudioLauncherMutex`) focuses existing workspace on second launch. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L04** | Clear status | `/api/v1/manager/status` and `berry.exe status` aggregate core, engines, cloud, models, and active tasks. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L05** | Controlled engines | Managed engines install, start, stop, and update independently. External engines are never stopped or modified. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L06** | Recovery | Actionable error messages and retry paths for broken virtualenvs, port conflicts, and interrupted updates. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L07** | Shutdown policy | `/api/v1/manager/shutdown` and `berry stop` check active tasks; non-forced exit returns HTTP 409 if generations are running. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L08** | Updates separation | Application updates (`POST /api/v1/updates/app`) and engine updates (`POST /api/v1/runtime/{engine}/update`) are separate operations. Verified by `test_m6_launcher_manager.py`. | **MOCK_VERIFIED** |
| **L09** | Launcher portability | Windows-specific Named Mutex and process creation behind `#[cfg(windows)]`. Cross-platform HTTP/TCP core. | **SOURCE_COMPATIBLE** |
| **L10** | Model inventory in launcher | `berry models list/roots/add-root/remove-root` CLI and GUI Environment Manager. Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L11** | Rust launcher boundary | Launcher implemented in Rust (`launcher/`), interacting with backend via REST API (`/api/v1/manager/*`). Verified on host rig. | **PHYSICAL_VERIFIED** |
| **L12** | Safe engine updates & rollback | Before engine update, active tasks are checked. Pre-update git commit captured; on failure, `git checkout <commit>` restores code. Verified by `test_m6_launcher_manager.py`. | **MOCK_VERIFIED** |

---

Expand Down
14 changes: 7 additions & 7 deletions docs/ROADMAP_POST_V0_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ This roadmap operationalizes the long-term approved technical directions for Ber

## 2. Dependency-Ordered Milestones & Implementation Status

| Milestone | Title & Focus Area | Implementation PR | Status on `dev` | Verification Evidence |
| Milestone | Title & Focus Area | Implementation PRs | Status on `dev` | Verification Evidence & Tier |
| :--- | :--- | :--- | :--- | :--- |
| **M7** | Video Generation & Usable Video Creation Journey | [PR #11](https://github.com/BerryUIKI/AI-Studio/pull/11) | **Merged** (`64cd55c`) | `test_m7_video.py` (7/7 passed), SVD XT / AnimateDiff macro compilers, Fal / SiliconFlow cloud video, canvas video cards |
| **M8** | Documented Unified Berry CLI for Creation & Management | [PR #12](https://github.com/BerryUIKI/AI-Studio/pull/12) | **Merged** (`8e394dd`) | `test_m8_cli.py` (3/3 passed), Rust tests (2/2 passed), `berry run/tasks/system`, [`docs/CLI_REFERENCE.md`](CLI_REFERENCE.md) |
| **M9** | Conversational Agent Control of Existing Workflows & Engines | [PR #13](https://github.com/BerryUIKI/AI-Studio/pull/13) | **Merged** (`1260722`) | `test_m9_agent.py` (6/6 passed), `AgentService`, transparent `AgentProposal`, human-in-the-loop gate, frontend `AgentPanel` |
| **M10** | Agent-Assisted Construction, Validation, Repair of Workflows | [PR #14](https://github.com/BerryUIKI/AI-Studio/pull/14) | **Merged** (`60c3620`) | `test_m10_workflow_repair.py` (6/6 passed), ComfyUI DAG syntax & port validator, automated heuristic repair engine |
| **M11** | Local Inference on Selected Non-NVIDIA Discrete GPUs | [PR #15](https://github.com/BerryUIKI/AI-Studio/pull/15) | **Merged** (`7f700b2`) | `test_m11_hardware.py` (4/4 passed), AMD/Intel/Apple GPU detection, DirectML flags, [`docs/SUPPORT_MATRIX.md`](SUPPORT_MATRIX.md) |
| **M12** | Cross-Platform Desktop Adapters (macOS Metal & Linux) | [PR #16](https://github.com/BerryUIKI/AI-Studio/pull/16) | **Merged** (`2551796`) | `test_m12_cross_platform.py` (4/4 passed), Unix domain socket single instance, cross-platform browser, [`docs/PLATFORM_PORTABILITY.md`](PLATFORM_PORTABILITY.md) |
| **M7** | Video Generation & Usable Video Creation Journey | [PR #11](https://github.com/BerryUIKI/AI-Studio/pull/11), [PR #20](https://github.com/BerryUIKI/AI-Studio/pull/20) | **Merged** (`64cd55c`, `befb14d`) | **Mocked Verification**: `test_m7_video.py` (7/7 passed), SVD XT / AnimateDiff macro compiler, MIME detection, container vs. animated WebP handling. (Live cloud video generation requires funded BYOK keys). |
| **M8** | Documented Unified Berry CLI for Creation & Management | [PR #12](https://github.com/BerryUIKI/AI-Studio/pull/12) | **Merged** (`8e394dd`) | **Physical Hardware Verified**: Rust CLI binary execution on Windows 11 host (`test_m8_cli.py`, `cargo test`, `berry.exe run/tasks/system`). |
| **M9** | Conversational Agent Control of Existing Workflows & Engines | [PR #13](https://github.com/BerryUIKI/AI-Studio/pull/13), [PR #18](https://github.com/BerryUIKI/AI-Studio/pull/18) | **Merged** (`1260722`, `3cf860a`) | **Mocked Verification**: `test_m9_agent.py` (6/6 passed), `AgentService`, deterministic keyword/regex intent parsing, transparent `AgentProposal`, human-in-the-loop gate. |
| **M10** | Agent-Assisted Construction, Validation, Repair of Workflows | [PR #14](https://github.com/BerryUIKI/AI-Studio/pull/14), [PR #18](https://github.com/BerryUIKI/AI-Studio/pull/18) | **Merged** (`60c3620`, `3cf860a`) | **Mocked Verification**: `test_m10_workflow_repair.py` (9/9 passed), ComfyUI DAG syntax & port validator, ambiguity guards, same-family model substitution blocker. |
| **M11** | Local Inference on Selected Non-NVIDIA Discrete GPUs | [PR #15](https://github.com/BerryUIKI/AI-Studio/pull/15), [PR #19](https://github.com/BerryUIKI/AI-Studio/pull/19) | **Merged** (`7f700b2`, `c35f3b1`) | **Mocked Verification**: `test_m11_hardware.py` (5/5 passed), AMD/Intel GPU detection via WMI/ROCm, DirectML launch flags. (Physical AMD/Intel hardware runs unverified in this session). |
| **M12** | Cross-Platform Desktop Adapters (macOS Metal & Linux) | [PR #16](https://github.com/BerryUIKI/AI-Studio/pull/16), [PR #19](https://github.com/BerryUIKI/AI-Studio/pull/19) | **Merged** (`2551796`, `c35f3b1`) | **Source Compatibility**: `test_m12_cross_platform.py` (4/4 passed), Unix domain socket single instance, cross-platform browser launchers. (Native packaging and macOS/Linux runtime binaries unverified). |

---

Expand Down
Loading
Loading