Skip to content

[CM S01.1] Complete semantic baseline and independent reference evidence #166

Description

@sergeliatko

S01.1: Complete the semantic baseline

Ownership and readiness

Parent session: #148. Epic: #147. Status: Complete through PR #221; independently reviewed and qualified on merged main. Findings: CM-01, CM-15. Maintenance #209 and roadmap refresh #217 are complete; this is the first remaining architecture task.

Delivered baseline

#141 is closed and PR #145 is merged. v1.1.2 includes the sequence correction and singleton response normalization. Reuse test/unit/compiler-compositor-occurs.test.ts, the sequence-occurrence-wrappers.wsdl conformance fixture, test/integration/sequence-occurrence-transport.test.ts, test/helpers/occurrenceTransport.mjs and test/conformance/registry.ts.

These artifacts are starting evidence. Their presence does not complete the independent reference validation or broader semantic characterization required here. v1.1.3 and v1.1.4 are now published; their publication is separate from the original v1.1.2 fix.

Bounded case manifest

Read repository instructions, #141/#145/#210 and current compiler/client code. Pin the tested main revision; the October 9 planning observation is b633cd1561ccb2689134a7289cf48bb097b0d1f1. Link or extend the sanitized original reproduction instead of creating duplicate coverage.

Commit the minimal manifest before expanding the investigation. Cover these case families, reusing a fixture across families when it gives independent assertions:

  • Repeated and optional wrapping sequences, including the exact original enclosing-sequence reproducer.
  • Simple choices and their ordering boundaries.
  • Wildcards and the limits of the current projection.
  • Zero-occurrence particles with unbounded descendants.
  • Required choices with one selection and with multiple selections.
  • Empty alternatives and their observable value representation.
  • Finite count gaps, including the 2-or-4 case.

For each valid schema, include an accepted instance and a targeted rejected instance where that family permits one. If a proposed schema is itself illegal, record the schema rejection and add a legal equivalent for the intended semantic question when possible. Do not confuse invalid schema construction with an implementation rejecting a valid instance.

Each manifest entry records a stable case ID, CM finding, fixture/provenance, schema legality, reference instance results, actual catalog/TypeScript/OpenAPI results, applicable SOAP/gateway evidence, intended semantics, and disposition with a downstream owning issue. Record unsupported projections explicitly instead of manufacturing passing expected output.

Reference runner and evidence boundaries

Select and pin an independent XSD 1.0 validator; document setup, exact version, offline inputs and a committed runner command. The runner reports schema compilation and instance validation separately. It must not fetch schemas from the network during a validation run.

Provide a small deterministic reference subset in a required CI lane and a full-manifest qualification command using the existing scripts/workflows. Record which command owns each lane and how its tool is provisioned. A missing validator or fixture fails a required reference lane; running ordinary characterization tests without the tool is not a passing reference result.

Keep current-output characterization and intended semantic assertions distinct. Separate contributor-reported production acceptance from independently reproduced evidence. Reference disagreements and implementation bugs get a reproducer and a triage record; they do not automatically expand this task into later architecture implementation.

Acceptance and tests

  • The bounded manifest covers every agreed family and links the exact report to reusable fixtures.
  • Schema legality and instance validity have separate reproducible reference outcomes.
  • Current output, intended semantics and unsupported behavior have distinct recorded expectations.
  • Pinned tool setup, offline inputs and required CI/full qualification commands are documented and executed.
  • Missing reference tooling fails the required reference lane instead of silently skipping it.
  • Existing CI passes; tracked limitations are not presented as fixed coverage.
  • Every remaining gap has fixture provenance, CM traceability and a downstream owner.

Close when the agreed evidence is reproducible and gaps are assigned. Fixing all observed semantic differences is not an acceptance requirement; any necessary focused evidence fix needs an explicit bounded disposition in #148.

Code quality and maintainability

Follow the code-quality contract. Keep the reference adapter test-only and small, reuse the existing registry and transport harness, and document the manifest format once. Avoid duplicating the public support matrix or introducing a generic validation framework.

Delivery

Provide commit/PR, manifest and fixture paths, commands/results/unrun checks, observed consumer impact and inputs for #167. Update #148's handoff. Public model redesign and release delivery belong to later work.

Delivered acceptance, October 9, 2026

PR #221 merged at b86c653dfa0672231ca9b7cbc56d15ef6ae18bae; its tree bf3d8e7caa18a12ac204b061ad0ccc6e8563c6fb matches tested head 94340c89b384831b411edce61c1e9994119b51d6. Source baseline: b633cd1561ccb2689134a7289cf48bb097b0d1f1, published v1.1.4. The manifest was committed before broad investigation at 26cb21e.

