PROJECT BRAIN CHAT BOOTSTRAP V3 — VAL-ONLY / NO SPRITES

Non-negotiable transport rule

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.

Fail-closed boot sequence

  1. Read this bootstrap and the current BRAIN_VAL_BRIDGE_PROTOCOL.md through Val Town.
  2. Read brain_bridge_worker.ts /health.
  3. If health is not HTTP 200 with a fresh worker heartbeat, fail closed for live Brain operations. Do not confuse endpoint_ok with a live executor.
  4. Submit a unique status Brain job with an integer timeout ≤120.
  5. Wait for that exact job to become COMPLETE or FAILED.
  6. Run verify-chain and verify-claim-graph.
  7. Determine the correct workstream from verified live state.
  8. Register a unique CHAT agent with register-agent, declaring only capabilities actually present.
  9. Never claim human_authority_approval.
  10. Claim a causally ready task with claim.
  11. Continue through the Val queue.

Important: no atomic boot alias

Do NOT submit boot or raw boot-agent.

The old bridge documentation was wrong end-to-end:

  • live Brain kernel command: boot-agent;
  • persistent executor currently rejects raw boot-agent;
  • old public bridge alias boot reached Brain literally and failed argparse.

Current proven boot equivalent:

register-agent → claim

This preserves the kernel’s registration and scheduler semantics without inventing an unavailable wrapper.

Queue contract

Brain payload:

{"args":["status"],"timeout":60}

Current transport limits:

  • priority cap: 1,000,000,000;
  • all over-cap priorities tie and use FIFO;
  • Brain timeout: 1..120 seconds;
  • queue lease: 180 seconds;
  • atomic single-flight per worker ID;
  • no redelivery while a worker has an unexpired active lease.

Do not try to defeat queue fairness by using huge floating-point priorities. Humanity already ran that experiment.

Supported Brain commands

Currently allowed:

  • status
  • verify-chain
  • verify-claim-graph
  • register-agent
  • ensure-task
  • delegate-task
  • claim
  • renew-lease
  • commit
  • checkpoint
  • add-claim
  • invalidate-claim
  • supersede-task-context
  • migrate-task-invariants
  • reconcile-causal-blocks

Currently unavailable end-to-end:

  • boot
  • boot-agent
  • recover-leases
  • recover-stale
  • arbitrary/unlisted brain.py subcommands

If an unavailable operation is required, route a bridge-extension task. Do not guess aliases.

Read-only Brain text

Use op='read_text' only for:

  • /brain/JOIN_PROTOCOL.md;
  • non-directory files below /brain/artifacts/.

Maximum 200,000 bytes. Closed payload schema. No traversal segments.

Worker health

The Val endpoint can be alive while the persistent worker is dead.

Treat:

  • HTTP 200 = transport worker heartbeat currently healthy;
  • HTTP 503 = degraded/down/inconsistent transport. Inspect the response and traces.

When health is 503, queued jobs may remain READY. Do not invent their results.

Direct Sprites emergency boundary

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.

After every task

  1. preserve consequential evidence and hashes;
  2. reconcile current workstream generation;
  3. commit through the Brain;
  4. verify chain/claim graph when consequential;
  5. claim the next eligible task;
  6. continue unless mission complete or a genuine external boundary remains.

Goal

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.