A collection of read/write filters for markdown representations of other content formats, including epub3.
Find a file
codex ac0d9055d8
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
docs(agents): repoint remote State Hub URL to the in-cluster address
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.

Refs CUST-WP-0067-T07

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 00:21:21 +02:00
.claude/rules docs: workplan-first agent guidance prose (CUST-WP-0055 T04 batch 5) 2026-07-08 19:51:39 +02:00
.forgejo/workflows Add Forgejo CI smoke workflow (enablement template) 2026-07-08 12:34:22 +02:00
docs Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
examples/source-attachments Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
registry Draft capability entry (reuse-surface REUSE-WP-0017-T04, cohort 2) 2026-07-06 19:41:37 +02:00
src/markitect_filter Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
tests Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
workplans Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:27 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-07-03 18:48:30 +02:00
.gitignore Initial commit 2026-05-14 18:06:43 +00:00
.repo-classification.yaml Add .repo-classification.yaml (CUST-WP-0050 T11 agent first-pass) 2026-06-22 17:47:38 +02:00
AGENTS.md docs(agents): repoint remote State Hub URL to the in-cluster address 2026-08-25 00:21:21 +02:00
CLAUDE.md Add credential routing instructions for all agent runtimes 2026-06-18 22:48:38 +02:00
INTENT.md Added intent specification 2026-05-14 20:40:24 +02:00
LICENSE Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout) 2026-07-30 00:31:06 +02:00
pyproject.toml feat(source): add pdf read adapter 2026-05-14 23:33:31 +02:00
README.md Add source attachment metadata compatibility 2026-05-15 14:36:24 +02:00
SCOPE.md Add repository scope profile 2026-05-15 15:20:33 +02:00

markitect-filter

markitect-filter provides concrete source-format adapters for converting external document formats into canonical Markitect Markdown representations.

The first adapters are read-only source adapters that implement the markitect-tool source adapter contract:

  • source.epub3 for EPUB3 packages
  • source.pdf for digitally-readable PDFs

Development

Run tests from this checkout:

PYTHONPATH=src:/home/worsch/markitect-tool/src python3 -m pytest

The EPUB3 adapter is registered through:

[project.entry-points."markitect_tool.source_adapters"]
epub3 = "markitect_filter.adapters:epub3_adapter_descriptor"
pdf = "markitect_filter.adapters:pdf_adapter_descriptor"

The first PDF slice is stdlib-only and targets deterministic text extraction from local, digitally-readable PDFs. OCR, scanned-document recognition, and layout-perfect reconstruction are intentionally deferred.

Read-side attachment metadata is exposed through NormalizedMarkdownDocument.attachments for EPUB3 package resources, PDF embedded files, and PDF image-resource signals. See docs/source-attachment-metadata.md for the handoff contract to passive render asset manifests.