Add 9 built-in classification profile definitions as YAML files bundled
via include_str! for the document type classifier (Phase 5.6).
- Create profiles/builtin/classification/{invoice,receipt,contract,scientific_paper,slide_deck,form,bank_statement,legal_filing,book_chapter}.yaml
- Implement load_builtins() in profiles module with profiles feature gate
- Each profile uses MatchPredicate schema with text patterns, structural signals, page counts
- Add comprehensive unit tests for profile loading and feature gate
Closes: pdftract-5sdd
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
36 lines
628 B
YAML
36 lines
628 B
YAML
name: Legal Contract
|
|
type: contract
|
|
threshold: 0.6
|
|
predicates:
|
|
- kind: text_contains
|
|
pattern: whereas
|
|
weight: 0.25
|
|
case_sensitive: false
|
|
min_hits: 1
|
|
|
|
- kind: text_contains
|
|
pattern: agreement
|
|
weight: 0.2
|
|
case_sensitive: false
|
|
min_hits: 1
|
|
|
|
- kind: text_contains
|
|
pattern: party
|
|
weight: 0.15
|
|
case_sensitive: false
|
|
min_hits: 1
|
|
|
|
- kind: heading_depth_at_least
|
|
depth: 2
|
|
weight: 0.15
|
|
|
|
- kind: page_count_in_range
|
|
min: 2
|
|
max: 50
|
|
weight: 0.15
|
|
|
|
- kind: text_contains
|
|
pattern: terms and conditions
|
|
weight: 0.1
|
|
case_sensitive: false
|
|
min_hits: 1
|