fix(schema): correct the source_files description to match the required envelope#33
Conversation
…ed envelope The source_files field description said the array is neither schema-required nor graded. That contradicted the root required array, which includes source_files, and the record-envelope descriptions in the root schema and the ConformanceLevel definition, which both list the source-files array as a required envelope member. Reword the description to distinguish the required envelope key (present on every record) from its contents (the array may be empty and its entries are neither required nor graded). Description-only: no structural change, no enum or behavior change, and no re-grade. Records continue to declare ulc_version 0.8.0.
Codex Automated Code ReviewCode Review SummaryPR: Patch release P0 - Critical Issues (Must Fix)None found. P1 - High Priority Issues (Should Fix)None found. P2 - Medium Priority Issues (Consider Fixing)None found. P3 - Low Priority Issues (Optional)None found. Positive Observations
Validation performed:
Automated review by OpenAI Codex |
|
| Filename | Overview |
|---|---|
| schema/ulc.schema.json | Description-only correction to source_files: distinguishes the required envelope key from the optionally-empty array contents; no structural, enum, or behavioral change. |
| CHANGELOG.md | Adds a well-formed 0.8.1 entry, but this PR's branch is not named release/v0.8.1, so the automated release pipeline will not tag the commit on merge. |
| README.md | Version badge bumped from 0.8.0 to 0.8.1; accurate if the release tag is eventually created. |
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
CHANGELOG.md:23-25
**Release automation will not fire on merge**
Both the `release-notes-check.yml` and `release.yml` workflows gate on `startsWith(github.head_ref, 'release/v')`. This PR's branch is not named `release/v0.8.1`, so neither workflow will run: the CHANGELOG entry will land on `main` without producing a `v0.8.1` annotated tag or GitHub Release. The CHANGELOG itself states "A version is **unreleased** until it is tagged in git," so after this merges, the README will advertise `0.8.1` as the current release but no tag or binary will exist. Either rename the branch to `release/v0.8.1` (preferred), or, if the branch cannot be renamed, use `workflow_dispatch` on `Release on merge` after merging to supply `0.8.1` as the version input.
Reviews (1): Last reviewed commit: "fix(schema): correct the source_files de..." | Re-trigger Greptile
| ## 0.8.1 (2026-06-23) | ||
|
|
||
| Corrects the `source_files` field description in `schema/ulc.schema.json`, which contradicted the rest of the schema. The `source_files` key is a required member of the record envelope (present on every record), while its array may be empty (`minItems` 0) and its entries are neither required nor graded. The description previously said the array was "neither schema-required," disagreeing with the root `required` array and the record-envelope descriptions in the root schema and the `ConformanceLevel` definition. This is a description-only correction: no structural change, no enum or behavior change, and no re-grade. Records continue to declare `ulc_version` `0.8.0`; a 0.8.0 record is unchanged and valid under 0.8.1. |
There was a problem hiding this comment.
Release automation will not fire on merge
Both the release-notes-check.yml and release.yml workflows gate on startsWith(github.head_ref, 'release/v'). This PR's branch is not named release/v0.8.1, so neither workflow will run: the CHANGELOG entry will land on main without producing a v0.8.1 annotated tag or GitHub Release. The CHANGELOG itself states "A version is unreleased until it is tagged in git," so after this merges, the README will advertise 0.8.1 as the current release but no tag or binary will exist. Either rename the branch to release/v0.8.1 (preferred), or, if the branch cannot be renamed, use workflow_dispatch on Release on merge after merging to supply 0.8.1 as the version input.
Prompt To Fix With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 23-25
Comment:
**Release automation will not fire on merge**
Both the `release-notes-check.yml` and `release.yml` workflows gate on `startsWith(github.head_ref, 'release/v')`. This PR's branch is not named `release/v0.8.1`, so neither workflow will run: the CHANGELOG entry will land on `main` without producing a `v0.8.1` annotated tag or GitHub Release. The CHANGELOG itself states "A version is **unreleased** until it is tagged in git," so after this merges, the README will advertise `0.8.1` as the current release but no tag or binary will exist. Either rename the branch to `release/v0.8.1` (preferred), or, if the branch cannot be renamed, use `workflow_dispatch` on `Release on merge` after merging to supply `0.8.1` as the version input.
How can I resolve this? If you propose a fix, please make it concise.
What
Corrects the
source_filesfield description inschema/ulc.schema.json. It said the array is "neither schema-required nor graded," which contradicted three other surfaces that are all correct:requiredarray includessource_files(the key is a required envelope member),descriptionlists "the source-files array" as part of the required envelope,ConformanceLeveldescription (taxonomy) lists it the same way.The reword distinguishes the required envelope key (present on every record) from its contents (the array may be empty via
minItems: 0, and its entries are neither required nor graded). This matches the v0.8.0 design intent and the floor fixtures, which carry"source_files": [].Scope
schema/ulc.schema.json: the one field description (no structural change;required,minItems, root description, andConformanceLeveldescription are untouched).CHANGELOG.md:0.8.1entry.README.md: current-release line to0.8.1.Description-only correction: no enum change, no behavior change, no re-grade. Records continue to declare
ulc_version0.8.0; a 0.8.0 record is unchanged and valid under 0.8.1.Why it matters
ulcspec.orgrenders the canonical schema byte-for-byte, so the/docs/schemaand/docs/taxonomypages contradicted each other on whethersource_filesis required. The website re-vendors after this lands.