Skip to content

fix(metadata): resolve bare root-level @objectRef in Java loader - #525

Merged
dmealing merged 2 commits into
mainfrom
fm/mo-issues-522-523
Nov 2, 2026
Merged

dmealing merged 2 commits into
mainfrom
fm/mo-issues-522-523

Conversation

@dmealing

@dmealing dmealing commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Closes #522
Closes #523

What changed

  • Java loader (Java: a bare @objectRef on a root-level field does not resolve in its own package #522): a node declared directly under metadata.root (for example an abstract field.object template that other fields extends) now resolves a bare @objectRef in its own package, as ADR-0042 specifies and TypeScript already did. A real miss still fails with ERR_UNRESOLVED_OBJECT_REF, and the message no longer names the loader as the owner of a root-level node. The change is in RegisteredValidation.walk.
  • Conformance: adds root-level-field-object-bare-ref (must load in every port) and error-root-level-field-objectref-unresolved (must fail in every port). TypeScript, Java, C# and Python pass both; Kotlin consumes the Java metadata. Before the fix the first fixture failed in Java only. Fixture count 421 to 423 in docs/CONFORMANCE.md and AGENTS.md; examples/showcase/site-payload.json refreshed for the count.
  • Bump rule (RELEASING.md: the bump table and the vocabulary rule disagree on a new attribute after 1.0 #523): docs/RELEASING.md now lists a new attribute as PATCH in both the pre-1.0 and post-1.0 columns, matching "The vocabulary rule". One stale phrase in docs/1.0-readiness.md that named a new vocab member as a MINOR trigger now says "a new top-level type". Other rows are unchanged; ADR-0035, the releasing skill and the release scripts already said PATCH.
  • CHANGELOG.md: [Unreleased] entry for the Java fix. No version files touched.

Testing

  • Java ConformanceTest (838) green with the fix; the new fixture fails on the base code.
  • Full Java metadata module: 2992 tests, 0 failures. TypeScript conformance, C# conformance (2202) and Python conformance (1680) green.
  • scripts/ci-local.sh --quick green after the site payload refresh.

Gate

no-mistakes gate: 1 run, no findings at any step.

@dmealing
dmealing merged commit 521b1c1 into main Nov 2, 2026
9 checks passed
@dmealing
dmealing deleted the fm/mo-issues-522-523 branch November 2, 2026 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant