Update 2.76
6/10/2026
v2.76.0BETAMINOR
Seymour
SIN Chain Builder Gate 2: dry-run / preview planner (`SinApplyPlan`) — preview-only, SIN stays BLOCKED for writing
- Opens Gate 2 of the SIN Chain Builder, turning YEVON's spec (Gate 1, design) into an executable preview layer: the user composes an AI intent and the planner shows exactly what would be generated — without applying, saving, writing bytecode into the monster, or creating a public button. New namespace
FfxLib/Ai/Sin:SinChainRecipe(minimal concrete IR: trigger/condition/action/combo/payload/target),SinApplyPlan(read-only inspectable plan: planned steps, instructions, branch/stack shape, evidence, blockers, promotion-ladder gates,ApplyAllowed=falsehard-wired),SinDryRunPlanner(read-only lowering: picks the provenAiSnippetLibrarysnippet and expands the template IN MEMORY — does NOT callRebuild/AppendGuardedAction/splice, does NOT load a monster, does NOT runAiValidator, does NOT callAiAutomation),SinDryRunPreview(deterministic text serialization) andSinPilotRecipes(the 3 mandatory pilots: SIN-006 Véu de Bevelle = turn-1 self-buff; SIN-009 Mandato do Maester = force/perform command; SIN-010 Farplane Toll = HP<50% guarded action). Honest payload classification (SinDryRunPlanner.ClassifyPayload, viaAiCommandMetadataCatalog.IsKnownAiPerformOperandCategory): item/GATTA (0x2xxx) and non-AI = blocked; AI-perform commands = candidate (NEVER proved — not even Firaga0x3049, whose RT2 was an operand swap, not a SIN-authored block). Finding (the dry-run caught it immediately): the proven snippetguard-hp-below-pct-force-cmdemits opcode0x16(DIV per the proven table0x16=DIV/0x17=MUL) where the HP% idiom intends MULTIPLY — a latentAiSnippetLibrarydiscrepancy (itsMULconstant is bound to0x16); flagged as a warning/blocker in the preview, NOT fixed here (fixing the emitter is out of preview-only scope; needs RT0/RT2 re-validation of the snippet). New read-only gate--sin-dryrun-rt0: builds the 3 pilots, renders a deterministic preview, and asserts nothing was saved/written,ApplyAllowed=false, rung=preview-only, honest blockers present, the promotion ladder 100% unsatisfied, and no candidate promoted to authoring-ready. (NEW executable capability: dry-run planner + gate; it leaves REVISION precisely because it is executable, per YEVON's handoff). Scope/honesty: SIN stays BLOCKED for writing — Gate 2 is preview/dry-run, not authoring; "Clean for DESIGN is not unlocked for WRITING." Does NOT touch writer/parser/runtime/Aurora/native-menu/Blitzball/Shop/Mix/Sphere/Common(ANIMA)/save or theMonsterAiEditor(UI Preview = Gate 3+); read-only ofFfxLib/Ai/*. Build 0 errors;--sin-dryrun-rt0+--aicmdmeta-rt0+--spiraatlas-rt0+--aiasm-rt0(AiScriptLab) all PASS. Docs:docs/ai/SIN_SHINRYU_DRY_RUN_EMITTER_RESULT_2026-06-10.md+docs/ai/HANDOFF_SHINRYU_SIN_AISCRIPTLAB_GATE_NEXT_2026-06-10.md
v2.75.0