fix(draft): name is_static in UNCAPTURED.md when the live read cannot see it (#70) #92

Merged
dan-claude-bot merged 1 commit from fix/draft-is-static-uncaptured into main 2026-07-18 20:25:13 +00:00

1 commit

Author SHA1 Message Date
claude-hdb
50b0d2d2e5 fix(draft): name is_static in UNCAPTURED.md when the live read cannot see it (#70)
Coolify 4.1.2 never serializes is_static on any read path — it lives on
the ApplicationSetting relation, which no read endpoint loads (cast#68).
diff already degrades the field honestly (staticNotCompared, warn-and-
skip, #69), but the draft path did not: applicationSpec emits
`static: true` only for a present truthy raw.is_static, so on 4.1.2 the
key is simply absent, the drafted manifest of a live static site
silently omits the flag, and UNCAPTURED.md said nothing. That breaks
the draft's own contract (#27) — a reviewer approving the draft has no
cue the field even exists to lose, and the #63 failure mode (static
site rebuilt and run as a plain app) re-enters through the draft door.

Now, when raw.is_static is absent/null (the same predicate the diff
path's staticNotCompared uses) and the app is plausibly static — a
nixpacks/static build pack with a publish_directory — the draft flags
is_static in UNCAPTURED.md as unreadable on this Coolify, telling the
reviewer to check the box in the UI and add `static: true` by hand if
set. A real boolean (a future Coolify) behaves exactly as before:
expressed in the manifest, never flagged.

Part of #70; the remaining items there are blocked on Coolify v4.2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 18:20:59 +00:00