pagepiper/web
pyr0ball f941ebdeeb feat: add ODT and Apple Pages document support, wire DOCX into UI
Extends Pagepiper's document shelving pipeline (renamed from "ingest" —
see below) to cover the formats most likely to appear in a real-world
engineering document corpus, prompted by scoping a STERIS licensing pitch
that needs DOCX/ODT coverage.

- Rename the ingest pipeline to "shelve" throughout (scripts/, app/api,
  tests, docs, frontend). "Glean" (Turnstone's term) was considered and
  rejected — that's a harvest metaphor for log/knowledge extraction,
  not a fit for documents entering a library. Documented as a general
  CF naming principle in the org-level CLAUDE.md.
- Wire DOCX into the upload/scan UI, README, and docs — the extraction
  logic (heading-based chunking, table serialization) already existed
  but wasn't exposed to users or covered by tests.
- Add ODT support via odfpy, mirroring DOCX's chunking strategy.
- Add Apple Pages support via headless LibreOffice conversion to ODT.
  No maintained Python library parses the IWA format directly; libreoffice
  bundles libetonyek, the only real open-source Pages parser. Adds
  libreoffice-writer to the Docker image (~300-400MB) for this.
- 24 new/updated tests across shelve_docx, shelve_odt, and shelve_pages;
  full suite (72 tests) passing.

Known gaps not addressed here: no Windchill/DocPortal connector exists
yet (metadata-only PowerShell recon only), Excel/.xlsx is unsupported,
and circuitforge_core.tasks.dispatch_task does not currently exist in
circuitforge-core — cf-orch dispatch is dead code, always falling
through to local BackgroundTasks. See
circuitforge-plans/pagepiper/superpowers/plans/2026-07-10-steris-licensing-pitch.md
for the full writeup.
2026-07-10 13:58:43 -07:00
..
.vscode feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
public feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
src feat: add ODT and Apple Pages document support, wire DOCX into UI 2026-07-10 13:58:43 -07:00
.gitignore feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
env.d.ts feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
index.html feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
package-lock.json feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
package.json feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
README.md feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
tsconfig.app.json feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
tsconfig.json feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
tsconfig.node.json feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00
vite.config.ts feat(web): add Vue 3 frontend scaffold -- LibraryView, DocumentCard, IngestProgress 2026-05-04 17:57:48 -07:00

web

This template should help get you started developing with Vue 3 in Vite.

VS Code + Vue (Official) (and disable Vetur).

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.

Customize configuration

See Vite Configuration Reference.

Project Setup

npm install

Compile and Hot-Reload for Development

npm run dev

Type-Check, Compile and Minify for Production

npm run build