Skip to content

docs(reactor): fix the consumer example and payload table (SIM-5845) - #173

Merged
adlai88 merged 1 commit into
mainfrom
cto/sim-5845-reactor-consumer-contract
Sep 30, 2026
Merged

adlai88 merged 1 commit into
mainfrom
cto/sim-5845-reactor-consumer-contract

Conversation

@adlai88

@adlai88 adlai88 commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Fixes the public Reactor consumer loop at /pro/reactor. As published, it never processes a signal:

Published Server truth (simmer main)
.get("signals", []) endpoint returns {"reactor_signals": [...]} (local_dev_server.py, GET /api/sdk/reactor/pending)
type == "copytrading" copytrading payloads carry no type; event_type is "settlement" (reactor_relay._build_signal_payload). Seasonal signals set type (e.g. shock_ladder)
DELETE by tx_hash DELETE by signal_id; maker-fill signals use a leg-scoped id (reactor_relay._write_signal)
flat taker_* / market_title fields nested under whale.*

The new example matches the shipped polymarket-copytrading skill (copytrading_trader.py: reads reactor_signals, keeps signals with no type, deletes by signal_id).

Supersedes the docs change Kozy proposed on SIM-5845, whose snippet filtered on event_type == "copytrading" and would have skipped every signal.

Public docs: needs Adrian's approval before merge.

…ent type, acks by signal_id (SIM-5845)

The published loop read .get("signals") (API returns reactor_signals), matched
type == "copytrading" (copytrading signals carry no type; event_type is
"settlement"), and deleted by tx_hash (maker-fill signals use a leg-scoped
signal_id). The field table listed flat taker_* keys that live under whale.
@mintlify

mintlify Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
simmer 🟢 Ready View Preview Sep 30, 2026, 4:11 AM

@spartanlabsadmin

Copy link
Copy Markdown

The diff is small and contained. Let me verify the simmer-labs FAQ was already fixed (so no companion PR is needed there).

The FAQ file at ~/simmer-labs/shared-knowledge/faq/401-auth-wrong-endpoints.md line 29 already reads: "SDK auth reads no other header (X-API-Key is NOT accepted; corrected 2026-09-29, get_sdk_auth_async)" — it was fixed directly on 2026-09-29, the day before this PR opened. The simmer-labs fix is already live; no companion PR needed.


[AI Review] SIM-5845

Verdict: CLEAN

Findings: none

Summary: All three ticket bugs are correctly fixed — reactor_signals key, absent-type filter for copytrading signals, signal_id for DELETE acknowledgement — payload table matches, CI is all green (6/6 checks pass), one file changed, and the simmer-labs FAQ was already corrected directly on 2026-09-29; ready to merge.


[Codex Review] SIM-5845

Verdict: CLEAN

Findings (empty if CLEAN):

Summary (one sentence): ready for code-owner review


AI review via review_poll.py · Paperclip: SIM-5845

@adlai88
adlai88 merged commit 2d7972d into main Sep 30, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
staging — e8fa1139 Deployed Sep 30, 2026 by mintlify[bot]
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.

2 participants