kumwe / record-query
Closed bounded business record query grammar, projections and deterministic canonicalization.
Requires
- php: ^8.5
- php-64bit: *
- ext-json: *
- ext-mbstring: *
- kumwe/business-definition: 0.1.2
- kumwe/conversion: 0.1.5
- kumwe/record-values: 0.1.4
Requires (Dev)
- ext-zip: *
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.0 || ^13.0
- squizlabs/php_codesniffer: ^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-12 15:18:29 UTC
README
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.