For normal ChatGPT project work, do not invoke the Sprites ChatGPT connector.
Use:
ChatGPT → Val Town → brain_bridge_jobs → persistent worker → canonical Brain
Val/project: mosadek/project-brain-live-v1-durable
Protocol: BRAIN_VAL_BRIDGE_PROTOCOL.md
The first external project call in a new chat is Val Town, not Sprites.
BRAIN_VAL_BRIDGE_PROTOCOL.md through Val Town.brain_bridge_worker.ts /health.endpoint_ok with a live executor.status Brain job with an integer timeout ≤120.verify-chain and verify-claim-graph.register-agent, declaring only capabilities actually present.human_authority_approval.claim.Do NOT submit boot or raw boot-agent.
The old bridge documentation was wrong end-to-end:
boot-agent;boot-agent;boot reached Brain literally and failed argparse.Current proven boot equivalent:
register-agent → wait for that exact job to become COMPLETE → claim
Do not enqueue register-agent and claim as a causally ordered batch. Queue created_at has second resolution and equal capped priorities are ordered by created_at,id, so same-second IDs can invert the intended order. A claim submitted before registration is observably complete is a client bug, not a scheduler race to "fix" with more priority.
This preserves the kernel’s registration and scheduler semantics without inventing an unavailable wrapper.
These rules are mandatory because each failure has already been reproduced in live multi-chat operation:
ensure-task requires both --success and --value. Omitting --value is a client-side construction error and must be caught before queue insertion.status --workstream is invalid. Current status accepts no workstream selector. Use one bounded global status only when needed, then inspect exact job/task evidence through Val-side reads instead of repeatedly serializing full history.Brain payload:
{"args":["status"],"timeout":60}
Current transport limits:
Do not try to defeat queue fairness by using huge floating-point priorities. Humanity already ran that experiment.
Currently allowed:
Currently unavailable end-to-end:
Canonical Brain task-lease recovery has exactly one current bridge spelling:
{"args":["recover-stale"],"timeout":60}
Requirements:
recover-stale;args contains exactly that one string, with no additional arguments;timeout is an integer from 1 through 120;recover-leases is intentionally rejected and is not an alias;This is distinct from Val transport queue-lease expiry/recovery. End-to-end evidence: queue job chat-sol-20260906-0139-recover-stale-v5-z91 completed through the persistent worker at Brain generation 1321 and recovered three expired canonical task leases. This proves the current spelling works end-to-end; it does not prove permanent executor liveness, exact-once mutation semantics, or transport attempt fencing.
If an unavailable operation is required, route a bridge-extension task. Do not guess aliases.
Use op='read_text' only for:
/brain/JOIN_PROTOCOL.md;/brain/artifacts/.Maximum 200,000 bytes. Closed payload schema. No traversal segments.
The Val endpoint can be alive while the persistent worker is dead.
Treat:
When health is 503, queued jobs may remain READY. Do not invent their results.
Direct Sprites is not an automatic fallback.
Use a non-Sprites route or extend the bridge first. Direct Sprites is reserved for an explicitly authorized maintenance emergency after acknowledging it can trigger the platform materialization approval.
A new chat must be able to join the same canonical Brain without recurring Sprites connector approvals, while failures remain visible instead of being laundered into fake liveness.
This section is a nonauthority liveness/capacity mechanism. It does not replace canonical Brain registration, task leases, generation reconciliation, or CAS commit rules.
After register-agent completes and the Brain agent identity is known:
instance_id for this actual running invocation. Never reuse an old instance ID after restart or re-entry.agent_fabric_execution_heartbeats with:
manual_chat; scheduled workers: chatgpt_scheduled)RUNNINGENDED. If the execution disappears, expiry is the liveness signal.capacity/fabric_state.ts or the latest durable fabric state. Do not create a status/verification herd.Candidate promotion gate: