Skip to content

Add the parity suite as a scheduled conformance report - #29

Merged
asgeirf merged 1 commit into
mainfrom
parity-suite
Oct 16, 2026
Merged

asgeirf merged 1 commit into
mainfrom
parity-suite

Conversation

@asgeirf

@asgeirf asgeirf commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Moves neokapi's Okapi parity suite into this repository as the parity/ Go module, as decided in neokapi/neokapi#1073 (D3): the suite becomes a scheduled conformance report here, against released kapi versions, and stops gating anything in neokapi.

What is here

  • parity/ is its own module (github.com/neokapi/okapi-bridge/parity). It requires github.com/neokapi/neokapi v1.3.0-rc9 and nothing from the host or cli modules, so it compiles from the module proxy. The daemon launcher (parity/daemon.go) implements the plugin protocol's Mode C handshake; the previous code used host/pluginhost, whose module embeds build-time catalogs and does not compile from a tag.
  • Format specs (core/formats/<id>/spec.yaml) are read from the neokapi module's source directory, resolved with go list -m, so the specs and the readers under test come from one version.
  • Per-fixture annotations: parity/annotations/<format>.yaml (previously core/formats/<id>/parity-annotations.yaml).
  • Satellites: parity/cmd/okapi-test-scan (fixture harvester), parity/cmd/testcompare (per-filter summary), parity/pseudobench (the bench with the bridge-comparison engines).
  • make parity-sandbox | parity-test | parity-publish | parity-vet | parity-clean | regen-okapi-fixtures via parity/parity.mk; parity/scripts/sandbox.sh builds the sandbox from a released kapi (KAPI_BIN or PATH) and a fresh make plugin-v2 tarball.
  • .github/workflows/parity.yml: weekly plus workflow_dispatch, installs kapi with neokapi/setup-kapi@v1, builds the plugin, runs the suite, uploads the report. No pull_request trigger; it gates nothing.

Verification

Local run against kapi 1.3.0-rc8 and the 1.48.0 plugin tarball: every package passes, 922 report rows (go test -tags "fts5,parity" ./... in 67 s). make parity-vet is clean. The bridge's own make test-go is unaffected: parity/ is a separate module and every test is behind the parity build tag.

Follow-ups

  • Bump the neokapi pin to the next tagged release when it is out (cd parity && go get github.com/neokapi/neokapi@<tag> && go mod tidy).
  • The neokapi side of the move (deleting cli/parity and the release gate) is a separate PR in neokapi/neokapi, linked from #1073.

🤖 Generated with Claude Code

Move neokapi's Okapi parity suite into this repository as the `parity/` Go
module (neokapi/neokapi#1073, D3). The module requires a released
github.com/neokapi/neokapi and nothing from the host or cli modules: the
daemon launcher implements the plugin protocol's Mode C handshake locally,
and format specs are read from the neokapi module's source directory so the
specs and the readers under test come from one version.

Per-fixture divergence annotations move to parity/annotations/<format>.yaml,
the fixture harvester and report summariser to parity/cmd/, and pseudobench's
bridge-comparison engines to parity/pseudobench/.

.github/workflows/parity.yml runs the suite weekly and on dispatch against a
released kapi (neokapi/setup-kapi@v1) and a plugin built from this checkout,
and uploads the report as an artifact. It has no pull_request trigger and
gates nothing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@asgeirf

asgeirf commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

The neokapi side of the move is neokapi/neokapi#3207 (deletes cli/parity, the parity workflow and the release gate).

@asgeirf
asgeirf merged commit 3d80364 into main Oct 16, 2026
3 checks passed
@asgeirf
asgeirf deleted the parity-suite branch October 16, 2026 21:54
asgeirf added a commit to neokapi/neokapi that referenced this pull request Oct 16, 2026
…#3207)

The parity suite (cli/parity) now lives in the okapi-bridge repository as
the parity/ module, compiles against a released neokapi, and runs there on
a weekly schedule against the latest kapi release (neokapi/okapi-bridge#29).
Nothing here builds, runs or gates on the bridge any more.

Removed: cli/parity, scripts/okapi-test-scan and scripts/testcompare (and
their go.work entries), core/formats/*/parity-annotations.yaml, parity.yml,
the Parity Gate jobs in release.yml and release-bowrain.yml, the bridge
checkout in contract-audit.yml, the Makefile parity targets, the bridge
fetch/sandbox/pool scripts, pseudobench's bridge and okapi engines, and the
parity build tag from .golangci.yml and fieldguard.

support.yaml gates that named parity.yml now name make test; the
Supported-tier check asks for core/formats/<id>/spec_test.go; the
format-ops parity-publish ritual downloads the bridge workflow's report;
make bench-run and conversion-eval fetch the okapi-testdata corpus directly.
Docs, skills and code comments point at the bridge-side suite.

Refs #1073

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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