Skip to content

fix(ci): repair the Validate Spec workflow + complete the CompressionEvaluation schema#197

Merged
mdheller merged 1 commit into
mainfrom
fix/green-validate-workflow
Jul 5, 2026
Merged

fix(ci): repair the Validate Spec workflow + complete the CompressionEvaluation schema#197
mdheller merged 1 commit into
mainfrom
fix/green-validate-workflow

Conversation

@mdheller

@mdheller mdheller commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Greens the last dark workflow on main. Companion to #196 (which fixed the OpsHistory/make validate check).

Two coupled fixes

  1. .github/workflows/validate.yml failed in 0s on every commit for weeks ("This run likely failed because of a workflow file issue") — invalid YAML: two step name: values contained an unquoted colon (Guardrail: detect duplicate schema $id values), which YAML parses as a nested mapping, so GitHub rejected the whole file. Quoted both names. yaml.safe_load now parses clean.

  2. Un-breaking the workflow makes its dormant jobs run, which unmasked one content failure: examples/compressionevaluation.json carried fields absent from schemas/CompressionEvaluation.json (which is additionalProperties: false): truthSurfaceRef, deltaSurfaceRef, integrity (evaluationHash/signer/signature/signedAt), notes, plus metrics.supportingMetrics and metrics.normalizationVersion. These are intentional (surface refs + a signed integrity envelope), so I added them to the schema as optional properties — additive, non-breaking.

Verified locally (all validate.yml jobs)

  • validate.yml parses; no other unquoted-colon name: in .github/workflows/
  • all 263 top-level schemas compile under ajv (the exact workflow loop) — no latent failures
  • both guardrail scripts pass (check_duplicate_schema_ids.py, validate_control_plane_wrapper_ids.py)
  • by-type example validation: 170 passed / 81 skipped / 0 failed
  • openapi.yaml / asyncapi.yaml / semantic/*.jsonld all parse
  • make validate green end-to-end

After this, main is green across every workflow.

🤖 Generated with Claude Code

…Evaluation schema

Two coupled fixes that green the last dark workflow on main:

1. .github/workflows/validate.yml failed in 0s on EVERY commit for weeks
   ('workflow file issue') because two step 'name:' values contained an
   unquoted colon ('Guardrail: detect ...'), which YAML parses as a nested
   mapping — GitHub rejected the whole file. Quoted both names.

2. Un-breaking the workflow makes its dormant jobs run, which unmasked one
   content failure: examples/compressionevaluation.json carried fields absent
   from schemas/CompressionEvaluation.json (additionalProperties:false):
   truthSurfaceRef, deltaSurfaceRef, integrity{evaluationHash,signer,signature,
   signedAt}, notes, plus metrics.supportingMetrics + metrics.normalizationVersion.
   These are intentional (surface refs + signed integrity envelope), so added
   them to the schema as optional — additive, non-breaking.

Verified locally: validate.yml parses; all 263 top-level schemas compile under
ajv; both guardrail scripts pass; by-type example validation 170 pass / 0 fail;
openapi/asyncapi/jsonld parse; make validate green end-to-end.
@mdheller mdheller merged commit 4add167 into main Jul 5, 2026
7 checks passed
@mdheller mdheller deleted the fix/green-validate-workflow branch July 5, 2026 01:11
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