Markitect schema-validation integration use case and fixture for Markdown proxy documents

This commit is contained in:
2026-05-06 04:03:50 +02:00
parent c271385e35
commit dbe93be1a9
16 changed files with 518 additions and 12 deletions

View File

@@ -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)