You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
YAML language parser — parses .yaml/.yml files with multi-doc support (---). Each document becomes a Resource concept with raw parsed dict stored in body_extra.yaml_doc for downstream classification. PyYAML-based — no tree-sitter dependency.
Domain classification engine — new Layer 3 architecture (okf/domains/engine.py) that re-classifies YAML concepts using data-driven rule files. Rules are pure YAML data — no Python code required for new domains.
Crossplane domain rules — built-in okf/domains/rules/crossplane.yaml with 8 rules: XRD, Composition V1/V2, ProviderConfig, Provider, Configuration, catch-all ManagedResource. V1 vs V2 Compositions are distinguished via has_key and spec.mode matching.
has_key match primitive — presence-check operator for rule matching (has_key: spec.resources). Used for V1 legacy style detection.
okf domains list — lists all discoverable domain rule sets (built-in + project-local).
okf domains validate <file> — validates a rule file against the schema (required fields, valid operators, extract/link structure).
Rule audit logging — classify() logs per-rule match counts so users can verify their rules fired correctly.
Crossplane V2 function name extraction — spec.pipeline[*].functionRef.name is extracted into concept fields, surfacing function names like function-kro.
Language count — 17 → 18 (added YAML). Docs updated across README, docs/index.html, docs/index.md, languages-and-manifests.md.
Crossplane rules restructured — three Composition rules (V2 pipeline, V1 resources, generic fallback) with distinct tags instead of a single generic Composition rule.