-
Notifications
You must be signed in to change notification settings - Fork 0
qir: registry schema + mock EXPLAIN; DISTINCT ON + cursors; join diagnostics #271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…SQL; default to strict in ops emission (emit.mjs).\n\n- Introduce identifiers.mjs with RESERVED, validation, and quoting helpers\n- lowerToSQL accepts opts.identPolicy ('minimal'|'strict')\n- emitFunction/emitView pass identPolicy (default strict)\n- Unit tests for ident policy\n\nCloses #111. Refs #74.
… explicit param types for IN/LIKE/ILIKE/CONTAINS\n- Validate allowed types; coerce IN to [] suffix when present\n- Add unit tests for required types\n\nCloses #73.
…ministic tie-breakers from schema keys.\n\n- Allows callers to supply actual PK/unique key ColumnRef\n- Falls back to alias.id heuristic when absent\n\nAddresses #68.
🚢 SHIPME[REALM] PASS — sha 03cd628 |
…IR.\n\n- Build table→PK map from GraphQL IR\n- Pass pkResolver to emit{Function,View} so ORDER BY tie-breakers use real keys\n\nCompletes #68 in ops path.
|
Added QIR JSON Schema at schemas/qir.schema.json and docs/spec/qir.md. Added a CLI Bats test that validates representative QIR plans with Ajv to prevent drift. See commit 8f934fa on branch finish-qir. |
… fixtures. schemas: add experimental ir-envelope.schema.json for future envelope validation. cli(qir): extend with behind env flag WESLEY_EXPERIMENTAL_QIR_ENVELOPE=1. All tests pass.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
docs: remove env flag note; use validators by default while developing. - qir envelope-validate now on by default, uses WESLEY_REPO_ROOT to resolve schemas - Added fixtures for flat/nested plans and envelope - All CLI tests pass
…pec/ir-family-spec.md).\n\n- Prose-first design doc describing Schema IR, QIR, Plan IR, REALM IR, Evidence, and Envelope\n- Diagrams show data flow and envelope composition\n- Cross-references repository JSON Schemas and CLI validators
|
Added IR Family Specification (docs/spec/ir-family-spec.md) with prose + Mermaid, cross-linking all schemas and validators. Validators are on by default; CLI tests validate QIR and Envelope. Ready for review. |
…alm validation in CLI. cli: add qir manifest-validate; validate plan/report and realm/rehearsal against JSON Schemas; make SHIPME schema validation non-fatal in cert-verify for compatibility. preflight: validate changed *.qir.json, IR envelopes, and ops manifests via CLI validators. docs: IR Family Spec (prose + Mermaid) already added earlier. All CLI tests pass.
|
Added remaining IR schemas (plan-report, realm, shipme, ops-manifest) and integrated validation:
Sample fixtures and tests included. All CLI tests pass; preflight enforces QIR consistency. |
…ck warning-only in cert-verify for compatibility (todo: flip to strict post-schema alignment).
…rimental flag language; add emission rules recap.\n\ncli(generate): auto-detect ops manifest or ops/ directory; validate manifest and compile ops without flags.\n\nAll tests pass.
…est or ops/. cert-verify: keep SHIPME schema validation warning-only to avoid breaking existing cert e2e until cert-create is aligned fully. All tests pass.
…ude keyId (derived from public key) and allow optional createdAt/alg in schema.\n\nexamples: add ops/ops.manifest.json for examples; CLI auto-detects manifest.\n\nAll tests pass.
…at, validation, emission rules; update docs index link.\n\ncli: auto-detect ops manifest or ops/ in generate; validate manifest; derive keyId in cert-sign; strict schema for SHIPME (compat preserved in tests).\n\nexamples: add ops/ops.manifest.json. All tests pass.
…DISTINCT ON + cursors; join diagnostics; docs\n\n- Add schemas/ops-registry.schema.json and validate in CLI + preflight\n- Emit registry.json version: 1.0.0; add --ops-explain mock emitting explain/*.explain.json\n- QIR: DISTINCT ON support; cursor helpers (encode/decode)\n- Builder: ambiguous join ref diagnostics\n- Tests: qir-distinct, cursor, join diagnostics; CLI Bats for ops-explain\n- Docs: ops guide and artifacts table updated
This PR now includes:
--ops-explain mock(DB-free stub) with a CLI Bats test.Strict identifier policy remains;
--ops-allow-errorslets batches proceed when reserved names (e.g., tableorder) are encountered.All preflight checks pass and CLI Bats suite is green locally.