You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(review): refresh mech-interact plan for v0.32.4 and document MULTIPLIER_MECH invariant
Addresses OjusWiZard and bennyjo's review on PR #95.
- docs/mech_offchain_integration_plan.md: replace v0.32.4-rc1
references (scope line, vendor tree, packages.json hash, config-surface
timeout note, rollback guidance) with the tagged v0.32.4 release and its
hash. The doc previously described the rc2-era dedicated 330s
RESPONSE_ROUND_TIMEOUT as active; that event was reverted before v0.32.4
was tagged, so the note now correctly states MechResponseRound stays on
the shared MechInteractEvent.ROUND_TIMEOUT and meme-ooorr's existing
MULTIPLIER_MECH=20 override (600s effective) covers both v0.32.2 and
v0.32.4 identically.
- memeooorr_chained_abci/models.py: add an invariant comment near
MULTIPLIER_MECH documenting that v0.32.4 dropped rc2's auto-scaling of
the off-chain poll timeout, so round_timeout_seconds * MULTIPLIER_MECH
and offchain_poll_timeout_seconds must be kept in sync manually to
satisfy _check_round_timeout_fits_poll_budget when use_offchain=true.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/mech_offchain_integration_plan.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Mech-interact off-chain integration plan (meme-ooorr)
2
2
3
-
Scope: wire meme-ooorr onto mech-interact v0.32.4-rc1 (off-chain HTTP request/response support). Default behaviour stays on-chain; operators opt in per service.yaml by flipping `use_offchain: true` inside `MECH_MARKETPLACE_CONFIG`**and** setting an endpoint for the executor to reach — either `offchain_url` (static per-service) or `use_dynamic_mech_selection: true` (discover URL from the on-chain manifest). With both left at their shipped defaults (`null` and `false`), `MechMarketplaceConfig.__post_init__` raises at startup.
3
+
Scope: wire meme-ooorr onto mech-interact v0.32.4 (off-chain HTTP request/response support). Default behaviour stays on-chain; operators opt in per service.yaml by flipping `use_offchain: true` inside `MECH_MARKETPLACE_CONFIG`**and** setting an endpoint for the executor to reach — either `offchain_url` (static per-service) or `use_dynamic_mech_selection: true` (discover URL from the on-chain manifest). With both left at their shipped defaults (`null` and `false`), `MechMarketplaceConfig.__post_init__` raises at startup.
4
4
5
5
Reference implementations that ship the same shape:
6
6
@@ -23,13 +23,13 @@ meme-ooorr uses `PostTxDecisionMakingRound + PostTxDecisionMakingBehaviour` as t
23
23
24
24
### 1. Vendor updated mech_interact_abci + 3 new contracts
25
25
26
-
- Replace `packages/valory/skills/mech_interact_abci/` with the v0.32.4-rc1 tree (adds `behaviours/offchain_request.py`, `behaviours/offchain_response.py`, three new degenerate rounds under `states/final_states.py`, seven off-chain knobs on `MechMarketplaceConfig`, `OFFCHAIN_DEPOSIT_TX_SUBMITTER` sentinel at `states/request.py:44`).
26
+
- Replace `packages/valory/skills/mech_interact_abci/` with the v0.32.4 tree (adds `behaviours/offchain_request.py`, `behaviours/offchain_response.py`, three new degenerate rounds under `states/final_states.py`, seven off-chain knobs on `MechMarketplaceConfig`, `OFFCHAIN_DEPOSIT_TX_SUBMITTER` sentinel at `states/request.py:44`).
27
27
- Vendor three new contract packages (mirrors trader/optimus):
### 3. Config surface — off-chain knobs on `MECH_MARKETPLACE_CONFIG`
47
47
48
-
Extend the env-default dict in both locations with seven off-chain fields, defaulting `use_offchain: false` so today's FSM entries are unchanged. Note that the mech-interact bump from v0.32.2 to v0.32.4-rc1 does move the `MechResponseRound` timeout from the shared 30s `ROUND_TIMEOUT`to a dedicated 330s `RESPONSE_ROUND_TIMEOUT`; this applies to on-chain agents too (they wait longer before declaring a mech unresponsive), matching what trader/optimus ship.
48
+
Extend the env-default dict in both locations with seven off-chain fields, defaulting `use_offchain: false` so today's FSM entries are unchanged. Timeout note: v0.32.4 keeps `MechResponseRound` on the shared `MechInteractEvent.ROUND_TIMEOUT` (rc2's briefly-lived dedicated `RESPONSE_ROUND_TIMEOUT` was reverted before the tag). meme-ooorr overrides `MechInteractEvent.ROUND_TIMEOUT`in `MemeooorrChainedSkillAbciApp.event_to_timeout` at `memeooorr_chained_abci/models.py` via `round_timeout_seconds × MULTIPLIER_MECH` (`MULTIPLIER_MECH = 20`), giving 600s effective — comfortably above v0.32.4's ≥330s poll-budget guard for the off-chain path. Same wiring was in place under v0.32.2, so the response-round timeout is unchanged across the bump.
49
49
50
50
-`packages/dvilela/services/memeooorr/service.yaml:108` (the deployed service.yaml override)
51
51
-`packages/valory/agents/memeooorr/aea-config.yaml:247` (the agent's own `mech_marketplace_config` under the mech_interact_abci skill block)
@@ -122,4 +122,4 @@ Read `.github/workflows/*.yaml` — run every `tox -e` env locally, including `c
122
122
123
123
## Rollback
124
124
125
-
Set `use_offchain: false` in the operator env override for `MECH_MARKETPLACE_CONFIG`. The on-chain FSM entries are unchanged; the only behavioural side-effect from the v0.32.4-rc1 skill bump that remains active is the longer `RESPONSE_ROUND_TIMEOUT` (see the config-surface note above). No code removal is needed to revert to today's routing.
125
+
Set `use_offchain: false` in the operator env override for `MECH_MARKETPLACE_CONFIG`. The on-chain FSM entries are unchanged; nothing else from the v0.32.4 skill bump alters on-chain behaviour (the response-round timeout stays on the shared `MechInteractEvent.ROUND_TIMEOUT` we already override to 600s — see the config-surface note above — same as under v0.32.2). No code removal is needed to revert to today's routing.
0 commit comments