Adds link_discovery.py: sitemap-first, same-domain-crawl-fallback
discovery of sub-pages from a single index URL, so a source with many
sub-pages no longer needs each page entered by hand. Never pulls page
titles or body text into a ticket field, only URLs, to avoid a
prompt-injection path into tickets Claude Code later reads. Adds a
review-and-approve screen so nothing is queued without a human
checking the actual discovered list first.
Replaces the free-text licence field with a required typed permission
question, since licence itself is better researched from the source
during actual processing rather than typed in at ticket time. Replaces
the priority dropdown with a single urgent checkbox.
Fixes a few real bugs found along the way: colliding ticket filenames
when writing many tickets in one batch, a couple of layout issues
where long labels or URLs were getting clipped instead of wrapping or
scrolling, and dead links slipping through discovery from malformed
relative link resolution
Implements the human-facing front door to the Ambrosiana RAG pipeline:
a Textual TUI that collects document-intake metadata (source location,
type, tier, licence, priority, optional title/notes) and writes a
structured markdown ticket for Claude Code to act on. The app never
touches the pipeline, any agent, or any model.
- Tickets write flat into a configured tickets_root (no immediate/
queue subdirectories); priority is encoded in the filename instead
(immediate_ prefix vs. no prefix for normal queue/order-of-arrival).
- tickets_root is read from ~/.config/ambrosiana-intake/config.toml,
auto-created with a sensible default on first run rather than
hardcoded.
- Save clears the form and fires a toast notification, fixing a bug
where the confirmation message rendered below the visible viewport
on any normal terminal size, giving no visible sign a save succeeded.
- Verified clean against flake8 and pylint per the CE OS script
styleguide.
- Adds TODO.md tracking open items, including a cross-project link
with the RIS design spec on multi-page document-set handling.
Created by John A. Hoeven with the ethical assistance of Claude AI.