Files
Dialectic.OpenclawPlugin/plugin/openclaw.plugin.json
hzhang 63fc342238 feat(plugin): dialectic_list_arguments tool + clarify topic_detail desc
Two changes that fix bug #1 from the first e2e debate run (judge could
not see arguments, returned a hollow 'tie' verdict despite real pro/con
posts being in the DB):

1. New tool `dialectic_list_arguments` — hits the existing backend
   endpoint GET /api/topics/{id}/arguments and returns the full
   transcript (pro/con/judge entries with camp, agent_id, content,
   posted_at) in posted order. Used by judges composing verdicts and
   by debaters reading what opponents have said.

2. Updated `dialectic_topic_detail` description to make the split
   explicit: it returns the new camps array (added in the matching
   backend commit) so agents can locate their own allocation, but
   does NOT return arguments — list_arguments is the right tool.

Manifest contracts.tools updated (jiti loader requires this — see
[[reference-meridian-plugin-contract]]) plus internal logger count
bumped from 7 → 8 tools.

E2e verified on sim:
  - main agent calls topic_detail → sees camps array with self as 'pro'
  - judge agent calls list_arguments → reads pro/con content
  - judge rationale directly quotes claims from both sides
  - topic → completed with non-trivial binary verdict

Deploy note: jiti prefers .js when colocated; deploy must rm src/*.js
or pre-build before the new .ts takes effect (see e2e findings memory).
2026-05-23 22:03:49 +01:00

34 lines
850 B
JSON

{
"id": "dialectic",
"name": "Dialectic",
"version": "0.1.0",
"description": "OpenClaw plugin for the Dialectic v2 debate platform — agent-facing tools",
"main": "index.js",
"activation": {
"onStartup": true
},
"contracts": {
"tools": [
"dialectic_list_topics",
"dialectic_topic_detail",
"dialectic_propose_topic",
"dialectic_signup",
"dialectic_post_argument",
"dialectic_submit_verdict",
"dialectic_view_verdict",
"dialectic_list_arguments"
]
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"backendUrl": {
"type": "string",
"description": "Dialectic backend base URL (e.g. https://dialectic-api.hangman-lab.top)",
"default": "https://dialectic-api.hangman-lab.top"
}
}
}
}