Changelog¶
All notable changes to Axioval MCS are documented here.
The format follows Keep a Changelog, and
package/schema compatibility follows Semantic Versioning
once a release is tagged. The current 0.1.0 contract is pre-stable.
Unreleased¶
Added¶
- Authoring adapters for version-bound
openbim.ifcreferences and closedopenbim.geometrycapability IDs, plus an IFC4X3 directional-clearance example. - MCS source-closure support for checksum-locked Pkl package imports, with declared-alias binding, required lock coverage, fresh-cache checksum reauthentication during packing, and explicit package-path traversal rejection.
- Deterministic, fail-closed
.mcstransport tooling with exact source topology, normalized declarative payloads, complete checksummed inventory, bounded ZIP parsing, sandboxed source re-evaluation, and bilingual format documentation. - Structured package source catalogs, citations, ordered bibliographic locators, requirement citations, and explicit bound-parameter citation targets.
- Targetable applicability groups and rule requirements that bind localized expected-state statements to named element populations.
- Package-contained explanatory images with localized alternative text and captions, safe relative paths, media declarations, content validation, and a 10 MB per-image safety limit.
- MkDocs Material documentation site and GitHub Pages deployment.
- Reusable
ObjectTypeDefinition,PropertyDefinition, and independentPropertySetDefinitionvocabulary components. - Canonical
ObjectTypeReferenceValueandPropertyReferenceValuevariants. - Boxed
SelectorValueparameters for capabilities that require an independent secondary object scope, with recursive fail-closed concept binding. - Optional exact property-set qualification without property ownership.
referencedValueKindconstraints for typed property-reference parameters.- Full DIN 276 KG 331 instructional fixture covering object type, strict
LoadBearing, and container-agnosticIsExternalrequirements. - Negative tests for unknown concepts and property-kind mismatches.
- Contributor guide, roadmap, AGPL license, and GitHub Sponsors configuration.
- Accessible local SVG diagrams with separate wide and mobile compositions.
- A build-time prose guard that rejects en and em dashes in repository Markdown.
- Complete German suffix translations, localized navigation, and translated SVG diagrams.
- Browser-language routing with a persistent manual German and English selector.
- Source-level regression tests for locale coverage, disclosures, diagrams, task lists, and bounded text-only navigation.
Changed¶
PackageMetadata.nameanddescriptionnow useLocalizedText.- Entity-type selectors now reference reusable object-type concepts instead of repeating raw external type-system/name pairs.
- The minimal property example uses one canonical property reference rather than
treating
propertySetandpropertyas peer string parameters. - Definition-package normalized output now includes object, property, and property-set catalogs.
- IFC entity bindings now use the release's semantic HTTPS type-system identity
from
openbim.ifc@0.2.0; project property/set examples use their own namespace until package-owned PSD/QTO occurrences ship. - The public site now opens with a plain-language, three-page picture tour and keeps tool-builder reference material in a separate path.
- Tutorial source and validation commands are collapsed by default, while remaining statically highlighted and available on demand.
- All reader and reference source panels now stay closed until requested.
- Documentation caps the main column at 800 pixels and aligns prose, headings, diagrams, cards, and tables to one shared edge.
- Publication task lists render as styled, accessible checkboxes.
- Trusted local diagrams inherit the active light or dark site palette after safe site-level inlining, with static images as the no-script fallback.
Fixed¶
- Apple Pkl code fences now use a dedicated server-side lexer, including arbitrary-length custom string delimiters, and fail the docs build if they regress to unhighlighted plain text.
- Dark-mode diagrams theme an explicit SVG canvas, including the gradient-backed Start artwork.
- Documentation typography and spacing remain stable at wide desktop breakpoints.
- Definition-default validation no longer shadows the active ruleset document while binding.
Security¶
- Sandboxed Pkl evaluation permits checksum-locked package/project-package modules and their required host-scoped HTTPS metadata and release assets while retaining arbitrary HTTPS, file, and environment resource denial plus the repository root boundary. The gate re-resolves a copied project with an empty cache and requires its generated dependency lock to match the committed bytes.
- Citation binding rejects unknown source and parameter references, duplicate IDs and locators, malformed publication dates, and non-HTTPS or credential-bearing source URLs.
- Normalization rejects unknown object/property/property-set IDs, mismatched referenced property kinds, and unresolved strict container qualifiers.
0.1.0 - 2026-08-31¶
Added¶
- Initial Pkl authoring modules for types, values, selectors, definitions, and rule sets.
- Static
axioval.jsonregistry manifest contract. - Repository-confined Pkl evaluation and deterministic normalized snapshots.
- Fail-closed cross-document package, definition, selector, and parameter binder.
- Minimal non-production package and CI validation workflow.