Skip to content

feat(nokv): expose SDK schema and typed helper refusal in qualification reports - #4726

Open
wchwawa wants to merge 5 commits into
loopx-project:mainfrom
wchwawa:feat/nokv-ladder-seed-routing
Open

wchwawa wants to merge 5 commits into
loopx-project:mainfrom
wchwawa:feat/nokv-ladder-seed-routing

Conversation

@wchwawa

@wchwawa wchwawa commented Sep 19, 2026 •

Copy link
Copy Markdown
Collaborator

NoKV qualification reports now preserve each helper's declared SDK wire schema and typed helper-open refusal codes. All three declarations are recorded in opening order, including unknown values; the summary names a schema only when all three agree. For example, [null, v9, v10] now reports null instead of incorrectly naming v9. These declarations are observations, not protocol negotiation or an additional admission gate. Free-form helper errors remain excluded from CLI stderr.

This uses the current Stage 2A path. Seed routing, the SDK 0.11.1/API 1 pin and incarnation-fenced publication already belong to main. Existing admission, CAS, qualification and failure criteria remain intact; retired Stage 0/shadow paths stay removed.

Error-reporting change relative to main: the real 0.11.0 wheel now reports invalid_config instead of nokv_transport_protocol_failed. It still exits 1 and fails the ladder row. Version mismatch and invalid configuration continue to share invalid_config; unsupported SDK capabilities report nokv_sdk_capability_mismatch. The P2 follow-up does not change these codes.

Independent validation at f5bdb51f5, compared with parent 57f7fae42:

  • 705 related TypeScript tests and 76 selected Python contract tests passed; control-plane typecheck, affected-file Ruff/mypy and semantic advisory passed.
  • Full premerge passed: 5 direct checks and all 18 selected smoke/boundary runs. The two previously reported auto-research smoke failures did not reproduce on either revision.
  • 37 isolated CLI/helper process scenarios passed; both original counterexamples failed on the parent, and all four behavior mutants were caught.
  • 28 real NoKV CLI/ladder scenarios matched expectations: 12 successes and 16 expected refusals. Every success retained all 15 checks. Independent released-SDK readback verified 12 envelopes and 36 transactions; rejection retries left stored data unchanged.

Schema variants changed only SDK declarations while retaining real storage operations; they do not prove server support for the declared versions. This remains bounded single-owner evidence, not experimental seeds-server interoperability, HA, capacity or production promotion qualification. Original contributor commits remain in the branch.

…matches in the NoKV helper

Signed-off-by: wchwawa <wch19961116@gmail.com>
… SDK wire schema

Signed-off-by: wchwawa <wch19961116@gmail.com>
…cation path

Signed-off-by: song <liusongstep@gmail.com>
@songoow songoow changed the title feat(testing): let the NoKV live rows route through seeds and pin the SDK wire schema feat(nokv): expose SDK schema and typed helper refusal in qualification reports Oct 12, 2026
The live qualification opens three helpers but reported only the first
non-null schema any of them declared, so helpers that disagreed (for
example null/v9/v10 or v9/v10/v9) produced a report naming one schema
for the whole run.

Record every opened helper's declaration in open order as
nokv_protocol_schema_observations and name nokv_protocol_schema only
when all of them agree; it is null otherwise. The derivation moves into
exerciseQualificationSequence so the deterministic harness covers it.
The schema stays observed metadata: disagreement does not fail the
probe, and no admission, CAS or pass criterion changes. The ladder row
carries the observations as evidence, and the docs no longer say that
only 0.11.0 declares no schema: the 0.11.1 release wheel exports none
either.

Signed-off-by: wchwawa <wch19961116@gmail.com>
@wchwawa
wchwawa marked this pull request as ready for review October 14, 2026 02:14
@wchwawa

wchwawa commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator Author

Thanks @songoow for bringing this up to date and keeping it on the current Stage 2A path. I added a small follow-up in f5bdb51 to preserve all three helpers' schema declarations instead of silently keeping the first non-null value.

Independent regression and real NoKV E2E checks now close the P2. Mixed declarations remain observational, and the existing admission and failure gates are unchanged.

@huangruiteng, I've marked this ready for your review and updated the PR's validation and error-code notes.

This branch has not been deployed

No deployments
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.

2 participants