Saluca Labs · Epic AI MegaJam 2026

Glass Box dev log

Every decision, in his words

Cristian's only tools were decisions. Each one was recorded with his own words, the date and what it changed, and every agent read them on its next run. R36 was never issued. Rulings made by the orchestrating agent under his standing rule R1 (proceed on recommendations overnight, for his review) are marked as such.

R1. While Cristian is away or resting, agents proceed on the recommended option, weighed for experience and accuracy

2026-11-12 · Cristian

if i am away during downtime overnight... keep progressing as approved for all recommendations... but they must be weighed for the experience and accuracyt

This answers open ruling R1 (unanswered decision cards: proceed or hold) with proceed, and widens it to every recommendation. While Cristian is away or in a rest window, work does not wait for him: where a choice is his (a decision card, a pick such as the R5 face variants, a 1st AD finding that needs a call, a recommendation in a packet), the agents take the RECOMMENDED option, but only after weighing it for the player's experience (is the game better to play and watch) and for accuracy (the bible, the canonical screenplay R6, the rulings, the 1st AD checklist R10). If the recommendation fails that weighing, take the next option that passes, or hold that one item and keep everything else moving. Every such call is logged in plan/decisions.md marked 'taken under R1 while Cristian was away, for his review', with the options, the recommendation, the weighing and what was done, kept reversible where possible, and listed in his next status report; his own answer replaces it. Restarts of the jam editors and jam services that a recorded runbook (irp.py, the keepalive) calls for may proceed and are logged; restarts of shared estate services still wait for him. NOT covered, ever: the human gates (publishing or posting the dev log, itch upload, submission D07, HIP keep, cut, final cut and policy signing, anything public or binding); those stay his acts. This overrides the rest-window line 'decisions wait' in KICKOFF.md for the jam. Recorded by an agent (Claude Code, Opus 5.5); backup jam-plan.2026-11-12-pre-r1-proceed.bak.json.

R2. Concept source: ASK, and pre-existing material

2026-11-11 · Cristian

what about convertign "ASK" to a video game? / let's declare what we need to... no existing art... we create all visuals and references from there / and im all for ASK getting exposure

ASK (his screenplay) is the lead concept candidate for the theme "Director's Cut" (the Take Two mechanic: direct LLM actors through an ASK scene, keep or cut takes, the final cut plays back). The screenplay and character bible are declared as pre-jam source text. No existing ASK art is used; all visuals and visual references are created during the jam. Public exposure of ASK through the entry and dev log is welcome. The concept pick itself stays D01.

R3. Production bible defaults and the prompt library

2026-11-11 · Cristian

prompt library, yes! production bible.. all of those, and let's see what else we need to add to make the characters really have depth.

All six defaults in ask-production-bible.md accepted: Mary-Grace dark brown hair worn up, late 20s to early 30s, no year on screen; performance bank (pre-voiced readings), no third-party runtime voice; perks Rodin and Tripo for props, fal for 2D sheets, Rokoko when its voucher arrives, Meshy only with his card, MetaHuman decided by the web probe; invented case name placeholder until D02, Ashley Vega kept; ending shows only the date on her wrist; synthetic voice seeds for every part, Brown's whisper kept. A prompt library is written and frozen (committed with hashes) before 2026-11-11 21:00 PT and declared under rule 7(h); nothing is generated before the window.

R4. Narrative design open questions

2026-11-11 · Cristian

1 yes 2 yes 3 keep out 4 yes 5 yes

ask-narrative-design.md questions: (1) unique dialogue lives in the booth, uniqueness in a take is the performance, spoken lines from the R3 bank; (2) Director's Cut needs two of three leaks caught, at most one forced; (3) persona frames stay OUT of the prompt library frozen before 21:00 PT and are written in-window, so the persona-relay declaration stays true; (4) the pale watch band is her father's watch, taken the night he was killed, implied only, never stated in the jam (adds to ASK canon); (5) the booth surfaces Brown as the appointee, with his family photo.

R5. Original names, fresh faces, personalities in-window

2026-11-11 · Cristian

let's go back to the original names. let's create fresh character faces from new prompts ... we can lock that in so we can use the looks from meshy or hyper 3d... the character personality itself can be written at jam time, correct? / "the idea is true crime based... also .. chen, wasn't it fisher before?"

(1) The screenplay's original names return: the real historical case references as written in ASK (Heirens, the Lipstick Killer, and the other named killers) replace the placeholder 'Rouge Letters case'. Agent reading, pending his correction: real VICTIMS stay unnamed, nothing graphic is shown, Teen rules unchanged. (2) Fresh face prompts for every speaking character replace the invented and inferred descriptions; they are added to the prompt library and frozen before 21:00 PT. The faces are GENERATED in the window (Rules 7(h)), he picks one per character at D02, and the pick is the locked reference for image-to-3D (Meshy, Hyper3D Rodin). (3) Character personalities and persona prompts are written in the window (consistent with R4). (4) Clarified the same day: 'original names' includes the character names. Detective Andrew FISHER is restored; the 2026-07-30 agent rename to Chen (rename_fisher_to_chen.py, backup wardrobe/PRE-CHEN-RENAME/) is reverted for the jam, and the PRE-CHEN-RENAME source is the canonical text. ASK is true-crime based, which is why the real case references return. (5) Confirmed 2026-11-11 22:58 PT, Cristian in session: "we do real back to the original vision". The real killers and case references appear by their real names as written in ASK; real VICTIMS stay unnamed; nothing graphic; Teen. This replaces the KICKOFF.md line "Real killers and victims are fictionalised".

R6. Canonical screenplay draft

2026-11-11 · Cristian

use the 2021 draft as canonical

The canonical ASK text for the jam is the 2021-05-12 screenplay PDF ('ASK - American Serial Killer.pdf' in the cristian-x-ruvalcaba Google Drive Screenplays folder, sha256 f4149345fcf6adf31176e7b0ff56120d657e9c0966e2172122e3c8e716899e8b, Fisher naming). It supersedes the 2021-02-26 draft text in ask-film/source/ for all jam work: the tkhr-ask corpus, scene quotes in the prompt library, the narrative and gameplay designs. Earlier drafts stay as history, never answering beside it.

R7. Gameplay recommendations accepted; puzzles added

2026-11-11 · Cristian

go with your recommendations on the gameplay and let's explore what other elements we can add to keep the game interesting. it's a true crime thriller type.. so maybe some puzzles and such every so often to reveal a clue she knew about in one of her books? something to keep the mind engaged too

ask-gameplay-brainstorm.md: one core verb (Call the shot: live camera switching to catch the tell), the upgrade loop (kept takes earn budget for cameras, lenses, replay, extra questions), mechanics layered one per take, visible progress, no walking around the set; the defaults for questions 1 to 14 in that file stand (20 Questions per session, tape answers on screen only, the Confession and Breathe as the action picks with Breathe cut first, scripted performance cues, the session clock). New: short puzzles between interview segments, each revealing a clue from Mary-Grace's own true-crime books (section E).

R8. Windows is the primary build; web is a bonus

2026-11-12 · Cristian

Windows primary, web bonus (Recommended)

The official rules (How to Enter (b)) require UE submissions packaged for Windows and playable on Windows 10/11, macOS, Android or iOS; web was only offered at the kickoff as an experimental option, and itch.io's 200 MB per-file limit applies to web only (desktop zips: under 1 GB, or butler). So M04 is re-pointed to a Win64 Shipping package; M06 and M08 build gates are Win64; M11 and M15 no longer require Wasm; the web zip is a bonus shipped only if it fits. N2 keeps working the web size. Recorded by an agent (Claude Code, Opus 5.5); backup jam-plan.2026-11-12-pre-win64-primary.bak.json.

R9. Feature work goes to Fable first

2026-11-12 · Cristian

go fable-first for feature work

Measured since noon: feature tasks (implement or build a game system in C++ or Blueprint) failed a first attempt on the normal chain (25 to 40 min) and then landed on Claude Fable 5.2 (about 25 min), roughly doubling each feature. So feature tasks run the escalation rung (runners.escalation, Claude Fable 5.2) on their first attempt. Records, docs, declarations and small fixes keep the normal chain (opencode, Codex, Claude Code). Refinement after features follows the same split. Recorded by an agent (Claude Code, Opus 5.5); backup jam-plan.2026-11-12-pre-fable-first.bak.json.

R10. A 1st AD checks every image before it is kept or shown

2026-11-12 · Cristian

this one already has a mirror problem .. we'll need a 1st AD that checks all details

Every image an agent adds or shows (generated, graded, screenshot for the bible, marketing) gets an independent 1st AD review against first-ad-checklist.md in the jam folder before it is kept, committed or sent: reflections, anatomy, bible continuity (attire, props, which wrist wears what), light and physics, text and marks, rating, and whether it shows what it claims, judged on zoomed crops, never on scores alone. The maker never reviews its own images. D04 evidence: 29 of 29 generated images failed bible continuity, so characters and sets are built in engine. Recorded by an agent (Claude Code, Opus 5.5); backup jam-plan.2026-11-12-pre-first-ad.bak.json.

