167 lines
3.7 KiB
YAML
167 lines
3.7 KiB
YAML
schema_version: 2
|
|
registry:
|
|
required_profiles:
|
|
- project/script_toolkit@1
|
|
- language/python@1
|
|
- runtime/command_line@1
|
|
- framework/python_scripts@1
|
|
- interface/cli@1
|
|
- environment/python_environment@1
|
|
- tool/python_pytest@1
|
|
- acceptance/cli_command@1
|
|
- acceptance/package_import@1
|
|
project:
|
|
kind: script_toolkit
|
|
name: product-54354138-1
|
|
contract:
|
|
required_paths:
|
|
- tools
|
|
- tests
|
|
- tests/test_example.py
|
|
- tools/example.py
|
|
- examples/input.json
|
|
support_paths:
|
|
- .env.example
|
|
- pyproject.toml
|
|
- uv.lock
|
|
command_paths:
|
|
- tools
|
|
- tests
|
|
- tests/test_example.py
|
|
- tools/example.py
|
|
- examples/input.json
|
|
protected_paths:
|
|
exact:
|
|
- .agent/project.yaml
|
|
- .agent/acceptance.yaml
|
|
prefixes:
|
|
- .gitea/workflows/
|
|
configuration:
|
|
files:
|
|
- id: sample-input
|
|
path: examples/input.json
|
|
kind: input_example
|
|
required: true
|
|
- id: example-env
|
|
path: .env.example
|
|
kind: env_example
|
|
required: true
|
|
environment:
|
|
required: []
|
|
optional:
|
|
- LOG_LEVEL
|
|
components:
|
|
- id: tools
|
|
kind: toolkit
|
|
languages:
|
|
- python
|
|
runtime: command_line
|
|
interfaces:
|
|
- cli
|
|
framework_profiles:
|
|
- python_scripts
|
|
environment:
|
|
profile: python_environment
|
|
dependency_files:
|
|
- pyproject.toml
|
|
required_commands:
|
|
- python
|
|
path_prepend:
|
|
- .venv/bin
|
|
bootstrap:
|
|
command: python -m venv .venv && .venv/bin/python -m pip install -e '.[dev]'
|
|
owner: facade
|
|
repair_role: provisioner
|
|
required_paths:
|
|
- pyproject.toml
|
|
ephemeral_paths:
|
|
- .venv
|
|
dependencies:
|
|
model: language/python@1:uv_project
|
|
working_directory: .
|
|
manager: uv
|
|
manifests:
|
|
- pyproject.toml
|
|
resolution_files:
|
|
- uv.lock
|
|
reproducibility: lockfile
|
|
operations:
|
|
update:
|
|
status: supported
|
|
phases:
|
|
- id: resolve
|
|
command: uv lock
|
|
failure_disposition: continue_session
|
|
- id: materialize
|
|
command: uv sync --locked --no-default-groups --extra dev
|
|
failure_disposition: recreate_session
|
|
restore:
|
|
status: supported
|
|
phases:
|
|
- id: materialize
|
|
command: uv sync --locked --no-default-groups --extra dev
|
|
failure_disposition: recreate_session
|
|
requirements:
|
|
- id: python_pytest
|
|
profile: tool/python_pytest@1
|
|
provision_source: project_dependency
|
|
dependency_role: test
|
|
package:
|
|
ecosystem: python
|
|
name: pytest
|
|
commands:
|
|
validate:
|
|
verification_roles:
|
|
- artifact_validation
|
|
- quality_gate
|
|
command: python -m compileall tools tests
|
|
required_paths:
|
|
- pyproject.toml
|
|
- tools
|
|
- tests
|
|
test:
|
|
verification_roles:
|
|
- automated_test
|
|
- quality_gate
|
|
execution_profile: tool/python_pytest@1
|
|
command: pytest
|
|
required_paths:
|
|
- pyproject.toml
|
|
- tests/test_example.py
|
|
smoke:
|
|
verification_roles:
|
|
- behavior_smoke
|
|
- integration_validation
|
|
command: python -m tools.example examples/input.json
|
|
config: sample-input
|
|
required_paths:
|
|
- pyproject.toml
|
|
- tools/example.py
|
|
- examples/input.json
|
|
acceptance:
|
|
- id: import-package
|
|
verification_roles:
|
|
- artifact_validation
|
|
kind: package_import
|
|
component: tools
|
|
package: tools
|
|
- id: help-command
|
|
verification_roles:
|
|
- interface_acceptance
|
|
kind: cli_command
|
|
component: tools
|
|
config: sample-input
|
|
command: python -m tools.example --help
|
|
expect_exit_code: 0
|
|
required_paths:
|
|
- tools/example.py
|
|
ci:
|
|
required: true
|
|
required_checks:
|
|
- repository_validation
|
|
required_commands:
|
|
- validate
|
|
- test
|
|
facade_placement:
|
|
kind: repository_root
|