docs: fix ops gaps and architecture.md accuracy (COW-1001 + COW-1002)#85
Conversation
COW-1001 [F14]:
- .env.example: fix stale C1/C5 names, add escape-hatch tags per flag
- ponder.config.ts: set ethGetLogsBlockRange: 1000 per chain to prevent
InvalidInputRpcError retry storms against providers with a 1k-block cap
- docs/api-reference.md: document that dev uses port 42069, prod uses 3000
- docs/deployment.md: add sections for dev vs start restart semantics,
multichain ordering behavior, and RPC provider block-range limits
COW-1002 [F21]:
- docs/architecture.md: replace hardcoded counts ("Eight order types",
"Five live-only block handlers", C1–C5 references) with links to source
- data-flow diagram: redraw as three parallel on-chain streams converging
at the schema tables, rather than a single sequential chain of arrows
- block handler section: rename to semantic names (OrderDiscoveryPoller,
CandidateConfirmer, OrderStatusTracker, OwnerBackfill, CancellationWatcher)
- candidate_discrete_order: add "Why candidate orders?" motivational paragraph
- order types section: restructure as deterministic vs non-deterministic
rather than a hardcoded count
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The new data-flow diagram correctly reflects the three parallel event streams (ComposableCoW, CoWShedFactory, GPv2Settlement) and uses the new semantic handler names throughout — no C1–C5 references remain in One gap: the Debug / Performance Flags table in |
Documentation / CI review
Overall: Two items to fix before merge — update the three rows in the Debug/Performance Flags table in |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
yvesfracari
left a comment
There was a problem hiding this comment.
It seems to me that there is still something missing here:
- "How to tell if the indexer is caught up" doc
- Remove chain specific things from architecture
…up" section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs/api-reference.md: document Ponder built-in /health and /ready endpoints - docs/architecture.md: fix GPv2Settlement description — Settlement event triggers the handler; Trade logs in the receipt identify the adapter address - docs/deployment.md: mark QuickNode block range as unverified; add ETH_GET_LOGS_BLOCK_RANGE_<chainId> entry - ponder.config.ts: make ethGetLogsBlockRange configurable via ETH_GET_LOGS_BLOCK_RANGE_<chainId> - .env.example: document ETH_GET_LOGS_BLOCK_RANGE_<chainId> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
10k blocks on paid plans, 5 blocks on free trial (verified against QuickNode docs). Free trial is effectively unusable for backfill. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nge and semantic handler names Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…001) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Addressed both points: "How to tell if the indexer is caught up" — Added a "Checking If the Indexer Is Caught Up" section to "Remove chain-specific things from architecture" — Removed the hardcoded chain IDs, block numbers, and contract addresses from |
… Known Limitations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Grant Review Findings
[F14] Document remaining ops gaps — MINOR (docs/ops) (COW-1001)
[F21] Fix
docs/architecture.mdaccuracy, hardcoded counts, and repeated owner-resolution sections — MINOR (docs accuracy/maintainability) (COW-1002)Summary
COW-1001 [F14] — Ops gaps:
.env.example: remove staleC1 ContractPoller/C5 DeterministicCancellationSweepernames; add# escape-hatch/# prodtags per flagponder.config.ts: addethGetLogsBlockRange: 1000per chain — preventsInvalidInputRpcErrorretry storms against providers with a 1k-block cap during backfilldocs/api-reference.md: document thatpnpm devuses port 42069,pnpm start/Docker uses port 3000docs/deployment.md: new sections forpnpm devvspnpm startrestart semantics, multichain ordering behavior, and RPC provider block-range limits tableCOW-1002 [F21] —
docs/architecture.mdaccuracy:OrderDiscoveryPoller,CandidateConfirmer,OrderStatusTracker,OwnerBackfill,CancellationWatcher)candidate_discrete_order: added "Why candidate orders?" motivational paragraph explaining the watch-tower posting gap and precompute-then-confirm patternTest plan
pnpm typecheck— passespnpm test— 19/19 passingponder.config.tshasethGetLogsBlockRange: 1000on both chains🤖 Generated with Claude Code