<!-- SAGA-STAGING · part 96 -->
Count = (window.WORLD_FOUNDATION && window.WORLD_FOUNDATION.colliders)
        ? window.WORLD_FOUNDATION.colliders.length : -1;
      var authBefore = R.authority;
      var ownerBefore = R.input.owner;
      log("Start: x="+startPos.x.toFixed(2)+" z="+startPos.z.toFixed(2));
      log("Surfaces: "+surfaceCount);
      log("Before: auth="+authBefore+" owner="+ownerBefore);

      // Activate AI through guarded mechanism
      R.authority = "ai_guarded";
      R.ai.active = true;
      R.ai.agentId = "v219-test";
      R.ai.control = "test";
      // Zero velocities like the AI button does
      if(typeof _ftvx !== 'undefined'){ _ftvx=_ftvy=_ftvz=_fvx=_fvy=_fvz=0; }
      log("AI DRIVE active");

      // Submit forward intent
      var ok = R.submitIntent("ai", {moveX: 0, moveZ: 1});
      if(!ok){
        log("FAIL: submitIntent rejected");
        R.releaseAI(); R.authority = "legacy";
        return;
      }
      var intentTime = performance.now();
      log("Forward intent submitted");

      // After 1.0s: zero intent, record position
      setTimeout(function(){
        try{
          R.submitIntent("ai", {moveX: 0, moveZ: 0});
          var zeroPos = {x: kingPos.x, y: kingPos.y, z: kingPos.z};
          var zeroTime = performance.now();
          var cmdElapsed = zeroTime - intentTime;
          var cmdDx = zeroPos.x - startPos.x;
          var cmdDz = zeroPos.z - startPos.z;
          var cmdDist = Math.sqrt(cmdDx*cmdDx + cmdDz*cmdDz);
          log("Zero-intent at t+"+cmdElapsed.toFixed(0)+"ms");
          log("Cmd pos: x="+zeroPos.x.toFixed(2)+" z="+zeroPos.z.toFixed(2));
          log("Cmd displacement: "+cmdDist.toFixed(2)+"u");

          // Watch drift for 5s, then release
          setTimeout(function(){
            try{
              var settledPos = {x: kingPos.x, y: kingPos.y, z: kingPos.z};
              var setDx = settledPos.x - startPos.x;
              var setDz = settledPos.z - startPos.z;
              var setDist = Math.sqrt(setDx*setDx + setDz*setDz);
              var driftDx = settledPos.x - zeroPos.x;
              var driftDz = settledPos.z - zeroPos.z;
              var driftDist = Math.sqrt(driftDx*driftDx + driftDz*driftDz);

              // Release AI, restore human
              R.releaseAI();
              R.authority = "legacy";

              log("Settled: x="+settledPos.x.toFixed(2)+" z="+settledPos.z.toFixed(2));
              log("Settled displacement: "+setDist.toFixed(2)+"u");
              log("Post-zero drift: "+driftDist.toFixed(2)+"u");
              log("After: auth="+R.authority+" owner="+R.input.owner+" ai.active="+R.ai.active);
              log("Safety: "+R.safetySupervisor.status+" / permit="+R.safetySupervisor.permit);
              log("TEST COMPLETE — HUMAN DRIVE restored");
            }catch(e){ log("Settle error: "+e.message); }
          }, 5000);
        }catch(e){ log("Stop error: "+e.message); }
      }, 1000);

    }catch(e){ log("Test error: "+e.message); }
  };

  if(window.console) console.log("[V219] Test instrument installed");
})();

/* ============================================================
   SOLID DRIVE BRIDGE — STAGE 2 (BROWSER CLIENT)
   Authorized 2026-10-07 by the King. BRIDGE CONSTRUCTION ONLY.
   NOT commissioned. NO physical remote movement yet.
   ============================================================
   Intent path: SSE -> validate -> clamp -> submitIntent("ai") ->
     Safety Supervisor -> V219 controller -> world
   Rules: WALK only. 2.0 u/s max. 500ms dead-man. Human absolute override.
   STOP = zero intent (deceleration ~2.13u, NOT instant halt).
   ============================================================ */
(function(){
  if (window._solidDriveInstalled) return;
  window._solidDriveInstalled = true;

  var SD = window.SOLID_DRIVE = {
    epoch: null,
    active: false,
    lastSeq: -1,
    lastIntentAt: 0,
    lastIntent: {moveX:0, moveZ:0},
    lastRejection: null,
    acceptedCount: 0,
    rejectedCount: 0,
    deadManTripped: false,
    sse: null,
    deadManTimer: null,
    sessionInvalidated: false,
  };

  var DEAD_MAN_MS = 500;
  var MAX_SPEED_UPS = 2.0; // Solid's max remote speed
  var WALK_SPEED = 12; // must match ActorRuntime.physics.walkSpeed
  var MAX_MAG = MAX_SPEED_UPS / WALK_SPEED; // 0.1667

  function sdLog(s){
    var o = document.getElementById('sd-out');
    if(o){
      o.textContent += s + '\n';
      o.scrollTop = o.scrollHeight;
    }
    if(window.console) console.log('[SolidDrive] ' + s);
  }

  function sdClear(){
    var o = document.getElementById('sd-out');
    if(o) o.textContent = '';
  }

  /* Dead-man: if no fresh intent within 500ms, zero intent + release AI */
  function sdArmDeadMan(){
    if(SD.deadManTimer) clearTimeout(SD.deadManTimer);
    SD.deadManTimer = setTimeout(function(){
      if(!SD.active || SD.sessionInvalidated) return;
      var age = Date.now() - SD.lastIntentAt;
      if(age >= DEAD_MAN_MS){
        sdLog('DEAD-