Repository navigation
Conversation
The CLI builds the core's stack from the network it resolved: the descriptor's network, which get_chain_info reports as an app bundling the same stack does, its TLD, and the People, Bulletin and Asset Hub it serves. The descriptor's id stays the product namespace and state directory, and feature_supported answers from the served roles. The core allows the stack Polkadot's reserved values, since the CLI vouches for them itself: no stack runs under the polkadot namespace, and a chain with one of Polkadot's genesis hashes runs only once the chain checks show it is a fork. That is what lets pcf-devnet run on `dot`.
This was referenced Nov 6, 2026
This was referenced Nov 6, 2026
Contributor
|
CI Status: not green, 4 items need attention.
All job results
Signing credentials: valid as of 2026-11-06 Commit |
`CliPlatform` keeps the network's `Roles` of genesis hashes and answers `feature_supported` from them, so `served_roles`, which only tests read with its chain identifiers, moves to the test-only `network::testing`. The test that guarded the served set against a dropped role goes, since `Roles` holds all three by type. `core_stack` says it relies on `NetworkSource::resolve_checked` having checked Polkadot's reserved values. Rewraps the namespace doc, the `feature_supported` test doc and the SPEC paragraph.
It states what the core stack holds and that it is only for a stack from `NetworkSource::resolve_checked`, and links there instead of restating the checks.
This branch has not been deployed
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.
The CLI hands the core the stack of the network it resolved. That stack has:
network, whichget_chain_inforeports as an app bundling the same stack does,The descriptor's
idstays the product namespace and state directory.feature_supportedanswers from the served roles.The core allows the stack Polkadot's reserved values, because the CLI vouches for them itself. No stack runs under the
polkadotnamespace, and a host command runs the chain checks before it starts the core. Those checks refuse a chain with one of Polkadot's genesis hashes until it shows it is a fork. Without that, the core would refusepcf-devnet, which runs ondot, and every Polkadot fork. This differs from #1564, where only a stack the build ships and marks may use reserved values: the CLI keeps running Polkadot forks from--stack, as #1944 chose.Testing
the_core_stack_reports_what_an_app_bundling_it_reportschecks that for every built-in network the CLI's stack equals whatStack::bundledresolves from the same signed copy, minus the Relay.a_polkadot_fork_starts_the_corechecks that a stack on Polkadot's People genesis still builds a core stack.script_runner::tests::managed_scripts_use_their_project_directory_when_selected_explicitly. That test fails on macOS from a/private/varvs/vartemp-path mismatch outside this change.Stack
These six PRs are stack #1969. Review bottom up. Layer 1 can merge to
mainby itself. Layers 2 to 6 land together through GitHub's stack merge, which merges every layer up to the one chosen in a single all-or-nothing operation, so no host onmainis left on the old configuration. CI on layers 2 to 5 fails for the hosts that a later layer adopts. If that blocks the stack merge, merge 6 into 5, and so on down to 3 into 2, then squash 2 intomain. The stack replaces #1960.Stacktype@parity/truapi-hostand the test host