Skip to main content

Executable project memory with single-owner specs, generated views, and drift checks.

Project description

Grounded

Grounded keeps durable project knowledge in typed source specs, then projects that knowledge into human docs, LLM context, validation, verification checks, and drift reports.

Docs are views over project knowledge. The README is intentionally hand-authored around one protected generated block so new adopters can see the low-risk path: keep the file people already read, generate one useful section from source specs, and let grounded render --check catch drift.

Why it exists

Most projects repeat the same important idea in README files, design docs, tests, prompts, comments, and source code. At first this is fine. Later, one copy changes and the others do not. Grounded treats that as drift by giving the durable fact one owner and making generated views cite that owner.

Start small

  1. Run uv sync.
  2. Run uv run grounded init.
  3. Add one durable project fact: a domain term, business rule, architecture decision, workflow, or verification command.
  4. Add one protected generated block to an existing Markdown file.
  5. Run uv run grounded validate, uv run grounded render --check, uv run grounded audit, and uv run grounded verify.

Full-file generated docs are still supported, but they are best for mature pages whose durable claims already live in source specs. The first adoption path is a protected block, not a README takeover.

Protected block exemplar

This protected block is the default adoption exemplar: keep the surrounding README hand-authored, generate one useful section from source specs, and let grounded render --check catch drift.

Common commands

Command What it does
grounded init Adds Grounded project memory to an existing repo.
grounded validate Checks that specs are well-formed and references resolve.
grounded render Generates human docs and LLM context from the specs.
grounded render --check Fails if generated outputs are stale.
grounded search QUERY Searches project memory by ID, name, aliases, text, and relationships.
grounded context START Builds focused LLM context around a spec ID or search query.
grounded entities Lists entity-like specs for discovery before creating new facts.
grounded specs --uses QUERY Shows specs related to a matching entity or spec.
grounded check-new NAME Checks whether a proposed entity or concept probably already exists.
grounded registry Lists merged registry types and authored specs.
grounded verify Runs active verification spec commands.
grounded verify --include-test-bindings Also runs executable test_binding commands.
grounded audit Checks for drift and missing coverage.
grounded graph SPEC-ID Shows a documentation-oriented Graphviz relationship diagram around one durable fact.

During local development, prefer uv run grounded ... so the command uses the checkout.

Sources: GROUNDED-DECISION-047, GROUNDED-DECISION-054, GROUNDED-DECISION-070, GROUNDED-DECISION-058

What Grounded gives you

  • Stable IDs that docs, tests, code, prompts, and plans can reference.
  • Structured JSON specs so important knowledge has a predictable shape.
  • A small public vocabulary: Spec, Registry Type, Generated Artifact, and Verification.
  • Generated docs for humans and generated context for LLM agents.
  • Validation for broken references, verification commands for project checks, and audits for stale generated artifacts.

A tiny source spec

{
  "id": "REPORT-RULE-NNN",
  "type": "business_rule",
  "name": "Date-only reports use UTC",
  "owner": "reporting",
  "status": "active",
  "description": "Defines how date-only values are displayed in generated reports.",
  "statement": "Date-only report fields must be formatted using UTC semantics, not local browser timezone semantics.",
  "tests": ["REPORT-VERIFY-NNN"]
}

Docs, tests, generated LLM context, review comments, and implementation plans can point to the same rule ID instead of rewriting the rule in five places.

Learn more

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

grounded-1.1.0.tar.gz (82.8 kB view details)

Uploaded Source

Built Distribution

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

grounded-1.1.0-py3-none-any.whl (100.6 kB view details)

Uploaded Python 3

File details

Details for the file grounded-1.1.0.tar.gz.

File metadata

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

File hashes

Hashes for grounded-1.1.0.tar.gz
Algorithm Hash digest
SHA256 07c0ab4f23a9ab13c4dad07126cf2db5ba91dc817b6c367346b88ef06b410774
MD5 3f42cfe400eb269132b657c64fce0acf
BLAKE2b-256 1c40ae61dcbcf55b27b4847e3037c5da7d038d03f681acf68afe871187072d07

See more details on using hashes here.

Provenance

The following attestation bundles were made for grounded-1.1.0.tar.gz:

Publisher: pypi.yml on adieyal/grounded

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

File details

Details for the file grounded-1.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for grounded-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 752ab1ad428adff3de09caf7b70aa04a2d742f23612d1fc090bbb16ae7692527
MD5 0e0b4072ada95445abff3e2be8f4bd33
BLAKE2b-256 6c3d1aecee6a2f609161858cdcd6e582a486025b35cad51af89fb4834b4d0cc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for grounded-1.1.0-py3-none-any.whl:

Publisher: pypi.yml on adieyal/grounded

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