Initialize agent project facade
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
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
|
||||
Reference in New Issue
Block a user