Godharness: Temporary Product Brief
Status: Working notes — not a Viewstone product document Date: 2026-08-05
Problem
Coding agents can enforce deterministic rules after changing code, but they do not automatically know a repository's architecture decisions, product intent, engineering practices, or the rationale behind policies. Raw documentation is easy to miss, too broad to load in full, and difficult to keep structurally healthy.
Desired Outcome
Godharness gives coding agents the right engineering context before they act. It ships a small, versioned, opinionated default suite of best practices and lets each repository add its own standards, decision records, product context, and service-specific guidance.
Product Positioning
Godharness is an agent-context and documentation-governance framework. It is related to Oh My Claude Code and Superpowers in that it supports coding-agent workflows, but its job is distinct:
- Workflow frameworks prescribe how an agent works.
- Godharness supplies the project-specific and default context the agent needs to make sound decisions.
- Godlint deterministically verifies the codifiable subset in code and CI.
The family promise is:
Godharness helps agents understand the project. Godlint makes sure the project stays true to what it decided.
Relationship to Godlint
Godlint and Godharness have deliberately different authority boundaries.
| Product | Authority | Example |
|---|---|---|
| Godharness | Guidance before a change | "Validate untrusted data at runtime boundaries." |
| Godlint | Deterministic enforcement after a change | "Do not read environment variables outside the configured boundary." |
Godharness handles decisions that cannot safely be inferred from syntax:
- product intent and non-goals;
- architecture tradeoffs and ADRs;
- testing philosophy and recovery strategy;
- domain vocabulary and service ownership;
- instructions for evaluating ambiguous cases.
Godlint handles objective, explainable checks against source and workflows. Godharness must not claim that injecting guidance proves compliance; Godlint, tests, review, and other deterministic checks remain the proof mechanisms.
Version 1 Scope
Godharness v1 is a local-first, installable CLI with Markdown and Git as the source of truth. It has no user interface and no Obsidian integration in v1.
Recommended suite
recommended@1 ships a small, curated, versioned set of broadly useful
standards, such as:
- testing and verification;
- error handling;
- small focused units;
- security and secrets hygiene;
- configuration boundaries;
- CI expectations;
- documentation and decision-record practices.
The suite is not injected wholesale. The resolver selects a tiny universal core plus standards relevant to the task and changed paths. Suites must remain small enough that their context is useful rather than generic noise.
Repository context
Repositories compose the default suite with their own Markdown standards, architecture decisions, product context, playbooks, and service-specific guidance. Project content can refine the default guidance without copying it.
Illustrative configuration:
version: 1
suites: [recommended@1]
standards:
- docs/engineering/**
- docs/process/**
- docs/architecture/**
adapters:
codex: true
claude-code: true
pi: true
Commands
The initial CLI surface should be small:
godharness init
godharness check
godharness context --prompt "..."
godharness context --paths services/api/src/auth.ts
godharness doctor
initcreates the configuration and starter standards.checkvalidates document schema, links, classification, selectors, and adapter configuration.contextresolves the standards and decisions relevant to a prompt or set of changed paths in a deterministic machine-readable form.doctorvalidates local installation and adapter wiring.
Installing
- Homebrew:
brew install tomerwave/tap/godharness - cargo:
cargo install godharness-cli - npm:
npm install --global @godharness/cli - pip:
pip install godharness
This repository keeps its own installed copy current automatically:
.github/workflows/self-update.yml runs godharness update whenever a new
version releases and commits any resulting change directly to main.
Technical Direction
Build the core in Rust.
Reasons:
- a single fast binary works locally and in CI without Node or Bun;
- the resolver, validator, configuration model, diagnostics, and release approach align with Godlint;
- it supports deterministic, local-first behavior and cross-platform installs;
- thin agent-specific adapters can call the binary and consume JSON rather than duplicating matching logic.
The existing Viewstone TypeScript harness is a useful reference implementation, not the product core. It proves three useful mechanisms:
- prompt-keyword matching;
- changed-path glob matching;
- adapters for Codex, Claude Code, and Pi that inject selected context.
The extracted core should use a real YAML/frontmatter parser and schema validation rather than preserving the current hand-written parser.
Required Product Properties
- Deterministic resolution: no LLM decides which context is mandatory.
- Local-first: repository source and context stay local by default.
- Markdown and Git native: standards and decisions remain reviewable and portable.
- Explainability: users can answer "why was this injected?".
- Versioned suites:
recommended@1remains stable when future suites change. - Scoped context: support universal, task, path, service, and repository scope.
- Conflict handling: define precedence and surface contradictory standards.
- CI validation: prevent broken links, malformed metadata, unindexed standards, stale ownership, and adapter drift.
Explicit Non-Goals for v1
- No graphical interface, desktop application, or Obsidian integration.
- No generic notes app or knowledge graph.
- No vector search/RAG as the policy-selection mechanism.
- No LLM-driven enforcement or opaque context selection.
- No duplicate source-code linter; Godlint owns deterministic source and workflow policy.
- No automatic invention of engineering standards.
Later Possibilities
An Obsidian-like product experience could be valuable later for authoring, exploring relationships, ownership/review dates, contradictions, and context previews. It must remain a view over the Git-backed Markdown source of truth, not replace it.
Future Godlint integration can map a finding to its relevant Godharness standard so developers receive both the deterministic violation and the decision rationale.
Risks
- A large default suite will become generic prompt noise and be ignored.
- Simple keyword and glob matching can over-match or miss relevant context.
- Injecting a rule does not prove an agent followed it.
- Project-specific standards can conflict unless precedence and ownership are explicit.
- A UI too early would distract from the core resolution and validation loop.
Open Decisions
- Adapter protocol and installation model for each supported agent.
- The first Godlint-to-Godharness rationale-linking contract.
- Conflict-reporting between two standards whose content disagrees (as opposed to resolution order, which is decided — see below).
Decided since this section was first written, with the implementation in
crates/godharness-core:
- Standard frontmatter schema and selectors:
id,title,keywords,paths,must-read,supersedes,relates-to; word-boundary keyword matching; glob path matching. - Resolution precedence: a must-read standard always resolves regardless of prompt or changed
paths;
supersedessuppresses the standard it names;relates-tosurfaces a neighbor alongside a match. - Extension model: a repository adds standards through the
standardsglobs ingodharness.yaml. Overriding an existing standard means superseding it under a new id — reusing an existing id is a duplicate-id error, not a silent override. - The minimal universal core every task receives: whichever standards are marked
must-read.
Metadata
Release files for godharness 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| godharness-0.1.8-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| godharness-0.1.8-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| godharness-0.1.8-py3-none-musllinux_1_2_aarch64.whl | Python 3 | none | Linux musl 1.2+ ARM64 | Details |
| godharness-0.1.8-py3-none-manylinux_2_17_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| godharness-0.1.8-py3-none-manylinux_2_17_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| godharness-0.1.8-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| godharness-0.1.8-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 29.2 MB
Release files / godharness-0.1.8-py3-none-win_amd64.whl
| Download URL | godharness-0.1.8-py3-none-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7589eb43e098510ac844867238f1d3a2f7eed8bde555978155f5709a7a112b94
|
|
BLAKE2b-256 checksum How to use checksums |
eee93d997aa14807d17818e6c4d1834027f477275cd8f281011c91374e3c096a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency logRelease files / godharness-0.1.8-py3-none-musllinux_1_2_x86_64.whl
| Download URL | godharness-0.1.8-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
cda396f77dba9217440d3e7e0374d4458bd4cf13714f6efe1cd2d02c0df088d9
|
|
BLAKE2b-256 checksum How to use checksums |
191c5ab8e35c1b7b8fabbed973d71e62631b6eb7ca3cf71f8544016b394a825c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency logRelease files / godharness-0.1.8-py3-none-musllinux_1_2_aarch64.whl
| Download URL | godharness-0.1.8-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
273d60e8ae8430a1b4705adcfc198c8ce8db595428507eb85292dd9f2a478847
|
|
BLAKE2b-256 checksum How to use checksums |
2c5fdb3731b55f632e751d996d1e6127981c619cd360a4ba83b3bddba4f039cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency logRelease files / godharness-0.1.8-py3-none-manylinux_2_17_x86_64.whl
| Download URL | godharness-0.1.8-py3-none-manylinux_2_17_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
54b57d3cd53f915c1113c855abc930e792513cb995d8cfc955e8b16bcbf50144
|
|
BLAKE2b-256 checksum How to use checksums |
215a679946862912161050ba4fbc6c691b140c6c68969badb4069c12c9c03d18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency logRelease files / godharness-0.1.8-py3-none-manylinux_2_17_aarch64.whl
| Download URL | godharness-0.1.8-py3-none-manylinux_2_17_aarch64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
888f8682a9636d0381d81227923a65f0b59b3ddc7eef6b718885e20e352bbb16
|
|
BLAKE2b-256 checksum How to use checksums |
9b76c7a9eccbbecc0a11c4f072c25b61f60ed4918993339d5f7e87b881232285
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency logRelease files / godharness-0.1.8-py3-none-macosx_11_0_arm64.whl
| Download URL | godharness-0.1.8-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d8fa14c89160950960051ed1a5fd19bb8952b5f15f2028002ca113669810dea3
|
|
BLAKE2b-256 checksum How to use checksums |
c5e375164cba2506e6b41351d0dedcbb1ce8538c16d602339fe78b96daa16ed6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency logRelease files / godharness-0.1.8-py3-none-macosx_10_12_x86_64.whl
| Download URL | godharness-0.1.8-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
9dbc01d271873a7dff329f7c4a92f99dd148beaa3e6e50eb0f2f7600b74caebd
|
|
BLAKE2b-256 checksum How to use checksums |
5419e2b65a8c16e017f4ccbf4d9d8f5fb6eb11f59e4409a8b78c0f074e52598b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.
Transparency log