Skip to main content

ACES scenario-pack definition, schemas, template, and authoring/validation tooling.

Project description

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

What's here

Boundary

  • ACES core owns the Scenario Definition Language (SDL) and its semantics.
  • This repository owns how a scenario pack is structured, authored, validated, and released — plus 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 changelog-driven (see ADR 0007). You never hand-edit a version — the version is computed from the changelog fragments, so the tag and CHANGELOG.md can't drift. Each user-visible PR adds a fragment under changelog.d/ (<issue>.<type>.md); the fragment type decides the bump:

Fragment type Bump
breaking, removed major (pre-1.0: minor)
added, changed, deprecated minor
security, fixed patch

The version is a single committed literal (__version__ in src/aces_scenario_packs/__init__.py), read by hatchling and bumped by tools/release.py. To cut a release: run python tools/release.py (it computes the version from the fragments, writes __version__, and collates CHANGELOG.md), commit on a release/vX.Y.Z branch, and open a PR to main. On merge, the Release workflow tags v<version>, builds the sdist + wheel, generates a CycloneDX SBOM, publishes to PyPI via OIDC, and cuts a GitHub Release (only a tag is pushed — never a commit to main). The first release is not special — you run tools/release.py for 0.1.0 exactly as for every later version. PR titles must be conventional (a CI check enforces it and bans agent-branding prefixes) — that keeps history tidy but does not drive the version.

Licensed under the MIT License (see LICENSE).

Project details


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-0.1.0.tar.gz (100.0 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-0.1.0-py3-none-any.whl (83.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aces_scenario_packs-0.1.0.tar.gz
  • Upload date:
  • Size: 100.0 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-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4ba70745bae79094fce0dc289202049121652c4a14d6c3c96bb709b077576a2e
MD5 fb7c9a03faca603a265fa7ba6bf831fc
BLAKE2b-256 a70d1238c57a35316b7e0bc1897df24c08006972e6acacccc3df9931bf4b06fa

See more details on using hashes here.

Provenance

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

Publisher: release.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-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aces_scenario_packs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 daae7112749fe924d6e5201673bfeb246d39842564e19a26f099073adbf19d19
MD5 88c5a277156dfdc4f630066c2f745405
BLAKE2b-256 872b4183a7217d4fe11c505858156d0dda7c7603af68ee3251538b4e5a7aae93

See more details on using hashes here.

Provenance

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

Publisher: release.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 Pingdom Monitoring Sentry Error logging StatusPage Status page