This project has been archived by its maintainers, and is no longer receiving any updates.
ACES Scenario Packs
The canonical, shared home for the ACES scenario-pack definition and the authoring / validation tooling that goes with it, published as an installable Python package so catalogs (and others) consume one version-matched artifact instead of vendoring the contract.
This repository does not host scenario packs. Packs live in their own catalog repositories and consume this contract.
Install
pip install aces-scenario-packs
This provides the console tools plus the version-matched schemas and template:
aces-pack-validate— validate a pack catalog's content against the contract.aces-pack-release— boundary-split build, lint, release, and profile-smoke gate.aces-new-pack— scaffold a new pack from the bundled template.aces-pack-issue-skeleton— generate a pack work-issue skeleton.
Run the gates from a catalog repository (the tree containing scenarios/<pack>/):
aces-pack-validate --repo .
aces-pack-release check --all
Consumers can validate one immutably staged pack in-process, without Git, subprocesses, or pack-local code:
from aces_scenario_packs import validate_pack
result = validate_pack(pack_root)
if not result.ok:
reject(result.errors)
This checks the static ingest contract: pack identity, required provenance and safety/review policy, an optional referenced compatibility manifest, and direct SDL documents through ACES. Diagnostics contain bounded error codes and relative locations, never source bodies or absolute paths. See Single-Pack Consumer Validation.
What's here
- Definition
docs/scenario-packs.md— what a scenario pack is.- Layout contract + schemas + template ship as package data under
src/aces_scenario_packs/resources/(contract/pack-layout.md,schemas/,template/,oracle/). - Architecture Decision Records — purpose, packaging, build/release, SBOM.
- Tools — the package modules under
src/aces_scenario_packs/, exposed as the console entry points above.
Boundary
This repository is subordinate to ACES core (aces-sdl): it exists to make
authoring and shipping ACES scenarios easier, and defines no extensions to
ACES semantics
(ADR 0009).
- ACES core owns the Scenario Definition Language (SDL) and all scenario semantics. Where ACES owns a concept, packs consume it from ACES.
- This repository owns how a scenario pack is structured, authored, validated, and released — the layout and the tools that enforce it.
- Downstream catalogs hold the actual packs and any private runtime, delivery, or product integrations.
Development
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
python -m unittest discover -s tests
aces-pack-validate --repo .
aces-pack-release check --all
Releases are managed by release-please — merge-driven, nothing hand-run
(see ADR 0008). The version
lives in pyproject.toml ([project].version) and is bumped by release-please;
__version__ derives from it. The Conventional Commit PR title decides the
bump:
| PR title | Bump |
|---|---|
feat!: / BREAKING CHANGE: |
major (pre-1.0: minor) |
feat: |
minor |
fix: / perf: |
patch |
docs: chore: refactor: test: ci: build: |
no release |
You never edit CHANGELOG.md — release-please owns it. As feature PRs land on
main (via dev), release-please keeps a chore(main): release X.Y.Z PR up to
date with the version bump + changelog. Merge that PR to release: it tags
vX.Y.Z, builds the sdist + wheel, generates a CycloneDX SBOM, publishes to PyPI
via OIDC, and cuts the GitHub Release. (The release PR is opened by the CI token,
so its checks don't auto-run — admin-merge it.) A CI check enforces conventional
PR titles and bans agent-branding prefixes.
Licensed under the MIT License (see LICENSE).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aces_scenario_packs-1.2.0.tar.gz.
File metadata
- Download URL: aces_scenario_packs-1.2.0.tar.gz
- Upload date:
- Size: 143.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85748c004ae2e61cd5b067b59c1105c97c48b857273b60a1394a756e36f63120
|
|
| MD5 |
dc9aef99bbb4d02b538057d5dd653ca3
|
|
| BLAKE2b-256 |
449a5bd094b50ef2b8613563c1b8de8a8bfa12db6241887b08c5477abb281b67
|
Provenance
The following attestation bundles were made for aces_scenario_packs-1.2.0.tar.gz:
Publisher:
release-please.yml on Brad-Edwards/aces-scenario-packs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aces_scenario_packs-1.2.0.tar.gz -
Subject digest:
85748c004ae2e61cd5b067b59c1105c97c48b857273b60a1394a756e36f63120 - Sigstore transparency entry: 2164834723
- Sigstore integration time:
-
Permalink:
Brad-Edwards/aces-scenario-packs@640c96027044b81f8f4021b29a051ce6feadc319 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Brad-Edwards
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@640c96027044b81f8f4021b29a051ce6feadc319 -
Trigger Event:
push
-
Statement type:
File details
Details for the file aces_scenario_packs-1.2.0-py3-none-any.whl.
File metadata
- Download URL: aces_scenario_packs-1.2.0-py3-none-any.whl
- Upload date:
- Size: 103.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72f5430dacad9042379044950b04bda1286d3fe631fffa0e48d527c834bb84b5
|
|
| MD5 |
f7748d53ee5326c0019d9b4ff5d1cd7a
|
|
| BLAKE2b-256 |
194f399c766c4347d26ba88e0cf4643cf745708c12686b63c15cbb17135f0d3c
|
Provenance
The following attestation bundles were made for aces_scenario_packs-1.2.0-py3-none-any.whl:
Publisher:
release-please.yml on Brad-Edwards/aces-scenario-packs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aces_scenario_packs-1.2.0-py3-none-any.whl -
Subject digest:
72f5430dacad9042379044950b04bda1286d3fe631fffa0e48d527c834bb84b5 - Sigstore transparency entry: 2164834798
- Sigstore integration time:
-
Permalink:
Brad-Edwards/aces-scenario-packs@640c96027044b81f8f4021b29a051ce6feadc319 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Brad-Edwards
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@640c96027044b81f8f4021b29a051ce6feadc319 -
Trigger Event:
push
-
Statement type: