Skip to content

feat(skills): add spgr-ingest-document for supplied PDF and Office sources - #15

Merged
z4gunn merged 2 commits into
mainfrom
feat/ingest-document
Oct 4, 2026
Merged

z4gunn merged 2 commits into
mainfrom
feat/ingest-document

Conversation

@z4gunn

@z4gunn z4gunn commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Area 7 of 11: document ingestion

spgr-read-file refuses binaries, while the content-sources rule needs a supplied PDF or Office spec as text under docs/inputs/. New mechanical skill spgr-ingest-document: markitdown by default, docling as the escalation for a PDF with no headings, near-empty text, or --tables, a YAML provenance block with sha256 and converter version, an extraction-confidence signal, a collision guard, exit 0/1/2. Both engines are optional and preflight reports them. Nine hermetic tests with fake binaries. Neither engine is installed here, so the real-tool path is documented, not exercised.

Stacked PR: merge in order, this one after its base branch. Merge with a merge commit, as the earlier PRs were.

🤖 Generated with Claude Code

z4gunn and others added 2 commits October 4, 2026 15:55
…ice sources

spgr-read-file refuses a binary file, and the content-sources rule needs
every cited fact as text under docs/inputs/. A spec or brand guide handed
over as PDF, DOCX, PPTX, or XLSX therefore had no citable in-repo form. The
new mechanical skill runs markitdown by default, escalates a thin or
table-heavy PDF to docling when it is installed, writes the Markdown with a
provenance header (source sha256, converter, version, date), and marks the
output needs-human-input when the figures cannot be trusted, so they become
intake questions instead of cited facts. Both engines are optional and the
script exits 2 when a document needs one and none is present.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e instance allowlist

preflight reports markitdown and docling as optional rows so a run knows at
open whether a supplied document can be converted. The PM intake sweep names
spgr-ingest-document for any document that arrives as a file, the
content-sources rule says a supplied document becomes its in-repo source
through it, spgr-read-file routes a binary document to it instead of
stopping, and the instance allowlist admits the two converters and the
script so a run does not stall on a permission prompt.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Base automatically changed from feat/copy-standards to main October 4, 2026 23:17
@z4gunn
z4gunn merged commit ebf2f86 into main Oct 4, 2026
1 check passed
@z4gunn
z4gunn deleted the feat/ingest-document branch October 4, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant