Keep creation as a living DAG and archive playable products separately.

Opening accept no longer locks the graph; session.json stays creation-only while play starts from an instance snapshot. Sidebar products nest run saves, and play reading fills the feed at a denser type size.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-01 00:52:05 +08:00
co-authored by Cursor
parent bd5d88abfa
commit f37388761b
22 changed files with 930 additions and 303 deletions
+12
View File
@@ -3,6 +3,7 @@ import { Blackboard } from "../src/blackboard/blackboard.js";
import { createSession } from "../src/runtime/phase-machine.js";
import {
buildInstanceWorkerDeclaration,
canEnterPlay,
inferLifecycleStage,
isWorkerDeclared,
readWorkerSetYamlForDeclaration,
@@ -108,4 +109,15 @@ describe("worker-declaration", () => {
};
expect(inferLifecycleStage(s3)).toBe("play");
});
it("closer accepted is enough to enter play", () => {
const session = {
...createSession(),
slots: {
...createSession().slots,
creationAcceptedUnits: ["开场白与开场变量"],
},
};
expect(canEnterPlay(session)).toBe(true);
});
});