Skip to content

cow: file the W3 follow-up and hardening issues #659

Description

@mfw78

Tracker hygiene: file, not build, the W3 follow-ups and non-blocking hardening so the deferred design decisions keep anchors.

Why

#138 explicitly deferred module execution, enumeration fan-out, and merkle payload resolution to W3. The convergence train lands park rows carrying handler and the inert root:{owner} index precisely so these follow-ups are cheap; filing now stops the deferred scope evaporating silently. The eth_call gas cap, OOG-as-park with negative-cache, and per-watch response-size cap are not deferred here: they are launch-blocking and land in the scheduling car of the train, before mainnet enablement.

Scope

Each bullet becomes its own issue, in the right repo, citing the recorded convergence decision:

  • IOrderModule execution: ccow:module sandbox, digest-verified fetch, sandbox budgets, probe-driven re-arm of parked watches; rule: never cache ERC-165 for IOrderDescriptor/IOrderModule on the Owned rotation surface, digest is canonical identity.
  • IOrderManifest enumeration plus offchainInput = abi.encode(uint256 index) fan-out; merkle payload resolution.
  • Descriptor divergence tooling (descriptors are display-layer; http.allow stays empty in v1).
  • Reconcile sweep via singleOrders(owner, hash) to resurrect watches lost to reorged Removed events.
  • Per-owner watch caps and eviction; Tier-3 rate-limited queue or interim digest allowlist for unverified handlers (the gas cap, OOG parking, negative-cache, and response-size caps are already in the scheduling car and are out of scope here).
  • Fork side: runtime: test graceful shutdown completion #58 (GoodAfterTime NEEDS_INPUT mis-signal) confirmed as a pre-deployment blocker for GoodAfterTime.

Done when

  • Each bullet exists as an issue with the convergence decision cited in its body.
  • None of them are scheduled into the convergence train's milestone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dxDeveloper experience is suffering.effort/minutesQuick fix. Just do it.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions