feat: implement Kompact v1 foundation - #23
Draft
trancee wants to merge 9 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Specification
Implements the repository-controlled requirements indexed by the closed Kompact v1 implementation-ready specification and ADR-0001 through ADR-0010.
TDD evidence
Observed red then green at generated-consumer seams for transport-tail rejection, validation precedence, C aggregate writers/optionals, optional arrays, schema cycles, array-count diagnostics, semantic names, lifecycle transitions, namespace mismatch, duplicate registry keys, supported-decoder removal, published annotation discovery, and real multi-target publication consumption. Runtime property and benchmark-workload correctness tests cover the non-generated seams.
Verification
./gradlew clean --no-build-cache --no-configuration-cache && ./gradlew check --no-build-cache --no-configuration-cachepassed: 163 actionable check tasks, 157 executediosArm64, andiosSimulatorArm64-Wall -Wextra -Wconversion -Wsign-conversion -Werror -pedantic-errorsactionlintandgit diff --checkpassedReview
The two-axis
/code-reviewpass produced one valid Standards finding: the 300-line D9 default deviations lacked a repository rationale.README.mdnow records each cohesive transaction/fixture deviation; every maintained file remains below the 500-line hard ceiling. The current-index Spec recheck found no remaining decode-only or C enum-array issue and reported no findings.External release blockers
android-referenceandios-referenceself-hosted labels because concrete runner/device identities are unavailable; replace them with pinned metadata before releaseiosArm64, but signed device execution, timing loops, and Instruments allocation evidence still require the physical runner/signing environmentThe PR remains draft until these external gates complete.
Impact
This remains a first pre-release API and wire-format implementation; no published consumer migration exists. Runtime failures remain typed and redacted and never include packet or attempted write values. The runtime bit loop now processes byte chunks rather than individual bits; controlled JVM generated/reference ratios remain within the ADR-0008 ceiling.