@skyphusion-labs/vivijure-core 1.13.0 → 1.15.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 (53) hide show
  1. package/dist/film-model.d.ts +144 -6
  2. package/dist/film-model.d.ts.map +1 -1
  3. package/dist/film-model.js +193 -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 +91 -38
  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 +20 -45
  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 +17 -0
  21. package/dist/modules/manifest-validate.js.map +1 -1
  22. package/dist/modules/registry.d.ts +6 -4
  23. package/dist/modules/registry.d.ts.map +1 -1
  24. package/dist/modules/registry.js +57 -23
  25. package/dist/modules/registry.js.map +1 -1
  26. package/dist/modules/render-pipeline.d.ts +26 -1
  27. package/dist/modules/render-pipeline.d.ts.map +1 -1
  28. package/dist/modules/render-pipeline.js +30 -1
  29. package/dist/modules/render-pipeline.js.map +1 -1
  30. package/dist/modules/types.d.ts +136 -0
  31. package/dist/modules/types.d.ts.map +1 -1
  32. package/dist/modules/types.js +25 -0
  33. package/dist/modules/types.js.map +1 -1
  34. package/dist/render-adopt.d.ts.map +1 -1
  35. package/dist/render-adopt.js +7 -0
  36. package/dist/render-adopt.js.map +1 -1
  37. package/dist/render-module-config.d.ts +28 -1
  38. package/dist/render-module-config.d.ts.map +1 -1
  39. package/dist/render-module-config.js +48 -1
  40. package/dist/render-module-config.js.map +1 -1
  41. package/dist/render-output-payload.d.ts +19 -0
  42. package/dist/render-output-payload.d.ts.map +1 -0
  43. package/dist/render-output-payload.js +100 -0
  44. package/dist/render-output-payload.js.map +1 -0
  45. package/dist/renders-db.d.ts +47 -1
  46. package/dist/renders-db.d.ts.map +1 -1
  47. package/dist/renders-db.js +88 -27
  48. package/dist/renders-db.js.map +1 -1
  49. package/dist/scatter-orchestrator.d.ts +10 -2
  50. package/dist/scatter-orchestrator.d.ts.map +1 -1
  51. package/dist/scatter-orchestrator.js +81 -13
  52. package/dist/scatter-orchestrator.js.map +1 -1
  53. 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[];
@@ -173,6 +175,12 @@ export interface FilmJob {
173
175
  keyframe_recovered?: boolean;
174
176
  clips_recovered?: boolean;
175
177
  last_progress_at?: number;
178
+ /** core#182 honesty: chain steps in the CURRENT phase whose module declares no
179
+ * `max_invocation_seconds`, so the core could not size the stall ceiling to them and is holding
180
+ * the floor. Carried on the job (not merely logged) because an operator reading a stalled render
181
+ * needs to see which module the ceiling is unbounded against; an absence that is only in a log
182
+ * line is an absence nobody finds. Empty/absent means every step in play declared one. */
183
+ ceiling_undeclared?: string[];
176
184
  progress_marker?: string;
177
185
  error?: string;
178
186
  created_at: number;
@@ -294,6 +302,38 @@ export declare function finishShotAdoptableFromR2(fs: FinishShot): boolean;
294
302
  * the module's verdict / a stuck envelope). Mutates `finishShots`, returns the number adopted. Mirrors
295
303
  * reclaimClipsFromR2 on the clips leg so the two phases recover symmetrically. */
296
304
  export declare function reclaimFinishShotsFromR2(finishShots: FinishShot[], present: Map<string, string>, modules?: RegisteredModule[]): number;
305
+ /** cf#1662: the film.finish outcome in the shape that reaches the RENDER ROW.
306
+ *
307
+ * WHY THIS EXISTS. A film that ships without its title card or subtitles is `done`, carries no
308
+ * error, and was previously indistinguishable in render history from one that shipped complete --
309
+ * a DEGRADATION wearing completion. The chain already records everything needed (this type's own
310
+ * comment says `degraded` exists to prevent "a silent green"); it was simply never carried onto the
311
+ * poll view, and the poll view is what `updateRenderFromView` writes into `output_json`. So nobody
312
+ * could COUNT how often it happens, which makes every proposed fix for fc#1662 a trade against an
313
+ * incidence that does not exist anywhere.
314
+ *
315
+ * FOUR STATES, and the shape is four rather than a boolean deliberately:
316
+ *
317
+ * key absent this row predates the change -- NOT MEASURED
318
+ * null the chain did not run (nothing to card) -- MEASURED, not applicable
319
+ * degraded: null the chain ran and applied everything -- MEASURED, clean
320
+ * degraded: "..." the chain ran and SHIPPED UNCARDED -- MEASURED, the finding
321
+ *
322
+ * Collapsing "no cards were requested" into "cards applied cleanly" would rebuild the very defect
323
+ * this is here to expose, one field over. An absence never renders as a value.
324
+ *
325
+ * `adopted` is carried because it counts the RECOVERED re-encodes: a step whose artifact was found
326
+ * in R2 rather than run. Under fc#1662 that is the wasted-work signal, so it is as load-bearing as
327
+ * `degraded` and it is the number that says whether the waste is real. */
328
+ export declare function filmFinishView(ff?: {
329
+ applied?: string[];
330
+ adopted?: string[];
331
+ degraded?: string;
332
+ }): {
333
+ applied: string[];
334
+ adopted: string[];
335
+ degraded: string | null;
336
+ } | null;
297
337
  /** #662 honesty invariant: does this finish shot's per-step ledger reconcile 1:1 to its chain? True unless
298
338
  * a DONE shot has a ledger that fails to cover every chain step in order. Absent ledger (a pre-#662 job
299
339
  * doc) or a non-done shot (still advancing, or failed mid-chain with a partial ledger) is NOT asserted.
@@ -402,12 +442,110 @@ export declare const PER_SHOT_PHASES: ReadonlySet<FilmJob["phase"]>;
402
442
  * phase_started_at clock: no phase-level progress for the whole window really is wedged (#129).
403
443
  * Falls back to phase_started_at (then created_at) on jobs with no last_progress_at stamp. */
404
444
  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. */
445
+ /** What the phase ceiling resolved to for ONE job, and on what basis (core#182).
446
+ *
447
+ * `seconds` is the ceiling actually enforced; `basis` says whether the modules' own declarations
448
+ * raised it above the floor. The rest is the evidence, carried rather than logged-and-lost so the
449
+ * failure message can state WHY a render died and the poll view can disclose what the core could
450
+ * not bound. */
451
+ export interface PhaseCeiling {
452
+ seconds: number;
453
+ basis: "floor" | "derived";
454
+ /** FINISH_STEP_MAX_ATTEMPTS * the longest declared ceiling among the steps that could run next.
455
+ * 0 when nothing in play declared one. */
456
+ requiredSeconds: number;
457
+ /** The step that set `requiredSeconds`, for the failure message. */
458
+ longest: {
459
+ binding: string;
460
+ module: string;
461
+ seconds: number;
462
+ } | null;
463
+ /** Bindings whose module declared no `max_invocation_seconds`. The core does NOT invent a number
464
+ * for these; it holds the floor and says so. */
465
+ undeclared: string[];
466
+ /** Bindings in the live chain that resolve to no registered module at all. Distinguished from
467
+ * `undeclared` because they are a different defect (a chain referencing a module the registry no
468
+ * longer serves), and collapsing them would hide it. */
469
+ unresolved: string[];
470
+ }
471
+ /** Size the stall ceiling to the WORK IN THIS JOB rather than to a constant (core#182).
472
+ *
473
+ * THE MECHANISM THIS FIXES. `PHASE_HARD_DEADLINE_SECONDS` fails a phase that has shown no progress
474
+ * for 90 minutes. `filmProgressMarker` deliberately does not count `attempts` -- a step retrying is
475
+ * not a step progressing -- so a chain step that keeps timing out at its own door burns up to
476
+ * FINISH_STEP_MAX_ATTEMPTS full invocations while the marker never moves. Whether that fits inside
477
+ * 90 minutes is a fact about the MODULE, and the ordering between a door`s guard and this ceiling
478
+ * spans separate repositories with nothing asserting it. Modules whose guards exceed the ceiling on
479
+ * a SINGLE attempt already exist, so the 90 minutes is not conservative; it is unrelated.
480
+ *
481
+ * THE DERIVATION, and note it introduces NO new constant: both terms already exist.
482
+ *
483
+ * required = FINISH_STEP_MAX_ATTEMPTS * max(declared ceiling over the steps that could run next)
484
+ * effective = max(PHASE_HARD_DEADLINE_SECONDS, required)
485
+ *
486
+ * The 90-minute constant becomes a FLOOR rather than a guess. It can only ever be raised here, so a
487
+ * wedged phase with nothing declared still fails exactly when it does today.
488
+ *
489
+ * WHY `max` AND NOT `min` ACROSS SHOTS. Any shot advancing re-stamps the clock, so the no-progress
490
+ * window strictly ends when the FIRST shot moves, and `min` would be the tighter reading. It is
491
+ * also the reading that kills correct work: the ceiling must not fire while ANY correctly-running
492
+ * invocation is still inside its own door`s guard. Between a late loud failure and an early false
493
+ * one, this picks late.
494
+ *
495
+ * WHAT IT REFUSES TO DO. A step whose module declares nothing is NOT given a substituted number. It
496
+ * is named in `undeclared`, the floor holds, and the caller reports it -- because a fabricated
497
+ * ceiling would be indistinguishable from a declared one, which is the exact defect class this
498
+ * whole change exists to remove. Conformance fails such a module at the gate.
499
+ *
500
+ * Phases outside CEILING_DERIVED_HOOKS return the floor untouched. */
501
+ export declare function phaseCeiling(job: FilmJob, modules?: RegisteredModule[]): PhaseCeiling;
502
+ /** The complete stall-ceiling decision for one tick, as a PURE value (core#182).
503
+ *
504
+ * Extracted from `recoverStalledPhase` for the same reason `stampFilmProgress` was extracted from
505
+ * `advanceFilmJob` in #182: inline, the only way to exercise this was to restate the comparison and
506
+ * the message in a test, and a test that restates its subject agrees with the subject forever
507
+ * whatever the subject does. The orchestrator now APPLIES this verdict and decides nothing itself.
508
+ *
509
+ * `error` is the message the render dies with, and it names the BASIS -- so a kill at a derived
510
+ * ceiling (the module's own declared budget, exhausted) is distinguishable from a kill at the floor
511
+ * with nothing declared, without reading the code. */
512
+ export interface PhaseCeilingVerdict {
513
+ ceiling: PhaseCeiling;
514
+ ceilingAge: number;
515
+ expired: boolean;
516
+ error: string | null;
517
+ }
518
+ export declare function phaseCeilingVerdict(job: FilmJob, modules?: RegisteredModule[], now?: number): PhaseCeilingVerdict;
519
+ /** Progress fingerprint for the stall signal (#136): the current phase, how many of its per-shot units
520
+ * are done, and how many CHAIN STEPS have resolved inside those units. Monotonic within a phase (shots
521
+ * only go pending->done, `idx` only advances) and it changes on every phase transition, so ANY change is
522
+ * genuine forward progress -- which is what re-stamps last_progress_at. Phases with no per-shot fan-out
523
+ * (keyframe/dialogue/assemble/master/mux) report :0:0, so their stall window runs from when the phase
524
+ * began, exactly as before.
525
+ *
526
+ * WHY STEPS AND NOT ONLY SHOTS (#182). Counting finished SHOTS made the marker blind to a shot that is
527
+ * working correctly through a multi-step chain: a film whose LAST remaining shot is mid-chain, or a
528
+ * single-shot film, produced NO marker change between the phase starting and the shot finishing, so the
529
+ * 90min ceiling (which measures from last_progress_at) fired on work that was proceeding exactly as
530
+ * configured. `idx` advances only when a step actually resolves -- run (applyFinishOutput) or reused
531
+ * (adoptFinishStepOutput) -- and `attempts` is deliberately NOT counted, because a step retrying is not
532
+ * a step progressing and folding it in would let a failing shot re-stamp the clock forever.
533
+ *
534
+ * WHAT THIS DOES NOT FIX, stated here because a green suite would otherwise imply it did: a chain with
535
+ * exactly ONE step has no intra-shot progress to observe, so a single-shot film whose finish chain is
536
+ * just `finish-upscale` still gets its one marker change at the very end -- which is precisely the
537
+ * configuration #182 describes. Four modules declare the `finish` hook (finish-upscale, finish-lipsync,
538
+ * finish-rife, finish-blender), so chains of 2..4 steps are ordinary and this covers them; the
539
+ * single-step case needs a ceiling sized to the work, not a finer marker. `tests/film-progress-marker-182`
540
+ * asserts that limit explicitly rather than leaving it to be discovered. */
410
541
  export declare function filmProgressMarker(job: FilmJob, clipJob: ClipJob | null): string;
542
+ /** Compare-and-stamp the stall clock (#136/#704/#182). Returns true iff the marker MOVED, i.e. real
543
+ * forward progress happened this pass, in which case `progress_marker` and `last_progress_at` are
544
+ * updated in place. Extracted from advanceFilmJob so the marker's effect on the ceiling is reachable
545
+ * from a test: inline, the only way to exercise it was to restate these lines in the test, and a test
546
+ * that restates its subject's contract agrees with the subject forever whatever the subject does.
547
+ * `now` is injectable so tests do not depend on the wall clock. */
548
+ export declare function stampFilmProgress(job: FilmJob, clipJob: ClipJob | null, now?: number): boolean;
411
549
  /** Default fraction of a shot`s planned seconds an assembled clip must reach before it is treated as a
412
550
  * truncation defect (#697) rather than a legitimate beat-trim. Clamped to [0,1]; a 0 disables the gate. */
413
551
  /** 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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"}
@@ -239,6 +239,39 @@ export function reclaimFinishShotsFromR2(finishShots, present, modules) {
239
239
  }
240
240
  return adopted;
241
241
  }
242
+ /** cf#1662: the film.finish outcome in the shape that reaches the RENDER ROW.
243
+ *
244
+ * WHY THIS EXISTS. A film that ships without its title card or subtitles is `done`, carries no
245
+ * error, and was previously indistinguishable in render history from one that shipped complete --
246
+ * a DEGRADATION wearing completion. The chain already records everything needed (this type's own
247
+ * comment says `degraded` exists to prevent "a silent green"); it was simply never carried onto the
248
+ * poll view, and the poll view is what `updateRenderFromView` writes into `output_json`. So nobody
249
+ * could COUNT how often it happens, which makes every proposed fix for fc#1662 a trade against an
250
+ * incidence that does not exist anywhere.
251
+ *
252
+ * FOUR STATES, and the shape is four rather than a boolean deliberately:
253
+ *
254
+ * key absent this row predates the change -- NOT MEASURED
255
+ * null the chain did not run (nothing to card) -- MEASURED, not applicable
256
+ * degraded: null the chain ran and applied everything -- MEASURED, clean
257
+ * degraded: "..." the chain ran and SHIPPED UNCARDED -- MEASURED, the finding
258
+ *
259
+ * Collapsing "no cards were requested" into "cards applied cleanly" would rebuild the very defect
260
+ * this is here to expose, one field over. An absence never renders as a value.
261
+ *
262
+ * `adopted` is carried because it counts the RECOVERED re-encodes: a step whose artifact was found
263
+ * in R2 rather than run. Under fc#1662 that is the wasted-work signal, so it is as load-bearing as
264
+ * `degraded` and it is the number that says whether the waste is real. */
265
+ export function filmFinishView(ff) {
266
+ if (!ff)
267
+ return null;
268
+ return {
269
+ applied: ff.applied ?? [],
270
+ adopted: ff.adopted ?? [],
271
+ // Empty string is not a reason. Only a non-empty string counts as degraded.
272
+ degraded: typeof ff.degraded === "string" && ff.degraded.length > 0 ? ff.degraded : null,
273
+ };
274
+ }
242
275
  /** #662 honesty invariant: does this finish shot's per-step ledger reconcile 1:1 to its chain? True unless
243
276
  * a DONE shot has a ledger that fails to cover every chain step in order. Absent ledger (a pre-#662 job
244
277
  * doc) or a non-done shot (still advancing, or failed mid-chain with a partial ledger) is NOT asserted.
@@ -495,20 +528,169 @@ export function ceilingAgeSeconds(job, now = Date.now()) {
495
528
  const since = Math.max(job.phase_started_at ?? job.created_at, job.last_progress_at ?? 0);
496
529
  return Math.max(0, Math.floor((now - since) / 1000));
497
530
  }
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. */
531
+ /** The chain steps that could run NEXT in a ceiling-derived phase: `chain[idx]` for every shot not
532
+ * already done. Not the whole chain -- a step further down the chain cannot run until the one before
533
+ * it resolves, and a step resolving MOVES the marker and re-stamps the clock, so it starts a fresh
534
+ * window rather than extending this one. */
535
+ function pendingChainSteps(job) {
536
+ const shots = job.phase === "finish" ? (job.finish_shots || []) : job.phase === "speech" ? (job.speech_shots || []) : [];
537
+ const out = [];
538
+ for (const sh of shots) {
539
+ if (sh.status === "done")
540
+ continue;
541
+ const step = (sh.chain || [])[Math.max(0, Math.trunc(sh.idx) || 0)];
542
+ if (typeof step === "string" && step)
543
+ out.push(step);
544
+ }
545
+ return out;
546
+ }
547
+ /** Size the stall ceiling to the WORK IN THIS JOB rather than to a constant (core#182).
548
+ *
549
+ * THE MECHANISM THIS FIXES. `PHASE_HARD_DEADLINE_SECONDS` fails a phase that has shown no progress
550
+ * for 90 minutes. `filmProgressMarker` deliberately does not count `attempts` -- a step retrying is
551
+ * not a step progressing -- so a chain step that keeps timing out at its own door burns up to
552
+ * FINISH_STEP_MAX_ATTEMPTS full invocations while the marker never moves. Whether that fits inside
553
+ * 90 minutes is a fact about the MODULE, and the ordering between a door`s guard and this ceiling
554
+ * spans separate repositories with nothing asserting it. Modules whose guards exceed the ceiling on
555
+ * a SINGLE attempt already exist, so the 90 minutes is not conservative; it is unrelated.
556
+ *
557
+ * THE DERIVATION, and note it introduces NO new constant: both terms already exist.
558
+ *
559
+ * required = FINISH_STEP_MAX_ATTEMPTS * max(declared ceiling over the steps that could run next)
560
+ * effective = max(PHASE_HARD_DEADLINE_SECONDS, required)
561
+ *
562
+ * The 90-minute constant becomes a FLOOR rather than a guess. It can only ever be raised here, so a
563
+ * wedged phase with nothing declared still fails exactly when it does today.
564
+ *
565
+ * WHY `max` AND NOT `min` ACROSS SHOTS. Any shot advancing re-stamps the clock, so the no-progress
566
+ * window strictly ends when the FIRST shot moves, and `min` would be the tighter reading. It is
567
+ * also the reading that kills correct work: the ceiling must not fire while ANY correctly-running
568
+ * invocation is still inside its own door`s guard. Between a late loud failure and an early false
569
+ * one, this picks late.
570
+ *
571
+ * WHAT IT REFUSES TO DO. A step whose module declares nothing is NOT given a substituted number. It
572
+ * is named in `undeclared`, the floor holds, and the caller reports it -- because a fabricated
573
+ * ceiling would be indistinguishable from a declared one, which is the exact defect class this
574
+ * whole change exists to remove. Conformance fails such a module at the gate.
575
+ *
576
+ * Phases outside CEILING_DERIVED_HOOKS return the floor untouched. */
577
+ export function phaseCeiling(job, modules) {
578
+ const floor = {
579
+ seconds: PHASE_HARD_DEADLINE_SECONDS,
580
+ basis: "floor",
581
+ requiredSeconds: 0,
582
+ longest: null,
583
+ undeclared: [],
584
+ unresolved: [],
585
+ };
586
+ if (job.phase !== "finish" && job.phase !== "speech")
587
+ return floor;
588
+ const steps = pendingChainSteps(job);
589
+ if (!steps.length)
590
+ return floor;
591
+ const byBinding = new Map();
592
+ for (const m of modules || [])
593
+ byBinding.set(m.binding, m);
594
+ const undeclared = [];
595
+ const unresolved = [];
596
+ let longest = null;
597
+ for (const binding of new Set(steps)) {
598
+ const mod = byBinding.get(binding);
599
+ if (!mod) {
600
+ unresolved.push(binding);
601
+ continue;
602
+ }
603
+ const declared = mod.max_invocation_seconds;
604
+ if (typeof declared !== "number" || !Number.isFinite(declared) || declared <= 0) {
605
+ undeclared.push(binding);
606
+ continue;
607
+ }
608
+ if (!longest || declared > longest.seconds)
609
+ longest = { binding, module: mod.name, seconds: declared };
610
+ }
611
+ undeclared.sort();
612
+ unresolved.sort();
613
+ const requiredSeconds = longest ? FINISH_STEP_MAX_ATTEMPTS * longest.seconds : 0;
614
+ const seconds = Math.max(PHASE_HARD_DEADLINE_SECONDS, requiredSeconds);
615
+ return {
616
+ seconds,
617
+ basis: seconds > PHASE_HARD_DEADLINE_SECONDS ? "derived" : "floor",
618
+ requiredSeconds,
619
+ longest,
620
+ undeclared,
621
+ unresolved,
622
+ };
623
+ }
624
+ export function phaseCeilingVerdict(job, modules, now = Date.now()) {
625
+ const ceiling = phaseCeiling(job, modules);
626
+ const ceilingAge = ceilingAgeSeconds(job, now);
627
+ const expired = ceilingAge >= ceiling.seconds;
628
+ if (!expired)
629
+ return { ceiling, ceilingAge, expired, error: null };
630
+ const unbounded = ceiling.undeclared.length + ceiling.unresolved.length;
631
+ const basis = ceiling.basis === "derived" && ceiling.longest
632
+ ? `ceiling ${ceiling.seconds}s derived from ${ceiling.longest.module} (${FINISH_STEP_MAX_ATTEMPTS} attempts x ${ceiling.longest.seconds}s declared)`
633
+ : `ceiling ${ceiling.seconds}s (the floor; ${unbounded} step(s) in this chain declare no per-invocation ceiling)`;
634
+ return {
635
+ ceiling,
636
+ ceilingAge,
637
+ expired,
638
+ error: `render stalled in phase "${job.phase}" for ${Math.floor(ceilingAge / 60)}min with no progress, ${basis}; failing so it does not hang (resubmit to retry) (#129/#704/core#182)`,
639
+ };
640
+ }
641
+ /** Progress fingerprint for the stall signal (#136): the current phase, how many of its per-shot units
642
+ * are done, and how many CHAIN STEPS have resolved inside those units. Monotonic within a phase (shots
643
+ * only go pending->done, `idx` only advances) and it changes on every phase transition, so ANY change is
644
+ * genuine forward progress -- which is what re-stamps last_progress_at. Phases with no per-shot fan-out
645
+ * (keyframe/dialogue/assemble/master/mux) report :0:0, so their stall window runs from when the phase
646
+ * began, exactly as before.
647
+ *
648
+ * WHY STEPS AND NOT ONLY SHOTS (#182). Counting finished SHOTS made the marker blind to a shot that is
649
+ * working correctly through a multi-step chain: a film whose LAST remaining shot is mid-chain, or a
650
+ * single-shot film, produced NO marker change between the phase starting and the shot finishing, so the
651
+ * 90min ceiling (which measures from last_progress_at) fired on work that was proceeding exactly as
652
+ * configured. `idx` advances only when a step actually resolves -- run (applyFinishOutput) or reused
653
+ * (adoptFinishStepOutput) -- and `attempts` is deliberately NOT counted, because a step retrying is not
654
+ * a step progressing and folding it in would let a failing shot re-stamp the clock forever.
655
+ *
656
+ * WHAT THIS DOES NOT FIX, stated here because a green suite would otherwise imply it did: a chain with
657
+ * exactly ONE step has no intra-shot progress to observe, so a single-shot film whose finish chain is
658
+ * just `finish-upscale` still gets its one marker change at the very end -- which is precisely the
659
+ * configuration #182 describes. Four modules declare the `finish` hook (finish-upscale, finish-lipsync,
660
+ * finish-rife, finish-blender), so chains of 2..4 steps are ordinary and this covers them; the
661
+ * single-step case needs a ceiling sized to the work, not a finer marker. `tests/film-progress-marker-182`
662
+ * asserts that limit explicitly rather than leaving it to be discovered. */
503
663
  export function filmProgressMarker(job, clipJob) {
504
664
  let done = 0;
505
- if (job.phase === "clips")
665
+ let steps = 0;
666
+ if (job.phase === "clips") {
506
667
  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}`;
668
+ }
669
+ else if (job.phase === "finish") {
670
+ const shots = job.finish_shots || [];
671
+ done = shots.filter((fs) => fs.status === "done").length;
672
+ steps = shots.reduce((n, fs) => n + Math.max(0, Math.trunc(fs.idx) || 0), 0);
673
+ }
674
+ else if (job.phase === "speech") {
675
+ const shots = job.speech_shots || [];
676
+ done = shots.filter((ss) => ss.status === "done").length;
677
+ steps = shots.reduce((n, ss) => n + Math.max(0, Math.trunc(ss.idx) || 0), 0);
678
+ }
679
+ return `${job.phase}:${done}:${steps}`;
680
+ }
681
+ /** Compare-and-stamp the stall clock (#136/#704/#182). Returns true iff the marker MOVED, i.e. real
682
+ * forward progress happened this pass, in which case `progress_marker` and `last_progress_at` are
683
+ * updated in place. Extracted from advanceFilmJob so the marker's effect on the ceiling is reachable
684
+ * from a test: inline, the only way to exercise it was to restate these lines in the test, and a test
685
+ * that restates its subject's contract agrees with the subject forever whatever the subject does.
686
+ * `now` is injectable so tests do not depend on the wall clock. */
687
+ export function stampFilmProgress(job, clipJob, now = Date.now()) {
688
+ const marker = filmProgressMarker(job, clipJob);
689
+ if (marker === job.progress_marker)
690
+ return false;
691
+ job.progress_marker = marker;
692
+ job.last_progress_at = now;
693
+ return true;
512
694
  }
513
695
  // --------------------------------------------------------------------------- duration honesty (#697/#698)
514
696
  //
@@ -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>;