docs: distinguish provider requirements from selections
This commit is contained in:
@@ -936,7 +936,8 @@ A `ww.package` action consumes:
|
|||||||
- the compiler/backend and toolchain resources;
|
- the compiler/backend and toolchain resources;
|
||||||
- B/H/T, target descriptor, profile, language/compiler/export/object/runtime
|
- B/H/T, target descriptor, profile, language/compiler/export/object/runtime
|
||||||
protocols, and manifest/lock schemas;
|
protocols, and manifest/lock schemas;
|
||||||
- package-specific native-provider declarations; and
|
- package-specific predeclared native-provider slots, distinct from selected
|
||||||
|
concrete provider declarations; and
|
||||||
- its literal built-in environment and sandbox policy.
|
- its literal built-in environment and sandbox policy.
|
||||||
|
|
||||||
It emits `.wwe`, one target object, and canonical link metadata. A private change
|
It emits `.wwe`, one target object, and canonical link metadata. A private change
|
||||||
@@ -1244,7 +1245,7 @@ A profile is toolchain data, not an open project map:
|
|||||||
| 9 | environment | sorted literal map, no secrets |
|
| 9 | environment | sorted literal map, no secrets |
|
||||||
| 10 | input slots | sorted `(name, edge kind, producer/output or source ref, type, mode)` |
|
| 10 | input slots | sorted `(name, edge kind, producer/output or source ref, type, mode)` |
|
||||||
| 11 | source selection | ordered selected membership plus reasons |
|
| 11 | source selection | ordered selected membership plus reasons |
|
||||||
| 12 | native/link template | closed provider and ordered link records |
|
| 12 | native/link template | closed predeclared provider slots, concrete providers, and ordered link records |
|
||||||
| 13 | outputs | sorted name/path/type/mode/canonicalization |
|
| 13 | outputs | sorted name/path/type/mode/canonicalization |
|
||||||
| 14 | sandbox/reproducibility | exact policy/version/bounds/class |
|
| 14 | sandbox/reproducibility | exact policy/version/bounds/class |
|
||||||
|
|
||||||
@@ -1257,6 +1258,14 @@ ABI/layout/contract digests embedded in a referenced sidecar or contract are
|
|||||||
semantic verification values, not authority to read another object. No producer
|
semantic verification values, not authority to read another object. No producer
|
||||||
action key substitutes for a content digest.
|
action key substitutes for a content digest.
|
||||||
|
|
||||||
|
The tag-12 native/link record separately encodes the sorted predeclared provider
|
||||||
|
slots, concrete selected-provider declarations, and the optional ordered link
|
||||||
|
policy or resolved plan. A `ww.package` action contains exactly its
|
||||||
|
`PackageConfigV1` native-slot list and empty concrete-provider and link-policy/
|
||||||
|
plan values; finalization copies that slot list unchanged. Concrete provider
|
||||||
|
selection does not enter a package action merely because the provider satisfies
|
||||||
|
one of those slots.
|
||||||
|
|
||||||
Finalization interns every source, direct export, package/native object, archive,
|
Finalization interns every source, direct export, package/native object, archive,
|
||||||
shared library, header/sysroot tree, generated output, tool/resource, CRT,
|
shared library, header/sysroot tree, generated output, tool/resource, CRT,
|
||||||
loader, script, and init dispatcher into exactly one named template input.
|
loader, script, and init dispatcher into exactly one named template input.
|
||||||
@@ -1534,7 +1543,10 @@ canonical type graph; 8 sorted exported declarations/constants/foreign symbols;
|
|||||||
defines excluded non-semantic fields. `PackageLinkV1` (`.wwlm`) tags are 1 schema,
|
defines excluded non-semantic fields. `PackageLinkV1` (`.wwlm`) tags are 1 schema,
|
||||||
2 package identity, 3 platform/object/runtime ABI, 4 package-object digest, 5
|
2 package identity, 3 platform/object/runtime ABI, 4 package-object digest, 5
|
||||||
defined/required foreign symbols, 6 predeclared provider slots/contracts, 7 init
|
defined/required foreign symbols, 6 predeclared provider slots/contracts, 7 init
|
||||||
symbol/dependency facts, 8 install/link requirements. It cannot add a graph edge.
|
symbol/dependency facts, 8 install/link requirements. Tag 6 contains exactly one
|
||||||
|
compiler-derived `ProviderContractV1` for each package action tag-12 predeclared
|
||||||
|
slot, and its sorted slot projection must equal that predeclared list. It cannot
|
||||||
|
add a provider slot or graph edge.
|
||||||
|
|
||||||
`InstallManifestV1` tags are 1 schema, 2 product identity/key, 3 sorted entries
|
`InstallManifestV1` tags are 1 schema, 2 product identity/key, 3 sorted entries
|
||||||
`(artifact digest, mode, relative destination)`, 4 runtime-resolution policy, 5
|
`(artifact digest, mode, relative destination)`, 4 runtime-resolution policy, 5
|
||||||
|
|||||||
Reference in New Issue
Block a user