Skip to content

fix(deploy): the gate reads the plan schema this checkout declares - #402

Merged
chrishayuk merged 1 commit into
mainfrom
fix/gate-reads-plan-schema
Sep 3, 2026
Merged

fix(deploy): the gate reads the plan schema this checkout declares#402
chrishayuk merged 1 commit into
mainfrom
fix/gate-reads-plan-schema

Conversation

@chrishayuk

Copy link
Copy Markdown
Owner

The first categorical deploy witness failed — on a hardcoded number, not on the deployment.

The gate asserted plan schema 4. PLAN_SCHEMA is now 6, moved by the
architecture-conformance work. A gate that goes red because the format advanced is a gate
people learn to ignore.

The expected value now comes from PLAN_SCHEMA in this checkout's source. That is sound
because of the revision assertion added in #401: the gate has already confirmed the live
server is this commit, so the constant here is the constant it was built from.

Same mistake the cache tests made with PLANNER_SEMANTICS_VERSION one rung earlier —
hardcoding a value the code derives asserts today's number rather than the agreement between
the two.

Run from outside a checkout, the number can't be read; the gate still refuses a document
carrying no schema but says the number went unverified rather than passing as though checked.

The witness, now complete

== https://vindex3-explorer.fly.dev ==
  ok    capabilities schema 1
  ok    live server IS 3cd1207aedab7a815d2890803efb946964eb9e06
  ok    profile public_explorer
  ok    promises: sources.plan.hf = true
  ok    promises: sources.plan.local = false
  ok    public surface executes, binds and encodes nothing
  ok    plan schema 6, as this checkout declares
  ok    pinned at c1899de289a0... (Qwen3-0.6B)
  ok    judged by larql-vindex 0.2.0 · semantics 6
  ok    read 11.47 MB standing in for 1.50 GB (1.40 GiB)
  ok    verdict is cacheable (every artifact pinned)
  ok    second ask served from the verdict cache
  ok    a hit costs 0.18s of server work (0.27s minus a 0.10s network floor), under 0.5s
  ok    local-path planning refused 403, as advertised

PASS

Every link asserted rather than inferred: which code is live, what it judged, how it judged
it, and that the important path still behaves.

It asserted schema 4. The constant is now 6, moved twice by the
architecture-conformance work, so the first categorical deploy witness
failed on a number rather than on anything about the deployment. A gate
that goes red because the format advanced is a gate people learn to
ignore.

The expected value now comes from PLAN_SCHEMA in this checkout's source.
That is sound precisely because of the revision assertion added
alongside it: the gate has already confirmed the live server IS this
commit, so the constant here is the constant it was built from. Hardcoding
a value the code derives asserts today's number instead of the agreement
between the two — the same mistake the cache tests made with the
planner's semantics version, one rung earlier.

Run from outside a checkout the number cannot be read, so the gate still
refuses a document carrying no schema at all but says plainly that the
number went unverified, rather than passing as though it had checked.
@chrishayuk
chrishayuk merged commit 8f64787 into main Sep 3, 2026
12 checks passed
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