Skip to main content

goga-tool-basic-build

A goga hook tool that gives builds a basic review pass by default: the medium review strategy plus a five-iteration review cap, applied wherever the project author left the review knobs unwritten.

Documentation

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

How it works

The package registers exactly one hook — review_presets on the config / amend_config action. At the configuration load moment the hook contributes two set amendments:

  • build.review.strategy set to medium — the basic review form;
  • build.review.max_iterations set to 5 — the review loop cap.

The amendments are buffered unconditionally; authored-wins is owned by the platform merge layer: an authored build.review.max_iterations silently wins over the preset 5, an authored strategy: medium is accepted silently, 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. An authored build.review.strategy other than medium conflicts with the tool's purpose; an authored build.review.additional section — any contents, including an empty mapping — conflicts as well: a basic build does not tune the external review. Each stops the hosting command with a clean error naming the path — never the authored value — and removing the conflicting authored value or uninstalling the tool resolves it. When both conflicts are present, the strategy one is reported — the checks run in a fixed order.

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:
  basic-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 basic-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_basic_build/ tests/
/opt/goga/project/bin/ruff format --exclude '.usages' goga_tool_basic_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-basic-build 1.0.0

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-basic-build 1.0.0
File Size Uploaded Provenance
goga_tool_basic_build-1.0.0.tar.gz 212.4 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 221.2 kB

Release files / goga_tool_basic_build-1.0.0.tar.gz

Download URL goga_tool_basic_build-1.0.0.tar.gz
Size 212.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4152222e8402e9107c4dab618cafd8bc89d74ebb76480e0774572368a1867ceb
BLAKE2b-256 checksum
How to use checksums
bd0eae54ca609cb17fba671f042612cea9872b0a02d1d8a691f3aaa07c75a788
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_basic_build-1.0.0-py3-none-any.whl

Download URL goga_tool_basic_build-1.0.0-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
855ab65f4c215cff4d79da61b100d43e36a4a6bc0ab5c44979c35bed63cb6c37
BLAKE2b-256 checksum
How to use checksums
f0b5acf6e744ce16f837b3e155ba2a60d9a52b7430fe723af9181298e765e7e3
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-basic-build 1.0.0

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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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