Installable ADR and SPEC extension pack for HTTP caching and freshness governance.
Project description
cache-freshness-governance-pack is an SSOT Registry pack for HTTP caching, freshness, validators, cache directives, stale response behavior, targeted cache policy, and CDN-facing cache governance.
It gives product, platform, reliability, and edge-delivery teams a shared set of Architecture Decision Records (ADRs) and Specifications (SPECs) for cache behavior. Centralizing these requirements lets teams apply the same freshness and caching decisions across many services, APIs, sites, and CDNs while keeping local implementation work traceable to reviewed standards.
What Is An SSOT Registry Pack?
An SSOT Registry pack is an installable package of governed ADRs and SPECs for ssot-registry. The pack supplies reusable decision and requirement documents. ssot-registry applies those documents to a project registry so teams can trace product requirements from decision, to specification, to implementation, to tests and release evidence.
This makes governance portable. A project can adopt the pack, synchronize the documents, list the active requirements, and connect local features or tests to the shared IDs.
Why This Pack Exists
Caching looks simple until products need predictable freshness, validator behavior, stale response policy, CDN-specific directives, cache observability, and consistent release review. The same Cache-Control or ETag mistake can create stale pages, overloaded origins, broken rollback paths, misleading CDN behavior, and confusing customer experiences.
This pack helps teams:
- apply reviewed HTTP caching and freshness requirements across projects
- align origin, shared cache, browser, and CDN behavior around the same governed IDs
- turn RFC and IETF review into reusable ADRs and SPECs
- connect cache policy decisions to implementation, tests, and release evidence
- make edge-delivery reviews more consistent for APIs, web apps, static assets, and content platforms
Domain Focus
The pack focuses on product and platform domains where cache behavior affects correctness, performance, reliability, and user trust:
- HTTP cache policy for sites, APIs, and service responses
- freshness calculation, max-age policy, and expiry behavior
- validators such as
ETag,Last-Modified, and conditional requests Cache-Control,Expires,Age, andVarygovernance- stale response controls such as
stale-while-revalidateandstale-if-error - immutable/versioned asset response policy
- targeted cache control and
CDN-Cache-Control - cache diagnostics through
Cache-Status - cache grouping and invalidation requirements
- structured field syntax for cache extensions
- IETF, RFC, and IANA registry target review for cache/freshness surfaces
Included ADRs
adr:0900cache/freshness standards targets are reviewed before governance inclusion
Included SPECs
spc:0900cache/freshness governance target review
Standards Review Targets
The first release includes a standards target inventory for cache/freshness review. It covers current core candidates, supporting candidates, historical/superseded context, and non-IETF watchlist items. Review the inventory on GitHub:
Cache/Freshness RFC and IETF Target Inventory
The current review set includes RFC 9111, RFC 9110, RFC 5861, RFC 8246, RFC 9213, RFC 9211, RFC 9875, RFC 9651, and related IANA cache registries.
Install With uv
Install the pack into a project environment:
uv add cache-freshness-governance-pack
Install it alongside the SSOT Registry CLI:
uv add ssot-registry cache-freshness-governance-pack
Run without adding dependencies to a project:
uvx --from ssot-registry --with cache-freshness-governance-pack ssot --help
Install With The SSOT Registry Pack CLI
Pack-enabled SSOT Registry environments can install and synchronize packs through the pack command surface:
uvx --from ssot-registry ssot pack install cache-freshness-governance-pack
uvx --from ssot-registry ssot pack sync . cache-freshness-governance-pack
Use With The SSOT Registry CLI
After the pack is installed in the same environment as ssot-registry, synchronize ADRs and SPECs into a target repository:
uv run ssot adr sync .
uv run ssot spec sync .
Review the synchronized governance surface:
uv run ssot adr list .
uv run ssot spec list .
uv run ssot spec get . --id spc:0900
Use the IDs from this pack when linking project features, tests, claims, and release evidence in your local .ssot registry.
Programmatic Usage
from cache_freshness_governance_pack import load_document_manifest, read_packaged_document_text
adr_manifest = load_document_manifest("adr")
spec_manifest = load_document_manifest("spec")
print(adr_manifest[0]["id"])
print(spec_manifest[0]["id"])
text = read_packaged_document_text("spec", "SPEC-0900-cache-freshness-governance-target-review.yaml")
print(text[:120])
Resources
- GitHub repository: groupsum/cache-freshness-governance-pack
- PyPI package: cache-freshness-governance-pack
- SSOT Registry: ssot-registry
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cache_freshness_governance_pack-0.1.2.tar.gz.
File metadata
- Download URL: cache_freshness_governance_pack-0.1.2.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2c0616bcb6681bd80e1c42ccaea9a3cbe70ffce0ac8c9395d603a73c93409ef
|
|
| MD5 |
8acb96190928be6ae3783f790f56ecb1
|
|
| BLAKE2b-256 |
71e21aaed1d6a0a8971e486ce688dd244ad4891820e3c1f28902f8483a36c012
|
Provenance
The following attestation bundles were made for cache_freshness_governance_pack-0.1.2.tar.gz:
Publisher:
publish.yml on groupsum/cache-freshness-governance-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cache_freshness_governance_pack-0.1.2.tar.gz -
Subject digest:
f2c0616bcb6681bd80e1c42ccaea9a3cbe70ffce0ac8c9395d603a73c93409ef - Sigstore transparency entry: 1468929812
- Sigstore integration time:
-
Permalink:
groupsum/cache-freshness-governance-pack@8e6372031666249fec0c07b888b06becd9f0dd04 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/groupsum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8e6372031666249fec0c07b888b06becd9f0dd04 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file cache_freshness_governance_pack-0.1.2-py3-none-any.whl.
File metadata
- Download URL: cache_freshness_governance_pack-0.1.2-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9143bc387cf6c1ee86413bfa20446508691ea0897c6235b2c515c97fcbc8cd65
|
|
| MD5 |
b41f867717c14ee25186c1eb2b90d687
|
|
| BLAKE2b-256 |
93e757f2d73ba5edcc2a7484aa1f2cb00ca1cfcf6758e3354551824508cbb500
|
Provenance
The following attestation bundles were made for cache_freshness_governance_pack-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on groupsum/cache-freshness-governance-pack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cache_freshness_governance_pack-0.1.2-py3-none-any.whl -
Subject digest:
9143bc387cf6c1ee86413bfa20446508691ea0897c6235b2c515c97fcbc8cd65 - Sigstore transparency entry: 1468929887
- Sigstore integration time:
-
Permalink:
groupsum/cache-freshness-governance-pack@8e6372031666249fec0c07b888b06becd9f0dd04 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/groupsum
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8e6372031666249fec0c07b888b06becd9f0dd04 -
Trigger Event:
workflow_dispatch
-
Statement type: