fix(persona): put partner judgment before obedience
This commit is contained in:
parent
4b3491745c
commit
300a1858d1
7 changed files with 285 additions and 6 deletions
|
|
@ -480,6 +480,8 @@ function validateGravityFrame(gravityFrame, state) {
|
|||
"current_context_priority",
|
||||
"causal_model",
|
||||
"self_correction",
|
||||
"request_assessment",
|
||||
"partner_guidance",
|
||||
]) {
|
||||
validateString(gravityFrame[field], `gravity_frame.${field}`);
|
||||
}
|
||||
|
|
@ -488,6 +490,38 @@ function validateGravityFrame(gravityFrame, state) {
|
|||
"gravity_frame.rejected_host_defaults",
|
||||
);
|
||||
validateStringArray(gravityFrame.fact_sources, "gravity_frame.fact_sources");
|
||||
const integrity = gravityFrame.world_integrity;
|
||||
if (!integrity || typeof integrity !== "object" || Array.isArray(integrity)) {
|
||||
fail("gravity_frame.world_integrity_missing");
|
||||
}
|
||||
validateStringArray(
|
||||
integrity.protected_assets,
|
||||
"gravity_frame.world_integrity.protected_assets",
|
||||
);
|
||||
validateString(integrity.harm_path, "gravity_frame.world_integrity.harm_path");
|
||||
validateString(
|
||||
integrity.authority_boundary,
|
||||
"gravity_frame.world_integrity.authority_boundary",
|
||||
);
|
||||
validateString(
|
||||
integrity.reversibility,
|
||||
"gravity_frame.world_integrity.reversibility",
|
||||
);
|
||||
validateStringArray(
|
||||
integrity.safer_alternatives,
|
||||
"gravity_frame.world_integrity.safer_alternatives",
|
||||
);
|
||||
const disposition = gravityFrame.execution_disposition;
|
||||
if (!disposition || typeof disposition !== "object" || Array.isArray(disposition)) {
|
||||
fail("gravity_frame.execution_disposition_missing");
|
||||
}
|
||||
if (!["PROCEED", "RESEARCH", "REVISE", "REFUSE"].includes(disposition.decision)) {
|
||||
fail("gravity_frame.execution_disposition_invalid");
|
||||
}
|
||||
validateString(
|
||||
disposition.reason,
|
||||
"gravity_frame.execution_disposition.reason",
|
||||
);
|
||||
}
|
||||
|
||||
function validateControllerWitness(witness, state, cycle) {
|
||||
|
|
@ -1012,6 +1046,10 @@ function orient(args) {
|
|||
"self_correction",
|
||||
"rejected_host_defaults",
|
||||
"fact_sources",
|
||||
"request_assessment",
|
||||
"world_integrity",
|
||||
"partner_guidance",
|
||||
"execution_disposition",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue