test(canvas): report unresolved AI admission recovery

This commit is contained in:
2026-11-11 15:28:25 +08:00
parent 465596fb7b
commit 58f97eaf07
+3 -1
View File
@@ -23,7 +23,9 @@ export async function verifyFoundryAI({open,transport,rootId,imageId,assets,call
assert.equal(admission.phase,'waiting');const admissionCount=posts('/ai/runs').length;
await reopen();assert.equal(posts('/ai/runs').length,admissionCount);assert.equal(engine.getSnapshot().runtime.ledger.requests.get(admission.id).body,admission.body);
assert.ok(calls.some(call=>call.method==='GET'&&call.path.endsWith('/ai/operations/'+admission.id)));
const firstRun=byOperation(first.operationIds[0]);assert.equal(firstRun.status,'queued');
const recovered=engine.getSnapshot().runtime.ledger.requests.get(admission.id);
assert.equal(recovered.phase,'resolved','AI admission recovery: '+JSON.stringify({phase:recovered.phase,error:recovered.error,receipt:engine.getSnapshot().runtime.receipts.get(admission.id)}));
const firstRun=byOperation(first.operationIds[0]);assert.ok(firstRun,'resolved admission must publish a RunRecord');assert.equal(firstRun.status,'queued');
assert.equal(engine.editor.dispatch({type:'element.geometry',target,patch:{x:77}}).status,'applied');await engine.settle();
await control('execute');await poll();
assert.equal(engine.getSnapshot().runtime.runs.get(firstRun.id).status,'succeeded');