feat(ulw-loop): require Oracle verification before completion
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -40,10 +40,18 @@ export function readState(directory: string, customPath?: string): RalphLoopStat
|
||||
return str.replace(/^["']|["']$/g, "")
|
||||
}
|
||||
|
||||
const ultrawork = data.ultrawork === true || data.ultrawork === "true" ? true : undefined
|
||||
const maxIterations =
|
||||
data.max_iterations === undefined || data.max_iterations === ""
|
||||
? ultrawork
|
||||
? undefined
|
||||
: DEFAULT_MAX_ITERATIONS
|
||||
: Number(data.max_iterations) || DEFAULT_MAX_ITERATIONS
|
||||
|
||||
return {
|
||||
active: isActive,
|
||||
iteration: iterationNum,
|
||||
max_iterations: Number(data.max_iterations) || DEFAULT_MAX_ITERATIONS,
|
||||
max_iterations: maxIterations,
|
||||
message_count_at_start:
|
||||
typeof data.message_count_at_start === "number"
|
||||
? data.message_count_at_start
|
||||
@@ -51,10 +59,17 @@ export function readState(directory: string, customPath?: string): RalphLoopStat
|
||||
? Number(data.message_count_at_start)
|
||||
: undefined,
|
||||
completion_promise: stripQuotes(data.completion_promise) || DEFAULT_COMPLETION_PROMISE,
|
||||
initial_completion_promise: data.initial_completion_promise
|
||||
? stripQuotes(data.initial_completion_promise)
|
||||
: undefined,
|
||||
started_at: stripQuotes(data.started_at) || new Date().toISOString(),
|
||||
prompt: body.trim(),
|
||||
session_id: data.session_id ? stripQuotes(data.session_id) : undefined,
|
||||
ultrawork: data.ultrawork === true || data.ultrawork === "true" ? true : undefined,
|
||||
ultrawork,
|
||||
verification_pending:
|
||||
data.verification_pending === true || data.verification_pending === "true"
|
||||
? true
|
||||
: undefined,
|
||||
strategy: data.strategy === "reset" || data.strategy === "continue" ? data.strategy : undefined,
|
||||
}
|
||||
} catch {
|
||||
@@ -77,18 +92,28 @@ export function writeState(
|
||||
|
||||
const sessionIdLine = state.session_id ? `session_id: "${state.session_id}"\n` : ""
|
||||
const ultraworkLine = state.ultrawork !== undefined ? `ultrawork: ${state.ultrawork}\n` : ""
|
||||
const verificationPendingLine =
|
||||
state.verification_pending !== undefined
|
||||
? `verification_pending: ${state.verification_pending}\n`
|
||||
: ""
|
||||
const strategyLine = state.strategy ? `strategy: "${state.strategy}"\n` : ""
|
||||
const initialCompletionPromiseLine = state.initial_completion_promise
|
||||
? `initial_completion_promise: "${state.initial_completion_promise}"\n`
|
||||
: ""
|
||||
const messageCountAtStartLine =
|
||||
typeof state.message_count_at_start === "number"
|
||||
? `message_count_at_start: ${state.message_count_at_start}\n`
|
||||
: ""
|
||||
const maxIterationsLine =
|
||||
typeof state.max_iterations === "number"
|
||||
? `max_iterations: ${state.max_iterations}\n`
|
||||
: ""
|
||||
const content = `---
|
||||
active: ${state.active}
|
||||
iteration: ${state.iteration}
|
||||
max_iterations: ${state.max_iterations}
|
||||
completion_promise: "${state.completion_promise}"
|
||||
started_at: "${state.started_at}"
|
||||
${sessionIdLine}${ultraworkLine}${strategyLine}${messageCountAtStartLine}---
|
||||
${maxIterationsLine}completion_promise: "${state.completion_promise}"
|
||||
${initialCompletionPromiseLine}started_at: "${state.started_at}"
|
||||
${sessionIdLine}${ultraworkLine}${verificationPendingLine}${strategyLine}${messageCountAtStartLine}---
|
||||
${state.prompt}
|
||||
`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user