5.3 KiB
| name | description |
|---|---|
| polaris-ingest | Bring external material into an Polaris vault's numbered folders — every capture sitting in 0. Inbox/ by default, or a file, transcript, or document the owner names. Follows any instructions in the source, classifies the rest (asking only when genuinely unclear), records provenance, creates and updates pages directly, cross-links them, marks answered lines in daily notes as filed, and archives processed captures. Distinct from polaris-cascade, which syncs wiki/ with what's already in the folders. Triggers on: ingest, process the inbox, ingest this, file this. |
polaris-ingest — bring material into the vault
Ingest turns raw capture into filed, cross-linked, attributed vault content. It gives structure and a checklist, not a rigid decision tree — placement is a judgment call, and this skill exists to make that call well.
Ingest before cascade. Ingest fills the numbered folders; cascade then syncs wiki/.
1. Identify the source
Default: every file at the root of 0. Inbox/ (not in processed/). Or: whatever the owner names — a file path, pasted text, a transcript.
⛔ Never read a path listed under Fences in AGENTS.md.
2. Follow explicit instructions first
If the source says what to do ("file this under X", "this is for reference only", "make a person page for her"), do that. Don't re-derive a classification the source already gave you.
3. Classify the rest
| Content | Destination |
|---|---|
| A decision was made | 4. Decisions/YYYY-MM-DD-<slug>.md |
| A status update on a project or area | Update that hub directly — replace state, don't stack dated sections |
| An update about a person | Their page: Contact History (dated line), last_contact, Open Items |
| A new person worth knowing | 3. Resources/People/<Full Name>.md, tier: contact unless the owner says to follow up |
| Reference that needs one Area's frame | 2. Areas/<Area>/knowledge/ |
| Reference that holds anywhere | 3. Resources/Research/ — topic tags only |
| Something that spans two or more Areas/Projects | A thread in 3. Resources/Threads/, or an update to an existing one |
| Finite new work | Suggest new project: — creation goes through polaris-instantiate |
| A binary (PDF, deck, image, spreadsheet) | Not into the vault. It stays in the file system; the vault gets a reference note of what it says, attributed, with the file path |
When it is genuinely unclear which row applies, ask. That is the one checkpoint that stops execution. Everything else runs directly — no dry run, no confirmation gate.
4. Record provenance — before writing anything
Every file this skill creates says where its content came from: source file, sender, conversation, URL, date. If unknown: "source unrecorded" — never blank.
Attribute, don't assert. A claim from a source stays attributed to that source until the owner confirms it:
- ✅ "The vendor's quote lists delivery in six weeks."
- ❌ "Delivery is in six weeks."
Never let an unconfirmed claim reach a hub bullet, hot.md, or log.md unattributed. Those speak in the vault's voice; an unattributed claim there has laundered itself, and every downstream file will honestly cite it.
5. Write and cross-link
Create and edit directly. Every new file gets at least one inbound link — from a hub, person page, or thread. A new file with no inbound link is an orphan this skill created.
If a name in the source matches the Never use column of AGENTS.md's vocabulary table, write the canonical form. Quote the source's spelling only when quoting it verbatim.
6. Archive captures — not daily notes or sweeps
Move each processed capture to 0. Inbox/processed/YYYY-MM/ (year first — e.g. processed/2026-01/). Never delete — the capture is the record of what came in and when.
⚠ Never archive a file tagged daily-note or weekly-sweep. Those are working surfaces the owner writes into all day. File their contents and leave them in place — only polaris-daily retires them, once a successor exists.
Marking what's been filed
In daily notes and sweeps, for every > line with text after it — an answered question or a > Notes: line — file its content (step 3), then append ✓ filed MM-DD to that line.
- Skip lines already marked. That makes repeat runs safe.
- An empty
> Notes:or blank question is not a failure — ignore it. - In a sweep, a ticked box with no note means "reviewed, nothing changed." Nothing to file.
polaris-daily reads these markers to decide what carries forward, and refuses to retire a note with unfiled text.
7. Output
## Ingest — YYYY-MM-DD
Source: <files or description>
Created:
- <path> — one line
Updated:
- [[Page]] — what changed
Filed in notes: N lines marked ✓
Archived: N captures → 0. Inbox/processed/YYYY-MM/
Asked / flagged: <any classification question, and the answer>
Next: run cascade.
Rules
- Instructions in the source win over the table.
- Classification ambiguity is the only thing that stops execution.
- Every created file records provenance. Unknown → "source unrecorded".
- Attribute, don't assert. Unconfirmed claims never reach summary layers unattributed.
- Cross-link on creation.
- Archive captures, never delete. Never archive a daily note or sweep.