Summary
trace-spec now includes software-only as a valid runtime.platform value, but trace-tests still rejects it in both the bundled schema and the TR-RTE runtime checker.
This appears to create drift between the TRACE spec/schema and the conformance test suite.
Evidence
After pulling the latest trace-spec main branch, software-only appears in the TRACE schema/model:
src/agentrust_trace/models.py includes "software-only"
src/agentrust_trace/schema/trace-v0.1.json includes "software-only"
The schema description says:
software-only marks development-mode records with no hardware backing; they must never be treated as attested evidence.
In trace-tests, software-only is currently absent from:
schemas/trace-claim.json
src/trace_tests/modules/tr_rte.py
Current trace-tests schema enum:
["intel-tdx", "amd-sev-snp", "nvidia-h100", "nvidia-blackwell", "aws-nitro", "arm-cca", "google-confidential-space", "tpm2"]
Current TR-RTE platform set:
_VALID_PLATFORMS = frozenset({
"intel-tdx",
"amd-sev-snp",
"nvidia-h100",
"nvidia-blackwell",
"aws-nitro",
"arm-cca",
"google-confidential-space",
"tpm2",
})
Local reproduction
I created a temporary copy of tests/vectors/valid_level0.json and changed only:
"runtime": {
"platform": "software-only"
}
Direct schema validation reports:
schema errors: 1
- 'software-only' is not one of ['intel-tdx', 'amd-sev-snp', 'nvidia-h100', 'nvidia-blackwell', 'aws-nitro', 'arm-cca', 'google-confidential-space', 'tpm2']
Running the Level 1 CLI with freshness relaxed:
python -m trace_tests.cli verify --record tests\vectors\tmp_software_only_level0.json --level 1 --max-age 999999999
returns:
TR-RTE FAIL TR-RTE-001: runtime.platform 'software-only' is not in the registered set; valid: ['amd-sev-snp', 'arm-cca', 'aws-nitro', 'google-confidential-space', 'intel-tdx', 'nvidia-blackwell', 'nvidia-h100', 'tpm2']
Expected behavior / question
Since software-only is now a registered platform in trace-spec, should trace-tests also recognize it as a valid platform value?
There is an important conformance nuance:
software-only should not be treated as hardware-attested evidence.
- Level 1/2 may still need to fail or downgrade records using
software-only, because those levels require stronger attestation.
- But the failure should probably not be “unknown platform” if the spec now registers
software-only.
Possible approaches:
- Add
software-only to the bundled schemas/trace-claim.json enum and _VALID_PLATFORMS.
- Add explicit conformance logic that permits
software-only at Level 0 but fails it at Level 1/2 with a clearer message such as “software-only is development-mode and not acceptable for TEE-attested levels.”
- Add a negative/level-specific test vector to lock this behavior.
Environment
OS: Windows
Python: 3.12.4
trace-tests main: up to date at time of testing
trace-spec main: pulled latest before comparison
Full trace-tests suite result before reproduction:
105 passed, 5 xpassed in 2.58s
Temporary test file was deleted afterward, and the working tree is clean.
Related
This appears related to recent trace-spec changes that added/clarified software-only as a development-mode, non-attested runtime platform.
Summary
trace-specnow includessoftware-onlyas a validruntime.platformvalue, buttrace-testsstill rejects it in both the bundled schema and theTR-RTEruntime checker.This appears to create drift between the TRACE spec/schema and the conformance test suite.
Evidence
After pulling the latest
trace-specmain branch,software-onlyappears in the TRACE schema/model:The schema description says:
In
trace-tests,software-onlyis currently absent from:Current
trace-testsschema enum:Current
TR-RTEplatform set:Local reproduction
I created a temporary copy of
tests/vectors/valid_level0.jsonand changed only:Direct schema validation reports:
Running the Level 1 CLI with freshness relaxed:
returns:
Expected behavior / question
Since
software-onlyis now a registered platform intrace-spec, shouldtrace-testsalso recognize it as a valid platform value?There is an important conformance nuance:
software-onlyshould not be treated as hardware-attested evidence.software-only, because those levels require stronger attestation.software-only.Possible approaches:
software-onlyto the bundledschemas/trace-claim.jsonenum and_VALID_PLATFORMS.software-onlyat Level 0 but fails it at Level 1/2 with a clearer message such as “software-only is development-mode and not acceptable for TEE-attested levels.”Environment
Full
trace-testssuite result before reproduction:Temporary test file was deleted afterward, and the working tree is clean.
Related
This appears related to recent
trace-specchanges that added/clarifiedsoftware-onlyas a development-mode, non-attested runtime platform.