Skip to content

Dev - #593

Merged
Brad-Edwards merged 93 commits into
mainfrom
dev
Jun 24, 2026
Merged

Dev#593
Brad-Edwards merged 93 commits into
mainfrom
dev

Conversation

@Brad-Edwards

Copy link
Copy Markdown
Collaborator

Summary

Related Issues

Requirement Context

  • Requirement UID:
  • ADRs touched:
  • Ground Control project: aces-sdl

Changes

Test Plan

  • Relevant tests pass
  • uvx nox -s verify passes, or the unchecked sessions are listed below
  • Docs build passes when documentation changed (uvx nox -s docs)

Checklist

  • Code follows project coding standards (docs/explain/reference/coding-standards.md)
  • FM level classified if semantic change
  • Published contract schemas regenerated if models changed
  • Towncrier fragment added under changelog.d/, or not needed
  • Architectural docs updated if applicable

Notes for Review

claude and others added 30 commits April 4, 2026 02:22
- Fix unsafe tarfile extraction on Python < 3.12 (path traversal / zip slip)
- Validate OCI root_file against path traversal components
- Replace hardcoded bearer token with cryptographically random token
- Add path traversal guard for local module imports
- Harden identity header authentication against spoofing
- Add 30s timeout to all OCI registry HTTP requests
- Fix Content-Length header parsing to handle non-integer values
- Use atomic file writes (tempfile + os.replace) in LocalControlPlaneStore

https://claude.ai/code/session_01PCzYCJnh1jC2cbPcvTyBAP
Introduce aces_processor.reference (ReferenceProcessor / run_reference_processor),
the repository-owned reference processor that realizes the normative processing
model: it carries SDL authoring input through instantiation, compilation, and
planning to a portable ExecutionPlan and exposes the published processor
manifest. Per ADR-008 the processor stops at the execution plan; backend
realization stays in the runtime, so the module imports only the SDL/processor/
contract layers (never aces_runtime).

The backend-conformance live probe now consumes the reference processor instead
of inlining the compile/plan chain, and new end-to-end tests drive its plan
through the reference runtime to prove every contract version the processor
manifest declares is exercised. Allowlist aces_processor.reference for
aces_conformance in adr_policy.yaml.
realize uses no instance state; mark it static to match manifest_payload and
satisfy the SonarCloud S2325 quality gate. run_reference_processor now calls it
without instantiating.
feat(runtime): add shared operational state snapshots
feat: add repository-owned reference processor (RUN-313)
Implement aces_reference_backend: a concrete, container-backed backend
implementing the four backend protocol roles (Provisioner, Orchestrator,
Evaluator, ParticipantRuntime) over a pluggable deployment driver. The
default in-process driver is hermetic; an opt-in OCI driver (docker/podman)
realizes plans against a real container runtime via fixed-argv subprocess
calls, an operator image-trust policy, bounded timeouts, transactional
rollback, and no secret/native-id leakage into portable artifacts.

The backend publishes identity/capability through the standard
BackendManifest, registers on the BackendRegistry descriptor seam as
reference-emulation, and passes run_target_conformance at the
FULL_REMOTE_CONTROL_PLANE profile. Provenance flows through the SEM-218
apply gate; only portable ACES facts reach snapshots, diagnostics, and
conformance reports. A docker-marked, runtime-gated integration test plus a
non-blocking integration_docker nox session and CI job exercise real-container
realization without touching the hermetic verify graph.

ADR-063 records the design.
Bundle the OCI driver image-trust knobs into an ImageTrustPolicy value
(fewer __init__ params), extract diagnostic-code constants for the
duplicated literals, reduce flagged functions to <=3 returns, flatten
_image_ref via a _node_source helper, add missing type hints, make
stateless helpers static, and move the OCI subprocess-leaf coverage
exclusion to pyproject. Behavior-preserving; reference-backend suite and
full verify stay green.
The reference emulation backend's orchestrator/evaluator/participant-runtime
intentionally reproduce the non-normative stub's portable runtime envelopes;
parity is asserted by conformance tests. Scope a documented sonar.cpd.exclusions
to those three files (the driver-backed provisioner stays under the normal
duplication bar).
feat: add participant concurrency runtime contracts
added: reference emulation backend (RUN-314)
…loseout

docs: reconcile asset inventory methodology closeout
feat: register API-406 backend carrier contracts
…port

added: expose participant feature support declarations
…ary-semantics

# Conflicts:
#	docs/explain/reference/shared-semantic-integrity.md
…emantics

feat: define SEM-216 boundary semantics for state, evidence, evaluation, analysis, and views
added: define external knowledge bindings
…ation

feat: implement SEM-224 observability plane separation semantics
added: participant behavior model specification
added: add SEM-225 augmentation disclosure semantics
changed: add participant behavior binding gate
feat: add scenario-native observability coverage
docs: document ACT-603 interaction guardrails
Point readers to APTL (Advanced Purple Team Lab) as a separate project
that specifies its scenarios as ACES SDL documents and realizes the
selected topology on a Docker Compose backend, illustrating the language
driving a concrete range.
Note APTL as a worked ACES SDL example in the README
@Brad-Edwards
Brad-Edwards merged commit 32e525e into main Jun 24, 2026
5 checks passed
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants