Skip to content

Claude/dreamy goldberg wjzix8 - #1

Merged
DHoffmannOVGU merged 2 commits into
AutomationML:mainfrom
DHoffmannOVGU:claude/dreamy-goldberg-wjzix8
Oct 17, 2026
Merged

DHoffmannOVGU merged 2 commits into
AutomationML:mainfrom
DHoffmannOVGU:claude/dreamy-goldberg-wjzix8

Conversation

@DHoffmannOVGU

@DHoffmannOVGU DHoffmannOVGU commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Describe the AutomationML use case and the change made.

Compatibility

  • The change is additive and backward compatible.
  • The change intentionally modifies a public API or serialization contract.
  • The compatibility impact is documented below.

Verification

  • python -m pytest passes locally.
  • Tests cover the new behavior or regression.
  • Validation examples were updated when applicable.
  • CHANGELOG.md was updated for user-visible changes.
  • No confidential AML data is included.

Additional context

List relevant CAEX paths, schema sections, issues, or design decisions.

CI on main is red on every Windows job. The evaluation harness verifies
SHA-256 hashes of the vendored upstream AML-UA-XSLT sources, and two of
them (DatatypeTranslation.xslt, Nodeset2AML.xslt) are stored with LF
endings. Windows runners check out with core.autocrlf=true, which
rewrites them to CRLF, so the hash check raises and both
test_opcua_evaluation hash tests and the OPC UA release gate fail.

Add a .gitattributes that marks tests/vendor/ and the packaged
src/automationml/resources/ as -text so Git never converts them.

The packaged CAEX 2.15 schema had been normalized to LF with a trailing
newline, so it no longer matched the SHA-256 its VENDOR.md records for
the "packaged unchanged" upstream file. Restore the exact upstream bytes
(whitespace-only change) and add a test that keeps the packaged copy
byte-identical to the vendored upstream schema.

Also fix the vendor README, which still pointed at the SDK package
resources for the patched stylesheets after they moved to evaluation/.

Reproduced and verified with a core.autocrlf=true clone: before, the
same two tests fail with the same hash mismatch as CI; after, 167 tests
pass and the release and quick scale gates exit 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VzX3UpZysYhwy1ZMJNcVvq
The README opened with about 90 lines of OPC UA mapper evidence (XSLT
scores, corpus sizes, regeneration commands) before the quick start, and
the quick start itself produced two validation errors because it
referenced class and role libraries it never defined.

The README now explains what AutomationML and CAEX are, introduces the
core building blocks with a small tree diagram and glossary, covers
installation (virtual environment, install from GitHub, extras), and
walks through a five-step tutorial: build a plant, save and load JSON
and XML, let validation find a broken reference, fix it with a class
library, and instantiate the class. Every Python snippet runs, in order,
on the base install and prints the output shown. A feature table points
to the existing guides for queries, edits, merges, external references,
CAEX 2.15 import, OPC UA, RDF, and the JSON Schema.

The OPC UA usage, mapping scope, and comparison evidence move nearly
verbatim to docs/opcua.md, with the conversion example made runnable
against a validation-suite file instead of an undefined variable.

The validation-suite regeneration instructions were PowerShell-only and
referenced an old directory name; they are now a cross-platform command.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VzX3UpZysYhwy1ZMJNcVvq
@DHoffmannOVGU
DHoffmannOVGU merged commit 3fb9a4b into AutomationML:main Oct 17, 2026
9 checks passed
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.

2 participants