Skip to main content

Godharness logo

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
  • init creates the configuration and starter standards.
  • check validates document schema, links, classification, selectors, and adapter configuration.
  • context resolves the standards and decisions relevant to a prompt or set of changed paths in a deterministic machine-readable form.
  • doctor validates 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@1 remains 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; supersedes suppresses the standard it names; relates-to surfaces a neighbor alongside a match.
  • Extension model: a repository adds standards through the standards globs in godharness.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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

godharness-0.1.3-py3-none-win_amd64.whl (3.1 MB view details)

Uploaded Python 3Windows x86-64

godharness-0.1.3-py3-none-musllinux_1_2_x86_64.whl (4.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

godharness-0.1.3-py3-none-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

godharness-0.1.3-py3-none-manylinux_2_17_x86_64.whl (4.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

godharness-0.1.3-py3-none-manylinux_2_17_aarch64.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

godharness-0.1.3-py3-none-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

godharness-0.1.3-py3-none-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file godharness-0.1.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: godharness-0.1.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for godharness-0.1.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 faa7990ef54a211f66c65275f00e24037a625d15b4569a088fd89e0a9625893c
MD5 2d3fa1eba1cf53943c5240554f8cb564
BLAKE2b-256 b1af0f23740d69825773253c45f10b26f0f99aeffee94324f91a7c419b12e0cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-win_amd64.whl:

Publisher: release.yml on tomerwave/godharness

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

File details

Details for the file godharness-0.1.3-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for godharness-0.1.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6649ca0766c3d76b83543e20dbe1e56c203ef265eceb0d320845db5b3d916ddf
MD5 e54eca28ece9b9c6ef2c090c3c8f0c9b
BLAKE2b-256 1f45bb57af8009c84b86deb624c47a63bcd889f99d8a647b9d0fba4d440c2b52

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on tomerwave/godharness

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

File details

Details for the file godharness-0.1.3-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for godharness-0.1.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 effbfce3efb814aa6a4b6573412197adb0e770d1d482e6a40a92debe1e75f387
MD5 258f3d1c1278c20826ca4ffeee115773
BLAKE2b-256 b7d2db134fe9c757fd1945c03707622501a0355ca4a27f255032b5556d33bf9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on tomerwave/godharness

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

File details

Details for the file godharness-0.1.3-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for godharness-0.1.3-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 348426f71254da1edf4da39e39f5f7e4f512a0bee43853c2b4211bd3b6fdafe1
MD5 f9951d7faabc45c79b45f8629df8f16f
BLAKE2b-256 97f75dc9e8ffed3213c20579525905aef2161a3aebee083d1dd50ae775cb468f

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-manylinux_2_17_x86_64.whl:

Publisher: release.yml on tomerwave/godharness

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

File details

Details for the file godharness-0.1.3-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for godharness-0.1.3-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 be9f1680afa9f3104ed8e44e7b2b759feb69890bf23938823b7f29c025db02fe
MD5 54e2a8b96911c22fc0953ba1cf6d7b36
BLAKE2b-256 5bba1a7ed66d7351f4399727b9588094caaa5e4716ab72fb28f4c9a6092406ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-manylinux_2_17_aarch64.whl:

Publisher: release.yml on tomerwave/godharness

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

File details

Details for the file godharness-0.1.3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for godharness-0.1.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a5a7a3b0aeeae39f0fafb639a255bfb5222ba88460f04d414f475e76611b5d6
MD5 79952aaaa8274a0df3a0eec3c3a5cf13
BLAKE2b-256 dce54f870eef803b1596eab885937a7545019a30c6722a80637d04681e04d77c

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on tomerwave/godharness

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

File details

Details for the file godharness-0.1.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for godharness-0.1.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1498b633542006c6253f8b2ebeff5850d5e5bfdeec92ac2fb3d06a48bd56ec9e
MD5 87848c121ca6d5188c5ad69009205e8e
BLAKE2b-256 808ad770cdd288b2162c76fc80b9d31b4afe2f01d4a3216db25b5d41f675ae0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for godharness-0.1.3-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on tomerwave/godharness

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

Release history Release notifications | RSS feed

0.1.7

7 files

0.1.6

7 files

0.1.5

7 files

0.1.4

7 files

This release

0.1.3 This release

7 files

0.1.2

7 files

0.1.1

7 files

0.1.0

7 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