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, 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.0. The workspace release target is 0.1.2, which adds the current Population Builder catalog conformance path. Do not claim external Python catalog conformance support until 0.1.2 is actually published to PyPI.

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

For catalog-enabled 0.1.2 work before publication, use the monorepo 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

This package is released through the shared Python + Java SDK publishing process documented in docs/platform/remote-domain-sdk-publishing.md.

Release guardrail:

SDK_VERSION=0.1.2 scripts/check-remote-domain-sdk-release-gates.sh

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.2.tar.gz (21.0 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.2.tar.gz.

File metadata

File hashes

Hashes for astraform_remote_domain_conformance-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3dfe727734296691cb3656b24e02929bb98f1216fa133fdd6b8a1ad366654251
MD5 d072e0dbab33009abb596e0bec9e9bc5
BLAKE2b-256 6d761c999d726ab107af2f86038f28fcffcbaee2081456fd79086e6bc1dadb8f

See more details on using hashes here.

Provenance

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

Publisher: remote_domain_sdk_release.yml on astraform/platform

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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for astraform_remote_domain_conformance-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cb8bf3d55a4db0445b057e2f8e015c4429e6b01b4e5f98bc74d111ae59c5d48f
MD5 f154cf2759d231a5dff61815f1887613
BLAKE2b-256 65b71914fad7c9dd1369602536f5a3a14b6f04263ca8be51a8a25307d622e1e3

See more details on using hashes here.

Provenance

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

Publisher: remote_domain_sdk_release.yml on astraform/platform

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