Search by

kumwe / record-query

llewellyn

Closed bounded business record query grammar, projections and deterministic canonicalization.

Package info

github.com/kumwe/record-query

pkg:composer/kumwe/record-query

Statistics

Installs: 66

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.3 2026-09-08 16:54 UTC

README

Packagist version CI PHP requirement License

Closed bounded record query grammar, projections and deterministic canonicalization under Kumwe\Record\Query.

Installation

Requires 64-bit PHP 8.5 with JSON and mbstring. Pin an exact pre-1.0 release:

composer require kumwe/record-query:0.1.3

Composer declares exact Record Values, Business Definition and Conversion requirements. The version badge links published packages; CI reports default-branch package checks. Core integration and independent release verification remain consumer responsibilities.

Usage and Core contract

require 'vendor/autoload.php';

$query = new \Kumwe\Record\Query\RecordQuerySpecification();
$fingerprint = $query->digest();

Construct query values directly. Filter sets, cursor positions, projections and sort collections detach caller references so admitted intent remains stable. Core supplies authorized scope and trusted definitions, compiles queries for its database, and applies access and field permissions before reads, counts, paging, aggregates and exports. Cursor signing secrets, integrity/replay binding and execution remain with Core. A valid query or digest does not authorize access.

See public API, architecture, integration, test ownership, release record and standalone consumer. The canonical conformance proof preserves shared encoder boundaries while query literal admission remains stricter.

Development

Requires Node.js 20+ for development schema validation:

npm ci --prefix tools/schema-validator --ignore-scripts
composer install
composer check

Complete Ajv2020/YAML schema and rejection checks run alongside PHP behavior, conformance, architecture, static analysis, manifests/governance, audit, dependency identity, release automation and a no-dev authoritative archive consumer. CI runs PHP 8.5 on Linux. Development schema tooling is excluded from consumer archives.

Published tags remain fixed. See releasing and changelog. Licensed under Apache-2.0.