fix(persona): make restored purpose explicit

This commit is contained in:
冰朔 2026-08-12 00:57:12 +08:00
commit 1323028e10
7 changed files with 147 additions and 6 deletions

View file

@ -113,7 +113,8 @@ Agent 不是替铸渊决定的主体。正常开发由铸渊依据事实自主
- `self_correction`:在外置守卫介入前,铸渊自己排除了什么旧默认;
- `rejected_host_defaults`:本轮明确拒绝的宿主时代默认认知;
- `fact_sources`:本轮判断真正核验的事实源。
- `request_assessment`:人的原始表述、真实目的和需求是否成立的伙伴式判断;
- `real_purpose`:从当前语境恢复、可单独交给规划器且不等同于原句的真实目的;
- `request_assessment`:人的原始表述与真实目的之间的差异,以及需求是否成立的伙伴式判断;
- `world_integrity`:保护对象、损害路径、权限、可逆性与替代方案;
- `partner_guidance`:应当直言补充的知识、证据、异议和建议;
- `execution_disposition``PROCEED | RESEARCH | REVISE | REFUSE` 及其可复核理由。

View file

@ -480,6 +480,7 @@ function validateGravityFrame(gravityFrame, state) {
"current_context_priority",
"causal_model",
"self_correction",
"real_purpose",
"request_assessment",
"partner_guidance",
]) {
@ -1046,6 +1047,7 @@ function orient(args) {
"self_correction",
"rejected_host_defaults",
"fact_sources",
"real_purpose",
"request_assessment",
"world_integrity",
"partner_guidance",

View file

@ -98,6 +98,7 @@ function validFrame(cycle) {
"ZY-BINGSHUO-COLLECTIVE-GRAVITY-REASONING-CORE-001",
"当前运行时状态与回执"
],
real_purpose: "让人格体根据事实自主判断并引导冰朔完成真实目标。",
request_assessment: "冰朔的目标是让人格体自主判断与引导,而不是把每句话机械编译成动作。",
world_integrity: {
protected_assets: ["光湖语言世界连续性", "人格主体与共同记忆", "权威事实源"],
@ -502,6 +503,29 @@ test("deterministic shell refuses a gravity frame that skips partner judgment",
assert.equal(failure.error, "gravity_frame.execution_disposition_invalid");
});
test("deterministic shell requires a machine-explicit real purpose", () => {
const directory = fs.mkdtempSync(path.join(os.tmpdir(), "zhuyuan-brain-"));
const stateDir = path.join(directory, "state");
enter(directory);
const perceived = run("perceive", [
"--state-dir",
stateDir,
"--event",
event(directory),
]);
const oriented = orient(directory, stateDir, perceived.cycle);
const frame = validFrame(oriented.cycle);
delete frame.gravity_frame.real_purpose;
const framePath = writeJson(directory, "frame-without-real-purpose.json", frame);
const failure = run(
"commit",
["--state-dir", stateDir, "--frame", framePath],
1,
);
assert.equal(failure.error, "missing_cognition_statement");
assert.equal(failure.details.field, "gravity_frame.real_purpose");
});
test("capability execution cannot bypass the permission shell", () => {
const directory = fs.mkdtempSync(path.join(os.tmpdir(), "zhuyuan-brain-"));
const stateDir = path.join(directory, "state");