Skip to content

Map resolved enums into scalar ABI - #80

Merged
jscott3201 merged 1 commit into
mainfrom
feat/routine-enum-abi-mapping
Aug 24, 2026
Merged

Map resolved enums into scalar ABI#80
jscott3201 merged 1 commit into
mainfrom
feat/routine-enum-abi-mapping

Conversation

@jscott3201

Copy link
Copy Markdown
Owner

Summary

  • add frozen caller-supplied mappings from local enum members to canonical source enum classes and literals
  • project mapped enum parameters and active connectors as class-qualified, one-based ordinal values
  • validate mapping coverage, uniqueness, source membership, and required mappings before allocating output rows
  • retain the existing fail-closed behavior when a required enum mapping is absent

The successful regression is grounded on Buildings.Controls.OBC.ASHRAE.G36.Types.HeatingCoil at both pinned Buildings revisions (None, WaterBased, Electric) and the enum representation at the exact Engine pin. Caller mappings remain reviewed internal input; they do not perform source verification or establish a public compatibility/provenance contract.

Public schemas, persisted mappings, scalar names/IRIs, source maps, graph/CXF generation, production routines, registries, and Engine or Studio changes remain deferred.

Validation

  • python3 -m unittest tools.lint.tests.test_routine_resolution tools.lint.tests.test_routine_scalar_abi -v (36 tests)
  • python3 -m unittest discover -s tools/lint/tests -v (141 tests, pinned schema environment)
  • python3 tools/lint/routine_schemas.py
  • python3 tools/lint/routine_semantics.py
  • python3 tools/lint/routines.py
  • G36 source inventory check against both exact pinned source checkouts (431/693 files)
  • cargo test --manifest-path tools/verify/Cargo.toml (11 tests)
  • cargo run --quiet --manifest-path tools/verify/Cargo.toml -- --routines
  • cargo run --quiet --manifest-path tools/verify/Cargo.toml -- --all
  • python3 -m unittest discover -s tools/dataset_harness/tests -v (32 tests)
  • exact tiny LBL FPU replay and assertions from verify.yml
  • python3 tools/book/generate.py && mdbook build book with no tracked generated changes
  • git diff --check

Add immutable caller-supplied enum mappings and project enum leaves as canonical class paths with one-based source ordinals. Validate mappings atomically while retaining fail-closed behavior for unmapped required enums.

@jscott3201 jscott3201 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cycle 1 consolidated review — PASS at 55a6e088c356e878a9e9ae204b78bbc7d8f507f1.

Both independent reviewers found no blocker, major, or deferred minor finding. Mapping validation is atomic and deterministic; default fail-closed behavior, inactive connector omission, primitive/alias behavior, and the internal-only boundary are preserved.

Exact-head build and verify checks are green; deploy is skipped as configured.

@jscott3201
jscott3201 merged commit f575435 into main Aug 24, 2026
3 checks passed
@jscott3201
jscott3201 deleted the feat/routine-enum-abi-mapping branch August 24, 2026 01:47
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