formulation environmentVars as system-independent key-value - #1088
formulation environmentVars as system-independent key-value#1088jkowalleck wants to merge 8 commits into
Conversation
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
b36b47a to
05d137f
Compare
|
RFC period ends on 6 October |
|
Thank you for opening this RFC. I tested the proposed change with a fully synthetic, reproducible fixture set against these exact revisions:
The corpus contains 12 synthetic CycloneDX 2.0 formulation documents and 36 registered checks. All checks pass against the expected schema and migration matrix. Observed schema boundary:
Conservative migration results:
The main non-lossless or policy-dependent cases are arbitrary shell-like strings, repeated legacy names, and migration of candidate The complete fixture set, evaluator, expected results, JSON/CSV/JUnit outputs, mutation control and CI reproduction are public here: https://github.com/jaooli-cyber/cyclonedx-environmentvars-migration-fixtures Successful clean CI reproduction: These results describe only the two pinned draft revisions. They do not take a position on acceptance of the RFC and are not a conformance statement about a released CycloneDX 2.0 specification. I would be happy to adapt the fixtures if another format would be more useful for the specification test suite. |
|
Thanks for the review
There shall be no constraints on the name of an env var; any string is accepted. PS: I'll add a |
|
Understood, thank you for clarifying. We will treat the empty-string key as valid at the CycloneDX model level and distinguish it from platform-specific executability constraints in our fidelity tests. |
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
|
updated the description/docs/examples to reflect the remarks regarding no constraints on env var name |
|
Thank you for clarifying this and for updating the schema description and examples. This resolves the ambiguity for our fixtures. We will treat empty and non-alphabetic names as valid at the CycloneDX model level, while keeping platform-specific executability as a separate interoperability dimension. |
environmentVarspropertyTypefor "environmentVar " #248looks good in the docs:
