Repository Validate / repository-checks (pull_request) Successful in 2s
Bootstrapped the repository-root toolkit tree required by the facade. - `tools/__init__.py`: minimal importable package exposing `__version__` only. - `tools/example.py`: offline CLI (`python -m tools.example REQUEST`) that loads and validates a JSON request document with a validate-only `dry_run` semantics, prints exactly one structured JSON envelope (sorted keys) and fixes the status/exit vocabulary now (0 ok, 1 invalid request document, 2 usage error). `--help` supported. - `examples/input.json`: canonical offline validate-only request document. - `tests/test_example.py`: focused tests for the smoke command, envelope shape, request-document validation, `--help`, and the module entrypoint (13 tests). - `pyproject.toml`: project metadata, setuptools build backend with `packages = ["tools"]`, `dev` extra with `pytest>=8.0`, pytest options `pythonpath=["."]` / `testpaths=["tests"]` so the repository root is importable. - `uv.lock`: created through the supported dependency update operation for the `tools` component; pinned only from the approved dependency mirror (no public-index fallbacks, no credentials). - `.gitignore` / `.env.example`: keep build artifacts out of the tree and document that no environment variables are required. Note: `requires-python` was raised to `>=3.11` because the approved mirror only offers `exceptiongroup<1.0.0rc8`, which cannot satisfy pytest on Python <3.11; the prepared environment (CPython 3.12.3) and CI bootstrap interpreter satisfy this. No protected facade paths were modified. Tests: Ran the facade commands with the prepared environment (`.venv/bin/python`): - `python -m compileall -q tools tests` -> OK (tools.validate) - `python -m pytest -q` -> 13 passed (tools.test) - `python -m tools.example examples/input.json` -> single JSON envelope, exit 0 (tools.smoke) - `python -m tools.example --help` -> usage text, exit 0 (help-command) Dependency lock/materialization performed via prepare_environment(component='tools', mode='update'): resolved + materialized, `uv.lock` written. Target branch `origin/task/1-task` is already an ancestor of HEAD, so the branch contains the current target. Progress: Created tools package (tools/__init__.py, tools/example.py), examples/input.json, tests/test_example.py, .gitignore, .env.example; updated pyproject.toml (metadata, setuptools packages, dev pytest extra, pytest pythonpath/testpaths, requires-python >=3.11 due to approved-mirror exceptiongroup constraint) and generated uv.lock via prepare_environment update. Facade validate/test/smoke and --help all pass locally. Published by developer-agent through Tool Backend. Closes #3
64 lines
2.3 KiB
TOML
64 lines
2.3 KiB
TOML
version = 1
|
|
revision = 5
|
|
requires-python = ">=3.11"
|
|
|
|
[[package]]
|
|
name = "colorama"
|
|
version = "0.4.6"
|
|
source = { registry = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/simple" }
|
|
wheels = [
|
|
{ url = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/files/colorama/0.4.6/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" },
|
|
]
|
|
|
|
[[package]]
|
|
name = "iniconfig"
|
|
version = "2.3.1"
|
|
source = { registry = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/simple" }
|
|
wheels = [
|
|
{ url = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/files/iniconfig/2.3.1/iniconfig-2.3.1-py3-none-any.whl", hash = "sha256:9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f499790d7a7" },
|
|
]
|
|
|
|
[[package]]
|
|
name = "packaging"
|
|
version = "26.3"
|
|
source = { registry = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/simple" }
|
|
wheels = [
|
|
{ url = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/files/packaging/26.3/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" },
|
|
]
|
|
|
|
[[package]]
|
|
name = "pluggy"
|
|
version = "1.7.0"
|
|
source = { registry = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/simple" }
|
|
wheels = [
|
|
{ url = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/files/pluggy/1.7.0/pluggy-1.7.0-py3-none-any.whl", hash = "sha256:7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec" },
|
|
]
|
|
|
|
[[package]]
|
|
name = "product-54354138-1-tools"
|
|
version = "0.1.0"
|
|
source = { editable = "." }
|
|
|
|
[package.optional-dependencies]
|
|
dev = [
|
|
{ name = "pytest" },
|
|
]
|
|
|
|
[package.metadata]
|
|
requires-dist = [{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8.0" }]
|
|
provides-extras = ["dev"]
|
|
|
|
[[package]]
|
|
name = "pytest"
|
|
version = "8.3.3"
|
|
source = { registry = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/simple" }
|
|
dependencies = [
|
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
{ name = "iniconfig" },
|
|
{ name = "packaging" },
|
|
{ name = "pluggy" },
|
|
]
|
|
wheels = [
|
|
{ url = "https://git.p2prod.ru/api/packages/dependency-mirror/pypi/files/pytest/8.3.3/pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2" },
|
|
]
|