{
  "format": "squilliam-news",
  "lessons": [
    {
      "status": "proven",
      "scope": "format-specific",
      "friction": "The prototype occupied more than a gigabyte because full-resolution PNG frame caches sat beside the reusable source.",
      "rootCause": "Disposable renders and reusable Format files had no explicit boundary.",
      "smallestFix": "Keep content-hashed resumable frames inside ignored run directories and exclude all run state from the downloadable kit.",
      "evidence": "The source can resume interrupted captures, while KIT-MANIFEST.json contains no agent-runs or frame cache paths."
    },
    {
      "status": "proven",
      "scope": "covered by existing Wiggly rules 7 and 9",
      "friction": "The original renderer contained event-specific slide art and facts.",
      "rootCause": "The first polished proof blurred Format mechanics with story content.",
      "smallestFix": "Move all facts, display copy, timing slots, story images, and pronunciation overrides into a validated content pack.",
      "evidence": "We The Artists and Wiggly Format Lab render through the same runtime without event facts in runtime/renderer/app.js."
    },
    {
      "status": "proven",
      "scope": "format-specific",
      "friction": "The second proof clipped a longer monitor eyebrow even though it passed the original character-count validation.",
      "rootCause": "Character limits did not account for font metrics and per-layout width.",
      "smallestFix": "Measure every variable monitor string in the renderer and reduce font size to the layout's declared minimum when needed.",
      "evidence": "The first Wiggly Format Lab contact sheet exposed the clipping; attempt two and the smoke contact sheet show the same copy fitted inside the monitor."
    },
    {
      "status": "proven",
      "scope": "covered by existing Wiggly rule 6",
      "friction": "The second narration provider output was 39.72 seconds for a fixed 30-second composition.",
      "rootCause": "Narration duration varies even when the prompt requests a particular delivery speed.",
      "smallestFix": "Probe the actual audio, tempo-fit speech to 29.1 seconds, and preserve an explicit final hold.",
      "evidence": "Inspection reports a 30.000-second output and a final silence hold of 0.885 seconds."
    },
    {
      "status": "proven",
      "scope": "package usability",
      "friction": "The historical blind agent had to infer dependency installation and host-viewer use; the v0.2 blind agent then found the Mac GUI locked while inspecting the actual video.",
      "rootCause": "The ordered loop initially omitted facts that appeared only in README, and host GUI availability cannot be assumed in an agent environment.",
      "smallestFix": "Put npm install before smoke, name the host viewer at the point of use, allow packaged Playwright plus installed Chrome as an actual-MP4 playback fallback, and clarify that Fish variables are optional when approved audio ships with an example.",
      "evidence": "The v0.2.0 archive-only run completed the operational loop with zero provider calls but later failed human creative review; receipts are preserved under evidence/blind-handoff/history/v0.2.0-broken-eyes."
    },
    {
      "status": "proven",
      "scope": "covered by existing Wiggly rules 7 and 8; implementation fix is format-specific",
      "friction": "The user found Squilliam's eyes missing after v0.2.0 automatic inspection, agent visual review, and blind playback had all been reported as passing.",
      "rootCause": "The character-pack renderer classified alpha-cutout facial textures by browser-resolved image URL, which was not a stable model contract. The resulting opaque cutout background hid eye art, while the quality gates checked media integrity and body framing but not character identity details.",
      "smallestFix": "Declare stable transparent material names per Collada character, alpha-test those materials with normal depth writes, assert every mapping exists in the model, archive all affected proof evidence, and require renewed human review after rerendering.",
      "evidence": "Broken v0.2.0 contact sheets are archived under evidence/character-packs/history/v0.2.0-broken-eyes. Corrected v0.2.1 smoke sheets show eye art on all four presenters."
    },
    {
      "status": "proven",
      "scope": "format-specific",
      "friction": "After the facial cutouts were restored, close playback review showed Squilliam's supposed blink removed only the red pupils while the yellow eye fields stayed open.",
      "rootCause": "The source Collada eye-scale joints influence the pupil overlay, not an eyelid or the entire eye, so treating those joints as blink controls created a disappearing-pupil gesture.",
      "smallestFix": "Mark pupil-only scale rigs as non-blinking and animate blinks only for characters with verified lid controls. Preserve the full eye art continuously instead of inventing a broken blink.",
      "evidence": "The pupil-blink proof is archived under examples/we-the-artists/evidence/history/v0.2.1-pupil-blink. Current Squilliam and Squidward smoke sheets retain yellow eyes and red pupils in every sample; both full proofs share runtime hash 6da1f48982614b10baeb4a11ca63ad4aa4594c9945d32f2b15275bb8e3e27538."
    },
    {
      "status": "proven",
      "scope": "format-specific",
      "friction": "Downloaded character models varied from equivalent semantic rigs to generic skeletons and completely static geometry.",
      "rootCause": "A model file alone does not guarantee compatible arm chains, face controls, framing, transparency, or presenter-quality output.",
      "smallestFix": "Register only characters with an explicit rig map and admit them after the same nine-pose visual smoke test; record and exclude failures.",
      "evidence": "Squilliam, Squidward, SpongeBob, and Mr. Krabs pass hashed smoke evidence under evidence/character-packs; CHARACTER-AUDIT.md records six exclusions."
    }
  ],
  "sharedStandardChange": "None. Human rejection of an automatically valid file directly reinforces existing rules 7 and 8; stable Collada material mapping is specific to this video Format."
}
