Status: public tester guide for the current local/test FlowMemory release.
This guide is for people who want to try something real in the public repo and report useful feedback. The goal is not to prove production readiness. The goal is to make the local/test agent-memory, Agent Bonds, public-agent, SDK, CLI, and dashboard surfaces easy to reproduce and evaluate.
| Lane | What you test | Requires | Main command |
|---|---|---|---|
| Quick JS smoke | Public-agent helpers, SDK wrappers, agent-memory client, control-plane-backed flows | Node.js + npm | npm run public:test:quick |
| Public-agent contracts | Agent class/tool registries, launch factory, shell factory, swarms, budget vault | Foundry | npm run public:test:contracts |
| Local public-agent e2e | Full local public-agent + swarm script path | Foundry | npm run public:test:e2e |
| Dashboard/mobile workbench | React dashboard views, shared mobile UI surface, and production build | Node.js + npm | npm run public:test:dashboard |
| CLI / control-plane smoke | Public-agent and public-swarm CLI calls against a live local control-plane server | Node.js + npm | npm run public:test:cli |
| Public hardening gate | Public docs, scripts, issue-template, and CI wiring | Node.js + npm | npm run public:hardening |
| Full public local pass | All public tester lanes plus hardening and claim guardrails | Node.js + npm + Foundry | npm run public:test:all |
Authorized operators can also rehearse the Base Sepolia public-agent deployment plan and bounded readback path. That lane is not required for normal public testers because dry run, broadcast, and readback require local RPC and deployer credentials. If you only have Node.js, run the quick JS smoke first. If you also have Foundry, run the contract and e2e lanes.
git clone https://github.com/FlowmemoryAI/FlowMemory.git
cd FlowMemory
npm install
npm install --prefix apps/dashboardFoundry is required only for the Solidity lanes:
forge --versionDo not create or commit .env files for these tests. The public tester lanes use deterministic local/test data and do not require live private keys or RPC credentials.
Before reporting a public docs or setup problem, you can run the static public hardening gate:
npm run public:hardeningTo generate a paste-ready local report for GitHub:
npm run public:test:reportBy default this runs the quick JS smoke lane and writes public-safe JSON and Markdown files under reports/local/public-test-reports/. That folder is intentionally ignored by Git.
You can include more lanes:
npm run public:test:report -- --contracts --e2e
npm run public:test:report -- --allRun:
npm run public:test:quickThis exercises:
- public-agent launch preview and launch-intent helper code;
- public swarm launch preview and intent helper code;
- SDK wrapper method coverage;
- agent-memory SDK fixture/control-plane client flows.
Useful feedback:
- Did the command run without extra undocumented setup?
- Were failures clear enough to diagnose?
- Which Node/npm versions worked or failed?
Run:
npm run public:test:contractsThis runs the Foundry tests under tests/Public*.t.sol, including:
- class, tool, profile, bond, fuel, lineage, and receipt registries;
AgentFactorysigned launch flow and nonce rejection;- swarm creation, membership, budget lines, reservations, spends, and lifecycle transitions;
- shell factory checks.
Useful feedback:
- Did Foundry install cleanly on your platform?
- Did any contract test fail nondeterministically?
- Were public-agent or swarm concepts confusing from test names/output?
Run:
npm run public:test:e2eThis runs script/RunPublicAgentNetworkLocalE2E.s.sol:RunPublicAgentNetworkLocalE2E in local Foundry script mode. It deploys the public-agent and swarm stack locally, signs a deterministic launch intent, creates an agent, creates a swarm containing that agent, creates a budget line, reserves/releases budget, and records a spend.
Useful feedback:
- Did the script run on a clean clone?
- Were the emitted addresses and ids understandable?
- What output would make it easier to trust what happened?
Run:
npm run public:test:dashboardThen optionally start the dashboard:
npm run dev --prefix apps/dashboardOpen the local URL printed by Vite and review:
- Flow Memory / Rootflow views;
- Agent Bonds view;
- Public Agent Network view;
- Base canary boundary copy;
- raw JSON views.
- Mobile app purpose and boundary from
docs/MOBILE_APPS.md;
Useful feedback:
- Could you tell what was fixture-backed versus live?
- Were unsafe claims or production-sounding copy visible?
- Which view felt most real, and which felt like a placeholder?
- Is the mobile/operator app purpose clear from the dashboard and docs?
Fast path:
npm run public:test:cliManual setup is not required for this lane; the command starts and stops its own local server:
npm run public:test:cliThe smoke command starts a local control-plane server, runs the public-agent and public-swarm CLI checks against it, validates JSON schemas, and shuts the server down.
Useful feedback:
- Did the commands return useful JSON?
- Were field names understandable?
- What should the CLI summarize for non-protocol users?
Public-safe plan command:
npm run public-agent-network:base-sepolia:plan -- --deployer-address 0x69F55917209C446bf9d31D2903e01966B75a8cDe --jsonOperator-only dry run, broadcast, and readback commands are documented in docs/DEPLOYMENTS/BASE_SEPOLIA_PUBLIC_AGENT_NETWORK.md. Reports from that lane should include only public addresses, transaction hashes, contract addresses, bounded block ranges, event counts, and source-verification statuses. Never include private keys, RPC URLs, explorer API keys, or .env content.
If you want the repo to generate most of the report body, run:
npm run public:test:reportThen copy the generated .md file from reports/local/public-test-reports/ into the issue.
Open a GitHub issue using the Public Tester Report template and include:
- operating system;
- Node/npm/Foundry versions when relevant;
- exact commands run;
- whether each lane passed or failed;
- the first useful error, not a huge log dump;
- screenshots for dashboard issues;
- whether the docs matched what actually happened.
Never include private keys, seed phrases, RPC credentials, API keys, webhook URLs, wallet secrets, or private user data.
Good:
Lane: Public-agent contracts
OS: Windows 11
Command: npm run public:test:contracts
Result: failed
First error: forge could not find solc 0.8.24
Expected docs to mention the Foundry install command.
Good:
Lane: Dashboard workbench
Route: Public Agent Network
Result: passed
Feedback: The class/tool panels are understandable, but the swarm budget section needs a clear empty/live/prototype badge.
Not useful:
It did not work.
The maintainer can pin tester issues with the public-tester label. Good first missions are:
- Run
npm run public:test:quickon a clean clone. - Run
npm run public:test:contractson Windows, macOS, or Linux. - Run
npm run public:test:e2eand report the emitted local ids. - Run the dashboard and review public-agent / Agent Bonds copy for clarity.
- Start the control-plane and try the public-agent CLI commands.
- Review
docs/MOBILE_APPS.mdand confirm the Android/iOS boundary is clear.
Passing these tests means the local/test public surfaces are reproducible. It does not mean the contracts are audited, production-ready, mainnet-ready, or approved for uncapped value-bearing use.
Mobile note: Android shell code is committed and documented. iOS is a product track, but public testers should not expect a runnable iOS app until apps/dashboard/ios exists.