Initialize agent project facade

This commit is contained in:
2026-11-02 22:37:32 +00:00
parent 1b21e0ba82
commit d4d6297e0a
+166
View File
@@ -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