Fix CI: name_synthesizer raw-MDC lint + signal TODO 19 Item 1 shipped#18
Merged
Conversation
… 1 shipped Moves the IEC 62656-1 column-name to property-ID table from entity/name_synthesizer.rb into Opencdd::PropertyIds::IEC_COLUMN_NAMES (the lint-exempt SSOT). name_synthesizer.rb now holds a one-line alias; no public-API change. CI lint-no-raw-mdc passes. Also adds a Status header to TODO.final/19 marking Item 1 (ClassReference) as shipped in commit bae0c56 / PR #17, since the TS team had no signal that this was real API and not a proposal. 930 specs, 0 failures, lint green.
The script uses bash-only 'set -o pipefail' but had no shebang. On Ubuntu where /bin/sh is dash, Rake#sh dispatched the script to dash which rejected the pipefail option. macOS passed because /bin/sh is bash 3.2. Add #!/usr/bin/env bash so the kernel routes the executable to bash on every platform.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two small fixes that unblock the 0.3.1 patch release.
Phase A — Signal shipped status of TODO 19 Item 1
The TS team flagged that
TODO.final/19reads as a "proposal" doc,making
Opencdd::Condition::ClassReferencelook unimplemented. It'sactually been on
mainsince commitbae0c56(PR #17). Added aStatus table at the top of the doc with commit + PR + release refs.
Phase B1 — Fix
lint-no-raw-mdcCI failureCI has been red on
mainfor several commits becauselib/opencdd/entity/name_synthesizer.rbheld a 45-entry Hash withraw
MDC_P###literals, violating the SSOT rule enforced bybin/lint-no-raw-mdc.Fix: moved the IEC 62656-1 column-name → property-ID table to
Opencdd::PropertyIds::IEC_COLUMN_NAMES(property_ids.rb is thelint-exempt SSOT).
NameSynthesizer::NAME_TO_PROPERTY_IDis keptas a one-line alias for back-compat — no public-API change.
The lint allowlist is unchanged. The table lives next to
REGISTRYbecause both are property-ID data; the existing commentin
parcel/sheet_schema.rbabout "ontology-only" was aboutParcelMaker variant quirks (
MDC_P004_1etc.), not about standardIEC column names which are part of the ontology spec.
Test plan
bin/lint-no-raw-mdc— passesbundle exec rspec spec/name_synthesizer_spec.rb— 13 examples, 0 failuresbundle exec rake(full CI mirror: specs + lint) — 930 examples, 0 failuresNameSynthesizer::NAME_TO_PROPERTY_IDstill exists