Skip to main content

goga-tool-simple-build

A goga hook tool that gives simple builds a cheap, minimal review pass by default: the short review strategy plus a bounded external review, applied wherever the project author left the review knobs unwritten.

Documentation

Full documentation is published at https://qarium.github.io/goga-tool-simple-build/.

How it works

The package registers exactly one hook — build_presets on the config / amend_config action. At the configuration load moment the hook contributes three apply-where-silent amendments:

  • build.review.strategy set to short — the lightweight review form;
  • build.review.additional.patience set to 1;
  • build.review.additional.max_iterations set to 3 — or to the authored build.review.max_iterations when the project sets it — together bounding the external review.

Each preset applies only where the authored configuration is silent at the path. Authored-wins is owned by the platform merge layer: the presets never overwrite authored values, a project that already encodes its review budget keeps it, and nothing is persisted — the authored .goga/config.yml stays byte-identical, and removing the tool returns the project to exactly its authored behavior.

The deliberate reads of the authored configuration are the two conflict guards and the iteration-cap mapping. An authored build.review.strategy other than short conflicts with the tool's purpose; authoring both build.review.max_iterations and build.review.additional.max_iterations is a settings conflict. Each stops the hosting command with a clean error naming the paths — never the authored values — and removing the conflicting authored value or uninstalling the tool resolves it. An authored build.review.max_iterations alone maps into the external review cap wherever build.review.additional.max_iterations is silent.

Installation

The tool has no runtime dependencies by design — the platform types are referenced under TYPE_CHECKING only, so the package facade stays import-clean with or without goga installed. The tool is installed into the project's goga docker image — the environment goga commands run in.

Declare it as a project dependency

Add the tool to the project's .goga/config.yml:

tools:
  simple-build: latest

A plain goga install during the image build then resolves it together with the rest of the project's declared tools:

FROM <goga-base-image>

USER root

COPY . /tmp/project
RUN cd /tmp/project && goga install && rm -rf /tmp/project

USER goga

Install it by name

Install the tool by name during the image build:

FROM <goga-base-image>

USER root

COPY . /tmp/project
RUN cd /tmp/project && goga install simple-build && rm -rf /tmp/project

USER goga

Development

The project venv lives outside the repository at /opt/goga/project:

/opt/goga/project/bin/pip install -e '.[test]'
/opt/goga/project/bin/python -m pytest tests/
/opt/goga/project/bin/ruff check goga_tool_simple_build/ tests/
/opt/goga/project/bin/ruff format --exclude '.usages' goga_tool_simple_build/ tests/

The test extra carries the platform (goga>=2.0, unpinned) and the test stack; the unpinned platform is deliberate — a platform release that changes the amendment surface must surface as test failures, not silent drift.

CODEMANIFEST and .usages/ files are read-only contracts: when implementation and contract disagree, the implementation is what gets fixed.

Metadata

Release files for goga-tool-simple-build 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for goga-tool-simple-build 0.0.1
File Size Uploaded Provenance
goga_tool_simple_build-0.0.1.tar.gz 219.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for goga-tool-simple-build 0.0.1
File Interpreter ABI Platform
goga_tool_simple_build-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 227.8 kB

Release files / goga_tool_simple_build-0.0.1.tar.gz

Download URL goga_tool_simple_build-0.0.1.tar.gz
Size 219.3 kB
Tags Source
SHA-256 checksum
How to use checksums
81069f8ff3b9b94f4c8896fe5c07fc1a859c56c46094348fa6fbd1efb0b666ff
BLAKE2b-256 checksum
How to use checksums
1101925f4320bf652ee5358af7403d023ee975dcb831324678e857c3305aa5af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / goga_tool_simple_build-0.0.1-py3-none-any.whl

Download URL goga_tool_simple_build-0.0.1-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cfdae0c3e773a6c9922096827bc7e3465494f7d347b4825f93ba64a3c22384b7
BLAKE2b-256 checksum
How to use checksums
6037cd88de2a3e2c9c25569d17ccacf4b1b8b482f80e7305dd5b6467e8e1a4bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for goga-tool-simple-build 0.0.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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