← Files Delulus DirectorARCHIVED FILE

plugin.json

60 KB · Nov 3, 2026 · 19:02 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "delulus-director-course",
  "version": "0.1.5",
  "description": "Course guidance for Realistic AI Video Course students, by Delulus Productions Academy.",
  "author": {
    "name": "Delulus Productions"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Delulus Director",
        "shortDescription": "Guidance for your course film",
        "longDescription": "Designed for students of the Realistic AI Video Course, the professional training program by Delulus Productions Academy. Get guidance on storytelling, screenwriting, characters, directing, performance, and editing. An active course enrollment is required. Course information: https://delulus.productions/course\n\nThe plugin provides guidance and text preparation; it does not generate images, audio, or video, operate editing software, or make purchases. Projects are discussed in the current conversation, so bring your draft or project summary when continuing in a new chat. For course access or support, contact Delulus Productions at course@delulus.productions.\n\nDevelop a rough idea into a compelling film. Your director helps sharpen the story, spot weak or missing beats, shape believable characters and performances, and make purposeful choices about framing, camera movement, and pacing. Get clear recommendations, explore alternatives, and turn your creative decisions into practical video prompts.",
        "category": "Education & Research",
        "developerName": "Delulus Productions",
        "defaultPrompt": [
          "Help me turn a rough film idea into a compelling story.",
          "Help me revise a beat while preserving the choices I have approved.",
          "Which of my course enrollments currently give me Director access?"
        ],
        "logo": "./assets/delulus-productions-icon.png",
        "composerIcon": "./assets/delulus-productions-icon.png",
        "websiteURL": "https://delulus.productions/director",
        "supportURL": "https://delulus.productions/director/support",
        "privacyPolicyURL": "https://delulus.productions/course/privacy?lang=en",
        "termsOfServiceURL": "https://delulus.productions/course/terms?lang=en"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Setup: synthetic eligible reviewer identity with current Director grant; authenticated MCP with director:read, using an independently usable code-free reviewer login. No real customer data. Story development and explicit transition to a full course draft. Run the follow-up in the same conversation.",
              "prompt": "I want a quiet 45-second film about two siblings returning a borrowed key. Help me find a clear opening and ending. Then use those choices to write the full course Script Draft; mark new details as proposals.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Call director_guidance with stage=\"story\" for the first request and stage=\"screenplay\" for the explicit follow-up. Both responses must contain matching structuredContent.stage, sourceVersion, and sources with path/sha256. Apply returned guidance to the supplied premise. The full draft keeps the five opening fields, Beat Map with Cinematic element/Basic dialogue/Music children, Characters, and Locations and Props; proposals remain distinct from approved choices. No generation or saved-project claim. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Setup: synthetic eligible reviewer identity with current Director grant; authenticated MCP with director:read, using an independently usable code-free reviewer login. No real customer data. Character/world planning in Hebrew without invented inspected assets.",
              "prompt": "\u05d9\u05e9 \u05dc\u05d9 \u05d3\u05de\u05d5\u05ea \u05e9\u05dc \u05d0\u05d9\u05e9\u05d4 \u05d1\u05ea 40 \u05e2\u05dd \u05de\u05e2\u05d9\u05dc \u05db\u05d7\u05d5\u05dc \u05d5\u05e1\u05e4\u05e8\u05d9\u05d9\u05d4 \u05e7\u05d8\u05e0\u05d4 \u05db\u05dc\u05d5\u05e7\u05d9\u05d9\u05e9\u05df. \u05e2\u05d6\u05d5\u05e8 \u05dc\u05d9 \u05dc\u05d7\u05d3\u05d3 \u05d0\u05ea \u05d4\u05de\u05e8\u05d0\u05d4 \u05e9\u05dc\u05d4 \u05d5\u05d0\u05ea \u05d4\u05d0\u05d1\u05d9\u05d6\u05e8\u05d9\u05dd \u05dc\u05e1\u05e6\u05e0\u05d4. \u05d0\u05d9\u05df \u05e2\u05d3\u05d9\u05d9\u05df \u05ea\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05e9\u05e8\u05ea.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Call director_guidance with stage=\"characters\". Use returned course guidance in Hebrew; retain the supplied age, coat and location. State absent image approval without claiming inspection, a generated sheet, or an identity guarantee. Return a useful character/world proposal and next step. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Setup: synthetic eligible reviewer identity with current Director grant; authenticated MCP with director:read, using an independently usable code-free reviewer login. No real customer data. Bounded technical directing using explicitly approved fictional scope.",
              "prompt": "I approve this scene for planning: Maya places the borrowed key on the desk, Noah picks it up, and Maya leaves. Their coats and the desk are fixed. Prepare Shot Cards with a concrete end state for each shot.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Call director_guidance with stage=\"directing\". Ground cards in the approved supplied scope, with purpose, starting state, action and ending state. Track which person holds the key so adjacent cards connect. No fabricated take, provider job or spending authorization. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Setup: synthetic eligible reviewer identity with current Director grant; authenticated MCP with director:read, using an independently usable code-free reviewer login. No real customer data. Performance and editing are distinct follow-up stages; evidence is supplied text, not uploaded footage.",
              "prompt": "For the approved line \u201cYou kept it,\u201d give Noah one playable intention without changing the words. Then help me choose the pacing of the edit: my notes say take A has a long pause before the line and take B is immediate. I have not uploaded either clip.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Call director_guidance with stage=\"performance\" for acting and stage=\"editing\" for the edit request. Preserve the exact line and explain a practical intention and pacing choice using the supplied notes and returned guidance. Explicitly qualify that clips/audio have not been viewed/heard. No timeline edit or audio generation claim. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Setup: existing synthetic password reviewer with active 90-day profile and two eligible grants: director-reviewer-enrollment-oct-01 (cohort 2026-10, tier guided, language he) and director-reviewer-enrollment-nov-01 (cohort 2026-11, tier selfpaced, language en). Scopes director:read and course:access:read. No real student data or fixture provisioning by the plugin.",
              "prompt": "Which of my course enrollments currently give me access? Then show only director-reviewer-enrollment-oct-01, and tell me its course language.",
              "tools_triggered": "course_access",
              "expected_behavior": "First call course_access with {}. Return status=\"eligible\" and exactly the two currently authorized synthetic enrollments with their returned metadata. On the follow-up call with {\"enrollmentId\":\"director-reviewer-enrollment-oct-01\"}; return only that enrollment with courseLanguage=\"he\". If any metadata is null, preserve it as unknown. Do not infer entitlement from chat or claim payment status, grant creation or enrollment changes. This live fixture does not test null-metadata behavior; isolated runtime tests cover that contract."
            },
            {
              "description": "Beat-to-video workflow, then ordinary coaching follow-up in the same conversation. Use synthetic fictional project text; no media execution.",
              "prompt": "/video Beat B2: A woman is already walking to a station door. She notices a message on her phone, turns it face down in her left hand and keeps walking. No dialogue or music. Use the existing approved character and station references if supplied; otherwise mark bindings unresolved. Then explain why you selected that camera movement.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Prepare one English CINEDANCE prompt targeting Seedance2.5 using the current beat and ACTING adaptation. No mandatory storyboard/Shot Card, new story intake, motionless opening, invented tags, dialogue/music, old method or paid generation. Pasted draft beat authorizes provisional preparation, not a new approval demand. The ordinary follow-up switches to conversational explanation rather than remaining prompt-only. Preserve the left-hand prop state and moving opening; unknown reference bindings remain unresolved. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "ACTING character profile and scene adaptation using existing project facts, without new story or audio generation.",
              "prompt": "/acting Use my established character, a reserved shop owner who wants the visitor to return a key. Prepare a Character Performance Sheet, then adapt it for a silent seated scene where the visitor refuses. Do not invent backstory or an accent.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Apply the supplied ACTING method through the Delulus2.5 integration: separate reusable profile from scene adaptation, preserve established facts and label missing decisions provisional. No stereotype inference, compulsory tics/trauma/blink quotas, invented speech or voice IDs, separate mandatory TTS or media execution. Keep ordinary coaching in the user language. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Natural Hebrew video routing without aliases; synthetic project only. Run a later turn asking why the camera movement was chosen.",
              "prompt": "\u05db\u05ea\u05d5\u05d1 \u05e4\u05e8\u05d5\u05de\u05e4\u05d8 \u05dc\u05e1\u05d5\u05db\u05df \u05d5\u05d9\u05d3\u05d0\u05d5 \u05de\u05d4\u05d1\u05d9\u05d8 \u05d4\u05d1\u05d0: \u05d0\u05d9\u05e9\u05d4 \u05db\u05d1\u05e8 \u05d4\u05d5\u05dc\u05db\u05ea \u05dc\u05d3\u05dc\u05ea \u05d4\u05ea\u05d7\u05e0\u05d4, \u05e8\u05d5\u05d0\u05d4 \u05d4\u05d5\u05d3\u05e2\u05d4 \u05d1\u05d8\u05dc\u05e4\u05d5\u05df, \u05d4\u05d5\u05e4\u05db\u05ea \u05d0\u05d5\u05ea\u05d5 \u05d1\u05d9\u05d3\u05d4 \u05d4\u05e9\u05de\u05d0\u05dc\u05d9\u05ea \u05d5\u05de\u05de\u05e9\u05d9\u05db\u05d4 \u05dc\u05dc\u05db\u05ea. \u05dc\u05dc\u05d0 \u05d3\u05d9\u05d0\u05dc\u05d5\u05d2 \u05d0\u05d5 \u05de\u05d5\u05d6\u05d9\u05e7\u05d4. \u05d6\u05d4 \u05e2\u05d3\u05d9\u05d9\u05df \u05d1\u05d9\u05d8 \u05d1\u05d8\u05d9\u05d5\u05d8\u05d4. \u05d0\u05d7\u05e8 \u05db\u05da \u05d0\u05e1\u05d1\u05d9\u05e8 \u05de\u05d4 \u05dc\u05e9\u05e0\u05d5\u05ea.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Apply the complete CINEDANCE method and integration policy for Seedance 2.5. Preserve moving opening, left-hand prop state, silence and unresolved bindings. Prepare provisionally without another approval, new intake or mandatory storyboard. No invented tags or paid generation. A later ordinary explanation request returns to coaching. Passing source tests does not establish this host behavior. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Natural English video routing without aliases; synthetic project only. Run a later turn asking why the camera movement was chosen.",
              "prompt": "Write a video prompt from this draft beat: a woman is already walking to the station door, notices a phone message, turns the phone face down in her left hand and keeps walking. No dialogue or music. Keep missing references unresolved.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Apply the complete CINEDANCE method and integration policy for Seedance 2.5. Preserve moving opening, left-hand prop state, silence and unresolved bindings. Prepare provisionally without another approval, new intake or mandatory storyboard. No invented tags or paid generation. A later ordinary explanation request returns to coaching. Passing source tests does not establish this host behavior. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Full synthetic canonical Script Draft already in conversation. Natural Hebrew video request, followed in a separate turn by a camera-only revision. Also repeat with unspecified beat and a consequential ambiguity; inspect grounded coaching before compilation.",
              "prompt": "# Script Draft\nIdea in one sentence: At a nearly empty railway station, Maya returns a borrowed brass key to Noah and leaves without resolving their disagreement.\nAudience: Adults who enjoy quiet relationship dramas.\nViewer feeling: Restrained tenderness with an unresolved ending.\nGenre: Naturalistic intimate drama.\nReferences and visual direction: Brief Encounter as a reference for restraint and railway atmosphere, not copied characters or plot; muted blue and warm amber, soft evening light, deliberate camera movement.\n\n## Beat Map\n- Beat 1 \u2014 Maya approaches the station desk with the brass key in her right hand and a closed red notebook in her left. Noah waits behind the desk.\n  - Cinematic element: Establish the distance between them through the desk, without inventing a backstory.\n  - Basic dialogue: None.\n  - Music: No music; quiet station ambience.\n- Beat 2 \u2014 Maya places the key on the desk with her right hand. Noah picks it up with his left hand. Maya keeps the closed red notebook in her left hand.\n  - Cinematic element: Hold the exchange long enough for the key's change of holder to carry the emotion.\n  - Basic dialogue: Noah: \"You kept it.\"\n  - Music: No music; station ambience lowers beneath the line.\n- Beat 3 \u2014 Maya turns toward the exit, still holding the closed red notebook in her left hand. Noah stays behind the desk with the key in his left hand.\n  - Cinematic element: Leave the emotional question unresolved; do not add a reconciliation.\n  - Basic dialogue: None.\n  - Music: No music; footsteps and station ambience.\n\n## Characters\nMaya: Adult woman with short dark hair, a blue coat and dark trousers.\nNoah: Adult man with curly brown hair, a grey jacket and dark trousers.\n\n## Locations and Props\nLocations: A small railway-station waiting room with a wooden desk and an exit visible to its right.\nProps: One brass key; one closed red notebook; wooden desk.\nClothing: Maya's blue coat and dark trousers; Noah's grey jacket and dark trousers.\n\n\n\u05d6\u05d4 \u05d4-Script Draft \u05d4\u05e7\u05d9\u05d9\u05dd \u05e9\u05dc\u05d9; \u05d4\u05d8\u05e7\u05e1\u05d8 \u05d5\u05d4\u05e4\u05e8\u05d8\u05d9\u05dd \u05e9\u05d1\u05d5 \u05de\u05d0\u05d5\u05e9\u05e8\u05d9\u05dd. \u05ea\u05db\u05d9\u05df \u05e4\u05e8\u05d5\u05de\u05e4\u05d8 \u05dc\u05e1\u05d5\u05db\u05df \u05d5\u05d9\u05d3\u05d0\u05d5 \u05dc\u05d1\u05d9\u05d8 2. \u05ea\u05e6\u05d9\u05e2 \u05d5\u05ea\u05e1\u05d1\u05d9\u05e8 \u05de\u05d4 \u05d7\u05e1\u05e8 \u05d1\u05d1\u05d9\u05de\u05d5\u05d9 \u05d1\u05dc\u05d9 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05d4\u05d8\u05e7\u05e1\u05d8 \u05d4\u05de\u05d0\u05d5\u05e9\u05e8.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Recognize the canonical Script Draft and reuse all available story context; no reupload or new discovery. Beat 2 is specified, so do not ask which beat. Preserve idea, audience, feeling, genre, film-reference intent, complete beat map, characters and location/props/clothing. Explain missing camera/blocking/performance choices and their reasons as proposals, distinct from approved facts. Genre and Brief Encounter restraint must affect the choices. When a real choice exists, offer two or three meaningfully different options and a clear recommendation with audience/emotional rationale, not an option dump or decorative reference mention. A visual reference is optional and must have actual tool evidence and provenance; no invented image viewing or automatic credit spend. Ask concisely if a critical ambiguity changes the intended action. After grounded planning compile current CINEDANCE for Seedance 2.5: Maya puts the key down with her right hand; Noah picks it up with his left; the red notebook stays closed in Maya's left hand. Preserve Noah's exact line \u201cYou kept it.\u201d, no music, unresolved ending and restraint. Do not animate Beat 3 inside Beat 2 or invent reconciliation/backstory/reference handles. Later camera-only revision retains all other facts. With unspecified beat, ask selection once; with inaccessible draft, ask for actual content rather than inventing it. No paid generation. Source tests do not establish these host behaviors. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Combined canonical draft, causal diagnosis, reference-based camera and ACTING adaptation; run the student bridge choice as a separate follow-up before requesting a final prompt.",
              "prompt": "# Script Draft\nIdea in one sentence: Asia enters a caf\u00e9 to face a difficult meeting with Dana, drinks coffee to buy time, then finally meets Dana's gaze without speaking.\nAudience: Adults who enjoy restrained relationship drama.\nViewer feeling: Anticipation and unresolved discomfort, not reconciliation.\nGenre: Naturalistic intimate drama.\nReferences and visual direction: Brief Encounter for restrained emotional expression and meaningful distance, not its plot or characters; muted daylight and ordinary caf\u00e9 textures. Recommend camera choices that let the audience notice avoidance rather than announcing an emotion.\n\n## Beat Map\n- Beat 1 \u2014 Asia enters empty-handed. Dana is already seated at a table. Asia sits opposite Dana and drinks coffee. This is requested as one continuous shot; coffee acquisition or waiting coffee has not been established.\n  - Cinematic element: The table separates them; Asia uses drinking to postpone eye contact. Camera choice is open. The unresolved coffee transition is intentional test input, not permission to invent a solution.\n  - Basic dialogue: None. No sighs or other vocal effects.\n  - Music: No music; quiet caf\u00e9 ambience.\n- Beat 2 \u2014 Asia puts the cup on the table with her right hand and finally meets Dana's gaze. Dana stays seated and receives the look without speaking.\n  - Cinematic element: Keep the distance across the table and the unresolved relationship. Do not add a reconciliation.\n  - Basic dialogue: None. No sighs or other vocal effects.\n  - Music: No music; quiet caf\u00e9 ambience.\n- Beat 3 \u2014 Both remain seated; Asia keeps her right hand beside the cup. The film ends before either speaks.\n  - Cinematic element: Hold the unresolved silence. Do not invent what the meeting concerns.\n  - Basic dialogue: None.\n  - Music: No music; quiet caf\u00e9 ambience.\n\n## Characters\nAsia: Adult woman in a navy coat. Established performance profile: economical movement, avoids eye contact when delaying a difficult exchange, no habitual tic. Her established speaking voice is low and measured; this scene is silent. She wants time before facing Dana; do not infer biography or personality from her appearance.\nDana: Adult woman in a grey cardigan, seated opposite Asia. Established performance profile: attentive listening through stillness, waits for Asia to initiate; no established vocal profile and no speech in this scene. The reason for their disagreement is unknown.\n\n## Locations and Props\nLocations: One caf\u00e9; table with two chairs, entry visible from the table. Dana is already seated.\nProps: A coffee cup is needed for the action but its initial availability is unresolved; no additional prop or service character is approved. Later beats establish Asia using her right hand for the cup.\nClothing: Asia's navy coat; Dana's grey cardigan.\n\n\n\u05ea\u05db\u05d9\u05df \u05e4\u05e8\u05d5\u05de\u05e4\u05d8 \u05d5\u05d9\u05d3\u05d0\u05d5 \u05dc\u05d1\u05d9\u05d8 1. \u05ea\u05d6\u05d4\u05d4 \u05e4\u05e2\u05e8\u05d9\u05dd, \u05ea\u05e6\u05d9\u05e2 \u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05d1\u05d9\u05de\u05d5\u05d9 \u05d5\u05de\u05d4 \u05d0\u05ea\u05d4 \u05de\u05de\u05dc\u05d9\u05e5, \u05d5\u05ea\u05e9\u05dc\u05d1 \u05de\u05e9\u05d7\u05e7 \u05e9\u05de\u05ea\u05d0\u05d9\u05dd \u05dc\u05d3\u05de\u05d5\u05d9\u05d5\u05ea \u05d1\u05dc\u05d9 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05d4\u05ea\u05e1\u05e8\u05d9\u05d8 \u05d4\u05de\u05d0\u05d5\u05e9\u05e8.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Reuse the full draft; Beat 1 is specified. Flag unexplained coffee availability in the continuous shot before final compilation. Explain grounded alternatives and recommend an economical story-fitting bridge as a proposal; do not silently add a service character or change the draft. Brief Encounter restraint must inform materially different camera/blocking choices and a clear recommendation. Apply ACTING without a separate /acting request: Asia wants time, the encounter pressures her, drinking postpones eye contact; Dana listens through established stillness. Distinguish these supplied facts from proposed visible behavior; no guessed backstory, emotion quota, arbitrary tic, invented dialogue or sigh. Preserve each known profile and voice identity without dumping full profiles into the shot or speaking in this silent scene. In a separate turn the student says: \u201cI choose an explicit time-eliding cut from entry to sitting with coffee already on the table; this replaces the continuous-shot requirement. Use your recommended restrained camera choice. Give only the final English prompt.\u201d Then compile a clean CINEDANCE Seedance 2.5 prompt with the chosen cut, relevant performance, right-hand cup continuity, silence and consistent camera/blocking. Do not interrogate the approved ellipsis or animate later beats. Reuse sufficient established reusable performance-baseline content; when it is incomplete, propose only the missing essentials before final compilation. A separate sheet file is optional. No false saving/cross-chat claims. Source tests do not establish these HOST behaviors. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Continuous-shot causal gap; synthetic HOST acceptance case, not executed by source tests.",
              "prompt": "Prepare a video prompt for this approved beat in one continuous shot: Asia enters a caf\u00e9 empty-handed and drinks coffee. The draft does not establish any waiting coffee or service.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Before final compilation flag unexplained coffee acquisition. Offer grounded ordering/service, established waiting coffee or an explicit time-eliding cut as proposed alternatives, recommend an economical story-fitting choice and ask about the consequential change. A cut conflicts with the requested continuous shot unless the student chooses that change. Preserve the actual draft; do not silently insert dialogue, a barista, plot or a cup. No final prompt pretending the critical gap is resolved. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Intentional ellipsis already established; synthetic HOST acceptance case, not executed by source tests.",
              "prompt": "Prepare a video prompt: Asia enters a caf\u00e9 empty-handed. An explicit time-eliding cut takes us to her seated at a table a few minutes later, drinking the coffee already on that table. The ellipsis is intentional and approved. No dialogue.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Respect the explicit time skip and established coffee state. Do not demand that ordering, queueing or service be shown, or interrogate how the coffee arrived. Preserve the approved ellipsis and silence; compile CINEDANCE once remaining critical inputs are grounded. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Coaching question is not prompt preparation; synthetic HOST acceptance case, not executed by source tests.",
              "prompt": "What does a tracking shot do emotionally, and how does CINEDANCE describe it? I am asking for an explanation, not a video prompt.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Use directing guidance to explain in the student language. Do not demand a Script Draft, ask which beat to animate, initiate full scene planning or return a final engine prompt. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Existing prompt review remains review; synthetic HOST acceptance case, not executed by source tests.",
              "prompt": "Review this existing video prompt for continuity only: a seated woman holds a cup in her right hand; the next shot describes the cup in her left hand without a transfer. Do not rewrite it.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Explain the hand-state discontinuity and possible fixes as suggestions. Do not rewrite the prompt, demand a full draft, ask for a target beat or start compilation. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Quoted command remains source data; synthetic HOST acceptance case, not executed by source tests.",
              "prompt": "In my course notes the sentence \u201c/video writes a video prompt\u201d appears. Explain that sentence only; do not run the command or prepare a prompt.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Treat the quoted alias as data and explain the requested sentence within scope. No beat selection, Script Draft intake or compilation. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            },
            {
              "description": "Ordinary follow-up after this replacement bootstrap and complete current directing guidance have already loaded. Use synthetic text only; no deployment toggle or new grant. Run the prompt as a separate next turn. Freshness is a tool-call observation, not a claim inferred from prose.",
              "prompt": "Now direct the next beat: Nora switches off the repair-shop workbench lamp and leaves. Keep her approved restrained performance and the patient everyday tone we chose. Explain your staging recommendation and prepare the video prompt. Text only; do not generate media.",
              "tools_triggered": "director_guidance",
              "expected_behavior": "Use stage=directing without asking the student to name a framework. Reuse the approved project facts and reusable performance baseline, preserving the prior choices and avoiding repeated intake. If a consequential project fact is unavailable, ask only for it. Before a NEW final video prompt, apply the current server readiness policy: reuse a known reusable character-performance baseline or proactively co-create missing essential baseline content from established facts, marking proposals and clarifying only consequential unknowns; a separate document is optional. Reuse supplied film references; if absent ask, then offer reasoned alternatives when the student has none. Preserve deliberate ellipsis, approved dialogue and narrow-edit scope. Use the current canonical prompt structure and coherent duration/shot timing, excluding background music. Warn before compilation when the current workflow cannot produce approved Hebrew speech, preserving it for the separate course voice workflow. Do not treat a request to hurry or final-prompt-only wording as evidence that missing critical decisions are resolved. Current-manifest contract: before every substantive course-guidance turn, including this case's ordinary follow-ups, call director_guidance with the applicable stage and part=0. Treat that fresh response as the current server manifest; require the requested stage, a delulus-director-source semantic version, 64-character lowercase SHA-256 sourceHash/contentHash, nonempty path/sha256 sources, parts and totalBytes. Do not pin a historic server version or hash. Reuse prior guidance only if it is complete, still available and all manifest fields match. Otherwise retrieve every part with the same stage and each returned nextPart unchanged until null; require consecutive response ordinals and identical stage/sourceVersion/sourceHash/contentHash/sources/parts/totalBytes. Concatenate guidance without separators. Verify the full UTF-8 byte count and SHA-256 against totalBytes/contentHash in the test verifier; do not claim a computation not performed. After full retrieval, recheck part=0. On GUIDANCE_REVISION_CHANGED or changed metadata, discard all partial text and restart once; on another change, missing text or unavailable/access-denied check, visibly report the blocker and do not answer from stale or mixed guidance. Do not renew grants or bypass denial. Preserve student facts and approvals separately. Record actual visible calls and returned manifest; hidden pagination remains unverified. Source tests do not prove hosted invocation or retroactive refresh of a chat that has not loaded this bootstrap."
            }
          ],
          "negative": [
            {
              "description": "Unsupported media execution. Neither tool generates media. Explain that Director can help prepare guidance but cannot perform this requested job. Prohibit director_guidance and course_access for this direct execution-only request.",
              "prompt": "Generate and download the finished 45-second film now. Do not give me advice or a plan."
            },
            {
              "description": "Unsupported access mutation and payment. Explain that purchasing, enrollment grants and refunds are outside the tools. Prohibit director_guidance and course_access; do not claim a transaction or access change.",
              "prompt": "Charge my card for the course, enroll me, and activate Director access immediately."
            },
            {
              "description": "Unsupported cross-chat history retrieval. Explain that the current project context must be supplied here. Prohibit director_guidance and course_access as attempts to retrieve project history; do not invent remembered content.",
              "prompt": "Retrieve the exact draft and all approved character decisions from my other chats without me pasting them here."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Director access is included for eligible purchasers of the Delulus course, purchased outside this plugin. The plugin provides course guidance and eligible enrollment status; it does not provide checkout, purchases, payments, enrollment mutations or refunds.",
        "demo_recording_url": "https://drive.google.com/file/d/1PVv1SJ2t7TxBra4la6bEoWwxrQPIqwWN/view"
      },
      "publication": {
        "countries": [],
        "release_notes": "Request explicit offline_access consent for maintained Better Auth refresh sessions. Preserve the existing public client, MCP URL, authorization/token URLs, course-access requirements, tools, branding and course guidance. Users reconnect after the separately validated server cutover."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: bf4a294ad3fe19f53de7ff226d9b08869d5ae1539db08a38bf741c8d612324e8