Structured AI Development Protocol — a governance harness for indefinite-horizon AI co-development
Project description
sadp-harness
Structured AI Development Protocol — a governance harness for indefinite-horizon AI co-development.
This is the PyPI packaging entry point. The full source, documentation, and provenance live at the parent repository: github.com/brownanan/acervator.
Install
pip install sadp-harness
The PyPI distribution name is sadp-harness; the Python import name is sadp:
import sadp
print(sadp.__version__) # "1.91"
from sadp.cli import main
rc = main(["check"]) # programmatic CLI
The console script sadp is registered globally on install:
sadp --help # list subcommands
sadp --version # print SADP version
sadp check # run release-readiness gate
sadp scaffold --target /path # bootstrap SADP into a fresh project
sadp hop --check # validate HOP file schema
sadp mem-search "<query>" # search the episodic memory ledger
sadp doc-audit # find documentation drift
sadp qa-status # unified QA dashboard
What SADP is
A governance harness for AI co-development. Five-component architecture:
- Atomic generational handoff — per-session HOP file with forward-looking
## NEXT SESSIONheader so the next session starts coherent - 60-rule core discipline layer (
tier: "core"inRULE_REGISTRY.json) with LOCK / UNLOCK / SUSPEND state semantics. Cited canon: Tufte, Cleveland-McGill, Knaflic, Helland (idempotency, audit log), Nygard (circuit breaker), McCabe (complexity), Martin (SRP), Hunt & Thomas (fail loudly, DRY), WCAG 2.2 AA, Nielsen, KDE HIG, Material Design 3, IEEE 29148, Wikipedia WP:V/WP:NOR, Royal Society Nullius in verba - Project-overlay extension point (
tier: "project_overlay"rules in yoursadp/impl/IMPL-PROJECT.md) for domain-specific rules adopters declare for their own codebase - Administrative control surface — pre-bump release gate, PreToolUse hook, Stop forensic backstop, EDIT_LOG forensics, contextual anchors
- Episodic memory ledger with token-scoring search (
sadp mem-search) so accumulated lessons survive across sessions
Plus: evaluator subagent, architectural fitness functions, doc-audit instruments, unified QA dashboard, ground-truth test-count pin, version-bump cascade discipline.
Quickstart
# 1. Install
pip install sadp-harness
# 2. Bootstrap into your project
cd /path/to/your/project
sadp scaffold --target . --project-name myproject
# 3. The scaffold writes:
# - sadp/config.json (path overrides; defaults mirror Acervator shape)
# - sadp/RULE_REGISTRY.json (60 core rules, ready to enforce)
# - sadp/EPISODIC_MEMORY.json (empty ledger, you accumulate lessons)
# - HOP.md (your session-state document)
# - AGENTS.md (auto-generated from rule state)
# 4. Verify
sadp hop --check # → [OK] HOP schema valid
sadp check # → [OK] Release-ready (vX.Y.Z, N tests)
For per-project customization (changing HOP filename, MEM ledger path, changelog location, etc.) edit sadp/config.json. Every bundled tool resolves paths via sadp.config.Project — your overrides are honored.
Rule tiers
- Core (60 rules) — universal software-development discipline. Ships in every wheel. See
sadp/SPEC-CORE.mdfor canonical text. - Project overlay (17 illustrative rules in Acervator) — domain-specific rules (trading-engine internals, etc.) that DON'T ship in the wheel. Each adopter declares their own overlay rules in
sadp/impl/IMPL-<PROJECT>.md.
The tier field in RULE_REGISTRY.json separates them. The wheel-publish tooling (tools/build_pypi_package.py) filters at stage time so only tier: "core" rules ship.
What's in the wheel
24 files, ~580 KB:
sadp/{__init__,__main__,cli,config}.py— Python package + CLI dispatcher + path-discoverysadp/_tools/{check_release_readiness,hop_open,mem_search,doc_audit,doc_gap_audit,sadp_init,build_agents_md,qa_status}.py— 8 bundled subcommand implementationssadp/{SKILL.md,FIXED_SECTION_SCHEMAS.md,config.template.json,CHANGELOG.md,SPEC-CORE.md,RULE_REGISTRY.json}— canonical rule spec + schemas + scaffold templates
The wheel does NOT ship: Acervator's project-overlay rule bodies (sadp/impl/IMPL-ACERVATOR.md), the operator's MEM ledger (EPISODIC_MEMORY.json ships as empty scaffold), the forensic EDIT_LOG, HOPs, chronicle entries.
License
Apache 2.0 with patent grant. See LICENSE and NOTICE in the parent repository. SADP itself is fully open source; trading-specific inventions in the host repository (Acervator) are NOT inside the SADP grant.
Provenance
Built end-to-end from operating experience by Anthony L. Brown (Ekthelius the Accumulator) across 27 sessions and 398+ MEM entries of single-operator + single-Claude collaboration. The methodology emerged from real friction; structural patterns absorbed (with credit) from Anthropic's cwc-long-running-agents, AGENTS.md, the Anthropic Agent Skills specification, and Cavekit/Cavemem. Every rule cites at least one published canonical source (per R63 ERG); no rule was authored from unaided AI synthesis.
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 sadp_harness-1.91.tar.gz.
File metadata
- Download URL: sadp_harness-1.91.tar.gz
- Upload date:
- Size: 574.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3b0ac63ace2c9c5cbdc5dbe9ced7dd78a02b3327cfd6129f4ee798cc48f97c3
|
|
| MD5 |
6202b7f24568bf2dc21ba5c67fa16c27
|
|
| BLAKE2b-256 |
9d3a8852bcd4dfa1d26b4adeb714771d13dc172c0edf08611de7da74673d83ed
|
File details
Details for the file sadp_harness-1.91-py3-none-any.whl.
File metadata
- Download URL: sadp_harness-1.91-py3-none-any.whl
- Upload date:
- Size: 592.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
167584881e1c90eb5864fc2421920a8a659d5657cbe12620075e562d9737a47e
|
|
| MD5 |
9871f1daaa02b39c37a1c8a695572e9e
|
|
| BLAKE2b-256 |
f62f5105b0569b3806d145fa72123622bb830235b4345af9a89f28954f8bda36
|