classify_document.py - Document Classification Hook Handler
Automatically classifies markdown documents using pattern-based analysis. Called by classify-document.sh hook after Write/Edit operations.
Features:
- Detects if file already has type: in frontmatter (skips if so)
- Uses multi-signal classification (frontmatter, content, structure, path)
- Updates frontmatter with classification result
- Logs all classifications to .coditect/classification-log.jsonl
Usage: python3 classify_document.py /path/to/file.md
File: classify_document.py
Classes
ClassificationResult
Result of document classification.
Functions
extract_frontmatter(content)
Extract YAML frontmatter from markdown content.
has_type_in_frontmatter(frontmatter)
Check if frontmatter already contains a type field.
classify_document(file_path, content)
Classify a document using multi-signal analysis.
generate_frontmatter(classification, file_path)
Generate YAML frontmatter for a document type.
update_file_frontmatter(file_path, content, classification)
Add or update frontmatter with classification.
log_classification(result, log_dir)
Log classification result to JSONL file.
main()
No description
Usage
python classify_document.py