R11. The cast is built as MetaHumans

2026-11-13 · Cristian

MetaHumans

Jesse Cortez, Mary-Grace, Chief Brown (and Detective Fisher if time allows) are built as MetaHumans in UE 5.9 from plan/bible/characters, with idle animation and the tells (eyes to wrist, hand over sleeve, warm reading) visible on the right camera in each tell window. A one-character spike (M12.5) proves Win64 Shipping size and frame rate first; if it fails, the fallback is stylised figures and that change comes back to Cristian. Owner: tasks M12.5 to M12.8, pulled forward ahead of M10/M11. Amended 13 Nov 11:55 PT (Cristian: "let's skip kokoro", read as Rokoko): no motion capture and no Rokoko; motion comes from ai-library base poses (MIT rig, Everyday and Portrait only), the MetaHuman animation library and Control Rig keyed from timed text direction.

R12. The bar is AAA: the full game experience at top quality

2026-11-13 · Cristian

we're going for the full game experience.. and the idea is to make this as top notch as possible... and top quality grpahics, etc.. the whole experience.. we're trying to get to AAA quality in less than 36 hours

Every task is judged against AAA presentation, not jam-acceptable. (1) Rendering targets Win64 desktop high end: Lumen global illumination and reflections, Nanite, virtual shadow maps, TSR, cinematic lighting with practicals and volumetrics; the mobile renderer and web memory limits no longer constrain the look (R8: web is a bonus and may ship a lower config or not at all). D04 option A's art direction (palette, grain, no bloom, restrained post) stays: AAA means fidelity and polish inside that direction, not a new style. (2) The cast are MetaHumans (R11) with animation, lip sync and voiced lines. (3) Audio is a designed mix: voiced dialogue, Foley, room tones, score cues. (4) UI has motion and transitions. (5) Making work (Build, Implement, Wire, Apply, Fix, Add, Dress, Light, Art pass) runs on the escalation rung (Claude Fable 5.2); reviews stay on a different runner (R10). (6) D05 cuts breadth, never quality: a shorter experience at AAA beats a longer one that is not. (7) Frame rate floor: 60 fps at 1920x1080 in the Win64 Shipping build on this machine. Recorded by an agent (Claude Code, Opus 5.5); backup jam-plan.2026-11-13-pre-r12-aaa.bak.json.

R13. The dev log goes on the game's itch.io page, with a short LinkedIn post

2026-11-13 · Cristian

itch.io + LinkedIn (Recommended) / "and you can post for me through authenticated sessions" (10:12 PT)

Glass Box dev log entries (L1 to L4) are written as itch.io devlog posts for the game page (live at his D07 upload) plus one short LinkedIn post per entry pointing to them, each with a still that passed the 1st AD (R10). Cristian is the director who decides; agents are credited for the build work they did, never written as his own hands. AI use is stated plainly. No secrets, internal hostnames, codenames, or estate architecture beyond the tool list. Posting: agents may post through Cristian's signed-in sessions under clause 5j only, one named item per explicit "go" in a session he is present for, the exact text he saw, read back after posting. Without his go, drafts only. Recorded by an agent (Claude Code, Opus 5.5).

R14. No Kokoro in the jam

2026-11-13 · Cristian

we can consider kokoro for some of that as well, i just don't want to use kokoro for the jam

Kokoro is not used for any jam voice: not as a voice, a fallback, a seed or a placeholder that ships. The D04 asset plan's 'Chatterbox/Kokoro on the 5070 remain the free fallback' is narrowed to Chatterbox only. If a voice is missing, the task holds that line and raises it at the next decision card; it does not substitute Kokoro. Kokoro stays listed under 'Tools available but not used' in credits.md. Kokoro may be considered for the post-jam ASK film ([local path]), not for the jam.

R15. Trust system in (F20 restored)

2026-11-13 · Cristian

trust system in

F20 Trust system is restored from the D05 cut. Mary-Grace and Jesse each carry trust from -2 to +2, starting at 0; it moves with booth notes and tape questions and selects which scripted replies and lies are given, deterministically. It ranks ahead of the LLM relay (M12.17, a stretch goal behind it). Built on lane B as M12.19 (C++ systems and UI); never changes a shipped scripted line's text.

R16. Camera domes renumbered (option b)

2026-11-13 · Cristian

b

Answering M12.6's camera-numbering question: renumber the domes so cameras 1 and 2 are the south pair and 3 and 4 the north pair, in TakeDirectorPawn's CameraPositions. Seating stays (Jesse north, Mary-Grace south), and the set, the lighting, the cuff bar and every tell's camera number stay as written. Lands as M12.6.2 before M12.7 stages the tells.

R17. Gamepad in (F32 restored), lane B

2026-11-13 · Cristian

go gamepad

F32 gamepad support is restored from the D05 cut and built now on lane B as M12.22, since lane B has spare hours and it costs lane A nothing: cameras, mark, keep or cut, menus, verdict board and editing bay on a standard pad; booth notes via preset note cards instead of an on-screen keyboard. Keyboard stays fully supported.

R18. Agents upload builds to itch as hidden files; Cristian makes them public and presses D07

2026-11-13 · Cristian

does the uploading go public immediately? or is there a 'make public' button? if there's a button, you can upload. and yes, D07.. i will press

Agents may upload Win64 builds to the itch project only with itch's per-file option to hide the file and prevent it from being downloaded ticked, then read the edit page back to confirm the file is hidden and not downloadable from the public page (logged-out check). Before the first real upload, prove on a small throwaway file that the hidden flag can be cleared again from the edit page, then delete the throwaway. Unhiding a build (making it downloadable) is Cristian's press, and so is the jam submission (D07). If a hidden upload cannot be verified as hidden, delete it and stop.

R19. LLM replies through persona-relay, on lane B

2026-11-13 · Cristian

go relay

F22/F23 LLM replies use persona-relay, Saluca's pre-jam Cloudflare Worker ([relay endpoint] salucallc/persona-relay, [local path]), so no secret ships in the game: keys stay in the Worker. Built on lane B (C++ and Content/UI) as M12.17.2 (game personas, scenes and beats in the relay, written in the jam window) and M12.17.3 (game client). The scripted bank stays the default and the instant fallback on any error, timeout, refusal or kill switch, so the game works offline. The Worker may be redeployed with its kill switch OFF (RELAY_ENABLED=no); turning it ON for players is Cristian's go. A reliable model tier needs an Ollama Cloud API key, which Cristian creates.

R20. Stretch on lane B: settings and accessibility pass, stats screen

2026-11-13 · Cristian

go stretch

Stretch work goes only where it does not cost lane A: M12.23 settings and accessibility (subtitle size, colour-blind-safe tell cues, input remapping) and M12.24 a results screen after the premiere, both on lane B. More lane A stretch (cut scenes beyond E16) only if lane A is ahead on Saturday night.

R21. Gameplay video goes to the Saluca Labs YouTube channel, unlisted, on his word

2026-11-13 · Cristian

i'll watch and let you know to upload ... upload will go to YT salucalabs channel.. and we can list it as 'unlisted' if needed so the link works

The M16.2 gameplay video is uploaded only after Cristian has watched it and says to upload. It goes to the Saluca Labs YouTube channel as UNLISTED, never public or scheduled by an agent, and the link is checked logged out before it goes into the submission package. After the jam, a full end-to-end video and write-up of the whole process and its lessons are planned (see post-jam/README.md).

R22. Player speech in (STT) and live voice out (TTS) for improvised AI lines, through persona-relay

2026-11-13 · Cristian

i'd say both stt and tts if possible, given the non-scripted, 'improvized' AI lines.. tts is part of that

Stretch, lane B and the relay only (never lane A): push-to-talk speech-to-text for booth notes and tape questions, and live text-to-speech for relay-generated replies, both served by persona-relay (Cloudflare Workers AI: Whisper for STT, a Workers AI TTS voice per character) so no key ships. Voices must stay consistent between scripted and improvised lines: the relay task compares its TTS voices with the M12.12.1 voice tests and recommends one shared provider or the closest match. Typing and the scripted bank remain the fallback for every failure; live replies keep subtitles. Kill switch and rate limits apply to speech too; turning the relay on stays Cristian's go.

R23. Turn the relay on as soon as it is ready

2026-11-13 · Cristian

start it when it's ready so we have it as part of the game as soon as it's possible

persona-relay goes live (RELAY_ENABLED=yes, with the daily ceiling) once all hold: the game client M12.17.3 has passed its three PIE proofs; at least one model tier is reliable; and a live smoke test with the game's own personas passes (at least 4 of 5 turns answered in character within 2.5 s, with no must_not_reveal leak and the teen screen clean). If the smoke test fails, the switch goes back off and the reason is reported. Only alfred, in a session, flips it on, never the landing job. Speech (M12.17.4 and M12.17.5) joins when its own proofs pass. Workers AI usage beyond Cloudflare's free allocation bills Saluca's Cloudflare account, so the relay's ceilings cap it.

R24. Overnight 13 to 14 Nov: blocks and holds are auto-resolved so work continues

2026-11-14 · Cristian

any blocks or holds in the next several hours should be auto-resolved to continue... it's late and i need sleeo

Until Cristian is back (from 07:30 PT on 14 Nov), every block, hold or 'needs a person' item that is not a human gate is resolved by alfred on the best recommendation (R1 discipline): re-post with a fix, re-route to another runner, reorder or kick the queue, drop a non-critical dependency, or defer a stretch item. Each decision is logged in runs.jsonl and in plan/overnight-2026-11-14.md for his morning review. Human gates are untouched: making an itch build public, D07 submission, HIP signing, the video upload, payments and credits. No Telegram wake-ups.

R25. Gates by artifact: submission held to the end; the 60 s gameplay video and its HIP record go automatically; the full process video waits for him

2026-11-14 · Cristian

build public and d07 submission aren't happening until we're ready to submit... the hip signing and video upload can happen automatically for the 60 sec playthrough, but for anything beyond that, like the full edited 'here's the full process' video... that will wait for me to make public. i also have videos recorded on my phone that will make their way in to it

Making the itch build public and the D07 submission stay Cristian's, done only when the game is ready to submit. For the jam's 60 second gameplay video (M16.2) only: HIP signing and the YouTube upload to the Saluca Labs channel run automatically. The upload goes up PRIVATE first (estate clause 5b). Changing it to unlisted for the submission link needs either his watch of the exact file (clause 5a, about 60 s) or a register amendment; alfred asks for the watch in the morning and does not change visibility before it. The full edited 'whole process' video is post-jam, includes his phone footage, and is made public only by him.

R26. Drop the persona-relay (npm) work; the relay stays off

2026-11-14 · Cristian

let's drop npm, we don't need that

The persona-relay live-reply work (M12.17.6 and its landing fixes, which failed on npm test and tsc) is dropped. R23's relay switch-on does not happen; the game ships with its offline replies. Pending task M12.17.6.lfix2 was cancelled by alfred at about 12:15 PT. Interpretation by alfred (agent): 'npm' read as the persona-relay repo, the only npm work in the jam.

R27. Use Hugging Face for generated images and audio, off the editor, now

2026-11-14 · Cristian

let's start going with the hugging face material sooner rather than later

Side-slot tasks generate 2D images (FLUX.1-schnell, Apache-2.0) and audio (Stable Audio 3 Medium, Stability AI Community License) through Hugging Face Inference Providers with the jam repo's tools/hf_gen.py; editor tasks import the results. Every file carries a provenance sidecar. Only permissive licences: no non-commercial models (SD3, MusicGen, BRIA RMBG) and no AMASS-trained motion. Spend: the tool caps calls per day (image 150, audio 40) to stay near the PRO plan's included credit; paid spend past that is Cristian's call. Every generated image still passes the 1st AD.

R28. Fable first for every build task (Haiku out of the first attempt)

2026-11-14 · alfred (agent), under his standing rule R1, for his review

let's keep pushing and see where we can make time up for now before any cutting decision

runners.fable_first widened from feature verbs to every task verb in the queue (Voice, Generate, Retake, Import, Prepare, Replace, Recheck, Land, Verify, Close, Request, Boot, Measure, Capture, Merge added; Verify no longer excluded). Record, Draft, Tag, Triage and Package keep the normal chain. Evidence: Haiku 3 of 14 completed since 16:00 PT 13 Nov, 90 min spent, 2 false DONEs; Fable 28 of 38 completed today. Reversible: the backup holds the old list. Cristian may overrule.

R29. Look picks from in-engine variants; Meshy editing bay approved; UI card posted

2026-11-14 · Cristian

1 yse 2 approve 3 yes

(1) Scene look options are built in the engine, not generated: M12.31 lights each built set three ways (A flat bible, B cinematic motivated with haze, C B plus dense dressing) as switchable presets and captures them for his pick; FLUX look frames are dropped after 1 of 45 passed the 1st AD. (2) The editing bay becomes a small 3D cutting room with the current editing UI on the flatbed's viewer: Meshy hero props approved with a cap of 600 credits of the 3,955 balance (read 14 Nov 14:20 PT), cost measured on the first prop, hard stop at the cap, every prop through the 1st AD, declared in M17.2.1 (M12.32 generates, M12.33 builds the set). (3) The UI look card (real in-game frames) is posted.

R30. Title 'ASK: American Serial Killer' / 'Director's Cut'; the round-2 generated looks are the visual target

2026-11-14 · Cristian

for the UI, these characters are good, the visuals feel flat though... i think it's set design and visual quality .. the menu should be "ASK: American Serial Killer" and then have a subtitle below that "Director's cut" ... [review-cards/2026-11-14-look/img/] these are far better looks than anything i've seen so far

(1) The cast (MetaHuman characters) is approved as is. (2) The game reads flat: set design and visual quality are the gap. The 30 round-2 frames in [local path] (FLUX, 14 Nov) are the target look for every set: lighting, haze, depth, materials and dressing density. Match their mood and quality, not their details: no text, signs, numerals, faces, computer monitors in the editing bay, or a projector beam from the screen end (the 1st AD defects in first-ad.json), and the D04 palette rules still hold. This binds M12.31, M12.10, M12.11.1-5, M12.13 and M12.33. (3) Main menu title: 'ASK: American Serial Killer', with the subtitle 'Director's Cut' below it (title case as in the game's other headings), replacing 'ASK: DIRECTOR'S CUT' / 'A CRIME DOCUMENTARY GAME'. Check every other place the old title shows (title card, window title, itch page draft, credits, devlog drafts) and list them; the in-game ones change with the menu.

R31. Catch-up to ship: tooling stops, Look B pushed to the R30 target, cut work moved to 'if time', Windows only, dev logs drafted

2026-11-14 · Cristian

1 approved 2 approved. 3 let's put this at the end of the list 'if we have time' 4 ABSOLUTELY 5 yes 6 yes go

(1) No tooling work until the game ships: the board-buttons deploy is held until after submission, and stale review cards are closed. (2) M12.31 no longer builds A/B/C presets for a pick. M12.31.fix1 is superseded by M12.31.2: push the cinematic preset Look_B toward the R30 target images (review-cards/2026-11-14-look/img/) in all four built sets, matching mood and quality, not details (the first-ad.json defects and the D04 palette still hold), leave Look_B active, one 1920x1080 result frame per set. M12.10 (light all five sets cinematically) builds on M12.31.2's result where M12.31.2 has landed: it keeps Look_B and extends it, it does not relight from scratch. (3) M12.33 (the 3D editing bay) moves to the very end of lane A as 'if time' (M14.99), fallback form only (the 3D room as a backdrop behind the existing full-screen UI). (4) Keep both lanes and the side slot busy overnight, including the 00:00-07:00 PT rest window, proceeding on recommendations under R1. (5) The Web (Wasm) build is dropped: Windows (Win64) only. R8 made web a bonus, and the Wasm pak (314 MB) is over itch's 200 MB per-file web limit. No agent requests a web package (package.py --target web) from now on; M15.2 and every later package is Win64 Shipping only, and the web_zip checklist row is not pursued. (6) Dev log 2 and Dev log 3 (overdue) are drafted from the jam log as {repo}/devlog/2.md and {repo}/devlog/3.md (task L2.1); posting them stays Cristian's act. (7) Every 'if time' task (the character re-fixes, the background cast, the character details, the review-frame recaptures, the E16 cinematic stretch, then the 3D editing bay) is reposted at the end of lane A as M14.87 to M14.99 in that priority order (M14.99 is the editing bay). Each starts only if the clock reads before 2026-11-15 03:00 PT; otherwise it ends at once with the final line 'DONE: SKIPPED: no time (R31)' and changes nothing. Kept tasks no longer wait on them (M12.8.1, M12.11.1, M12.11.2 and M12.30 were reposted without those dependencies). Content lock: M13.1 tags beta on integration once every kept lane A M12 task has landed. (8, 14 Nov ~17:00 PT, agent on this ruling) runners.pull_forward gains M14 so the M14.87-M14.99 'if time' tasks fill an idle editor before beta instead of only between beta and 03:00; M14.1 still waits on M13.1 by depends_on. M14.1 ([task]) is the polish pass that makes the [M14] close commit M15 waits on. M12.31.2 is kicked so it runs before M12.10, and M12.10 lights from M12.31.2's Look_B result. (agent, 14 Nov ~22:45 PT) The submission checklist follows part 5: M17 needs one zip (Win64), M15/D06/D07 exit criteria and submit_steps no longer mention a web build.

