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.strategyset tomedium— the basic review form;build.review.max_iterationsset to5— 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 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| goga_tool_basic_build-0.0.0.tar.gz | 213.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| goga_tool_basic_build-0.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 224.0 kB
Release files / goga_tool_basic_build-0.0.0.tar.gz
| Download URL | goga_tool_basic_build-0.0.0.tar.gz |
|---|---|
| Size | 213.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f4abae52b466df63ed6baf576cdbe0e2ca91cf5bd81d58e1e6248baf1bcccde
|
|
BLAKE2b-256 checksum How to use checksums |
1fd2bbd8d6666ec1ddb00946cdd1a24ce3ee7eb48045531cbd150154ab4f07c7
|
| 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-0.0.0-py3-none-any.whl
| Download URL | goga_tool_basic_build-0.0.0-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f9bc9dfe3517aa244f0900ce1563a4942e454c43f3125511fd7199dcdacdad1
|
|
BLAKE2b-256 checksum How to use checksums |
e03f6dea1511e083c097862be81fbdc04e4bfefbae32bc689753c6d212edb82e
|
| 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 0.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.