Skip to content

CFG-WEIGHTS (1/2): retire the RC-5 identity predicate — registry weights flow (D-CFG-4(1)/(3)) - #30

Merged
Gio2050 merged 1 commit into
mainfrom
mission/cfg-weights
Aug 22, 2026
Merged

CFG-WEIGHTS (1/2): retire the RC-5 identity predicate — registry weights flow (D-CFG-4(1)/(3))#30
Gio2050 merged 1 commit into
mainfrom
mission/cfg-weights

Conversation

@Gio2050

@Gio2050 Gio2050 commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Slot authorization

CFG-GOV §8 slot CFG-WEIGHTS, authorized by the founder instruction of 2026-08-12:

"i approve of all. please proceed."

Design call E (the AFI_UWR_PROFILE_SOURCE=builtin operator 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.

⚠️ MERGE CHOREOGRAPHY — read before merging

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's main CI is red on the 2-argument loadUwrProfile signature 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 from defaultUwrConfig; the module no longer imports it.

Retired (D-CFG-4(1)): per-key weight value equality (and the weight-value-mismatch reason), the module-constant profileId pin (recognition is registration-driven, D-CFG-4(3)), and supersedes value equality.

Declared under D-CFG-4(1): the supersedes === defaultUwrConfig.id equality is read as part of the retired RC-5 condition-3 predicate — shape survives (a non-string supersedes still 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.1875 anchor over the D2 M2 axes: asserted in UwrProfileLoader.test.ts and the new UwrProfileRegistryWeights.test.tsholds (the registered profile carries 0.25×4; 0.25 is exactly representable in binary64).
  • 249 tests green, typecheck clean.
  • Zero golden/KAT movement anywhere.

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

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-bot

kilo-code-bot Bot commented Aug 22, 2026

Copy link
Copy Markdown

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.

@Gio2050
Gio2050 merged commit 1be76cd into main Aug 22, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant