operator-configured TSA / OCSP / CRL endpoints,
reproducible output, deterministic releases). Faithful thin wrapper: every PDF feature lives in
the engine; never reimplement one, never over-promise (state engine limits
when adding a new MCP server or debugging "no output" / early-exit failures. |
| pdf | `**/pdf/**/*.pdf, **/reports/**/*.pdf, **/pdf*.py, **/pdf*.ts, **/pdf*.js, **/generate*pdf*, **/*pdf*generator*` — Use this
multimodal RAG (Retrieval-Augmented Generation) system** that enables intelligent search across documents (PDF, DOCX), images, and audio files. The architecture follows a **local-first approach** - all processing happens on-device
Python Scripts**:
- Use `scripts/hl_v3_final/hl_lib.py` for all sentence locating, bounding rect generation, and tri-modal PDF annotations.
- Use `scripts/provider_llm.py` and `scripts/provider_vision.py` for model provider abstraction.
- Verify tests with `python3 scripts/hl_v3_final/test_hl_lib.py
titles deck.pptx # read the assertions as prose: do they argue?
soffice --headless --convert-to pdf deck.pptx && pdftoppm -png -r 70 deck.pdf p
```
The rendered output is the truth
file size, and per-page dimensions as JSON; no comparison. Optional `password`.
Supported formats: PDF, DOCX, XLSX, PPTX, ODT, ODS, ODP, RTF, TXT, HTML, and 30+ more.
## Building this repo
package `src/acikpoz/`. The pipeline is layered so parsing logic is testable without a real PDF:
- `model.py` — `Poz` dataclass; every possibly-missing field is `Optional`, defaulting to `None`.
- `parser.py` — coordinate/geometry parser
diagnose, interpret law authoritatively, or replace counsel.
## Workflow-specific entry points
- For SNF PDF records, load `elder-care-casework/skills/snf-records-review/SKILL.md`, `RUBRIC.md`, and `REVIEWER_PROMPT.md` before reviewing.
- For audio recordings, transcripts, plan
PDFs live under `samples/synthetic-documents/`.
- The unified evidence API accepts one atomic `1..N` unlabeled-PDF batch; never infer document type from a filename. Only a commit marker may trigger
Generation** (up to `PHASE2_MAX_ITERATIONS`, only if Phase 1 produced a PDF):
- Each iteration is a generate pass followed by a validate pass
- Generate: invokes Copilot with a prompt
skill's `package.json` for further deps and MCP server requirements.
### SKILL.md format
```yaml
---
name: pdf-processing # 1-64 chars, lowercase + digits + hyphens
description: Extract text and tables from PDF files
technical user descriptions of garden structures (pergolas, gazebos, pavilions) into professional-grade structural construction PDF packages. It is installed into agentic environments (Claude Cowork, Antigravity, Gemini CLI) via the plugin
universal median-cut pattern: baked-in hard negatives, ANOVA-inspired, data-level contrastive learning.
- `pdf-extraction` is the standalone PDF -> enriched-Markdown workflow and uses
`class-balancing` for its layout
matching decoder; never substitute current pixels.
Mutation guards still use current records.
- When pdf_fields_enabled is advertised, read_pdf_fields/read_pdf_field pin
asset/revision; single-field reads add the exact pdf