feat(schema): add semantic schema generation as default mode

schema-generate now builds content-aware schemas from the document's
section hierarchy instead of counting markdown syntax elements. Detects
key-value tables, data tables, link lists, and mixed content patterns
to produce schemas that reflect the actual document outline.

Old behavior preserved via --mode syntactic. Validator and visualization
tools pinned to syntactic mode for compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-02-16 18:49:50 +01:00
parent 120ed89780
commit 60f33443ae
8 changed files with 408 additions and 55 deletions

View file

@ -63,7 +63,7 @@ class SchemaValidator:
# Generate the document's current structure
try:
document_schema = self.schema_generator.generate_schema_from_file(file_path)
document_schema = self.schema_generator.generate_schema_from_file(file_path, mode='syntactic')
except Exception as e:
raise SchemaValidationError(f"Failed to generate document schema: {e}") from e
@ -307,7 +307,7 @@ class SchemaValidator:
# Generate the document's current structure
try:
document_schema = self.schema_generator.generate_schema_from_file(file_path)
document_schema = self.schema_generator.generate_schema_from_file(file_path, mode='syntactic')
except Exception as e:
error_collector.add_error(
ValidationErrorType.STRUCTURAL_VIOLATION,