Dev - #808
Conversation
* chore(main): release 0.19.0 * chore(main): release 0.19.1 * chore(main): release 0.20.0 * chore(main): release 0.21.0 * chore(main): release 0.22.0 --------- Co-authored-by: Brad Edwards <j.bradley.edwards@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Add DSL evaluation evidence protocol
Document deterministic scenario trial realization
* feat(sdl): add participant interactive access * fix(sdl): simplify interactive access validation * fix(sdl): satisfy interactive access quality gate
* Define participant information-flow adoption program * Require lineage updates in participant I/O issues
* feat: add stateful realization resources * fix: resolve Sonar findings for stateful resources * chore: retrigger PR checks * chore: retrigger PR checks
There was a problem hiding this comment.
Pull request overview
This PR expands the ACES SDL and associated tooling/specs by introducing stateful realization resources (generated_artifacts, persistent_volumes) and participant interactive-access declarations (agents.*.interactive_access), along with supporting compiler/planner/runtime model propagation, schema/catalog parity updates, and extensive formal/research documentation additions (including SCE-002 “scenario variation & trial realization” invariants and participant I/O control adoption materials).
Changes:
- Add SDL models + validation + compilation/planning support for
generated_artifactsandpersistent_volumes(including backend capability flags and plan resource types). - Add
agents.*.interactive_accessauthoring surface with semantic validation, composition rewrite support, language-service metadata, and tests/spec updates. - Add/extend formal specs, ADRs, research evidence bundles, and policy tooling refactors to enforce new artifact invariants and document authority boundaries.
Reviewed changes
Copilot reviewed 95 out of 95 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/policy/requirement_order.yaml | Extend SDL ownership path set |
| tools/policy/common.py | Add bounded JSON loader utility |
| tools/check_sdl_catalog_parity.py | Catalog parity: new refs/docs |
| tools/check_related_work_comparison.py | Reuse bounded JSON loader |
| specs/sdl/stateful-resources.md | New spec: stateful resources |
| specs/sdl/sections.md | Add new SDL top-level sections |
| specs/sdl/references.md | Add reference-edge rows |
| specs/formal/scenario-variation-trial-realization/README.md | New FM2 invariant specification |
| specs/formal/README.md | Register new formal subsystem |
| specs/formal/participant-semantics/README.md | Add DSL-117 invariants section |
| specs/formal/assurance-fulfillment.yaml | Register new subsystem + waivers |
| noxfile.py | Add DSL language-eval checker |
| implementations/python/tests/test_stateful_realization_resources.py | Tests: stateful resource parse/plan |
| implementations/python/tests/test_sdl_lineage.py | Update lineage subject count |
| implementations/python/tests/test_sdl_catalog_parity.py | Update expected sections count |
| implementations/python/tests/test_participant_interactive_access.py | Tests: interactive_access semantics/schemas |
| implementations/python/tests/test_issue_794_participant_io_adoption.py | Structural gate for #794 bundle |
| implementations/python/pyproject.toml | Version bump to 0.22.0 |
| implementations/python/packages/aces_sdl/validator/_content_objectives.py | Run interactive_access semantic analysis |
| implementations/python/packages/aces_sdl/stateful_resources.py | New SDL models for stateful resources |
| implementations/python/packages/aces_sdl/semantics/participant_interactive_access.py | New DSL-117 semantic analyzer |
| implementations/python/packages/aces_sdl/scenario.py | Add sections + reference validation hook |
| implementations/python/packages/aces_sdl/composition.py | Namespace rewrite for new refs |
| implementations/python/packages/aces_sdl/agents.py | Add interactive_access models/fields |
| implementations/python/packages/aces_sdl/_stateful_resource_references.py | New cross-section reference checks |
| implementations/python/packages/aces_sdl/_module_symbols.py | Include new sections in symbol index |
| implementations/python/packages/aces_sdl/_mapping_scopes.py | Add new mapping scopes/fields |
| implementations/python/packages/aces_sdl/_language_metadata.py | Completions/refs for new fields |
| implementations/python/packages/aces_processor/semantics/realization.py | Add requirement concerns for new kinds |
| implementations/python/packages/aces_processor/planner.py | Plan collection + manifest validation |
| implementations/python/packages/aces_processor/models/runtime_model.py | Add runtime maps for new resources |
| implementations/python/packages/aces_processor/models/resources.py | Add runtime resource dataclasses |
| implementations/python/packages/aces_processor/models/behavior_resources.py | Add interactive_access runtime carrier |
| implementations/python/packages/aces_processor/models/init.py | Export new runtime types |
| implementations/python/packages/aces_processor/compiler/stateful_resources.py | New compiler for stateful resources |
| implementations/python/packages/aces_processor/compiler/realization_requirements.py | Add exact requirements for new sections |
| implementations/python/packages/aces_processor/compiler/pipeline.py | Wire new compilation stages |
| implementations/python/packages/aces_processor/compiler/participant_behaviors.py | Compile interactive_access into runtime |
| implementations/python/packages/aces_processor/compiler/addresses.py | Add new provision address helpers |
| implementations/python/packages/aces_contracts/planning.py | Allow new plan resource types |
| implementations/python/packages/aces_contracts/contracts.py | Add vocab scope + provisioner flags |
| implementations/python/packages/aces_backend_stubs/stubs.py | Stub manifest supports new flags |
| implementations/python/packages/aces_backend_protocols/manifest.py | Serialize new manifest flags |
| implementations/python/packages/aces_backend_protocols/capabilities.py | Add capability fields |
| examples/scenarios/techvault-defensive-min.sdl.yaml | Example usage of new sections |
| docs/specs/formal.md | Add formal spec listing |
| docs/research/scenario-variation-trial-realization/index.md | New research index page |
| docs/research/participant-io-control/requirement-disposition.md | New requirement disposition doc |
| docs/research/participant-io-control/index.md | New research index page |
| docs/research/participant-io-control/current-state-assessment.md | New assessment doc |
| docs/research/participant-io-control/adoption-program.md | New program writeup |
| docs/research/participant-io-control/adoption-design.md | New detailed design doc |
| docs/research/participant-interactive-access/index.md | New lineage/design synthesis |
| docs/research/lineage/source-audit-2026-07-12.md | Add source pins (CyRIS/CybORG) |
| docs/research/dsl-language-evaluation/index.md | New evaluation gate doc |
| docs/research/dsl-language-evaluation/execution-snapshot-v1.json | New “not started” snapshot |
| docs/research/dsl-language-evaluation/bundle-manifest.json | Bundle manifest for evaluation |
| docs/research/dsl-language-evaluation/analysis-v1.json | New analysis skeleton |
| docs/index.md | Add new docs to toctree |
| docs/explain/sdl/validation.md | Document interactive_access validation |
| docs/explain/sdl/sections.md | Document interactive_access authoring |
| docs/explain/sdl/precedents.md | Add precedents for interactive_access |
| docs/explain/sdl/lineage.md | Add lineage notes for DSL-117 |
| docs/explain/reference/README.md | Add SCE-002 reference entry |
| docs/explain/reference/canonical-reference-map.md | Add SCE-002 reference links |
| docs/decisions/issue-805-participant-interactive-access-preflight.md | New preflight guidance note |
| docs/decisions/adrs/README.md | Add ADR-084/085 + status update |
| docs/decisions/adrs/adr-index.yaml | Add ADR-070 acceptance + ADR-084 |
| docs/decisions/adrs/adr-085-participant-information-flow-and-control.md | New ADR draft |
| docs/decisions/adrs/adr-083-participant-tool-decision-surface-and-exposure-semantics.md | Clarify interactive_access vs affordances |
| docs/decisions/adrs/adr-074-experiment-authoring-input-contract-boundary.md | Clarify plan/admission boundary |
| docs/decisions/adrs/adr-070-realization-envelope-semantics.md | Mark accepted + add amendment |
| docs/decisions/adrs/adr-068-experiment-trials-replication-and-replay-claims.md | Clarify plan run_id preallocation |
| contracts/schemas/sdl/sdl-authoring-input-v1.json | Publish new SDL schema fields |
| contracts/schemas/plans/provisioning-plan-v1.json | Allow new provisioning resource types |
| contracts/schemas/backend-manifest/backend-manifest-v2.json | Add provisioner support booleans |
| contracts/schema-publication-manifest.json | Update published schema hashes/notes |
| contracts/provenance/sdl-lineage-ledger-v1.json | Update lineage ledger (sources/subjects) |
| contracts/fixtures/concept-authority/controlled-vocabularies-v1/valid/reference.json | Add controlled vocabulary fixture |
| contracts/fixtures/backend-manifest/backend-manifest-v2/valid/stub.json | Update stub manifest fixture |
| contracts/concept-authority/controlled-vocabularies-v1.json | Add new controlled vocabulary |
| CHANGELOG.md | Add 0.22.0 entry (manual edit) |
| .release-please-manifest.json | Version bump to 0.22.0 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| stateful_refs = ( | ||
| set(generated_artifacts) | ||
| | {f"generated_artifacts.{name}" for name in generated_artifacts} | ||
| | set(persistent_volumes) | ||
| | {f"persistent_volumes.{name}" for name in persistent_volumes} | ||
| ) | ||
| for section, resources in ( | ||
| ("generated_artifacts", generated_artifacts), | ||
| ("persistent_volumes", persistent_volumes), | ||
| ): | ||
| for name, resource in resources.items(): | ||
| owner = f"{section}.{name}" | ||
| _validate_consumer_references(owner=owner, resource=resource, node_refs=node_refs) | ||
| _validate_dependency_references(owner=owner, resource=resource, stateful_refs=stateful_refs) |
| PRs do **not** edit this file directly. release-please maintains it from the | ||
| Conventional Commit history on `main` (#684). | ||
|
|
||
| ## [0.22.0](https://github.com/Brad-Edwards/aces/compare/v0.21.0...v0.22.0) (2026-07-15) | ||
|
|
|



Summary
Related Issues
Requirement Context
aces-sdlChanges
Test Plan
uvx nox -s verifypasses, or the unchecked sessions are listed belowuvx nox -s docs)Checklist
docs/explain/reference/coding-standards.md)CHANGELOG.mdfrom it)Notes for Review