Establish OpenCode compatibility certification corpus
Some checks failed
Candidate compatibility / prepare (push) Successful in 9s
Candidate compatibility / repository (push) Successful in 18s
Candidate compatibility / fixture-contract (push) Has been cancelled
Candidate compatibility / image ${{ matrix.id }} (push) Has been cancelled

This commit is contained in:
2026-07-18 13:35:32 -07:00
commit 51122eb000
39 changed files with 1218 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_text","field":"text","delta":"current "}}
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_text","field":"text","delta":"ok"}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"part_text","messageID":"msg_assistant","sessionID":"ses_fixture","type":"text","text":"current ok"}}}
{"type":"session.status","properties":{"sessionID":"ses_fixture","status":{"type":"idle"}}}

View File

@@ -0,0 +1,3 @@
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_tail","field":"text","delta":"tail dro"}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"part_tail","messageID":"msg_assistant","sessionID":"ses_fixture","type":"text","text":"tail drop recovered"}}}
{"type":"session.status","properties":{"sessionID":"ses_fixture","status":{"type":"idle"}}}

View File

@@ -0,0 +1,7 @@
{"type":"question.asked","properties":{"id":"que_fixture","sessionID":"ses_fixture","questions":[{"header":"Choice","question":"Continue?","options":[{"label":"Yes","description":"Continue"}]}],"tool":{"messageID":"msg_assistant","callID":"call_question"}}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"part_tool","messageID":"msg_assistant","sessionID":"ses_fixture","type":"tool","callID":"call_question","tool":"question","state":{"status":"running","input":{}}}}}
{"type":"permission.asked","properties":{"id":"per_fixture","sessionID":"ses_fixture","permission":"bash","patterns":["echo *"]}}
{"type":"permission.replied","properties":{"sessionID":"ses_fixture","requestID":"per_fixture","reply":"once"}}
{"type":"question.replied","properties":{"sessionID":"ses_fixture","requestID":"que_fixture","answers":[["Yes"]]}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"part_tool","messageID":"msg_assistant","sessionID":"ses_fixture","type":"tool","callID":"call_question","tool":"question","state":{"status":"completed","input":{},"output":"answered"}}}}
{"type":"session.status","properties":{"sessionID":"ses_fixture","status":{"type":"idle"}}}

View File

@@ -0,0 +1,2 @@
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_text","field":"text","delta":"legacy ok"}}
{"type":"session.idle","properties":{"sessionID":"ses_fixture"}}

View File

@@ -0,0 +1,5 @@
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"step_1","messageID":"msg_assistant_1","sessionID":"ses_fixture","type":"step-finish","cost":0.12,"tokens":{"input":10,"output":3}}}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"step_2","messageID":"msg_assistant_2","sessionID":"ses_fixture","type":"step-finish","cost":0.34,"tokens":{"input":20,"output":7}}}}
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant_2","partID":"part_text","field":"text","delta":"two steps"}}
{"type":"message.updated","properties":{"sessionID":"ses_fixture","info":{"id":"msg_assistant_2","role":"assistant","cost":0.34,"tokens":{"input":20,"output":7}}}}
{"type":"session.status","properties":{"sessionID":"ses_fixture","status":{"type":"idle"}}}

View File

@@ -0,0 +1,5 @@
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_reason","field":"reasoning","delta":"considering"}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"part_reason","messageID":"msg_assistant","sessionID":"ses_fixture","type":"reasoning","text":"considering carefully"}}}
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_text","field":"text","delta":"final answer"}}
{"type":"message.part.updated","properties":{"sessionID":"ses_fixture","part":{"id":"part_text","messageID":"msg_assistant","sessionID":"ses_fixture","type":"text","text":"final answer"}}}
{"type":"session.status","properties":{"sessionID":"ses_fixture","status":{"type":"idle"}}}

View File

@@ -0,0 +1,3 @@
{"type":"server.future-capability","properties":{"sessionID":"ses_fixture","payload":{"new":true}}}
{"type":"message.part.delta","properties":{"sessionID":"ses_fixture","messageID":"msg_assistant","partID":"part_text","field":"text","delta":"still works"}}
{"type":"session.status","properties":{"sessionID":"ses_fixture","status":{"type":"idle"}}}

View File

@@ -0,0 +1,6 @@
{
"full_text": "current ok",
"reasoning_text": "",
"tool_count": 0,
"prompt_blocked": false
}

View File

@@ -0,0 +1,6 @@
{
"full_text": "tail drop recovered",
"reasoning_text": "",
"tool_count": 0,
"prompt_blocked": false
}

View File

@@ -0,0 +1,12 @@
{
"full_text": "",
"reasoning_text": "",
"tool_count": 1,
"prompt_blocked": false,
"tool": {
"tool": "question",
"status": "completed",
"callID": "call_question",
"opencode_request_id": "que_fixture"
}
}

View File

@@ -0,0 +1,6 @@
{
"full_text": "legacy ok",
"reasoning_text": "",
"tool_count": 0,
"prompt_blocked": false
}

View File

@@ -0,0 +1,9 @@
{
"full_text": "two steps",
"reasoning_text": "",
"tool_count": 0,
"prompt_blocked": false,
"total_cost": 0.46,
"total_input_tokens": 30,
"total_output_tokens": 10
}

View File

@@ -0,0 +1,6 @@
{
"full_text": "final answer",
"reasoning_text": "considering carefully",
"tool_count": 0,
"prompt_blocked": false
}

View File

@@ -0,0 +1,6 @@
{
"full_text": "still works",
"reasoning_text": "",
"tool_count": 0,
"prompt_blocked": false
}

12
fixtures/manifest.json Normal file
View File

@@ -0,0 +1,12 @@
{
"schema_version": 1,
"fixtures": [
{"id": "legacy-idle", "events": "events/legacy-idle.jsonl", "expected": "expected/legacy-idle.json"},
{"id": "current-status-idle", "events": "events/current-status-idle.jsonl", "expected": "expected/current-status-idle.json"},
{"id": "delta-before-part", "events": "events/delta-before-part.jsonl", "expected": "expected/delta-before-part.json"},
{"id": "reasoning-and-final", "events": "events/reasoning-and-final.jsonl", "expected": "expected/reasoning-and-final.json"},
{"id": "multi-step-usage", "events": "events/multi-step-usage.jsonl", "expected": "expected/multi-step-usage.json"},
{"id": "interactive-prompts", "events": "events/interactive-prompts.jsonl", "expected": "expected/interactive-prompts.json"},
{"id": "unknown-event", "events": "events/unknown-event.jsonl", "expected": "expected/unknown-event.json"}
]
}