trade_watchers discards the user-supplied label in its markdown summary lines #239

Closed
opened 2026-08-12 23:16:31 +00:00 by coilyco-ops · 0 comments
Member

QA sweep, 2026-08-12. Minor.

Observed

Creating a watcher with an explicit label:

trade_watchers(action="create", kind="price", value="CementItem",
               op="under", threshold=1, label="qa-probe-cement")

The JSON stores it correctly ("label": "qa-probe-cement"), but the markdown line ignores it:

Watcher createdw_1c7ed83dc1c9 watching Cement under 1.

The schema says label "defaults to a description of the query", implying an explicit label should win. action=evaluate does use it (w_1c7ed83dc1c9 qa-probe-cement — 4 matching now), so the create path is the odd one out.

Expected

Create summary shows the supplied label, falling back to describe only when none was given.

Otherwise: this tool is clean

Full lifecycle verified on a live server — createlistevaluateremovelist. Price predicate matched correctly (4 Cement trades at 0.6/0.6/0.7/0.8, all under the threshold of 1, cheapest reported as 0.6), feed/display split behaved as documented, lastSeen advanced, and removal was clean with no residue. It was the only tool in the 22-tool sweep with no data defects.

QA sweep, 2026-08-12. Minor. ## Observed Creating a watcher with an explicit label: ``` trade_watchers(action="create", kind="price", value="CementItem", op="under", threshold=1, label="qa-probe-cement") ``` The JSON stores it correctly (`"label": "qa-probe-cement"`), but the markdown line ignores it: > **Watcher created** — `w_1c7ed83dc1c9` watching **Cement under 1**. The schema says label "defaults to a description of the query", implying an explicit label should win. `action=evaluate` does use it (`w_1c7ed83dc1c9 qa-probe-cement — 4 matching now`), so the create path is the odd one out. ## Expected Create summary shows the supplied label, falling back to `describe` only when none was given. ## Otherwise: this tool is clean Full lifecycle verified on a live server — `create` → `list` → `evaluate` → `remove` → `list`. Price predicate matched correctly (4 Cement trades at 0.6/0.6/0.7/0.8, all under the threshold of 1, cheapest reported as 0.6), feed/display split behaved as documented, `lastSeen` advanced, and removal was clean with no residue. It was the only tool in the 22-tool sweep with no data defects.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/eco-app#239
No description provided.