From 26882c5ed2500c4bea7404933f975b4656bfe46f Mon Sep 17 00:00:00 2001 From: prompt.ac/@jeffrey Date: Sat, 08 Aug 2026 01:26:07 +0000 Subject: [PATCH] papers: add sleuth source index --- papers/SCORE.md | 9 +++++++++ papers/sleuth/README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ papers/sleuth/sources.json | 21 +++++++++++++++++++++ system/public/papers.aesthetic.computer/index.html | 2 +- system/public/papers.aesthetic.computer/platter.html | 1 + system/public/papers.aesthetic.computer/sleuth/index.html | 30 ++++++++++++++++++++++++++++++ system/public/papers.aesthetic.computer/sleuth/sources.json | 15 +++++++++++++++ 7 file(s) changed, 129 insertion(s)(+), 1 deletion(s)(-) diff --git a/papers/SCORE.md b/papers/SCORE.md --- a/papers/SCORE.md +++ b/papers/SCORE.md @@ -178,6 +178,15 @@ | [`xbox-native-fleet`](gear-guess-xbox-native-fleet/xbox-native-fleet.tex) | Three native screens, a narrow tailnet route, and no imaginary pooled GPU | guess 1 | ## Tooling +### Sleuth source index + +[`sleuth/`](sleuth/) is the platter's routing index for search mechanisms, +online databases, browser skills, and private collection routes. Consult it +before a research pass. It is especially important for sparse media pages: +search Vimeo or another host directly by URL, numeric ID, uploader, and event +context instead of assuming a general web index is complete. The machine- +readable registry is [`sleuth/sources.json`](sleuth/sources.json). + The mill's code lives at the top of `papers/` and in [`bin/`](bin/). All scripts are runnable as `node papers/bin/.mjs`. ### Top-level (build, deploy, index) diff --git a/papers/sleuth/README.md b/papers/sleuth/README.md new file mode 100644 --- /dev/null +++ b/papers/sleuth/README.md @@ -0,0 +1,52 @@ +# Sleuth + +Sleuth is the research platter's source-and-search index: a compact record of +where a lead can be searched, which mechanism reaches it, what the browser or +collection skill contributes, and what evidence should be retained. + +This is an index, not a crawler. Search results are leads; a source is only +confirmed after opening the primary page or file and recording its stable URL, +identifier, title, creator, date, access state, and the claim it supports. + +## Routing + +1. Start with `sources.json` and choose the narrowest source that can answer + the question. +2. Search the source directly when a general web search is incomplete. This is + essential for sparse video pages, old archives, and private collections. +3. Use browser inspection for pages whose useful state is visual or interactive. +4. Keep private-vault paths and tokens out of published notes. Record the + public citation and a local provenance note instead. +5. Add the stable identifier to the working paper bibliography or evidence log. + +## Source index + +| Source | Mechanism | Skill / collection move | Evidence to keep | +| --- | --- | --- | --- | +| Vimeo | Direct URL/ID, Vimeo search, uploader pages, web search fallback | `browser-use:browser`; inspect title, uploader, description, player metadata, and numeric ID | canonical Vimeo URL, video ID, uploader, duration, capture date | +| YouTube | YouTube search, Data API when authorized, channel/playlist pages | YouTube pipeline plus `browser-use:browser` for Studio/player state | watch URL or video ID, channel, title, upload date | +| Internet Archive | Advanced Search, item pages, files/metadata API | browser + `ffprobe`/OCR/transcription for media | item identifier, file name, checksum or archive URL | +| Dropbox vault | Dropbox API search and temporary links; never publish credentials | vault read, filename variants, media metadata, local inspection | Dropbox path, file name, size/date, local provenance; no token | +| Web archives | Wayback/CDX and page snapshots | browser; compare capture dates and linked media | archived URL, capture timestamp, original URL | +| Scholarly indexes | Crossref, OpenAlex, Semantic Scholar, library catalogs | DOI/title/author disambiguation, then primary-source retrieval | DOI or catalog ID, edition, publisher, access date | +| Institutional archives | University, museum, festival, and venue pages | browser; event-program and embedded-media inspection | institution URL, event date, venue, speaker, media link | +| Papers platter | `paper_list`, `paper_find`, `paper_read`, local manifests | consult SCORE, sub-platter README/manifest, prior bibliography | consulted files, revision/date, provenance gap | + +## Video-specific rule + +Do not infer identity from a generic title. For a video such as a page titled +“GOODIEPAL”, search by the numeric Vimeo ID, uploader, related event, and local +archive filenames (`Goodiepal.mp4`, `lecture`, `radical`, venue names). A short +clip and a longer source should be linked as separate evidence items. + +## Browser and collection skills + +- `browser-use:browser` is the visual/browser inspection route for live pages, + local previews, screenshots, and interactive state. +- The web search connector is a discovery route, not a completeness guarantee. +- Dropbox and other vault connectors are private collection routes; they may + locate evidence but do not authorize publishing private material. +- Media inspection uses the repository QoS shims (`ffprobe`, `ffmpeg`) and + preserves the original file path or stable remote identifier in notes. + +See [`sources.json`](sources.json) for machine-readable routing data. diff --git a/papers/sleuth/sources.json b/papers/sleuth/sources.json new file mode 100644 --- /dev/null +++ b/papers/sleuth/sources.json @@ -0,0 +1,21 @@ +{ + "name": "sleuth", + "version": 1, + "purpose": "Index of research search mechanisms, online databases, browser skills, and collection routes for the papers platter.", + "rules": [ + "Search the narrowest primary source directly.", + "Treat generic web results as leads, not confirmation.", + "Record stable identifiers and provenance before citing.", + "Never publish private vault credentials or unreviewed private paths." + ], + "sources": [ + {"id":"vimeo","kind":"video","mechanisms":["direct-url-or-id","vimeo-search","uploader-pages","web-search-fallback"],"skills":["browser-use:browser"],"evidence":["canonical URL","numeric video ID","uploader","duration","capture date"]}, + {"id":"youtube","kind":"video","mechanisms":["youtube-search","data-api-when-authorized","channel-pages","playlist-pages"],"skills":["browser-use:browser","toolchain/youtube"],"evidence":["watch URL","video ID","channel","title","upload date"]}, + {"id":"internet-archive","kind":"archive","mechanisms":["advanced-search","item-pages","metadata-api"],"skills":["browser-use:browser","ffprobe","ocr-or-transcription"],"evidence":["item identifier","file name","checksum-or-archive URL"]}, + {"id":"dropbox-vault","kind":"private-collection","mechanisms":["dropbox-api-search","temporary-links","filename-variants"],"skills":["vault-read","media-metadata","local-inspection"],"evidence":["Dropbox path","file name","size/date","local provenance note"],"privacy":"never publish credentials; review private material before surfacing"}, + {"id":"web-archives","kind":"archive","mechanisms":["wayback","cdx","snapshot-links"],"skills":["browser-use:browser"],"evidence":["archived URL","capture timestamp","original URL"]}, + {"id":"scholarly-indexes","kind":"bibliographic","mechanisms":["crossref","openalex","semantic-scholar","library-catalogs"],"skills":["doi-and-author-disambiguation"],"evidence":["DOI-or-catalog-ID","edition","publisher","access date"]}, + {"id":"institutional-archives","kind":"event-and-media","mechanisms":["institution-pages","museum-pages","festival-programs","venue-pages","embedded-media"],"skills":["browser-use:browser"],"evidence":["institution URL","event date","venue","speaker","media link"]}, + {"id":"papers-platter","kind":"local-research","mechanisms":["paper_list","paper_find","paper_read","local-manifests"],"skills":["papers-score-consult","sub-platter-manifests"],"evidence":["consulted files","revision/date","provenance gap"]} + ] +} diff --git a/system/public/papers.aesthetic.computer/index.html b/system/public/papers.aesthetic.computer/index.html --- a/system/public/papers.aesthetic.computer/index.html +++ b/system/public/papers.aesthetic.computer/index.html @@ -1555,7 +1555,7 @@