build(primaite): qualify and pin the public source and experiment profile - #67
Merged
Merged
Conversation
Bundled into #39 at maintainer request: - Upgrade raes 2.0.0 -> 3.3.0 and raes-env-packs 3.2.0 -> 3.6.2 (the latter hard-requires the former). Adapters import unchanged; adapt the CybORG conformance test fixture to raes>=3's stricter report-evidence validation; re-pin the CybORG uv_lock digest; update env-packs pin assertions. - Reconcile the active GitHub-repo identity RAESystem/adapters -> OpenRAE/adapters (config, project-services gate, README badges/links, docs, mkdocs, pyproject URLs) after the org move; the SonarCloud key (RAESystem_adapters) and digest-pinned historical qualification evidence are intentionally unchanged.
…rofile Resolved overlaps with the concurrently-landed NASim qualification: - pyproject: keep both the primaite and nasim extras; cyborg extra stays on raes-env-packs==3.6.2 (required by the raes 3.3.0 upgrade on this branch). - uv.lock: regenerated for the merged extra set (raes 3.3.0 co-resolves with NASim's pinned gymnasium 0.26.3 / numpy 1.26.4 in the single lock). - README / mkdocs: keep both simulators' sections and nav entries; the active GitHub identity stays OpenRAE/adapters (this branch's reconciliation). - cyborg qualification + test: re-pin uv_lock_sha256 to the merged lock digest. - primaite/__init__.py: adopt the shared _qualification.backend_evidence_loaders helper introduced by #68, matching nasim and the refactored cyberbattlesim. - Extend the OpenRAE active-identity reconciliation to the merged nasim README link; nasim's historical/digest-pinned qualification evidence is unchanged.
6 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.
Summary
Three bundled changes (the latter two added mid-flight at maintainer request):
v4.0.0) and one publicdata_manipulationexperiment protocol as backend-local evidence underraes_adapters.primaite, mirroring the CyberBattleSim (build(cyberbattlesim): qualify public source profile #54) and CybORG (build(cyborg): qualify the CAGE-2 runtime profile #56) precedent. No adapter, RAES SDL, backend manifest, or conformance claim is implemented.raes2.0.0 → 3.3.0 andraes-env-packs3.2.0 → 3.6.2 (the latter hard-requires the former).RAESystem/adapters→OpenRAE/adaptersafter the org move.Requirement UIDs
Related Issues
Closes #39
ADR Impact
Changes
PrimAITE qualification
raes_adapters.primaitewithload_qualification()/read_public_protocol()accessors.qualification.json: PrimAITE v4.0.0 (commit98617981…, tree3928ab45…), a 234-file import-root digest that matches the built wheel exactly, MIT/Crown-copyright (DSTL) legal disposition, Python-3.11 clean install withsetuptools==75.6.0, and a bounded do-nothing smoke (actionDiscrete(78), observationBox(1652,), fixed-horizon truncation at step 128,terminatedalways false).public-protocol.md(data_manipulation viaPrimaiteGymEnv); its sha256 is pinned in the record.pkg_resources/setuptools runtime dep,reset(seed)raisesKeyError('torch')without the rl stack,requires-python(<3.13) vs classifier (<3.12) mismatch, undeclaredclickin the CLI, unpinned 133-package graph (all-permissive licenses; one transitive dep declares none).primaite = []extra; base and other simulator extras stay independently resolvable.tests/test_primaite_qualification.py(7 tests); wire the Step-2.5 guardrails into README,docs/index.md, and the mkdocs nav.raes 3.x upgrade
raesandraes-env-packspins; re-lock.passed=Falseso the suite refuses a genuinely-failed published case, not an upstream-invalid payload).uv_lock_sha256and updateraes-env-packspin assertions.OpenRAE identity reconciliation
github_repo, thecheck_project_services.pygate, README OpenSSF Scorecard/Best-Practices badges + issue links,docs/,mkdocs.yml, andpyprojectURLs →OpenRAE/adapters; re-pin the ADR-002 identity register entry.RAESystem_adapters(the Sonar project did not rename) and digest-pinned historical qualification evidence (bothpublic-protocol.mdfiles, cyberbattlesim experiment/mapping) — these retain their authoring identity.Test Plan
Full
nox -s verifyis green on the final tree: hygiene, five policy checks (requirement governance skipped — requirement-free; project-services + identity gates green under OpenRAE), lint, 40 tool-tests, mypy-strict across base + cyberbattlesim + cyborg + primaite extras, the pytest matrix (240 passed / 8 skipped per extra) under raes 3.3.0, clean-install distributions + identity policy (conformance probes re-verified under raes 3.x), and the strict MkDocs build. Pre-push codex + test-quality reviews were clean (0 findings) on the PrimAITE core; the raes/OpenRAE delta was accepted on the strength of the green full-verify per maintainer decision (over-cap review declined).Ground Control Checks
Traceability
Checklist