CFG-WEIGHTS (1/2): retire the RC-5 identity predicate — registry weights flow (D-CFG-4(1)/(3)) - #30
Merged
Merged
Conversation
CFG-GOV D-CFG-4(1)/(3), slot CFG-WEIGHTS, owner-authorized 2026-08-12.
loadUwrProfile now takes the profile id the resolving registration named and
returns the DOCUMENT's own validated weights and profileId. Nothing is spread
from defaultUwrConfig; the module no longer imports it.
Retired:
- per-key weight value equality against defaultUwrConfig (RC-5 condition 1),
and with it the "weight-value-mismatch" refusal reason;
- the module-constant profileId pin (RC-5 condition 3, first half) - the
document must now match the id the registration named;
- supersedes value equality (RC-5 condition 3, second half) - shape only.
Retained in full (RC-4 fail-closed): schema id, axis registry content and
order (UP-4), exact weight keying, finiteness, own-property reads, read-once
accessor semantics. A malformed, mis-identified, or schema-invalid document
throws; there is no fallback.
PINNED_UWR_PROFILE_ID is retained as a documentation/fixture constant and is
no longer a loader gate.
Gate: the 0.25x4 registration still anchors at uwrScore 0.1875 over the D2 M2
axes, asserted in both suites. 249 tests pass, typecheck clean.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Kilo Code Review could not run — your account is out of credits. Add credits or switch to a free model to enable reviews on this change. |
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.
Slot authorization
CFG-GOV §8 slot
CFG-WEIGHTS, authorized by the founder instruction of 2026-08-12:Design call E (the
AFI_UWR_PROFILE_SOURCE=builtinoperator branch) was separately ruled by the founder on 2026-08-12: "keep it" — reading (b), the flag survives as a distinct RC-3 surface, kept honest by the new builtin-value-identity guard in the companion afi-reactor PR.This PR merges FIRST, and the companion afi-reactor PR must merge the same day. afi-reactor pins afi-core as a
file:dependency and its CI checks out this repo's default branch with no ref — the moment this merges, afi-reactor'smainCI is red on the 2-argumentloadUwrProfilesignature until the companion lands. Freeze other afi-reactor and afi-gateway merges across the window.What changes
loadUwrProfile(profileJson, expectedProfileId)now returns the document's own validated weights and the document's own profileId. Nothing is spread fromdefaultUwrConfig; the module no longer imports it.Retired (D-CFG-4(1)): per-key weight value equality (and the
weight-value-mismatchreason), the module-constant profileId pin (recognition is registration-driven, D-CFG-4(3)), andsupersedesvalue equality.Declared under D-CFG-4(1): the
supersedes === defaultUwrConfig.idequality is read as part of the retired RC-5 condition-3 predicate — shape survives (a non-stringsupersedesstill refuses), value equality does not. Declared here so acceptance reads it as authorized retirement, not scope creep.Retained in full (RC-4, fail-closed): schema id, axis registry content and order (UP-4, unchanged per D-CFG-4(7)), exact four-key weight shape, finiteness, own-property reads, read-once accessor discipline. A malformed, mis-identified, or schema-invalid document throws; there is no fallback.
computeUwrScore's default parameter is untouched (RC-8 clarification).Gate
0.1875anchor over the D2 M2 axes: asserted inUwrProfileLoader.test.tsand the newUwrProfileRegistryWeights.test.ts— holds (the registered profile carries 0.25×4; 0.25 is exactly representable in binary64).Verification
Adversarially verified by a 5-lens workflow (governance authority, fail-closed regression, zero scored-value movement, second-analyst unlock, CI/merge-order): GO, zero blocking findings. Full local proof run includes the four Mongo-backed compiled integration proofs from afi-reactor's CI, executed against a local single-node replica set: all PASS.
🤖 Generated with Claude Code