Skip to main content

Specification-Driven Development Extended - LLM-agnostic spec-first governance framework with role enforcement, telemetry, and GitHub integration

Project description

SDD+ - Specification-Driven Development Extended

Python 3.13+ MIT License Tests Coverage Code Quality

LLM-agnostic spec-first governance framework for AI-assisted development, with independent audit gates, role-based file enforcement, telemetry, and a web dashboard.

Core principle: Specifications are binding. Code follows spec, not vice versa. Audit is independent and impartial.

LLM-agnostic: SDD+ doesn't care what AI (or human) executes each role. Use Claude, GPT-4, Gemini, Llama, Ollama, or manual review. Bring your own executor.


Install

pip install sdd-plus

Requires Python 3.13+.

Quick Start

# Initialize a new SDD+ project
sdd init

# Check current phase and state
sdd status

# Transition state (as auditor or implementer, with any executor)
sdd transition REFINED --role auditor --executor claude
sdd transition IMPLEMENTING --role implementer --executor gpt-4

# Run the 4-step audit loop (executor is whoever runs the audit)
sdd audit --role auditor --executor claude --auto-approve

# Advance to next phase (auditor only, after COMPLETED)
sdd new-phase --role auditor

# Install the pre-commit enforcement hook
sdd install-hooks --role implementer

# Check file patterns against role rules (dry-run)
sdd check-patterns --role implementer --files src/foo.py

# View telemetry
sdd metrics show --phase 4

# Launch the web dashboard
sdd dashboard --port 8888

What It Does

SDD+ enforces a spec-first workflow with pluggable executors:

  1. State Machine - 6-state lifecycle: DRAFT -> REFINED -> LOCKED -> IMPLEMENTING -> AUDITING -> COMPLETED
  2. Role Enforcement - AGENTS.yaml declares which files each role (implementer/auditor) may touch. A git pre-commit hook enforces it.
  3. Audit Loop - 4-step automated audit: pytest, coverage >= 85%, spec conformance, contract conformance.
  4. Telemetry - Every transition and audit is logged to .sdd-metrics/ as JSONL.
  5. Dashboard - sdd dashboard serves a read-only web UI showing project state, audit history, and metrics.

Architecture

project/
  AGENTS.yaml                  # Authority matrix (role -> file patterns)
  sdd/
    artifacts/                 # Specs, contracts, audits, state snapshot
      STATE_SNAPSHOT.yaml
      PHASE_N_SPEC.yaml
      PHASE_N_CONTRACT.yaml
      PHASE_N_AUDIT.yaml
    handoffs/                  # Phase transition summaries
    state_machine/             # 6-state machine + transitions
    schemas/                   # Pydantic v2 models
    validators/                # Contract + state validators
    enforcement.py             # File-pattern denylist enforcement
    git_integration.py         # Git helpers (branch, commit, clean check)
    telemetry.py               # JSONL event emitter + query
    web/                       # FastAPI + Jinja2 dashboard
    cli/                       # Typer CLI commands
  tests/                       # 244+ tests, >= 85% coverage
  .sdd-metrics/                # Telemetry JSONL (gitignored)

CLI Commands

Command Description
sdd init Initialize SDD+ in a directory
sdd status Show current phase and state
sdd validate Validate contract and state artifacts
sdd transition STATE --role ROLE [--executor E] Advance the state machine
sdd new-phase --role auditor Start next phase after COMPLETED
sdd audit --role auditor [--executor E] Run 4-step audit loop
sdd install-hooks --role ROLE Install git pre-commit hook
sdd check-patterns --role ROLE Dry-run file enforcement check
sdd metrics show Display telemetry records
sdd dashboard Launch web dashboard
sdd projects list/add/remove Manage workspace projects

Phases Completed

Phase Title Tests Coverage
0-2 Schemas + State Machine + CLI 64 85%+
3 Agent Harness (AGENTS.yaml, audit loop) 118 92%
4 Harness Closure (enforcement + git hooks) 190 92.1%
5 Telemetry & Metrics 225 91.7%
6 Web Dashboard 244 91.6%
7 PyPI Packaging 244+ 91%+

Development

# Clone and install in dev mode
git clone https://github.com/oscarfrancodev/sdd-plus.git
cd sdd-plus
pip install -e ".[dev]"

# Run tests
pytest

# Run with coverage
pytest --cov=sdd --cov-report=html

License

MIT - see LICENSE.


Built by Oscar Franco (ReguSense). LLM-agnostic by design.

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

sdd_plus-0.3.0.tar.gz (132.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sdd_plus-0.3.0-py3-none-any.whl (114.8 kB view details)

Uploaded Python 3

File details

Details for the file sdd_plus-0.3.0.tar.gz.

File metadata

  • Download URL: sdd_plus-0.3.0.tar.gz
  • Upload date:
  • Size: 132.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sdd_plus-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2ddec6539a83ed857c061fe3b48c8a8a3b20d2d74c9ac611499310666e40994c
MD5 92d263f6330861cc2db14ce3e18e3138
BLAKE2b-256 838630531f02069778061a7a9190a9597e7c81ec36f680d02f32e3dd861abad1

See more details on using hashes here.

Provenance

The following attestation bundles were made for sdd_plus-0.3.0.tar.gz:

Publisher: publish.yml on oskcorps-sys/sdd-plus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sdd_plus-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: sdd_plus-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 114.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sdd_plus-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7d7c6c2cda9db6dc2bbd16c4326a84e64fc84ae1b8460c786f06065fd4aef65
MD5 87a10ab20aefeb6b1dea0347871919b9
BLAKE2b-256 0ec168b49de1d6affc603e751a426d0db3a0005bc2fa68ad22e76dcb1f8ec722

See more details on using hashes here.

Provenance

The following attestation bundles were made for sdd_plus-0.3.0-py3-none-any.whl:

Publisher: publish.yml on oskcorps-sys/sdd-plus

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