Skip to content

openehr-specs: class tables from the repo's BMM, scaffold revision 2, no-ticket amendments - #8

Merged
sebastian-iancu merged 4 commits into
mainfrom
fix/openehr-specs-repo-bmm-scaffold-r2
Oct 8, 2026
Merged

sebastian-iancu merged 4 commits into
mainfrom
fix/openehr-specs-repo-bmm-scaffold-r2

Conversation

@sebastian-iancu

Copy link
Copy Markdown
Member

Summary

Fixes found while running the openehr-specs workflow end to end on specifications-TERM.

  • class-generation and regen-classes now generate from the repo's own BMM (fix). They passed bundled schema ids, so bmm-publisher rendered its own copy of the BMM, which lags the repos. A run with the documented command exited 0 but did not show a fix just made to specifications-TERM's BMM. The suggested mount over /app/resources hid the bundled dependencies and exited 1. Both skills now mount the component's computable/BMM/<id>.bmm.json and its sibling dependencies under /in/ and pass paths. regen-classes stops when a file is missing instead of falling back to an id. Ids remain documented for reproducing published output.
  • scaffold template set revision 2 (feat):
    • The AGENTS.md build region no longer says "No build tooling lives in this repo", which is wrong for TERM's PHP generator. New repos get a TODO(scaffold) marker asking them to describe their own tooling.
    • The class-table command loads the sibling BASE BMM with -d, through a new variable base_bmm_schema_id. It is inferred from the specifications-BASE clone, highest version first, and is empty for BASE itself. Without it, links to BASE types come out as /classes/String.
    • .claude/CLAUDE.md and the skill's rules say that repo guidance, such as /init's, goes into AGENTS.md outside the regions.
    • first_release is confirmed only when manifest.json is created.
    • migrations/0002.json carries a note for existing repos, which do not get the new marker. A dry-run plan upgrades BASE's build region (without -d) and leaves TERM's pinned one alone.
  • amendment-record covers changes without a ticket (docs). No invented or placeholder key, an offer to raise a ticket, otherwise an entry without a reference (266 of the 974 existing entries have none), and no entry when the author says none is needed.
  • The manifest-spec-entry.md example shows the current ITS-BMM-RM url expression and ITS-BMM-BASE dependency, copied from specifications-RM/manifest.json, instead of MagicDraw uml expressions (docs).

Five upgrade tests hard-coded revision numbers that assumed the shipped set is revision 1. They now follow the latest revision, so the next revision will not break them.

Checklist

  • python3 scripts/validate.py and python3 -m unittest discover -s scripts -p 'test_*.py' pass, on each of the four commits (117 tests; scaffold.py check clean)
  • Skill triggering tested locally in Claude Code: not done; descriptions and frontmatter are unchanged
  • Cursor install tested locally: not done; no plugin or manifest metadata changed
  • Both marketplaces updated when plugin metadata changed: not applicable, no metadata changed
  • CHANGELOG.md updated under Unreleased; no version bump
  • Content grounded: the class-table behaviour was reproduced against bmm-publisher 0.11.0, the manifest example is RM's actual manifest, and the no-ticket count comes from a survey of the local specifications-* clones

🤖 Generated with Claude Code

sebastian-iancu and others added 4 commits October 8, 2026 14:52
class-generation and regen-classes mounted no schema files and passed bundled schema ids, so bmm-publisher rendered its own, older copy of the BMM without any error; the suggested mount over /app/resources hid the bundled dependencies (exit 1). Both now mount the component repo's BMM and its sibling dependencies under /in/ and pass paths; regen-classes stops when a file is missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…epo tooling

AGENTS.md build region: no longer claims the repo has no build tooling, and the class-table command loads the sibling BASE BMM with -d (new variable base_bmm_schema_id, inferred from the specifications-BASE clone), so links to BASE types resolve. New repos get a TODO(scaffold) marker for their own tooling; .claude/CLAUDE.md and the skill's rules say repo guidance goes into AGENTS.md outside the regions; first_release is confirmed only when manifest.json is created. Upgrade tests now follow the latest revision instead of assuming revision 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No invented or placeholder key; offer to raise a ticket; otherwise an entry without a Jira reference (266 of 974 existing entries have none); no entry when the author says none is needed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mple

The example used the retired MagicDraw uml expressions; it now shows RM's ITS-BMM-RM url expression and ITS-BMM-BASE dependency.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sebastian-iancu
sebastian-iancu merged commit fb5b116 into main Oct 8, 2026
1 check passed
@sebastian-iancu
sebastian-iancu deleted the fix/openehr-specs-repo-bmm-scaffold-r2 branch October 8, 2026 12:57
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