Skip to content

test: NC-2 — degrade TenantObj.id (codegen-guard canary must go RED)#4

Closed
Kyzgor wants to merge 2 commits into
mainfrom
ci-test/guard-nc2-canary
Closed

test: NC-2 — degrade TenantObj.id (codegen-guard canary must go RED)#4
Kyzgor wants to merge 2 commits into
mainfrom
ci-test/guard-nc2-canary

Conversation

@Kyzgor

@Kyzgor Kyzgor commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Negative control. Empties TenantObj.id in the fixture so 7.12.0 emits a bare id: any; check (a) passes and the new canary must fail (proves the hardened canary additions fire). NOT for merge — close after CI.

Kyzgor added 2 commits June 29, 2026 12:03
…in CI

The pinned generator 6.2.1 cannot read the OpenAPI 3.1.0 spec served at
api.permit.io: it regenerates an all-`any`, type-erased client (247 of 319 type
files) yet exits 0, masked by --skip-validate-spec. Running
`yarn generate-openapi-client` today silently replaces the typed client with `any`.

Re-pin the generator to 7.12.0 — the first 3.1-native line that produces a fully
typed client — and add a CI codegen guard that regenerates from a pinned 3.1.0
fixture through the real pipeline and fails if any type collapses to all-`any`.
The guard runs in its own Java-provisioned job, off the test suite.

The committed client under src/openapi/ is intentionally left unchanged: this
restores and guards the toolchain. Re-baselining the generated client against the
current spec is a separate, larger change.

Refs permitio#130
Deliberately empties TenantObj.properties.id in the fixture so generator 7.12.0
emits a bare `id: any` (no index signature). Check (a) still passes; the new
canary must fail in CI (proves the hardened canary additions fire). NOT for merge.
@Kyzgor Kyzgor closed this Jun 29, 2026
@Kyzgor Kyzgor deleted the ci-test/guard-nc2-canary branch June 29, 2026 12:14
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