feat: real user flow validation scripts + heartbeat timing fixes#282
Open
feat: real user flow validation scripts + heartbeat timing fixes#282
Conversation
c040301 to
e9683b1
Compare
Introduces pi-autoresearch integration with 10 flow scripts that exercise every documented user journey from getting-started.md and monetize-inference.md. Flow scripts (flows/): - flow-01: prerequisites (Docker, Ollama, obol binary) - flow-02: stack init + up + verify (getting-started §1-2) - flow-03: LLM inference chain (getting-started §3a-3d) - flow-04: agent init + inference (getting-started §4-5) - flow-05: network add/remove (getting-started §6) - flow-06: sell setup — pricing, ServiceOffer, heartbeat wait (monetize §1.1-1.4) - flow-07: sell verify — tunnel, routes, 402, metrics (monetize §1.5-1.7) - flow-08: buy — discovery, 402 parse, EIP-712 payment, settlement (monetize §2) - flow-09: lifecycle — stop, delete, cleanup verification (monetize §4) - flow-10: Anvil fork + x402-rs facilitator setup (monetize §3) Bug fixes found by the flow scripts: - ensureHeartbeatActive() — heartbeat stuck at 30m default after obol agent init - patchHeartbeatAfterSync() — SyncAgentBaseURL helmfile sync was resetting heartbeat - validateRPCEndpoint() — obol network add was accepting invalid URLs - Doc corrections: LiteLLM auth, eRPC path, /skill.md vs /.well-known Test account keys are derived at runtime from the Anvil mnemonic via `cast wallet private-key` — no private keys in source. Closes #280
e9683b1 to
e56ae6d
Compare
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces pi-autoresearch integration for automated real user flow validation, plus Go bug fixes and doc corrections discovered during the overnight run.
Commit 1: Flow scripts + autoresearch harness
10 bash flow scripts that exercise every documented user journey from
docs/getting-started.mdanddocs/guides/monetize-inference.md:All commands use the real
obolbinary — nogo run, no directkubectl, no pod IP access.Commit 2: Bug fixes found by the flow scripts
Timing (closes #280):
ensureHeartbeatActive()— heartbeat was stuck at 30m default afterobol agent initpatchHeartbeatAfterSync()—SyncAgentBaseURLhelmfile sync was resetting heartbeat configreadCurrentAgentBaseURL()— skip sync when tunnel URL unchanged (idempotency)CLI validation:
validateRPCEndpoint()inobol network add— reject invalid URLsDoc corrections:
/rpc/evm/{chainId}(local-only, not via tunnel)/skill.md(always available) vs/.well-known(requires--register)Discovery method
Overnight pi-autoresearch session: 44 → 133 steps passing across 50+ experiments. The agent autonomously ran flow scripts, diagnosed failures, fixed Go code and flow scripts, and re-validated — all while
go build/go testacted as backpressure.Test plan
go build ./...passesgo test ./internal/{agent,tunnel,network,openclaw,model}/passesbash flows/flow-01-prerequisites.shthroughflow-09-lifecycle.shon fresh cluster