The manifest is test/conformance/semantic-baseline.json; registry-linked fixtures and instances are in test/conformance/fixtures/xsd/compositors/ and the reused sequence fixture. Runner: scripts/semantic-reference.mjs and test/conformance/reference/validate.py. Setup and reproduction: docs/content-model-baseline.md.

npm run reference:setup provisions lxml 6.0.2/libxml2 2.14.6, xmlschema 4.2.0 and elementpath 5.0.4. npm run test:reference passed six cases/15 instances; npm run test:reference:full passed 14 cases/40 primary instance checks, with 13 schema-accepted cases, one schema rejection and one explicit secondary oracle disagreement. Full reference was also executed on clean merged main; its report identifies the exact merged revision.

npm run ci passed on the clean PR head with Node 24.19.0, npm 11.9.0, TypeScript 6.0.3 and Vitest 5.0.3: 670 tests/55 files, all conformance stages, required reference subset, docs, pipeline smoke and installed-package consumers covering 73 TypeScript artifacts. Focused characterization/missing-tool tests and conformance scoped typechecking passed. Independent read-only review approved after findings were resolved. Hosted Node 24/26 and CodeQL passed on the final head; merged-main CI passed.

Known limits remain explicit: ancestor choice/all/disabled/wildcard boundaries, ordered group relationships, repeated choices, empty alternatives and count gaps. Manifest dispositions assign analysis, legality, matching, projection, encoding and HTTP validation to #178/#179/#180/#182/#188/#198. libxml2's disabled-row acceptance is independently contradicted by xmlschema; #181 owns CM-15 oracle follow-up. No production repair or support/default activation was introduced.

No required local checks were skipped. IDE inspections were unavailable; repository-local checks were used. Historical commits, private vendor production validation, package publication/release preflight and S02 feasibility probes were not rerun. #167 consumes this delivered evidence; #148 remains open until that follow-up and its combined gate pass.

Operational pin follow-up

PR #223 corrected the test-only lxml pin to 6.1.0 after CVE-2026-41066 surfaced, preserving libxml2 2.14.6, all case inputs and literal semantic expectations. Fresh final full CI/reference qualification and merged-main checks pass at 86089d73d02f39b04c0ae2eac8522efc2b3d47c8. Use the current setup documented in docs/content-model-baseline.md; the 6.0.2 results above remain the exact historical #166 delivery evidence.

Activity

  1. changed the title [-][CM S01.1] Reproduce #141 and commit the semantic baseline[/-] [+][CM S01.1] Complete semantic baseline and independent reference evidence[/+] on Oct 8, 2026
  2. added
    area: content-modelWSDL/XSD semantics and unified generation contracts under epic #147.
    status: readyConcrete next work can start; acceptance and review still required.
    priority: nextFirst delivery item in the current execution plan.
    on Oct 8, 2026
  3. sergeliatko commented on Oct 9, 2026

    @sergeliatko
    MemberAuthor

    S01 implementation is active from current main b633cd1561ccb2689134a7289cf48bb097b0d1f1 on isolated branch s01/reference-baseline. One lead implementation owner: Codex in this task. Independent reviewer: the separate read-only S01 reference review agent; integration and merges remain sequential.

    The bounded 14-case manifest was committed first at 26cb21e. It reuses the shipped occurrence/choice fixtures and SOAP harness. Current catalog/TypeScript/OpenAPI results are separate from literal reference results and intended semantics. The illegal nested-all input is schema-rejected, with a legal optional-all counterpart.

    Full pinned qualification now executes 14 cases/40 primary instance checks. A disabled-element disagreement is explicitly retained: libxml2 2.14.6 accepts the row, while xmlschema 4.2.0 rejects it. #181 owns oracle follow-up under CM-15; this does not approve disabled content or expand S01 into production repairs. Final review, full local CI and hosted Node 24/26 checks remain delivery gates.

  4. added
    status: in reviewImplementation PR is available; review and hosted checks determine merge readiness.
    and removed
    status: readyConcrete next work can start; acceptance and review still required.
    on Oct 9, 2026
  5. removed
    priority: nextFirst delivery item in the current execution plan.
    status: in reviewImplementation PR is available; review and hosted checks determine merge readiness.
    on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: content-modelWSDL/XSD semantics and unified generation contracts under epic #147.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions