Skip to main content
Atlas Systems

atlas-badges

┌─────────────────────────────────────────────┐
│  ATLAS SYSTEMS // atlas-badges              │
│  evidence-backed repository badges          │
└─────────────────────────────────────────────┘

CI Python Evidence Cost

Scans a local repo clone for greppable evidence of specific engineering concepts and writes a shields.io badge block into its README.md. A senior engineer skimming the estate for ninety seconds sees proof-of-concept labels (HMAC verification, KV caching with TTL, service bindings), not just language pills.

The design rule throughout: never assert without evidence. scan prints the file and line for every detection so you can judge whether it is honest before trusting it, and a per-repo override file exists precisely because static scanning has limits.

Install

pip install -e ".[dev]"     # from this directory; editable + pytest/ruff

Cross-platform: pure Python 3.10+, PyYAML is the only runtime dependency. Works identically from PowerShell and WSL.

Usage

atlas-badges scan  ~/repos/github-pulse          # evidence report
atlas-badges scan  ~/repos/github-pulse --json   # machine-readable
atlas-badges apply ~/repos/github-pulse --dry-run
atlas-badges apply ~/repos/github-pulse          # writes README.md

apply injects (or updates in place) a block between these markers:

<!-- ATLAS_CONCEPT_BADGES:START -->
<!-- ATLAS_CONCEPT_BADGES:END -->

Everything outside the markers is never touched. If no markers exist yet, the block is inserted directly under the first # heading. Re-running apply on an unchanged repo is byte-identical and reports unchanged, so it can run in CI without generating noise commits.

Overrides: .atlas-concepts.yml

# force-include a concept the code demonstrates but no pattern can see
include:
  - rag-vector-search

# force-exclude a false positive
exclude:
  - kv-caching

If an id appears in both lists, exclude wins: when the human record disagrees with itself, the safer read is to claim less. Unknown ids warn and are skipped; a stale override never breaks a scan.

Concept vocabulary

id badge signal basis
hmac-verification security crypto.subtle, HMAC, X-Hub-Signature, timingSafeEqual, compare_digest
scoped-tokens security narrow token names (*_DEPLOY_TOKEN, *_READ_TOKEN), least-privilege prose
cors-allowlist security ALLOWED_ORIGINS, allowedOrigins, origin allowlist prose
durable-objects infra DurableObject, env.RECORDER, durable_objects in wrangler config
service-bindings infra env.<BINDING>.fetch(, [[services]] in wrangler config
kv-caching infra env.*KV, expirationTtl, cacheControl, x-*-cache, kv_namespaces
idempotent-ops reliability idempoten*, content-hash keys, dedup*
defensive-degradation reliability fallback, graceful, degrad*, "couldn't confirm"
rag-vector-search data chromadb, nomic-embed, embedding(s), vector store/search, "/search" routes
reusable-ci ci workflow_call and reusable-workflow uses: lines, workflow files only
containerised-builds ci Dockerfile / compose file presence, docker compose build in workflows

containerised-builds is the one extension beyond the original ten: it is grounded in file existence plus the estate's actual CI gate, which is about as greppable as a signal gets.

Colour mapping

Brand palette only, so a badged README reads like a strip of the site:

  • security + infra, amber f5a623: the estate's signature concern gets the estate's signature colour
  • reliability, green 4ade80: borrows the status-good semantics; these are the "stays up" concepts
  • data, paper e8e8e0: the reading colour, for concepts about finding and reading things
  • ci, grey aaa9a0: pipework should recede, not shout

All badges pin labelColor=0a0a0f (site background) and style=flat-square (the estate is square corners and hard edges).

Tests

pytest

Detectors are tested against synthetic snippets, not real repos: one positive fixture per concept, a quiet control repo, self-reference protection (a generated badge block never feeds the next scan), and full splice/idempotency coverage.

Try it

atlas-badges scan examples/demo-repo
atlas-badges apply examples/demo-repo --dry-run

The demo repo is a synthetic Worker-shaped fixture with an override file, so you can see the whole workflow without pointing at a real clone.

How it fits into Atlas Systems

atlas-badges turns repository claims into inspectable evidence. It scans source for narrowly defined engineering signals and gives the wider Atlas Systems repository surface a consistent way to show what a project actually demonstrates.

The transferable principle is simple: portfolio labels should follow evidence, not precede it.


Part of atlas-systems.uk · MIT License

Metadata

Release files for atlas-badges 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for atlas-badges 0.1.0
File Size Uploaded
atlas_badges-0.1.0.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for atlas-badges 0.1.0
File Interpreter ABI Platform
atlas_badges-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.0 kB

Release files / atlas_badges-0.1.0.tar.gz

Download URL atlas_badges-0.1.0.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8aaf3145484df7c66dd4e6ad3cc736706dd13ed1c1f1027ca32445692239fe76
BLAKE2b-256 checksum
How to use checksums
4e7754511d0ac9fd8b7b4b9ba389473e9d4f87772f04539a476344990744459d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / atlas_badges-0.1.0-py3-none-any.whl

Download URL atlas_badges-0.1.0-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b68d576a9f21807862e04e1d2c94aeb7c56e335043ac5870830befeb5d2be58b
BLAKE2b-256 checksum
How to use checksums
3753486968c24ebd7de9a644135b4bdf53e7d8086f111fca5588060d865eb14f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page