Skip to main content
Archived

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 pack 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.

Validate one pack by pointing the tools at its directory:

aces-pack-validate --pack ./scenarios/example-pack
aces-pack-release check --pack ./scenarios/example-pack

As a convenience, a directory containing only pack directories can be checked in one command. Every direct child directory is treated as a pack candidate:

aces-pack-validate --packs-root ./scenarios
aces-pack-release check --packs-root ./scenarios

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

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

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

aces_scenario_packs-2.0.1.tar.gz (153.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aces_scenario_packs-2.0.1-py3-none-any.whl (95.7 kB view details)

Uploaded Python 3

File details

Details for the file aces_scenario_packs-2.0.1.tar.gz.

File metadata

  • Download URL: aces_scenario_packs-2.0.1.tar.gz
  • Upload date:
  • Size: 153.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for aces_scenario_packs-2.0.1.tar.gz
Algorithm Hash digest
SHA256 b96981643db06b487334cea3c9b8bfbc7c9fcb078ad6451da3634d03b3aa53ec
MD5 b89091dc59e89f8883b6683285bfc6fd
BLAKE2b-256 cd8dc5d9f8187c1d17c7b42454fab07cfce9db8e5c74592954fb6596b2ac32d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aces_scenario_packs-2.0.1.tar.gz:

Publisher: release-please.yml on Brad-Edwards/aces-scenario-packs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aces_scenario_packs-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aces_scenario_packs-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f56aa3b937c447a30548676a23fa8c161427c1c4be859e85928404d6d68f298
MD5 aeeb75a5fa56257325e8e55bc611acc7
BLAKE2b-256 da136812991eb3011406dba4ba20db786f8ee67a90b4dc05e5d6865728c7a50f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aces_scenario_packs-2.0.1-py3-none-any.whl:

Publisher: release-please.yml on Brad-Edwards/aces-scenario-packs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page