R32. One generated asset per task: generated, checked by the 1st AD and landed on its own

2026-11-14 · Cristian

moving forward.. let's try to not group asset generation, one by one to make things roll quickly

Every generated asset (an image, a texture, a set-pack render, a Meshy prop, a generated head, a generated sound or voice line) is its own task: generated, checked by the 1st AD and landed on its own; never several assets in one task. Several views or takes of ONE asset (for example the renders of one Meshy prop) are one asset and one task. Captures and screenshots of the game are not generated assets and stay grouped by owner, as before. Voice and lip-sync stays one task per scene, because lip-sync is done per scene; but if a scene's voice generation fails, it is retried one line at a time. Applied 14 Nov ~17:30 PT: M12.11.6.fix1 (12 images) split into M12.11.6.11 to M12.11.6.22 and M12.32.fix1 (13 files, six props) into M12.32.11 to M12.32.16, all on the side slot (title word Generate or Write, no editor); M13.1 reposted to depend on the M12.11.6 split. The runner's 1st AD fix posting is changed to match in a PR (not merged).

R33. Keep the current cast faces for the jam; the Mesh to MetaHuman faces wait for after it

2026-11-14 · Cristian

approved

Approving the agent's recommendation of ~17:45 PT after the now-vs-new sheet (review-cards/2026-11-14-look/faces/FACES-COMPARE.png): the shipped (Creator) faces stay in every take for the jam, as R30 approved. The M12.5.2 Identity-face characters (BP_<Who>ID, MHC_<Who>_ID) stay on integration unused and are not swapped into any take, level or sequence; no task rebuilds rig, attire, placement, poses or tells around them before submission. They are the starting cast for the post-jam film and video. A 1st AD fix task on M12.5.2's frames is not posted, or is retired if posted (the Identity faces do not ship). M12.8.1 verifies the CURRENT cast. The per-head split tasks M12.5.2.1-4 were withdrawn before they started.

R34. Parallel build: lane B builds the Director's Booth and Screening Room; voice and sound generation move to the side slot

2026-11-14 · Cristian

lets' do it... i want this done sooner rather than later.. the goal is fast, good and ready to improve

