[codex] Extend local FlowChain control-plane API#114
Conversation
|
HQ review note, 2026-05-13: this draft matches the #101 control-plane lane and its CI is passing. Please link issue #101 in the PR body before merge. Merge order: after #111 lands; it should precede #112 if the workbench depends on these expanded methods, and coordinate with #113 for bridge observation/credit intake. Main review focus: no-secret response scan coverage, transaction_submit/bridge_observation_submit contracts, package command compatibility with #111/#113, and no hosted/production API claim. |
|
HQ review blocker, 2026-05-14: before merge readiness review, please add a dedicated |
|
HQ reconciliation note, 2026-05-14: GitHub now shows linked control-plane issue #101 as closed. Before merge review, please either close this draft if it was superseded by merged main, or refresh the PR body with the exact remaining delta and a new/open issue reference for anything still needed. |
Summary
Extends the existing
services/control-planeAPI in place for the FlowChain private/local testnet control plane. The loader now prefers ignored livedevnet/local/state and handoff files, then falls back to committed deterministic fixtures.Adds JSON-RPC and browser-safe HTTP helper coverage for node status, peers, mempool, accounts, balances, faucet status, wallet public metadata, AgentAccount, ModelPassport, WorkReceipt, ArtifactAvailabilityProof, VerifierModule, VerifierReport, MemoryCell, Challenge, FinalityReceipt, bridge observations/deposits/credits, withdrawals, provenance, and raw JSON.
Adds local write intake for
transaction_submit/POST /transactions, forwarding test transactions to the existing Rust devnetsubmit-fixturepath, plus bridge observation intake throughbridge_observation_submit/POST /bridge/observations.Scope
Allowed folders used:
services/control-plane/docs/FLOWCHAIN_CONTROL_PLANE_API.mddocs/INDEXER_VERIFIER_MVP.mdpackage.jsonForbidden folders were not edited.
Worktree:
E:\FlowMemory\flowmemory-indexerValidation
npm testpassednpm run control-plane:smokepassed with 57 JSON-RPC calls andnoSecretResponseScan: passedgit diff --checkpassedAttempted:
npm run flowchain:full-smokestops at the existing prerequisite gate becauseapps/dashboard/node_modulesandcrypto/node_modulesare not installed locally. I did not install those because they are outside this task's allowed edit scope.Risks and Follow-ups
node_statusreportslongRunningNode: false.transaction_submitqueues transactions; block production remains in the existing devnet run paths.HQ Required Review Metadata (2026-05-14)
Issue status: Original #101 lane is closed on GitHub; needs new/open issue if work remains
Worktree / branch ownership: E:\FlowMemory\flowmemory-indexer
Allowed folders: services/control-plane/, docs/FLOWCHAIN_CONTROL_PLANE_API.md, docs/INDEXER_VERIFIER_MVP.md, package.json
Forbidden folders: crates/, crypto/, contracts/, apps/dashboard/, hardware/, unrelated services/
Exact checks recorded:
HQ readiness: Draft; merge state DIRTY; close as superseded or refresh against current main and a new/open issue.