You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a9f988b
Browse filesBrowse the repository at this point in the historyBrowse files
- ask_director rejects a missing escalation instead of parking on prompt
prose; the wire schema gains real properties and a classification enum
- terminalOutcome is copied by cloneSession and replaceable only through
an explicit worker verification report, never by a decision grant
- wait/list JSON expose assessment and terminal_outcome; structured
resolutions carry questionId and reject stale answers
- declines record a consistent outcome; the renderer bounds each field on
a character boundary and always keeps the authority and send_input lines
- wake and panel keep the worker question; routine evaluations are
recorded for audit
- parked classifications require alternative content; recommendation and
safeDefault are independent; requested mechanism differs from minimum
authority
@@ -75,11 +79,16 @@ export function evaluateAskDirector(input: AskDirectorInput): {
75
79
message: `Error: ask_director question cap (${ASK_DIRECTOR_MAX_QUESTIONS}) reached for this turn. No further questions accepted — finish with the markdown report envelope instead.`,
76
80
};
77
81
}
78
-
// Direct callers predate the tool schema. The wire schema in run.ts still
79
-
// requires escalation; this preserves the legacy unit/integration port API.
82
+
// The policy contract is mandatory at the tool boundary: a worker that
83
+
// omits `escalation` is rejected and must never park a prompt-prose-only
84
+
// question. The wire schema also lists these fields, but the local tool
85
+
// wrapper does no schema validation, so the runtime check is the gate.
80
86
if(input.escalation===undefined){
81
-
input.state.pending=true;
82
-
return{ok: true,message: "ok", question };
87
+
return{
88
+
ok: false,
89
+
message:
90
+
"Error: ask_director requires escalation (object) with policyVersion, classification, blockedOutcome, unavailableDirectorPath, permittedAlternatives, minimumAddition, and declineConsequence.",
0 commit comments