Skip to main content

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