build/devenv: serialize raw phased output map, version-aware load#1140
Draft
winder wants to merge 1 commit into
Draft
build/devenv: serialize raw phased output map, version-aware load#1140winder wants to merge 1 commit into
winder wants to merge 1 commit into
Conversation
This was referenced May 29, 2026
NewPhasedEnvironment now serializes the raw accumulated component hand-built PhasedOutput, and re-emits the schema version as a public key. LoadOutput[Cfg] switches on that version: absent/0 keeps the strict legacy Cfg decode, while version 1 leniently decodes the phased map and derives the aggregator/indexer endpoint maps — so all existing readers and NewLibFromCCVEnv are unchanged. Components now own their public output keys: protocol_contracts emits cldf and environment_topology, while shared TLS certs become a private "_"-key. jd stays public, with JDInfrastructure.OffchainClient marked toml:"-" so the live client is skipped but the JD output and node IDs persist for future job proposals. env.toml drops its version key so monolith output stays at 0.
4304da6 to
e9dc852
Compare
|
Code coverage report:
|
4 tasks
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.
PR Chain
There are multiple open pull requests that feed into each other:
Description
The phased devenv (--env-mode phased) previously reconstructed a transitional *Cfg from the component runtime's output map via hand-written sync blocks. This PR removes that bridge: NewPhasedEnvironment now serializes the raw accumulated output map directly, and LoadOutput[Cfg] switches on a version marker to decode either format. Adding a new serialized output no longer requires touching a central mapping — a component just publishes a public key.
What changed
Why
Compatibility / risk
Testing
Checklist
changelogdirectory)just lint fix- no new lint errorsjust generate- mocks and protobufs are up to date