Open
Conversation
Add test suite for manifest metadata fields (YAML anchors and extensions). RED PHASE: All tests fail because extra fields are currently forbidden. Tests cover: - Allowed metadata fields (.anchor, _meta, x-custom) - Unknown fields (random_field) - Mixed scenarios After implementation in GREEN phase, these tests will pass. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Implement support for YAML anchors and metadata fields in AgentsManifest. - Set extra='allow' in model_config to accept extra fields - Add validate_extra_fields() model validator to warn about unknown fields - Allowed prefixes: '.' (anchors), '_' (metadata), 'x-' (extensions) - Unknown fields log WARNING but don't raise ValidationError - Fix tests to check agent.model.identifier instead of agent.model All tests pass (GREEN phase). Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- Change logger.warning from f-string to lazy % format (ruff G004) - Add isinstance(agent.model, StringModelConfig) checks for mypy strict mode - Add StringModelConfig import from llmling_models_config - Remove debug_validation.py (debug file, not needed in repo)
Add patternProperties in json_schema_extra to allow `.`, `_`, `x-` prefixed fields without YAML LSP warnings. Add comprehensive tests for schema validation and YAML anchor functionality.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolves #12 - Enables support for YAML anchors and metadata fields in
AgentsManifestconfiguration files.Changes
New Features
.,_, andx-for YAML anchors and custom metadata&default_settings) and reference them (e.g.,*default_settings) to reduce configuration duplicationImplementation
src/agentpool/models/manifest.py:extra="allow"inmodel_configto accept extra top-level fields@model_validator(mode="after")to validate and warn about unknown fieldstests/manifest/test_metadata_fields.py:.anchor,_meta,x-custom)Test Coverage
All tests passing (27/27):
Example Usage
Technical Details
validate_extra_fields()method checks all extra top-level keys.(dot) - for YAML anchors and hidden fields_(underscore) - for internal/metadata fieldsx-- for custom extensions (following OpenAPI convention)"Unknown field '{key}' in manifest. This field will be IGNORED."Related Issue
Fixes #12