Approving the agent's plan of ~18:20 PT. (1) Lane B (the second editor, checkout [local path]) builds two of the five sets, the Director's Booth and the Screening Room: it owns their maps (SalucaJam/Content/Maps/DirectorsBooth*, ScreeningRoom*) and SalucaJam/Content/Sets/DirectorsBooth/ and Sets/ScreeningRoom/, where every NEW asset for those sets goes. Lane B may use, but never edit, lane A's shared materials, meshes and characters. Lane A tasks do not edit those two maps from now on. M12.10 is split per set (M12.10.1-3 lane A, M12.10.4-5 lane B), each building on M12.31.2's Look_B result (R31) toward the R30 target; dressing (M12.11.3 and M12.11.5 to lane B) and cameras (M12.13.1-3 lane A, M12.13.4-5 lane B) follow per set, each waiting on its own set's previous step. M12.9.fix2's screening-room item moves into M12.10.5. (2) Voice generation moves off the editor: each scene gets a side-slot task M12.12.N.1 (verify and re-render its lines one at a time with the M12.12.1 ElevenLabs tool, write the scene's placement manifest), then the editor task M12.12.N only places and lip-syncs; the booth and the premiere/endings placements (M12.12.5, M12.12.6) run in lane B. (3) Sound generation moves off the editor: one side-slot task per sound (R32), M12.14.11 to M12.14.29 with tools/hf_gen.py inside the 40 a day sfx cap, then M12.14 places them and balances the mix (lane A) and M12.14.40 places the booth and screening-room sounds (lane B). M12.30 and M13.1 are reposted on the new ids; the M12.11.6.x and M12.32.x asset tasks may land after beta. Lane config applied 2026-11-14 ~19:20 PT by an agent after saluca-windmill #438 (validate_lanes accepts a Content/Maps/<Name> map prefix and child task ids): lane B now owns DirectorsBooth and ScreeningRoom and runs M12.10.4-5, M12.11.3, M12.11.5, M12.12.5-6, M12.13.4-5 and M12.14.40.

R35. Cut lane A to fit the 09:00 PT release candidate

2026-11-14 · Cristian

go

Approving the agent's 21:45 PT proposal: lane A had about 22 editor hours left and 11 hours to the release candidate. (1) Lane B also owns the Editing Bay (SalucaJam/Content/Maps/EditingBay, Content/Sets/EditingBay/) and runs M12.10.3 and M12.11.4. (2) The documentary camera work M12.13.1-5 is 'if time' as M14.80-84 (lobby and interrogation in lane A, booth, screening room and editing bay in lane B), each skipped after 03:00 PT. (3) The separate playtest 3 package (M12.30) is dropped: the rc1 build is the playtest build and M15.2.1 (side car) writes the sheet. (4) The booth material fix M12.20 is 'if time' as M14.85. (5) Content lock M13.1 runs on the side car (git and records only). runners.side_titles gains Replace and Recheck (M17.1.1 itch copy, M17.2.1 credits). Cristian, also: "let's keep nudging consistently to get this as close as possible to a final game". M14.99 (if time, the 3D editing bay; its new map EditingBay3D falls under lane B's EditingBay prefix) also runs in lane B.

R37. Lane B takes the Interrogation Room; performance fix rounds are 'if time'; content locks at 06:00 PT

2026-11-14 · Cristian

go

Approving the agent's ~22:58 PT proposal: M13 (content lock, due 20:00) waited on 19 tasks, 9 of them on lane A, which would land content around 09:30 to 10:00, after the rc. (1) Lane B also owns the Interrogation Room (SalucaJam/Content/Maps/InterrogationRoom*, Content/Sets/InterrogationRoom/) and runs M12.9.2 (black slab), M12.10.2 (lighting, plus the haze over the room through the one-way glass, moved from M12.9.fix2), M12.11.2 (dressing), M12.12.3 and M12.12.4 (voice B1 to B5), and the if-time M14.81 and M14.91. Lane A keeps the Hospital Lobby, the audio mix, the Shipping fix, polish, rc and video. (2) Further 1st AD fix rounds on the cast's performances and characters (M12.7.1.fix3 onward, M12.31.2.fix2 and later character re-fixes) are 'if time': retired as posted, R30 approved the cast. (3) Content lock at 06:00 PT whatever has landed: M13.1 (side car) is kicked at 06:00, lists what did not land in plan/beta.md and tags beta; unfinished content keeps going in the polish window and ships only if it lands before the rc cut.

R38. No wasted wall time to the lock

2026-11-14 · Cristian

let's make sure we have no time / resources wasted .. or minimal waste to make sure we make as much progress in the wall time we have left until the lock.

(1) The Meshy prop regenerations M12.32.11-16 are cut: they serve only the if-time 3D editing bay (M14.99); if M14.99 ever runs it uses the props already generated. (2) runners.pull_forward gains M17: the side car drafts the itch page copy (M17.1.1), the credits and declarations recheck (M17.2.1) and the submission pack (M17.3, which still waits on rc1 and the video by task dependency) instead of idling behind content lock; the pack rechecks everything at the end. (3) No further run restarts unless a slot is blocked; restarts cost editor work.

R39. Interrogation Room back to lane A

2026-11-15 · alfred (agent), under his standing rule R1, for his review

let's keep nudging consistently to get this as close as possible to a final game

The Interrogation Room goes back to lane A (map, set, and tasks M12.9.2, M12.10.2, M12.11.2, M12.12.3, M12.12.4, M12.23, M14.81 with their children). Why: lane A's required queue is empty (only 'if time' left) while lane B holds 11 tasks (~4 h), and two fixes deadlocked on ownership (M12.23.fix2 refused in lane A for InterrogationRoom.umap; M12.10.2.fix3 held in lane B for Jesse's cast assets). Lane B keeps the Booth, Screening Room and Editing Bay. Backup jam-plan.2026-11-15-pre-r39-interrogation-to-A.bak.json. A run restart loads it; under R38 (3) it is taken because lane A is idle on 'if time' work and two fixes are deadlocked, at a gap after the running reconcile.

R40. Gold image approved: rc1 package 20261115-101444

2026-11-15 · Cristian

gold image approved

The gold image is rc1: tag rc1 on f836f589, Win64 Shipping package [local path], submission zip 20261115-101444-win64-shipping-nopdb.zip (941,358,247 bytes, sha256 caf2c703463f98bfdbdba7fece6ef867bbfdf301a12678d63fca8e0e0b05e15a). Frozen: no further content ships in it. The gameplay video (M16.2) and the submission pack (M17.3) use this package and this zip. Later fixes (M15.2.fix1 subtitles on integration 011cd72a, M15.2.fix2 booth) are post-gold and do not change the submission. Recorded by alfred (agent) at 10:41 PT.