agentappflow-app is the primary product repo for AgentAppFlow. The product is Mac-first in UX, local-only in execution, Python-first for AI cognition, and Rust-enforced for privileged operations.
The app does not depend on a hosted backend. User projects keep their framework state in a visible .agentappflow/ directory so the project contract is inspectable, portable, and discoverable by local AI agents.
Responsibilities:
- onboarding and project registration
- settings and approval controls
- session history and framework health views
- user-facing controls for self-improvement mode and memory visibility
The Swift app is the human control plane. It does not implement agent cognition or directly perform privileged repo mutations.
Responsibilities:
- project bootstrap generation
- AI orchestration and tool routing
- memory ingestion, indexing orchestration, and retrieval
- task retrospectives and framework update proposals
- HyperAgent-inspired internal role coordination
The Python core is the AI brain. It owns the high-level workflow, but it must not bypass Rust for guarded writes or privileged command execution.
Responsibilities:
- command execution policy
- filesystem mutation guardrails
- diff validation and audit records
- future sandboxed execution of sensitive operations
Rust is the trust boundary for risky local actions. It validates requests, executes or rejects them, and returns structured execution metadata.
- transport: local Unix domain socket
- protocol: JSON-RPC
- purpose: app-driven commands such as project registration, session start, approval changes, and retrospective generation
- transport: JSON over stdio per invocation
- purpose: request policy-checked execution, guarded file writes, command runs, and audit metadata
This split keeps the UI responsive, the AI runtime flexible, and the enforcement layer narrow and testable.
The initial command surface should include:
bootstrap_projectregister_projectstart_sessionrecord_task_resultgenerate_retrospectivepropose_framework_updateapply_framework_updateset_approval_mode
These commands are local APIs, not network APIs.
The Python core should coordinate four internal roles:
- Planner: turns a user task into an execution strategy
- Navigator: gathers repo context and project memory
- Editor: drafts framework or code changes
- Executor: asks the Rust layer to perform guarded actions
This borrows the role specialization pattern from HyperAgent while adapting it to a productized local workflow rather than benchmark-only task execution.
Each project exposes a configurable improvement mode:
observe: collect retrospectives and lessons onlypropose: generate framework updates and require approval before activationauto: apply framework-only improvements automatically
Default mode is propose.
In auto, the system may update only framework-owned paths inside .agentappflow/, specifically rules, templates, and proposal state. It must not silently rewrite arbitrary user source files outside the normal coding workflow.
- no backend services
- no cross-device sync
- no OS-agnostic app shell yet
- no attempt to make Rust the primary AI orchestration runtime
The first executable slice uses a SwiftUI onboarding shell that invokes a Python bootstrap CLI directly. Rust remains a deferred boundary for guarded execution and policy enforcement after the initial project-bootstrap workflow is working end to end.