Skip to content

Release Validation Records

One record per release, capturing every test that needs a real deployed stack — the tiers that cannot run in the CI pipeline and therefore do not appear in any build log. Each record is written once and never overwritten.

If you are evaluating whether to deploy or upgrade to a given release, this is the record of what was actually exercised against live AWS infrastructure, and what was found.

ReleaseVerdictRecord
v0.6.6✅ Ship — 14 of 14 tiers pass; 3 findings, none in shipped product codev0.6.6.md
TierWhat only a live stack can proveMake target
Offline suites, lint, typecheck, dependency audit— (runs in CI; recorded here for completeness)make test · make lint-cicd · make typecheck · make dep-audit
Build + packagethe published template lints and validatespython3 publish.py …
SRT (SAST + deps)make srt-scan
RBAC static + dynamicthat every API operation’s authorization is enforced by the deployed resolver, per Cognito group and config-version scopemake api-test STACK_NAME=…
ZAP DASTthat the deployed API surface has no exploitable HTTP-layer findingmake stacktest-zap STACK_NAME=…
Deploy variants (APIGateway GLOBAL / PRIVATE, WAF, Jobs API)that each hosting/parameter combination actually creates and servesmake stacktest-hosting-global · -waf · -hosting-private · -jobsapi
Template transforms (--headless, --govcloud)that a transformed template deploys and processes a document — the only tier that canmake transform-deploy-test-all
Seller Entitlement Service e2ethat the service deploys into a seller account and refuses correctlymake stacktest-seller
In-place upgrade (X→Y)that a customer’s existing stack survives update-stack without rollback and keeps workingsee test-upgrade
Release benchmark A/Baccuracy / completeness / cost / latency vs the previous published releasemake benchmark-release

Two companion records hold the detail this one summarises:

These records are public-safe by construction: account IDs, VPC/subnet/security-group ids, API hostnames, Cognito pool ids, stack physical ids and local paths are replaced with placeholders (<ACCOUNT_ID>, <VPC_ID>, <API_HOST>, …). Raw logs stay in gitignored scratch/. Never paste a raw probe log into this directory — the same rule the security curator enforces mechanically.