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.0.tar.gz (151.3 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.0-py3-none-any.whl (95.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aces_scenario_packs-2.0.0.tar.gz
  • Upload date:
  • Size: 151.3 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.0.tar.gz
Algorithm Hash digest
SHA256 259dc31b67e044901e053e6f8deff98abe42464897a8ac9947cdf9d9106dbc03
MD5 a7472d861a18aa44b088c57713dd4081
BLAKE2b-256 4f308f71c024cc128b44491060bb95227f18783e110642f4b4424030bf25c304

See more details on using hashes here.

Provenance

The following attestation bundles were made for aces_scenario_packs-2.0.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aces_scenario_packs-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 820c441beb950bd22234b6b5486c69ef36ac25728fd43a194c85447f1ae3df5e
MD5 e180dd86c5cd484686833535ebe08c49
BLAKE2b-256 08c380f2afac022df739a214a0506a2ea1b18554ad2fea4040a6b0ba4aeceff2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aces_scenario_packs-2.0.0-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