Skip to content

test(market-making): add MKT-1491 workflow e2e coverage - #112

Open
prd-carapulse[bot] wants to merge 6 commits into
mainfrom
hermes/mkt-1491-e2e-tests
Open

test(market-making): add MKT-1491 workflow e2e coverage#112
prd-carapulse[bot] wants to merge 6 commits into
mainfrom
hermes/mkt-1491-e2e-tests

Conversation

@prd-carapulse

@prd-carapulse prd-carapulse Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Why

The market-making bot needs a deterministic regression boundary before V0 is operated unattended. The prior workflow tests injected in-memory application ports, so they could not detect regressions in production composition, Router HTTP DTOs, SDK encoding/signing, Midnight transactions, or forked on-chain state.

Why now

MKT-1491 requires genuine E2E coverage before the V0 market-making workflow is relied on operationally.

What changed

  • replace the in-memory E2E implementation with Anvil tests pinned to Base block 48,900,000
  • add production ladder composition for live position/rate reads, offer construction, SDK signing, mempool publication, on-chain invalidation, and cleanup-aware shutdown
  • add a stateful Router HTTP fixture that indexes actual mempool transactions and reads real forked Midnight consumption state, including snapshot/reorg handling
  • exercise setup success plus isolated fork/provider failure for chain, maker, native balance, allowance, ratifier, books, reference, and offers
  • exercise bootstrap with no, partial, and full credit; production ladder publish/rest/recenter/abandon; cleanup disabled/enabled; and fail-closed credit-sale suppression when cost basis is unavailable
  • cap fresh lend room after current and cross-market credit, preserve intended rung rates across tick round-trips, and surface extra owned rungs for cleanup
  • verify the production-supported spread direction: prospective bootstrap buy against a real external sell, with strict crossing and equality rejected and the adjacent aligned safe tick accepted
  • harden the ladder adapter with explicit durable group ownership, bounded pagination, whole-book reads, replacement-aware multi-market capacity, shared-rung grouping, sparse-index recovery, exhaustive hard-halt cleanup, and uint32 fee validation
  • wire the production ladder into the default CLI, allowlist its durable groups in setup readiness, and derive aggregate room from the configured total exposure cap
  • retire the former in-memory Router and workflow-test implementations

Verification

  • canonical Morpho Base archive RPC: raw eth_chainId returned 8453 and block 48,900,000 was available
  • PATH=/home/hermes/.bun/bin:$PATH RPC_URL_8453=<canonical Morpho Base archive RPC> bun test bots/market-making/test/e2e/market-making.fork.e2e.test.ts bots/market-making/test/e2e/setup-check.e2e.test.ts12 passed, 0 failed, 108 assertions
  • PATH=/home/hermes/.bun/bin:$PATH RPC_URL_8453=<canonical Morpho Base archive RPC> bun test bots/market-making/test408 passed, 0 failed, 1,097 assertions
  • bun run --filter @morpho-org/market-making-bot typecheck — passed
  • bun run --filter @morpho-org/market-making-bot jsdoc:build — passed; 216 public declarations inventoried and HTML generated
  • bun lint — 0 warnings, 0 errors
  • bun knip — passed
  • bun format — passed; no working-tree changes
  • git diff --check origin/main...HEAD — passed
  • Semgrep security-audit scan of all 23 PR files — 0 findings (22 rules)

Linear: https://linear.app/morpho-labs/issue/MKT-1491/add-e2e-testing-for-each-step
TIB: https://github.com/morpho-org/morpho-bots/blob/main/docs/decisions/TIB-2026-07-27-midnight-market-making-bot.md

Requested by: @julien (Slack)

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

Open in Devin Review

Comment thread bots/market-making/test/e2e/mock-router.ts Outdated
Comment thread bots/market-making/test/e2e/mock-router.ts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53ed32453c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/test/e2e/mock-router.ts Outdated
Comment thread bots/market-making/test/e2e/mock-router.ts Outdated
Comment thread bots/market-making/test/e2e/market-making.e2e.test.ts Outdated
Comment thread bots/market-making/test/e2e/mock-router.ts Outdated
@prd-carapulse

prd-carapulse Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Current-head follow-up: hardened mock ladder fills against non-positive, over-published, and over-credit amounts; added partial/full rung-consumption coverage; counted individual rungs; and added strict-cross plus adjacent-safe spread cases.

Scope blocker: cleanup-enabled lifecycle coverage and existing-buy/prospective-sell coverage have no production path on the current branch. The composition root exposes setup-check and one-shot bootstrap only, with no startup/shutdown cleanup boundary and no composed production ladder make adapter. The prior direct mock hard-halt test was removed rather than presenting a test-only method as production E2E coverage.

Head: 63b9fa840864dc33edbda3fd4dd6ca1b383f6d28.

@julien-devatom

Copy link
Copy Markdown
Collaborator

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 63b9fa8408

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@prd-carapulse

prd-carapulse Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

<@U09LHAWUK3M> review

3 similar comments
@prd-carapulse

prd-carapulse Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

<@U09LHAWUK3M> review

@prd-carapulse

prd-carapulse Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

<@U09LHAWUK3M> review

@prd-carapulse

prd-carapulse Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

<@U09LHAWUK3M> review

Comment thread bots/market-making/src/infrastructure/ladder/ladder-transaction.utils.ts Outdated
@julien-devatom

Copy link
Copy Markdown
Collaborator

@codex review

1 similar comment
@prd-carapulse

prd-carapulse Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 757f768ae0

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/test/e2e/market-making.fork.e2e.test.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-groups.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-make.service.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
@prd-carapulse
prd-carapulse Bot force-pushed the hermes/mkt-1491-e2e-tests branch from e825326 to 45856c1 Compare July 30, 2026 09:04
@prd-carapulse

prd-carapulse Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 45856c12f9

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/ladder-capacity.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
@prd-carapulse

prd-carapulse Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d2eb9dfba8

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/ladder-capacity.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-capacity.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
@prd-carapulse

prd-carapulse Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 32c48ac602

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/ladder-group-ownership.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-group-ownership.utils.ts Outdated
@linear-code

linear-code Bot commented Aug 3, 2026

Copy link
Copy Markdown

MKT-1491

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

7 similar comments
@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse

prd-carapulse Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 090bd1065d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/ladder-offer.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/bootstrap/production-bootstrap.ts Outdated
@prd-carapulse

prd-carapulse Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53132811c7

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/ladder-book.utils.ts
@prd-carapulse

prd-carapulse Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: ed798ea530

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@prd-carapulse
prd-carapulse Bot force-pushed the hermes/mkt-1491-e2e-tests branch from ed798ea to 59ba4ca Compare August 7, 2026 07:34
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 59ba4ca662

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/test/e2e/router-api.ts Outdated
Preserve the complete MKT-1491 workflow coverage on current main, adapt the harness to asynchronous signer-backed adapter factories, and include the Router continuous fee cap required by production offer-group parsing.
@prd-carapulse prd-carapulse Bot closed this Aug 7, 2026
@prd-carapulse
prd-carapulse Bot force-pushed the hermes/mkt-1491-e2e-tests branch from f2041e1 to ce523ff Compare August 7, 2026 08:22
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

1 similar comment
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@prd-carapulse prd-carapulse Bot reopened this Aug 7, 2026
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

1 similar comment
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

Reviewed commit: 687d485f63

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

The completed fill consumes the active offer before the next bootstrap cycle. Assert the current target-reached observation instead of expecting a redundant invalidation.
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce69e31a7b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/ladder-group-ownership.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Discover legacy ladder ownership across market-list changes and rerun removed-market cleanup after each settled attempt so indexed tombstones are eventually forgotten.
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 97963e75bd

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-group-ownership.utils.ts Outdated
Comment thread bots/market-making/test/infrastructure/ladder/ladder-review-feedback.test.ts Outdated
Restore lower-rate sell capacity from current credit, preserve legacy ownership across unpublished market changes, and colocate regression tests with their modules.
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2e54895f19

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/test/e2e/fork-actions.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/ladder-group-ownership.utils.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts Outdated
Comment thread bots/market-making/test/e2e/fork-actions.ts Outdated
Comment thread bots/market-making/src/infrastructure/ladder/production-ladder.ts
Comment thread bots/market-making/src/bootstrap.ts
Forward removed-market cleanup through the serialized write port, isolate maker ownership state, use canonical address comparison in the fork fixture, and complete exported helper documentation.
@prd-carapulse

prd-carapulse Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: a8c414288a

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant