297 lines
17 KiB
JSON
297 lines
17 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."
|
|
},
|
|
{
|
|
"id": "US-018",
|
|
"title": "Restore approvals shell and inspector grammar to original review surface",
|
|
"description": "As an operator, I want approvals and review grouping to mirror the original Electron review surface so that decision work feels identical.",
|
|
"acceptanceCriteria": [
|
|
"Approvals page restores source-aligned review grouping and pending approval inspector grammar",
|
|
"Typecheck passes",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 18,
|
|
"passes": true,
|
|
"notes": "Passed: approvals now restore a source-aligned grouped review list on the upper half instead of custom parallel cards, while the pending approval list/detail decision surface stays wired to real approval state transitions."
|
|
},
|
|
{
|
|
"id": "US-019",
|
|
"title": "Restore document center and editor grammar to original operational surface",
|
|
"description": "As an operator, I want the native document center to mirror the original Electron prose/work-product/editor hierarchy so that company documents feel unchanged.",
|
|
"acceptanceCriteria": [
|
|
"Document Center restores source-aligned list, work-product, and editor grammar",
|
|
"Typecheck passes",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 19,
|
|
"passes": true,
|
|
"notes": "Passed: Document Center now restores a source-like shell with section header, prose list, work-product list, and a dedicated editor/inspector column while preserving the existing native save path."
|
|
},
|
|
{
|
|
"id": "US-020",
|
|
"title": "Restore inbox and messages operational grammar to original communication surfaces",
|
|
"description": "As an operator, I want inbox and messages to mirror the original Electron communication hierarchy so that routing, filtering, and thread inspection feel identical.",
|
|
"acceptanceCriteria": [
|
|
"Inbox and messages restore source-aligned shell grammar and interaction sequence",
|
|
"Typecheck passes",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 20,
|
|
"passes": false,
|
|
"notes": "Opened after strict current-directory-only source audit."
|
|
},
|
|
{
|
|
"id": "US-021",
|
|
"title": "Run current-directory-only final UI parity re-audit",
|
|
"description": "As a maintainer, I want a final parity audit constrained to current-directory files so that we can honestly track what is still off-source without touching parent repos.",
|
|
"acceptanceCriteria": [
|
|
"Current-directory native surfaces are re-audited against original source files",
|
|
"Remaining deviations are documented in current-directory artifacts only",
|
|
"cargo clippy --workspace --all-targets --all-features -- -D warnings passes",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 21,
|
|
"passes": false,
|
|
"notes": "Opened after all current-directory surface stories close."
|
|
}
|
|
]
|
|
}
|