Skip to content

[0.7] Strict conformance fixtures and structured errors #12

Description

@PHPCraftdream

Goal

Move the remaining strict-mode conformance work into the 0.7 track.

Scope

  • Add normative strict-mode fixtures to ktav-lang/spec.
  • Define the shared expected outcomes for lossy and canonical scalar forms.
  • Decide and document a structured strict-error contract, including the offending body and canonical form where applicable.
  • Extend the C ABI and every binding conformance runner to consume the shared fixtures.
  • Run the fixtures in CI for Rust, Python, JavaScript, Go, Java, PHP, and C#.

Context

Release 0.6.4 added parse_strict in Rust and idiomatic strict entry points in all six bindings, with binding-local regression tests. The shared fixtures were intentionally deferred because the current C ABI exposes errors as flat strings and does not yet provide a stable structured-error contract.

Definition of done

  • Spec fixtures and their error expectations are normative and reviewed.
  • The structured error wire/API contract is documented.
  • All seven implementations pass the same strict fixture set in CI.
  • README and CHANGELOG updates are synchronized in EN/RU/ZH.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions