244 lines
14 KiB
JSON
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": false,
|
|
"notes": "Reopened after strict source audit: current overview is closer than before but still custom in grammar and component topology."
|
|
},
|
|
{
|
|
"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": false,
|
|
"notes": "Reopened after strict source audit: current runs page keeps real runtime data but still uses custom card grammar."
|
|
}
|
|
]
|
|
}
|