@skyphusion-labs/vivijure-core 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/film-model.d.ts +32 -6
  2. package/dist/film-model.d.ts.map +1 -1
  3. package/dist/film-model.js +50 -11
  4. package/dist/film-model.js.map +1 -1
  5. package/dist/film-orchestrator.d.ts +6 -2
  6. package/dist/film-orchestrator.d.ts.map +1 -1
  7. package/dist/film-orchestrator.js +56 -23
  8. package/dist/film-orchestrator.js.map +1 -1
  9. package/dist/film-render-bridge.d.ts.map +1 -1
  10. package/dist/film-render-bridge.js +8 -1
  11. package/dist/film-render-bridge.js.map +1 -1
  12. package/dist/film-submit-idempotency.d.ts +3 -0
  13. package/dist/film-submit-idempotency.d.ts.map +1 -1
  14. package/dist/film-submit-idempotency.js +10 -0
  15. package/dist/film-submit-idempotency.js.map +1 -1
  16. package/dist/modules/conformance.d.ts.map +1 -1
  17. package/dist/modules/conformance.js +13 -1
  18. package/dist/modules/conformance.js.map +1 -1
  19. package/dist/modules/manifest-validate.d.ts.map +1 -1
  20. package/dist/modules/manifest-validate.js +7 -0
  21. package/dist/modules/manifest-validate.js.map +1 -1
  22. package/dist/modules/render-pipeline.d.ts +26 -1
  23. package/dist/modules/render-pipeline.d.ts.map +1 -1
  24. package/dist/modules/render-pipeline.js +30 -1
  25. package/dist/modules/render-pipeline.js.map +1 -1
  26. package/dist/modules/types.d.ts +68 -0
  27. package/dist/modules/types.d.ts.map +1 -1
  28. package/dist/modules/types.js +11 -0
  29. package/dist/modules/types.js.map +1 -1
  30. package/dist/render-module-config.d.ts +28 -1
  31. package/dist/render-module-config.d.ts.map +1 -1
  32. package/dist/render-module-config.js +48 -1
  33. package/dist/render-module-config.js.map +1 -1
  34. package/dist/scatter-orchestrator.d.ts.map +1 -1
  35. package/dist/scatter-orchestrator.js +18 -1
  36. package/dist/scatter-orchestrator.js.map +1 -1
  37. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import type { ConfigSchema, DialogueLine, FinishOutput, MasterOutput, RegisteredModule, SpeechOutput } from "./modules/types.js";
1
+ import type { ConfigSchema, DialogueLine, FinishOutput, HookSelection, MasterOutput, RegisteredModule, SpeechOutput } from "./modules/types.js";
2
2
  import { type ClipJob, type JobSummary } from "./clip-job-model.js";
3
3
  export interface FilmScene {
4
4
  shot_id: string;
@@ -92,6 +92,7 @@ export interface FilmJob {
92
92
  keyframe_backend?: string | null;
93
93
  keyframe_config?: Record<string, unknown>;
94
94
  finish_config: Record<string, Record<string, unknown>>;
95
+ finish_select?: HookSelection;
95
96
  speech_config?: Record<string, Record<string, unknown>>;
96
97
  film_finish_config?: Record<string, Record<string, unknown>>;
97
98
  master_config?: Record<string, Record<string, unknown>>;
@@ -99,6 +100,7 @@ export interface FilmJob {
99
100
  phase: "keyframe" | "clips" | "dialogue" | "speech" | "finish" | "assemble" | "master" | "mux" | "done" | "failed";
100
101
  keyframe_poll?: string;
101
102
  keyframe_job_id?: string;
103
+ keyframe_wait?: "accepted" | "running";
102
104
  clip_job_id?: string;
103
105
  finish_shots?: FinishShot[];
104
106
  speech_shots?: SpeechShot[];
@@ -402,12 +404,36 @@ export declare const PER_SHOT_PHASES: ReadonlySet<FilmJob["phase"]>;
402
404
  * phase_started_at clock: no phase-level progress for the whole window really is wedged (#129).
403
405
  * Falls back to phase_started_at (then created_at) on jobs with no last_progress_at stamp. */
404
406
  export declare function ceilingAgeSeconds(job: FilmJob, now?: number): number;
405
- /** Progress fingerprint for the stall signal (#136): the current phase plus how many of its per-shot
406
- * units are done. Monotonic within a phase (shots only go pending->done) and it changes on every phase
407
- * transition, so ANY change is genuine forward progress -- which is what re-stamps last_progress_at.
408
- * Phases with no per-shot fan-out (keyframe/dialogue/assemble/master/mux) report :0, so their stall
409
- * window runs from when the phase began, exactly as before. */
407
+ /** Progress fingerprint for the stall signal (#136): the current phase, how many of its per-shot units
408
+ * are done, and how many CHAIN STEPS have resolved inside those units. Monotonic within a phase (shots
409
+ * only go pending->done, `idx` only advances) and it changes on every phase transition, so ANY change is
410
+ * genuine forward progress -- which is what re-stamps last_progress_at. Phases with no per-shot fan-out
411
+ * (keyframe/dialogue/assemble/master/mux) report :0:0, so their stall window runs from when the phase
412
+ * began, exactly as before.
413
+ *
414
+ * WHY STEPS AND NOT ONLY SHOTS (#182). Counting finished SHOTS made the marker blind to a shot that is
415
+ * working correctly through a multi-step chain: a film whose LAST remaining shot is mid-chain, or a
416
+ * single-shot film, produced NO marker change between the phase starting and the shot finishing, so the
417
+ * 90min ceiling (which measures from last_progress_at) fired on work that was proceeding exactly as
418
+ * configured. `idx` advances only when a step actually resolves -- run (applyFinishOutput) or reused
419
+ * (adoptFinishStepOutput) -- and `attempts` is deliberately NOT counted, because a step retrying is not
420
+ * a step progressing and folding it in would let a failing shot re-stamp the clock forever.
421
+ *
422
+ * WHAT THIS DOES NOT FIX, stated here because a green suite would otherwise imply it did: a chain with
423
+ * exactly ONE step has no intra-shot progress to observe, so a single-shot film whose finish chain is
424
+ * just `finish-upscale` still gets its one marker change at the very end -- which is precisely the
425
+ * configuration #182 describes. Four modules declare the `finish` hook (finish-upscale, finish-lipsync,
426
+ * finish-rife, finish-blender), so chains of 2..4 steps are ordinary and this covers them; the
427
+ * single-step case needs a ceiling sized to the work, not a finer marker. `tests/film-progress-marker-182`
428
+ * asserts that limit explicitly rather than leaving it to be discovered. */
410
429
  export declare function filmProgressMarker(job: FilmJob, clipJob: ClipJob | null): string;
430
+ /** Compare-and-stamp the stall clock (#136/#704/#182). Returns true iff the marker MOVED, i.e. real
431
+ * forward progress happened this pass, in which case `progress_marker` and `last_progress_at` are
432
+ * updated in place. Extracted from advanceFilmJob so the marker's effect on the ceiling is reachable
433
+ * from a test: inline, the only way to exercise it was to restate these lines in the test, and a test
434
+ * that restates its subject's contract agrees with the subject forever whatever the subject does.
435
+ * `now` is injectable so tests do not depend on the wall clock. */
436
+ export declare function stampFilmProgress(job: FilmJob, clipJob: ClipJob | null, now?: number): boolean;
411
437
  /** Default fraction of a shot`s planned seconds an assembled clip must reach before it is treated as a
412
438
  * truncation defect (#697) rather than a legitimate beat-trim. Clamped to [0,1]; a 0 disables the gate. */
413
439
  /** THE delivery resolution for a film, in ONE place.
@@ -1 +1 @@
1
- {"version":3,"file":"film-model.d.ts","sourceRoot":"","sources":["../src/film-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"film-model.d.ts","sourceRoot":"","sources":["../src/film-model.ts"],"names":[],"mappings":"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"}
@@ -495,20 +495,59 @@ export function ceilingAgeSeconds(job, now = Date.now()) {
495
495
  const since = Math.max(job.phase_started_at ?? job.created_at, job.last_progress_at ?? 0);
496
496
  return Math.max(0, Math.floor((now - since) / 1000));
497
497
  }
498
- /** Progress fingerprint for the stall signal (#136): the current phase plus how many of its per-shot
499
- * units are done. Monotonic within a phase (shots only go pending->done) and it changes on every phase
500
- * transition, so ANY change is genuine forward progress -- which is what re-stamps last_progress_at.
501
- * Phases with no per-shot fan-out (keyframe/dialogue/assemble/master/mux) report :0, so their stall
502
- * window runs from when the phase began, exactly as before. */
498
+ /** Progress fingerprint for the stall signal (#136): the current phase, how many of its per-shot units
499
+ * are done, and how many CHAIN STEPS have resolved inside those units. Monotonic within a phase (shots
500
+ * only go pending->done, `idx` only advances) and it changes on every phase transition, so ANY change is
501
+ * genuine forward progress -- which is what re-stamps last_progress_at. Phases with no per-shot fan-out
502
+ * (keyframe/dialogue/assemble/master/mux) report :0:0, so their stall window runs from when the phase
503
+ * began, exactly as before.
504
+ *
505
+ * WHY STEPS AND NOT ONLY SHOTS (#182). Counting finished SHOTS made the marker blind to a shot that is
506
+ * working correctly through a multi-step chain: a film whose LAST remaining shot is mid-chain, or a
507
+ * single-shot film, produced NO marker change between the phase starting and the shot finishing, so the
508
+ * 90min ceiling (which measures from last_progress_at) fired on work that was proceeding exactly as
509
+ * configured. `idx` advances only when a step actually resolves -- run (applyFinishOutput) or reused
510
+ * (adoptFinishStepOutput) -- and `attempts` is deliberately NOT counted, because a step retrying is not
511
+ * a step progressing and folding it in would let a failing shot re-stamp the clock forever.
512
+ *
513
+ * WHAT THIS DOES NOT FIX, stated here because a green suite would otherwise imply it did: a chain with
514
+ * exactly ONE step has no intra-shot progress to observe, so a single-shot film whose finish chain is
515
+ * just `finish-upscale` still gets its one marker change at the very end -- which is precisely the
516
+ * configuration #182 describes. Four modules declare the `finish` hook (finish-upscale, finish-lipsync,
517
+ * finish-rife, finish-blender), so chains of 2..4 steps are ordinary and this covers them; the
518
+ * single-step case needs a ceiling sized to the work, not a finer marker. `tests/film-progress-marker-182`
519
+ * asserts that limit explicitly rather than leaving it to be discovered. */
503
520
  export function filmProgressMarker(job, clipJob) {
504
521
  let done = 0;
505
- if (job.phase === "clips")
522
+ let steps = 0;
523
+ if (job.phase === "clips") {
506
524
  done = (clipJob?.shots || []).filter((s) => s.status === "done").length;
507
- else if (job.phase === "finish")
508
- done = (job.finish_shots || []).filter((fs) => fs.status === "done").length;
509
- else if (job.phase === "speech")
510
- done = (job.speech_shots || []).filter((ss) => ss.status === "done").length;
511
- return `${job.phase}:${done}`;
525
+ }
526
+ else if (job.phase === "finish") {
527
+ const shots = job.finish_shots || [];
528
+ done = shots.filter((fs) => fs.status === "done").length;
529
+ steps = shots.reduce((n, fs) => n + Math.max(0, Math.trunc(fs.idx) || 0), 0);
530
+ }
531
+ else if (job.phase === "speech") {
532
+ const shots = job.speech_shots || [];
533
+ done = shots.filter((ss) => ss.status === "done").length;
534
+ steps = shots.reduce((n, ss) => n + Math.max(0, Math.trunc(ss.idx) || 0), 0);
535
+ }
536
+ return `${job.phase}:${done}:${steps}`;
537
+ }
538
+ /** Compare-and-stamp the stall clock (#136/#704/#182). Returns true iff the marker MOVED, i.e. real
539
+ * forward progress happened this pass, in which case `progress_marker` and `last_progress_at` are
540
+ * updated in place. Extracted from advanceFilmJob so the marker's effect on the ceiling is reachable
541
+ * from a test: inline, the only way to exercise it was to restate these lines in the test, and a test
542
+ * that restates its subject's contract agrees with the subject forever whatever the subject does.
543
+ * `now` is injectable so tests do not depend on the wall clock. */
544
+ export function stampFilmProgress(job, clipJob, now = Date.now()) {
545
+ const marker = filmProgressMarker(job, clipJob);
546
+ if (marker === job.progress_marker)
547
+ return false;
548
+ job.progress_marker = marker;
549
+ job.last_progress_at = now;
550
+ return true;
512
551
  }
513
552
  // --------------------------------------------------------------------------- duration honesty (#697/#698)
514
553
  //
@@ -1 +1 @@
1
- {"version":3,"file":"film-model.js","sourceRoot":"","sources":["../src/film-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"film-model.js","sourceRoot":"","sources":["../src/film-model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Env } from "./platform/orchestrator-context.js";
2
2
  import { type FilmScene, type FinishShot, type FilmKeyframeRef, type FilmJob } from "./film-model.js";
3
- import type { RegisteredModule, FinishInput, DialogueLine } from "./modules/types.js";
3
+ import type { RegisteredModule, FinishInput, DialogueLine, HookSelection } from "./modules/types.js";
4
4
  import { clipFileMatchesShot, type ClipJob } from "./render-orchestrator.js";
5
5
  export * from "./film-model.js";
6
6
  /** Collect finished clip keys from a terminal clips_only (or full) film job doc. */
@@ -199,6 +199,8 @@ export declare function startFilmFromKeyframes(env: Env, args: {
199
199
  motion_config?: Record<string, unknown>;
200
200
  motion_configs?: Record<string, Record<string, unknown>>;
201
201
  finish_config?: Record<string, Record<string, unknown>>;
202
+ /** cf#537: which finish modules this render wants. Omitted = the default-participation set. */
203
+ finish_select?: HookSelection;
202
204
  speech_config?: Record<string, Record<string, unknown>>;
203
205
  film_finish_config?: Record<string, Record<string, unknown>>;
204
206
  master_config?: Record<string, Record<string, unknown>>;
@@ -220,6 +222,8 @@ export declare function startFilmJob(env: Env, args: {
220
222
  keyframe_config?: Record<string, unknown>;
221
223
  motion_config?: Record<string, unknown>;
222
224
  finish_config?: Record<string, Record<string, unknown>>;
225
+ /** cf#537: which finish modules this render wants. Omitted = the default-participation set. */
226
+ finish_select?: HookSelection;
223
227
  speech_config?: Record<string, Record<string, unknown>>;
224
228
  film_finish_config?: Record<string, Record<string, unknown>>;
225
229
  master_config?: Record<string, Record<string, unknown>>;
@@ -291,7 +295,7 @@ export declare function listProjectClips(env: Env, project: string, scenes: Film
291
295
  * the claimFinish conditional-UPDATE pattern): the loser skips quietly and reports the doc
292
296
  * read-only; the lease is released after the tick and expires on its own if the winner crashed,
293
297
  * so a genuine retry is never deadlocked. */
294
- export declare function advanceFilmJob(env: Env, filmId: string): Promise<{
298
+ export declare function advanceFilmJob(env: Env, filmId: string, preModules?: RegisteredModule[]): Promise<{
295
299
  job: FilmJob;
296
300
  clipJob: ClipJob | null;
297
301
  } | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"film-orchestrator.d.ts","sourceRoot":"","sources":["../src/film-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"film-orchestrator.d.ts","sourceRoot":"","sources":["../src/film-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@
7
7
  // POST /api/render/film starts it; GET /api/render/film/:id advances it; the caller polls to `done`.
8
8
  // No Worker ever holds a multi-minute GPU/cloud render.
9
9
  import { discoverModules, invokeModule, pollModule, cancelModule, localGpuKeyframePreflightError, resolveFetcher, servingForHook, validateConfig, dispatchChain, } from "./modules/registry.js";
10
- import { coupleLocalGpuKeyframeChoice, normalizeBackendChoice, pickOneForHook } from "./modules/render-pipeline.js";
10
+ import { coupleLocalGpuKeyframeChoice, normalizeBackendChoice, pickOneForHook, selectForChain } from "./modules/render-pipeline.js";
11
11
  import { hookOutputViolation } from "./modules/conformance.js";
12
12
  import { emitStructuredEvent } from "./structured-events.js";
13
13
  import { claimFilmSubmit, naturalKeyForStartFilmJob, naturalKeyForStartFromKeyframes, releaseFilmSubmitClaim, } from "./film-submit-idempotency.js";
14
- import { filmJobDocKey as filmKey, clipJobDocKey as clipDocKey, orderFinalClips, joinKeyframesToScenes, applyFinishOutput, adoptFinishStepOutput, applySpeechOutput, FINISH_STEP_MAX_ATTEMPTS, classifyFinishFailure, classifyFinishRetry, resolveFinishConfigs, finishShotAdoptableFromR2, reclaimFinishShotsFromR2, finishStepOutputKey, finishStepAppliedTag, finishShotLedgerReconciles, classifyAssembleTransport, MASTER_STEP_MAX_ATTEMPTS, MASTER_STALL_SECONDS, filmSeconds, masteredBedKey, applyMasterOutput, degradeMasterStep, masterChainDone, coerceSceneIds, coerceDialogueLineIds, KEYFRAME_STALL_SECONDS, PHASE_HARD_DEADLINE_SECONDS, POLLABLE_PHASES, phaseAgeSeconds, ceilingAgeSeconds, filmProgressMarker, resolveClipDurationFloor, mapClipDurationsToShots, resolvePlannedSeconds, findClipDurationShortfalls, captionDurations, resolveDeliveryResolution, DEFAULT_DELIVERY_FPS, } from "./film-model.js";
14
+ import { filmJobDocKey as filmKey, clipJobDocKey as clipDocKey, orderFinalClips, joinKeyframesToScenes, applyFinishOutput, adoptFinishStepOutput, applySpeechOutput, FINISH_STEP_MAX_ATTEMPTS, classifyFinishFailure, classifyFinishRetry, resolveFinishConfigs, finishShotAdoptableFromR2, reclaimFinishShotsFromR2, finishStepOutputKey, finishStepAppliedTag, finishShotLedgerReconciles, classifyAssembleTransport, MASTER_STEP_MAX_ATTEMPTS, MASTER_STALL_SECONDS, filmSeconds, masteredBedKey, applyMasterOutput, degradeMasterStep, masterChainDone, coerceSceneIds, coerceDialogueLineIds, KEYFRAME_STALL_SECONDS, PHASE_HARD_DEADLINE_SECONDS, POLLABLE_PHASES, phaseAgeSeconds, ceilingAgeSeconds, stampFilmProgress, resolveClipDurationFloor, mapClipDurationsToShots, resolvePlannedSeconds, findClipDurationShortfalls, captionDurations, resolveDeliveryResolution, DEFAULT_DELIVERY_FPS, } from "./film-model.js";
15
15
  import { retimeSrt } from "./srt.js";
16
16
  import { loadInstallConfig } from "./operator-config.js";
17
17
  import { startClipJob, advanceClipJob, cancelInFlightClips, summarizeJob, describeClipFailures, clipFileMatchesShot, finishedClipFileMatchesShot, listClipsByShotId, reclaimClipsFromR2, validateDoneClips, } from "./render-orchestrator.js";
@@ -331,7 +331,7 @@ async function enterFinishPhase(env, job, clipJob, preModules) {
331
331
  await env.R2_RENDERS.put(clipDocKey(job.clip_job_id), JSON.stringify(clipJob), { httpMetadata: { contentType: "application/json" } });
332
332
  }
333
333
  const modules = preModules ?? await discoverModules(env);
334
- const serving = servingForHook(modules, "finish"); // ui.order; the full finish chain
334
+ const servingAll = servingForHook(modules, "finish"); // ui.order; every BOUND finish module
335
335
  const doneClips = clipJob.shots.filter((s) => s.status === "done" && s.clip_key);
336
336
  if (!doneClips.length) {
337
337
  // #754: surface the per-shot failure reasons instead of only the bare generic.
@@ -340,6 +340,24 @@ async function enterFinishPhase(env, job, clipJob, preModules) {
340
340
  job.error = reasons ? `no clips rendered to assemble -- ${reasons}` : "no clips rendered to assemble";
341
341
  return;
342
342
  }
343
+ // cf#537: THE participation gate. This is the ONLY site that mints the per-shot finish chain --
344
+ // `servingForHook(modules, "finish")` appears exactly once in this repo and it is the line above --
345
+ // so it is the only place the gate can be enforced. It reads the LIVE registry rather than the
346
+ // resolved plan, which is why job.finish_select has to be its own persisted field.
347
+ //
348
+ // ABSENT selection keeps every pre-cf#537 caller byte-identical except that a module declaring
349
+ // participation:"opt_in" no longer runs unasked. A NAMED selection is exactly those modules.
350
+ const picked = selectForChain(servingAll, "finish", job.finish_select);
351
+ if (picked.missing.length) {
352
+ // A caller that explicitly named a finish module and cannot have it is TOLD. pickOneForHook can
353
+ // resolve an unknown choice to null because motion.backend has a built-in fallback; there is no
354
+ // fallback here, and silently delivering a film without the step someone asked for is the cf#500
355
+ // failure from the other side.
356
+ job.phase = "failed";
357
+ job.error = `finish module(s) requested but not serving: ${picked.missing.join(", ")}`;
358
+ return;
359
+ }
360
+ const serving = picked.modules;
343
361
  if (!serving.length) {
344
362
  job.phase = job.clips_only ? "done" : "assemble";
345
363
  return;
@@ -2089,6 +2107,8 @@ export async function startFilmFromKeyframes(env, args, preModules) {
2089
2107
  motion_backend: args.motion_backend ?? null,
2090
2108
  motion_config: args.motion_config ?? {},
2091
2109
  finish_config: args.finish_config ?? {},
2110
+ // cf#537: absent stays ABSENT on the persisted doc. It is a third state, not a default to fill in.
2111
+ finish_select: args.finish_select,
2092
2112
  speech_config: args.speech_config ?? {},
2093
2113
  film_finish_config: args.film_finish_config ?? {},
2094
2114
  master_config: args.master_config ?? {},
@@ -2175,6 +2195,8 @@ export async function startFilmJob(env, args, preModules) {
2175
2195
  keyframe_backend: kf ? kf.name : null,
2176
2196
  keyframe_config: args.keyframe_config ?? {},
2177
2197
  finish_config: args.finish_config ?? {},
2198
+ // cf#537: absent stays ABSENT on the persisted doc. It is a third state, not a default to fill in.
2199
+ finish_select: args.finish_select,
2178
2200
  speech_config: args.speech_config ?? {},
2179
2201
  film_finish_config: args.film_finish_config ?? {},
2180
2202
  master_config: args.master_config ?? {},
@@ -2564,12 +2586,12 @@ async function persistFilmJobFailed(env, filmId, error) {
2564
2586
  * the claimFinish conditional-UPDATE pattern): the loser skips quietly and reports the doc
2565
2587
  * read-only; the lease is released after the tick and expires on its own if the winner crashed,
2566
2588
  * so a genuine retry is never deadlocked. */
2567
- export async function advanceFilmJob(env, filmId) {
2589
+ export async function advanceFilmJob(env, filmId, preModules) {
2568
2590
  const claim = await claimAdvanceOrFailOpen(env, filmId);
2569
2591
  if (!claim.won)
2570
2592
  return readFilmJobReadOnly(env, filmId);
2571
2593
  try {
2572
- return await advanceFilmJobLocked(env, filmId);
2594
+ return await advanceFilmJobLocked(env, filmId, preModules);
2573
2595
  }
2574
2596
  catch (e) {
2575
2597
  const msg = e instanceof Error ? e.message : String(e);
@@ -2604,7 +2626,7 @@ export async function advanceFilmJob(env, filmId) {
2604
2626
  }
2605
2627
  }
2606
2628
  /** The advance tick body; the caller holds (or fail-opened past) the advance lease. */
2607
- async function advanceFilmJobLocked(env, filmId) {
2629
+ async function advanceFilmJobLocked(env, filmId, preModules) {
2608
2630
  const obj = await env.R2_RENDERS.get(filmKey(filmId));
2609
2631
  if (!obj)
2610
2632
  return null;
@@ -2617,7 +2639,13 @@ async function advanceFilmJobLocked(env, filmId) {
2617
2639
  // each phase function re-fanning-out N `/module.json` subrequests. A tick can chain several discovering
2618
2640
  // legs (finish -> assemble -> master/mux -> film.finish + notify), so the old per-leg discovery blew the
2619
2641
  // free-plan 50-subrequest cap on a 25-module install (F9). Manifests are static within a tick.
2620
- const modules = await discoverModules(envRec);
2642
+ //
2643
+ // cf#515: `preModules` extends that ONE LEVEL UP, for a caller that drives several films inside a
2644
+ // single request. #521's bound is per-FILM, and `advanceScatterJob` runs S film ticks per HTTP
2645
+ // request, so scatter multiplied exactly the thing #521 bounded: S x M manifest fetches, measured
2646
+ // at 162 for S=6 / M=27 before this. Manifests are static within a tick for the same reason they
2647
+ // are static within a request, so one registry serves every shard.
2648
+ const modules = preModules ?? await discoverModules(envRec);
2621
2649
  // Stall recovery (#129): a pollable phase whose module poll never resolves (RunPod GC'd the finished
2622
2650
  // job) would otherwise hang IN_PROGRESS forever. Run BEFORE the phase legs so an adopted keyframe
2623
2651
  // phase advances to clips and the clips leg below drives it in the same tick. A persist happens at the
@@ -2637,6 +2665,7 @@ async function advanceFilmJobLocked(env, filmId) {
2637
2665
  job.error = p.error;
2638
2666
  }
2639
2667
  else if (!p.pending) {
2668
+ job.keyframe_wait = undefined;
2640
2669
  const out = p.output;
2641
2670
  const v = hookOutputViolation(job.keyframe_binding ?? "keyframe", "keyframe", out);
2642
2671
  if (v) {
@@ -2646,16 +2675,25 @@ async function advanceFilmJobLocked(env, filmId) {
2646
2675
  else
2647
2676
  await afterKeyframeOutput(env, job, out, modules);
2648
2677
  }
2649
- else if (await keyframeSetCompleteInR2(env, job)) {
2650
- // R2 PRESENCE IS AUTHORITATIVE, even on a *pending* poll (#129 sibling, mirrors #154 for finish):
2651
- // the keyframe job's RunPod envelope can freeze at IN_PROGRESS after the GPU already wrote every
2652
- // renders/<project>/keyframes/shot_NN.png to R2, so the poll reads pending forever. Don't wait for
2653
- // KEYFRAME_STALL_SECONDS (20min) to adopt -- once the FULL set is in R2, advance now. The
2654
- // completeness guard is essential: adopting a PARTIAL set (mid-generation) would advance to clips
2655
- // with keyframes missing. (recoverStalledKeyframePhase stays as the >20min backstop, which HOLDS a
2656
- // partial set below the ceiling and delivers-with-degrade at it, #619.) This path already proved the
2657
- // FULL set is present, so atCeiling=false is moot: recovery takes its full-set advance branch.
2658
- await recoverStalledKeyframePhase(env, job, modules, false);
2678
+ else {
2679
+ // cf#307: surface module wait phase (accepted vs running) so the poll view can distinguish
2680
+ // cold start from sampling. Modules that omit wait leave keyframe_wait cleared.
2681
+ const wait = p.wait;
2682
+ if (wait === "accepted" || wait === "running")
2683
+ job.keyframe_wait = wait;
2684
+ else
2685
+ job.keyframe_wait = undefined;
2686
+ if (await keyframeSetCompleteInR2(env, job)) {
2687
+ // R2 PRESENCE IS AUTHORITATIVE, even on a *pending* poll (#129 sibling, mirrors #154 for finish):
2688
+ // the keyframe job's RunPod envelope can freeze at IN_PROGRESS after the GPU already wrote every
2689
+ // renders/<project>/keyframes/shot_NN.png to R2, so the poll reads pending forever. Don't wait for
2690
+ // KEYFRAME_STALL_SECONDS (20min) to adopt -- once the FULL set is in R2, advance now. The
2691
+ // completeness guard is essential: adopting a PARTIAL set (mid-generation) would advance to clips
2692
+ // with keyframes missing. (recoverStalledKeyframePhase stays as the >20min backstop, which HOLDS a
2693
+ // partial set below the ceiling and delivers-with-degrade at it, #619.) This path already proved the
2694
+ // FULL set is present, so atCeiling=false is moot: recovery takes its full-set advance branch.
2695
+ await recoverStalledKeyframePhase(env, job, modules, false);
2696
+ }
2659
2697
  }
2660
2698
  }
2661
2699
  await putFilm(env, job);
@@ -2741,12 +2779,7 @@ async function advanceFilmJobLocked(env, filmId) {
2741
2779
  // ALSO load-bearing for recovery: the 90min ceiling measures the per-shot phases (clips/speech/finish)
2742
2780
  // against last_progress_at, so a slow-but-landing local-gpu film never dies mid-progress; the
2743
2781
  // same-phase recovery triggers and the batch keyframe ceiling still measure from phase_started_at.
2744
- const marker = filmProgressMarker(job, clipJob);
2745
- const progressed = marker !== job.progress_marker;
2746
- if (progressed) {
2747
- job.progress_marker = marker;
2748
- job.last_progress_at = Date.now();
2749
- }
2782
+ const progressed = stampFilmProgress(job, clipJob);
2750
2783
  // On any phase transition this tick, stamp when the new phase began (the stall recovery measures
2751
2784
  // against it) and persist. The phase legs above already persisted on the paths they took; this also
2752
2785
  // covers a recovery that failed the job at the ceiling (no leg ran after it), so that verdict lands