Skip to main content

Schema-backed conformance runner for Astraform remote-domain.v1 services

Project description

astraform-remote-domain-conformance

This is the reusable Python conformance harness for remote-domain.v1.

Brutal truth: if every partner team needs a platform engineer on Zoom to prove their service is valid, you do not have a platform. You have consultancy with a protocol document attached.

This package exercises the real lifecycle:

  • manifest
  • prepare
  • status
  • execute-work
  • inspection
  • shutdown

And it validates payloads against the versioned schema from the pinned remote-domain.v1 release bundle, not just happy-path demo assertions.

It also includes a lightweight remote Policy Wind Tunnel provider conformance path for /policy-wind-tunnel/... routes. That path checks pack metadata, domain/report labels, outcomeSchema, CEL-compatible policyExpressions, presets, run creation, status, lifecycle control, the generic policy_wind_tunnel_bundle.v1 envelope, artifact, and evidence-pack availability. A weak bundle that only returns schemaVersion and runId is not conformant; it must expose the domain, pack, preset, branches, metrics, segments, timeline, decision gates, artifacts, and domain payload that the dashboard and outcome report can render without custom frontend code.

Install

Current status: the published PyPI baseline is astraform-remote-domain-conformance==0.1.3. The workspace release target is 0.1.3, which includes the current Population Builder catalog conformance path.

pip install astraform-remote-domain-conformance==0.1.3

For repo-local conformance changes beyond the published 0.1.3 baseline, use a repo-local editable install or a private pre-release wheel.

Repo-local development:

pip install -e './remote-domain-conformance-python[test]'

Run Against A Live Service

remote-domain-conformance \
  --base-url http://localhost:8092 \
  --domain-id my-domain

Require Population Builder catalog conformance:

remote-domain-conformance \
  --base-url http://localhost:8092 \
  --domain-id my-domain \
  --population-catalog

Validate a catalog file before the provider serves it:

remote-domain-conformance \
  --domain-id my-domain \
  --population-catalog-file ./population_catalog.json

Run Against A Local ASGI App

remote-domain-conformance \
  --app my_remote_domain.main:app \
  --domain-id my-domain

Run Policy Wind Tunnel Provider Conformance

remote-domain-conformance \
  --wind-tunnel \
  --base-url http://localhost:8092 \
  --pack-id my-domain-policy-pack \
  --preset-id conformance-proof

Python Usage

import asyncio

from astraform.remote_domain.conformance.runner import ConformanceScenario
from astraform.remote_domain.conformance.runner import PolicyWindTunnelConformanceScenario
from astraform.remote_domain.conformance.runner import run_conformance
from astraform.remote_domain.conformance.runner import run_policy_wind_tunnel_conformance


report = asyncio.run(
    run_conformance(
        base_url="http://localhost:8092",
        scenario=ConformanceScenario(domain_id="my-domain"),
    )
)

print(report.to_dict())

wind_tunnel_report = asyncio.run(
    run_policy_wind_tunnel_conformance(
        base_url="http://localhost:8092",
        scenario=PolicyWindTunnelConformanceScenario(
            pack_id="my-domain-policy-pack",
            preset_id="conformance-proof",
        ),
    )
)

print(wind_tunnel_report.to_dict())

Publishing Status

Release validation starts with the standalone package tests:

pytest remote-domain-author-kit-python/tests remote-domain-conformance-python/tests

PyPI artifacts are immutable. Do not rerun a publish for an already published version; run smoke-only verification or bump the SDK version.

Public package note: PyPI distributions expose this SDK implementation. Keep host runtime internals and domain-private logic out of this package.

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

astraform_remote_domain_conformance-0.1.3.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file astraform_remote_domain_conformance-0.1.3.tar.gz.

File metadata

File hashes

Hashes for astraform_remote_domain_conformance-0.1.3.tar.gz
Algorithm Hash digest
SHA256 fdbd3057a62e5e771a47cc30a312d7e6e6012df625a7e3323ff982fbbec4ecd8
MD5 114058dce1213bf3a5dae3d161035393
BLAKE2b-256 92e866440e9ca3b87295ea7c4d0d7078de2589801f69006d3c68dfddca6ab6d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for astraform_remote_domain_conformance-0.1.3.tar.gz:

Publisher: release.yml on astraform/remote-domain-sdk-python

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

File details

Details for the file astraform_remote_domain_conformance-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for astraform_remote_domain_conformance-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a88772c84df5d48548fc01d11257cedf0b4fa95b39c2c91af902a23b3f5b5f1b
MD5 93cca8f24a09a9c98f857203121016ed
BLAKE2b-256 faec00a64941c2c9640d360a12435f6f3162c113e0cded1f2a0b61073bf9cce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for astraform_remote_domain_conformance-0.1.3-py3-none-any.whl:

Publisher: release.yml on astraform/remote-domain-sdk-python

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