Skip to main content

A configurable AI review engine built around reusable proof lenses.

Project description

Proof Goblin

Better Documents. Happier Writers.

Push checks Pull request checks

[!WARNING] Proof Goblin is experimental. Its core review workflow is operational, but the public API and configuration schema may change before a stable release. AI-generated observations can be incomplete or incorrect and require human judgment.

Proof Goblin is an AI-assisted review engine that helps writers find problems without taking over the writing.

Instead of rewriting your work, Proof Goblin examines documents through reusable review perspectives called Proof Lenses. Each review produces structured Observations that surface ambiguity, missing context, contradictions, accessibility concerns, security questions, and other issues worth a closer look.

The result is a more useful kind of AI collaboration: writers remain in control of the words, while Proof Goblin helps them see what they may have missed.

Reviews are assembled from portable .pgcfg configuration files that define lenses, missions, protocols, and output schemas. Because those configurations can be stored in source control, review definitions are inspectable, versionable, shareable, and ready for automation.

Proof Goblin can be used as a Python library or from the command line. It is framework agnostic and deliberately independent of any particular web application or user interface. The project validates every pull request across its supported Python versions and representative operating systems.

What Proof Goblin Does

  • Reviews documents from clearly defined perspectives
  • Surfaces questions and concerns instead of silently rewriting content
  • Turns review behavior into portable, version-controlled configuration
  • Produces structured observations with traceable review metadata
  • Supports local workflows and application integration

Design Principles

(For the geeks)

  • Observations over Edits — Proof Goblin identifies questions and potential issues instead of rewriting content.
  • Composable Reviews — Prompts are assembled from reusable components rather than handwritten monolithic prompts.
  • Traceable Executions — Review outputs record the configuration, artifact identity, provider, model, and execution metadata. Repeating an AI review does not guarantee identical observations.
  • Configuration as Code — Review definitions are stored in portable .pgcfg files and managed in source control.
  • Framework Agnostic — The core engine has no dependency on Django or other application frameworks.

Documentation

Start with the guide that matches what you want to do:

And yes: of course, every document has been proofed by the Proof Goblin!

Installation

Install the core library and command-line interface from PyPI:

python -m pip install proof-goblin
proof-goblin --help

Install the optional OpenAI integration when you want to run live reviews:

python -m pip install "proof-goblin[openai]"

The following installed-package smoke test loads the bundled documentation configuration and assembles a prompt locally. It does not require an API key, contact a provider, or depend on a source checkout:

from importlib.resources import as_file, files

from proof_goblin import Config, PromptBuilder


bundle = files("proof_goblin").joinpath("configs/documentation.pgcfg")
with as_file(bundle) as config_path:
    config = Config.load(config_path)

prompt = PromptBuilder(config).build(
    review="technical_writer_first_pass",
    artifact="# Draft\n\nThis is a document to review.",
    artifact_name="draft.md",
)
print(prompt.review_name, prompt.artifact_media_type)

OpenAI provider

After installing the optional OpenAI integration, set OPENAI_API_KEY in your environment before making a live request:

A live review sends the complete artifact and selected review instructions to OpenAI and may incur provider charges. Confirm that the content is approved for external processing, and review Data Handling and Retention before submitting sensitive material.

read -s "OPENAI_API_KEY?OpenAI API key: "
export OPENAI_API_KEY

See the OpenAI Provider guide for library and command-line examples. The repository's live example is a contributor example that requires a source checkout.

Command line

After following Getting Started, use prompt to assemble and print the complete prompt locally without contacting a provider. Use review to send the assembled request to OpenAI and print a plain-text report to standard output:

proof-goblin prompt draft.md \
  --config review.pgcfg \
  --review first_pass

proof-goblin review draft.md \
  --config review.pgcfg \
  --review first_pass

See the Command-Line Interface for file output, report formats, caching, and provider behavior.

License

Proof Goblin is licensed under the MIT License.

See the LICENSE file for the full license text.

Release integrity

Production distributions are published through PyPI Trusted Publishing and carry a publish attestation for each wheel and source distribution. See the release process for the workflow identity, hash and provenance verification procedure, account controls, and recovery plan.

Attestations provide origin and integrity evidence. They do not assert that the package is vulnerability-free, intrinsically safe, or suitable for a particular use.

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

proof_goblin-0.1.0.tar.gz (45.8 kB view details)

Uploaded Source

Built Distribution

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

proof_goblin-0.1.0-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file proof_goblin-0.1.0.tar.gz.

File metadata

  • Download URL: proof_goblin-0.1.0.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for proof_goblin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dad16d3b2ff43f9827538e8dc70cffac2da065f3788939898b1fc52ee94d80f6
MD5 bfe26351fa3039379f7b8d6d03d05139
BLAKE2b-256 bf1b0511df964b93071e68b3320bb5b3d0c9154e3c170297f8f90e0dd295d1d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for proof_goblin-0.1.0.tar.gz:

Publisher: release.yml on HolisticNetworkingNet/proof_goblin

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

File details

Details for the file proof_goblin-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: proof_goblin-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for proof_goblin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8075cd2f4b8d9532f0b55a12e3190533bf8a784a2d93e2b430cfdf86034018ae
MD5 2d5731854486c743263ed484c993b5be
BLAKE2b-256 76450d8c4b4cd4f425fb19fd2d489accc74edc691a0b5707169dbab7ca218dd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for proof_goblin-0.1.0-py3-none-any.whl:

Publisher: release.yml on HolisticNetworkingNet/proof_goblin

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