336 lines
20 KiB
JSON
336 lines
20 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": true,
|
|
"notes": "Passed: inbox and messages now use a tighter source-like communication shell with a simplified attention list panel, source-aligned count copy, and messages surfaces that remove off-source chrome like the message graph footer while preserving real channel/message interactions."
|
|
},
|
|
{
|
|
"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": true,
|
|
"notes": "Passed: current-directory-only final UI parity re-audit completed. All current-directory remediation stories are closed, ui-parity-audit.md was updated with the final status and known limits, and cargo clippy/test both pass."
|
|
},
|
|
{
|
|
"id": "US-022",
|
|
"title": "Tighten shared native surface tokens toward original desktop skin",
|
|
"description": "As an operator, I want shared cards, borders, fills, and density to match the original Electron desktop skin more closely so that every page feels visually identical, not just structurally similar.",
|
|
"acceptanceCriteria": [
|
|
"Theme tokens and shared surface density are refined toward screenshot-aligned desktop values",
|
|
"Current-directory UI pages keep passing typecheck and tests",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 22,
|
|
"passes": true,
|
|
"notes": "Passed: shared native surface tokens were tightened toward screenshot-aligned desktop values, warming the pane fills, softening borders, and refining selection/accent colors without touching parent-directory source files."
|
|
},
|
|
{
|
|
"id": "US-023",
|
|
"title": "Tighten messages and inbox visual chrome toward screenshot parity",
|
|
"description": "As an operator, I want communication surfaces to match the original visual chrome more closely so that thread selection, badges, spacing, and inspector feel identical.",
|
|
"acceptanceCriteria": [
|
|
"Messages and inbox surface density and chrome are refined toward screenshot/source parity",
|
|
"Typecheck passes",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 23,
|
|
"passes": true,
|
|
"notes": "Passed: messages and inbox chrome were tightened toward screenshot parity with calmer pane spacing, smaller radii, warmer sidebar treatment, lighter message avatar chrome, and denser list rows while keeping real interactions intact."
|
|
},
|
|
{
|
|
"id": "US-024",
|
|
"title": "Run final fine-grained current-directory visual audit",
|
|
"description": "As a maintainer, I want a final fine-grained visual audit of current-directory UI surfaces so that remaining differences are explicitly documented after the skin pass.",
|
|
"acceptanceCriteria": [
|
|
"ui-parity-audit.md is updated with fine-grained visual audit findings",
|
|
"cargo clippy --workspace --all-targets --all-features -- -D warnings passes",
|
|
"cargo test --workspace passes"
|
|
],
|
|
"priority": 24,
|
|
"passes": true,
|
|
"notes": "Passed: ui-parity-audit.md now records the fine-grained current-directory visual audit after the shared-skin and communication-skin passes, and the workspace still passes cargo clippy and cargo test."
|
|
}
|
|
]
|
|
}
|