Skip to content

gw#603: custom-warmup proof attributes to contract-compatible siblings; warmup=None stays fail-closed#346

Merged
PaulFidika merged 1 commit into
masterfrom
agent/603-custom-warmup-attribution
Jul 20, 2026
Merged

gw#603: custom-warmup proof attributes to contract-compatible siblings; warmup=None stays fail-closed#346
PaulFidika merged 1 commit into
masterfrom
agent/603-custom-warmup-attribution

Conversation

@PaulFidika

Copy link
Copy Markdown
Contributor

Fixes the P0 blocking the gw#587 wave: under ac0bab9's single-name attribution, any custom-warmup class with 2+ warmable mandatory-lane aliases (LTX: generate+edit+extend on one class) could never boot compiled on >=0.38.8 — delivered cells included. Live evidence + ruling in tracker gw#603.

  • Proven custom-warmup object certifies every contract-compatible sibling alias (compatible_names gate: family, lora bucket, execution-contract digest, bindings).
  • Explicit warmup={...: None} aliases stay fail-closed (legacy-Turbo carve-out — the new revert-turns-red).
  • Required-names gate becomes a subset check (unreachable superset for non-custom paths; their semantics unchanged).
  • ac0bab9's pinned test rewritten to pin the new outcome; new end-to-end test pins the exact live LTX shape. Revert-turns-red verified both directions.

Ships as gen-worker 0.39.4 for the gw#587 proof rerun.

🤖 Generated with Claude Code

…s (warmup=None stays fail-closed)

Live-found on the first 0.39.x LTX boot (gw#587 proof 01): the ac0bab9
single-name attribution made any custom-warmup class with 2+ warmable
mandatory-lane aliases unbootable compiled — delivered cells included
(expected=['edit','generate'] proven=['edit'], LTX generate+edit+extend
share one class and one warmup() that warms every declared graph).

Ruling (coordinator, 2026-07-20): proof is a property of the WARMED
OBJECT and the graph set actually exercised, not the initiating
handler's name — same identity reasoning as gw#587 design pt 5. A
proven custom-warmup object therefore certifies every contract-
compatible sibling alias (same family/lora-bucket/execution-contract
digest/bindings), EXCEPT aliases explicitly declared warmup={...: None}
— those stay fail-closed (the SDXL legacy-Turbo carve-out, now the
revert-turns-red). The required-names gate becomes a subset check
(every required alias proven; a proven superset is not a defect —
unreachable for non-custom paths, so their semantics are unchanged).
Runtime backstop unchanged: attributed aliases still serve through the
per-call guarded wrappers with hit/miss counters — a sibling whose real
requests miss degrades loudly, never silently.

The ac0bab9-pinned test is REWRITTEN to pin the new outcome (sibling
attribution + None-carve-out refusal) — deliberate reversal, recorded
in tracker gw#603 with gw#595's original rationale linked. New test
pins the exact live LTX shape (custom warmup, no declared rows,
multi-alias) end to end over the real Executor rig. Revert-turns-red
verified both ways.

Suite: 1542 passed / 41 skipped (1 documented box-load cgroup flake,
passes in isolation); mypy 125 files clean; ruff clean.
@PaulFidika
PaulFidika merged commit 7e5d47f into master Jul 20, 2026
1 check passed
@PaulFidika
PaulFidika deleted the agent/603-custom-warmup-attribution branch July 20, 2026 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant