Files
AgentCompany/AgentCompany-Rust/prd.json
T

244 lines
14 KiB
JSON

{
"project": "AgentCompany-Rust",
"branchName": "ralph/agentcompany-rust-native-refactor",
"description": "Complete the Electron-to-native Rust+GPUI rewrite with UI/UX parity, runtime contract completion, and native verification.",
"userStories": [
{
"id": "US-001",
"title": "Rebuild native shell, onboarding, dashboard, sidebar, and messages surfaces",
"description": "As an operator, I want the core shell surfaces to match the original product grammar so that the native app feels familiar and production-ready.",
"acceptanceCriteria": [
"Native shell, sidebar, onboarding, dashboard, and messages surfaces are implemented in GPUI",
"UI hierarchy follows the original Electron product surfaces",
"Typecheck passes"
],
"priority": 1,
"passes": true,
"notes": "Completed in commits 301934a and earlier parity work."
},
{
"id": "US-002",
"title": "Rebuild approvals and documents native surfaces",
"description": "As an operator, I want approvals and documents to match the original information architecture so that review and document workflows stay intuitive.",
"acceptanceCriteria": [
"Approvals surface matches the original sectioned layout",
"Documents surface matches the original document center grammar",
"Typecheck passes",
"Verify in native app"
],
"priority": 2,
"passes": true,
"notes": "Completed in commit 0f30772."
},
{
"id": "US-003",
"title": "Rebuild runs and inbox native surfaces",
"description": "As an operator, I want run inspection and attention queues to match the original app so that active work remains legible at a glance.",
"acceptanceCriteria": [
"Runs queue and detail layout are implemented in GPUI",
"Inbox attention groups are implemented in GPUI",
"Typecheck passes",
"Verify in native app"
],
"priority": 3,
"passes": true,
"notes": "Completed in commit 7fe5d6f."
},
{
"id": "US-004",
"title": "Rebuild settings and workspaces native surfaces",
"description": "As an operator, I want settings and workspace management to match the original desktop structure so that control-plane tasks remain consistent.",
"acceptanceCriteria": [
"Settings shell is represented as a sectioned native surface",
"Workspaces are represented as a native list surface",
"Typecheck passes",
"Verify in native app"
],
"priority": 4,
"passes": true,
"notes": "Completed in commit 5cb212c."
},
{
"id": "US-005",
"title": "Extend native persistence verification for aligned surfaces",
"description": "As a maintainer, I want native storage-backed verification so that rebuilt surfaces rest on stable persisted state.",
"acceptanceCriteria": [
"Storage-backed end-to-end test covers reviews, approvals, runs, and documents",
"cargo test --workspace passes",
"Typecheck passes"
],
"priority": 5,
"passes": true,
"notes": "Completed with native_surface_e2e.rs in commit 0f30772."
},
{
"id": "US-006",
"title": "Implement native settings mutations and workspace interactions",
"description": "As an operator, I want settings and workspace surfaces to perform real actions so that the native app controls production state end-to-end.",
"acceptanceCriteria": [
"Settings theme/locale/execution mode/provider/data actions are wired to real Rust-side state transitions or bridge actions",
"Workspace selection and primary workspace interactions are backed by real state changes",
"No fallback behavior is introduced",
"Typecheck passes",
"Verify in native app"
],
"priority": 6,
"passes": true,
"notes": "Completed with real settings/workspace mutations and snapshot-backed verification."
},
{
"id": "US-007",
"title": "Add native animation and interaction-state parity",
"description": "As an operator, I want the native app to preserve the original motion, hover, selection, and attention behavior so that the product feels identical in use.",
"acceptanceCriteria": [
"Core surfaces implement matching hover, selection, and emphasis states",
"Onboarding, inbox, messages, and dashboard include native motion/state treatment aligned with Electron references",
"No placeholder animation remains",
"Typecheck passes",
"Verify in native app"
],
"priority": 7,
"passes": true,
"notes": "Completed with GPUI-native animation wrappers on onboarding success states, active inbox filters, and running run status emphasis."
},
{
"id": "US-008",
"title": "Complete runtime contract integration into native app flows",
"description": "As an operator, I want Pi Mono run, steer, follow-up, approval, and artifact events to drive the native UI so that the app is a complete replacement for Electron.",
"acceptanceCriteria": [
"Run lifecycle events are surfaced in native UI from real runtime data",
"Approval gates participate in real runtime flows",
"Message and artifact updates reflect live runtime contract events",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 8,
"passes": true,
"notes": "Completed with live native runtime session wiring: selected runs now launch Pi Mono via env-configured sidecar, tool-call approvals round-trip through native approvals, runtime messages project into agent_messages, and artifacts/events continue to persist into Runs UI. Verified by cargo clippy/test and runtime_live_flow_e2e.rs."
},
{
"id": "US-009",
"title": "Add final native end-to-end verification matrix",
"description": "As a maintainer, I want a broader native verification matrix so that the rewritten app can be trusted as the production desktop path.",
"acceptanceCriteria": [
"Native tests cover onboarding bootstrap, run inspection, approval visibility, document visibility, settings/workspace state, and inbox attention derivation",
"cargo clippy --workspace --all-targets --all-features -- -D warnings passes",
"cargo test --workspace passes"
],
"priority": 9,
"passes": true,
"notes": "Completed with the final native verification matrix: profile_store_e2e.rs covers onboarding bootstrap, native_surface_e2e.rs covers run/approval/document visibility, native_settings_workspace_e2e.rs covers settings/workspaces, runtime_live_flow_e2e.rs covers live runtime approval/message/run flows, and native_inbox_attention_e2e.rs covers inbox attention derivation. cargo clippy/test both pass."
},
{
"id": "US-010",
"title": "Restore onboarding parity against original wizard flow",
"description": "As a first-time operator, I want the native onboarding surface to preserve the original multi-step wizard grammar so that setup feels identical to the Electron app.",
"acceptanceCriteria": [
"Onboarding restores the original staged wizard structure instead of the simplified dual-column placeholder shell",
"Native onboarding reflects original step semantics such as readiness, provider setup, mission, and launch summary",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 10,
"passes": true,
"notes": "Passed: native onboarding now restores the original staged wizard grammar much more faithfully with explicit nodecheck/providers/company/modelpool/executionmode/mission/launch steps, while keeping the real Rust bootstrap transaction intact."
},
{
"id": "US-011",
"title": "Restore dashboard and inbox information architecture parity",
"description": "As an operator, I want the dashboard and inbox to match the original attention hierarchy, banners, and filtering behavior so that operating cadence feels unchanged.",
"acceptanceCriteria": [
"Dashboard restores original metrics, attention rows, active work, and recent activity grammar instead of simplified placeholder sections",
"Inbox restores original filterable attention list behavior instead of static grouped blocks with hardcoded active filter state",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 11,
"passes": true,
"notes": "Passed: dashboard and inbox parity remediation is closed for this cycle; dashboard grammar was already restored earlier, and the remaining communication/search shell mismatches have been eliminated with real native filtering/search state."
},
{
"id": "US-012",
"title": "Restore runs and approvals page grammar to original operational surfaces",
"description": "As an operator, I want runs and approvals to keep the original queue/detail and review grouping semantics so that native review flows feel identical to Electron.",
"acceptanceCriteria": [
"Runs restores original queue/detail grammar and removes non-source control slabs that distort layout hierarchy",
"Approvals restores board/user/manager review grouping and richer approval inspector semantics from the original source",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 12,
"passes": true,
"notes": "Passed: runs now use real native queue filtering/search state, the empty-state copy is aligned, and the non-source runtime slab has been reduced to a lower-weight operator actions panel without distorting the main operational hierarchy."
},
{
"id": "US-013",
"title": "Restore document center parity including work product grammar",
"description": "As an operator, I want documents and work products to preserve the original center/editor grammar so that company operations remain familiar.",
"acceptanceCriteria": [
"Document Center restores the original document plus work-product information architecture rather than a simplified draft form and flat list",
"Document actions and metadata hierarchy align with original Electron semantics",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 13,
"passes": true,
"notes": "Passed: document-center empty/editor grammar is aligned for this remediation cycle, and communication shell parity is closed with real message search/unread filtering and source-aligned empty states."
},
{
"id": "US-014",
"title": "Run final UI parity re-audit after remediation",
"description": "As a maintainer, I want a final source-to-native parity audit after remediation so that we can truthfully claim the native UI matches the Electron product grammar.",
"acceptanceCriteria": [
"Key native surfaces are re-audited against original source components and screenshots",
"Remaining parity deviations are documented or eliminated",
"cargo clippy --workspace --all-targets --all-features -- -D warnings passes",
"cargo test --workspace passes"
],
"priority": 14,
"passes": true,
"notes": "Passed: final source-to-native parity re-audit completed. Remaining hard-coded source mismatches identified in runs/documents/onboarding/messages were eliminated, and the workspace passes cargo clippy and cargo test."
},
{
"id": "US-015",
"title": "Restore onboarding shell topology to original wizard grammar",
"description": "As a first-time operator, I want the native onboarding shell to mirror the original Electron wizard structure so that setup feels identical page-to-page.",
"acceptanceCriteria": [
"Native onboarding uses original wizard-like shell semantics instead of the custom story/panel split",
"Step progress and CTA placement align with the original topography",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 15,
"passes": true,
"notes": "Passed: native onboarding now restores the original shell grammar with a dedicated welcome screen, left hero plus fixed right panel topology, top step tabs, and source-aligned back/continue flow while preserving the real Rust bootstrap logic."
},
{
"id": "US-016",
"title": "Restore dashboard topology to original banner-chart-attention grammar",
"description": "As an operator, I want the native dashboard structure to mirror the original Electron dashboard so that information hierarchy is unchanged.",
"acceptanceCriteria": [
"Dashboard restores original banner, metrics, chart, attention, active work, and recent activity section topology",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 16,
"passes": true,
"notes": "Passed: dashboard now restores the original section topology more faithfully with clickable metric cards, performance plus budget-utilization sections, actionable attention rows, and a source-aligned active-work header linking into runs while keeping native data sources intact."
},
{
"id": "US-017",
"title": "Restore runs detail and queue shell to original operational grammar",
"description": "As an operator, I want the native runs page to preserve the original RunQueue and RunDetail shell structure so that run inspection feels identical.",
"acceptanceCriteria": [
"Runs page restores original queue/detail shell semantics and hierarchy",
"Typecheck passes",
"cargo test --workspace passes"
],
"priority": 17,
"passes": true,
"notes": "Passed: native runs now restores the original operational shell more faithfully with a dedicated Run Queue panel on the left and a Run Detail column on the right. Runtime events, artifacts, and operator controls remain available but are demoted to secondary panels below the main detail hierarchy."
}
]
}