Project
title: "Service ownership contract" description: "Ownership boundaries across loupe-pdf (display and visual inspection UX), lint-pdf (reporting, policy/rules, preflight workflow orchestration), and codex-pdf (extraction and normalized document intelligence)." group: "Project" order: 13
Service Ownership Contract
This contract defines ownership boundaries across:
loupe-pdf: display and visual inspection UXlint-pdf: reporting, policy/rules, preflight workflow orchestrationcodex-pdf: extraction and normalized document intelligence
Lint ownership (this repo)
Lint owns policy and workflow semantics:
- rules/profile evaluation and pass-fail logic
- findings, reports, and customer-facing rule outcomes
- preflight workflow orchestration and execution lifecycle
- additive enrichment over upstream extraction signals when needed
Lint does not own:
- core extraction normalization from raw PDF internals
- viewer rendering and interaction UI concerns
Cross-service boundaries
- Consume Codex extraction/summary outputs, then apply policy.
- Publish decisions and report semantics for UI/API consumers.
- Keep rendering in Loupe so display concerns stay reusable.
Future offshoot rule
For new products (Forge, Trap, Impose, Marks, etc.), map each capability to one owner:
- Display/inspection UX -> Loupe layer
- Rules/reporting/workflow -> Lint layer
- Extraction/normalized intelligence -> Codex layer
If a feature spans layers, split by contract. Avoid duplicated rule engines or extraction stacks in offshoot repos.