Repository navigation
Bind default policy custody and prospective allocation normalization - #420
Merged
Merged
Conversation
adrianwebb
marked this pull request as ready for review
October 12, 2026 00:02
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.
Outcome
Bind canonical default-policy custody (criterion50) and prospective allocator normalization (criterion47) to the existing SDK campaign path. The freeze checks the current owning SDK function's normalized project/class targets for every held campaign input; this projection does not create future assignments, usage or passing portfolio receipts.
Work authority
ca643dc3fda822c471300ee7b0a338c1e9f32ca1.ac15293b65a4967d4ec05b5d753982d4d054fe77.a3bca083438445893cdfc10b57de7504cb0ddf3b.Contributor mode (select one):
Plan
Retain fixed inputs, original normal SDK scene ordering, all selected/deferred identities and earlier failures. Strengthen the existing campaign freeze; use owning API and SDK proof through their existing components. Criterion47 uses delivered SDK406 sourced486e74d and the current API536 staging archive; criterion50 separately holds API537 source379c5266 pending its longer native CI. All archive adoption is explicit. Fresh full Agent/Reviewer prerequisites and component scenes for this replacement candidate have now passed.
Changes and commits
3356b26→dd5d543: criterion50 mapping RED (8pass/2fail), then exact preflight/campaign/native policy binding and selected component assertion.3fba5244b20834b1b0fa91caa629697d8c8fc253: criterion47 guard/binding RED (20pass/2fail). Classified IMPLEMENTATION_DEFECT before guard repair: the prospective validator never invoked the owning SDK normalizer.ac15293b65a4967d4ec05b5d753982d4d054fe77: use the existing public SDK normalizer with frozen policy/overrides and a clearly prospective ready-node projection. Reject absent/malformed results, foreign identities, missing/nonfinite/coerced/wrong targets and raw portfolio weights substituted for normalized targets, while preserving caller bytes. Bind exact criterion47 to the existing campaign-freeze verifier and register its two unit assertions in the existing component scene.Verification
Pinned Node24.12.0 and original development authoritye4c4cad1. Changed freeze/binding and real native pre-run reader tests29/29passed; strict TypeScript, file architecture/length and whitespace checks pass. Original native pre-run denial cases and unchanged-retry/file-byte assertions remain intact. Intermediate unknown-readiness typing error was repaired with explicit string validation; no type check was disabled.
Earlier Verify38184448791 on old sourcedd5d543 passed989Agent+200Reviewer and737component assertions, with original artifacts independently checked. That receipt remains historical and does not certify the changed source above. Fresh Verify38188525564 passed991Agent+200executingReviewer assertions (zero failed/skipped/todo) before739component steps. Independently audited739assertion receipts/118native source file digests and11selected archive assets against tested mergea3bca083438445893cdfc10b57de7504cb0ddf3b. ArchiveSHA858da74ccf197875cd521b528db2cb3340f5fbf0a7e940ddb2d8b2773182d847; reportSHAbcb839c4368884b36bae46dcc7b7ec8675f50e77ae53de292134cb514994b3eb. Original sceneZIP11720638352 SHA4ae97da1ecd9b91a63d6cde932fb41ff46b7fadfe7155a3ae3d65c9c856e8c70; packageZIP11721381502 SHA2575f1e1533479d596fe5f1fd266c4d09acdbe6f86e1c386f4d123164176bd24. Actual six-owner production installation and protected staging read-back follow; no scene prerequisite is reused. No local or managed scene was launched from focused receipts.
Risk and rollback
Acceptance guard and binding changes only. No runtime selection, external publication, product source change or campaign activation. Ordinary revert restores prior guard/bindings while preserving RED and failed observations.
Completion summary
Criterion47 remains unchecked until its Agent/SDK native Actions, installed read-back and protected staging delivery are complete. Criterion50 remains independently unchecked until API537 also passes native Actions, installed policy custody and protected staging delivery. SDK401 remains31completed/146open. SDK launch readiness and managed SDK success remain unproven.
Submission checklist