[WP03 · SubStep 03.02] Implement the serialization posture - #37
Merged
Merged
Conversation
Author binary limit/nesting/unknown-field/malformed cases, strict HTTP-exception JSON cases and expected service catalogues from the approved Design profile before implementing the posture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add bounded C#/TS binary codecs with registry size classes and the shared 100-level nesting bound, strict source-generated HTTP-exception JSON codecs with declared byte limits, generated service catalogues, the binary-only public transport factory and reflection-disabled System.Text.Json. Add the serialization policy gate with negative tests and a test-only Native AOT probe that roots every C# library and runs the independent WP03.02 vectors; the build runs both once per host. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce and dependency receipts Refresh the contract-access inventory for the new codec, catalogue and transport sources; bind regenerated outputs through the immutable contract-bindings-r5 successor; admit the Native AOT compiler selected by the pinned SDK in dependency receipt wp03-02-r1 with DesktopPlatform's reviewed nuspec evidence; register the probe project and bind the new receipt's public hash rows in the secret-scan allowlist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ld identity inspection The AOT probe selects its host RID in the project, so Release builds place it under bin/Release/net10.0/<rid>/; the inspection now finds it there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Implements the WP03.02 serialization posture under the approved Design profile (Design PR 65).
Changes
ContractWire/WireLimits(Foundation) and TSdecodeContract/encodeContract/wireLimits(@arcforges/proto). Registry size classes (4 MiB unary/helper, 256 KiB inline page, 32 KiB stream frame, 64 MiB large projection), root plus 100 nested levels, typedtooLarge/tooDeep/malformedrefusals, unknown fields retained.JsonSourceGenerationOptionson the three generated contexts; generated C#<Schema>Json.Parse/TryParse/Serializeand TSparse/tryParse/serialize<Schema>Jsoncodecs; per-schemax-arcforges-max-bytes.ContractServices.All(PublicApi, Sdk.Contracts) and TScontractServices.createPublicGrpcWebTransportfixes binary gRPC-Web and refuses codec overrides.JsonSerializerIsReflectionEnabledByDefault=falseeverywhere;eng/check_serialization.pygate plus nine negative/positive tests.fixtures/public/wp03-02.jsonvectors. The build runs the gate, publish and probe once on the CI host (Linux).contract-bindings-r5, dependency receiptwp03-02-r1(admits onlyMicrosoft.DotNet.ILCompiler+ linux-x64/win-x64 runtime packs 10.0.11 as build-test tooling), licence inventory, secret-scan allowlist for the new receipt's public hash rows.Local validation (Windows, existing SDK 10.0.401 via local adapter; CI stays on 10.0.400)
npm test, access/licence/provenance/dependency/naming gates passed.Not covered: Linux AOT runs in this PR's CI. No live RPC, browser/device, installed consumer or macOS result is claimed. F-026 stays open until WP06.02.
🤖 Generated with Claude Code