generated from coulomb/repo-seed
Markitect schema-validation integration use case and fixture for Markdown proxy documents
This commit is contained in:
@@ -23,6 +23,7 @@ INTERNAL = EXAMPLE_ROOT / "corpus" / "internal-risk-note.md"
|
||||
BUNDLE = EXAMPLE_ROOT / "composition" / "context-bundle.md"
|
||||
MANIFEST = EXAMPLE_ROOT / "manifests" / "agent-context.yaml"
|
||||
CONTRACT = EXAMPLE_ROOT / "contracts" / "decision-record.contract.md"
|
||||
SCHEMA = EXAMPLE_ROOT / "schemas" / "adr-proxy.schema.md"
|
||||
|
||||
|
||||
def test_markitect_parser_returns_structured_markdown_document() -> None:
|
||||
@@ -170,3 +171,16 @@ def test_markitect_document_contracts_accept_valid_and_report_invalid_documents(
|
||||
assert invalid.valid is False
|
||||
assert "contract.section.missing" in invalid_codes
|
||||
assert "contract.section.forbidden" in invalid_codes
|
||||
|
||||
|
||||
def test_markitect_schema_validation_accepts_markdown_proxy_documents() -> None:
|
||||
loaded_schema = mkt.load_schema_file(SCHEMA)
|
||||
schema_check = mkt.validate_schema(loaded_schema.schema)
|
||||
valid = mkt.validate_markdown_file(ADR, SCHEMA)
|
||||
invalid = mkt.validate_markdown_file(INVALID_ADR, SCHEMA)
|
||||
|
||||
assert loaded_schema.metadata["schema-id"] == "kontextual-engine.markdown-proxy.adr.v1"
|
||||
assert schema_check.valid is True
|
||||
assert valid.valid is True
|
||||
assert invalid.valid is False
|
||||
assert any("Decision" in violation.message for violation in invalid.violations)
|
||||
|
||||
Reference in New Issue
Block a user