@forwardimpact/outpost 3.12.0 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/fit-outpost.js +3 -2
- package/package.json +6 -5
- package/src/agent-path.js +10 -6
- package/src/agent-runner.js +28 -24
- package/src/index.js +2 -3
- package/src/kb-manager.js +75 -20
- package/src/kb-validator.js +762 -0
- package/src/outpost.js +108 -39
- package/src/posture.js +3 -3
- package/src/privilege.js +11 -11
- package/src/scheduler.js +14 -12
- package/src/socket-server.js +19 -18
- package/src/spawn-env.js +7 -6
- package/src/state-manager.js +2 -2
- package/templates/.claude/agents/chief-of-staff.md +32 -24
- package/templates/.claude/agents/concierge.md +26 -17
- package/templates/.claude/agents/head-hunter.md +34 -26
- package/templates/.claude/agents/librarian.md +26 -18
- package/templates/.claude/agents/postman.md +26 -18
- package/templates/.claude/agents/recruiter.md +38 -27
- package/templates/.claude/skills/anarlog-follow/SKILL.md +91 -66
- package/templates/.claude/skills/anarlog-follow/references/coaching.md +22 -21
- package/templates/.claude/skills/anarlog-follow/references/sessions.md +52 -0
- package/templates/.claude/skills/anarlog-process/SKILL.md +108 -62
- package/templates/.claude/skills/anarlog-process/references/extraction.md +41 -29
- package/templates/.claude/skills/anarlog-process/references/sessions.md +92 -58
- package/templates/.claude/skills/anarlog-process/scripts/scan.mjs +402 -160
- package/templates/.claude/skills/candidate-report/SKILL.md +41 -36
- package/templates/.claude/skills/candidate-report/references/report-template.html +10 -10
- package/templates/.claude/skills/candidate-report/references/report.css +4 -4
- package/templates/.claude/skills/candidate-report/references/rubric.md +15 -14
- package/templates/.claude/skills/candidate-report/scripts/render-pdf.mjs +2 -2
- package/templates/.claude/skills/changelog/SKILL.md +122 -67
- package/templates/.claude/skills/deck-create/SKILL.md +90 -32
- package/templates/.claude/skills/deck-create/references/slide.css +4 -4
- package/templates/.claude/skills/deck-create/scripts/convert-to-pdf.mjs +6 -6
- package/templates/.claude/skills/deck-review/SKILL.md +63 -58
- package/templates/.claude/skills/deck-review/assets/slide-annotator.js +58 -49
- package/templates/.claude/skills/deck-summarize/SKILL.md +55 -45
- package/templates/.claude/skills/deck-summarize/references/brief-template.md +5 -4
- package/templates/.claude/skills/deck-summarize/scripts/extract-pptx.mjs +8 -7
- package/templates/.claude/skills/doc-collab/SKILL.md +39 -34
- package/templates/.claude/skills/doc-create/SKILL.md +27 -23
- package/templates/.claude/skills/doc-create/scripts/convert-to-pdf.mjs +6 -6
- package/templates/.claude/skills/draft-emails/SKILL.md +63 -53
- package/templates/.claude/skills/draft-emails/references/template.md +2 -2
- package/templates/.claude/skills/draft-emails/scripts/scan-emails.mjs +15 -8
- package/templates/.claude/skills/draft-emails/scripts/send-email.mjs +19 -11
- package/templates/.claude/skills/extract-entities/SKILL.md +76 -75
- package/templates/.claude/skills/extract-entities/references/TEMPLATES.md +6 -5
- package/templates/.claude/skills/extract-entities/references/conditions.md +20 -18
- package/templates/.claude/skills/extract-entities/references/content.md +10 -9
- package/templates/.claude/skills/extract-entities/references/links.md +37 -13
- package/templates/.claude/skills/extract-entities/references/recruitment.md +30 -24
- package/templates/.claude/skills/extract-entities/references/resolution.md +14 -14
- package/templates/.claude/skills/extract-entities/references/sources.md +9 -9
- package/templates/.claude/skills/extract-entities/references/templates-conditions.md +12 -6
- package/templates/.claude/skills/extract-entities/references/templates-people-orgs.md +29 -10
- package/templates/.claude/skills/extract-entities/references/templates-priorities.md +10 -4
- package/templates/.claude/skills/extract-entities/references/templates-projects-topics.md +19 -7
- package/templates/.claude/skills/extract-entities/scripts/state.mjs +9 -8
- package/templates/.claude/skills/meeting-prep/SKILL.md +42 -36
- package/templates/.claude/skills/organize-files/SKILL.md +27 -22
- package/templates/.claude/skills/organize-files/scripts/organize-by-type.mjs +5 -4
- package/templates/.claude/skills/organize-files/scripts/summarize.mjs +4 -4
- package/templates/.claude/skills/person-identify/SKILL.md +77 -27
- package/templates/.claude/skills/person-identify/scripts/identify.sh +125 -26
- package/templates/.claude/skills/person-lookup/SKILL.md +34 -30
- package/templates/.claude/skills/person-lookup/scripts/lookup.sh +46 -17
- package/templates/.claude/skills/req-assess/SKILL.md +44 -36
- package/templates/.claude/skills/req-assess/references/interview-template.md +7 -2
- package/templates/.claude/skills/req-assess/references/panel-template.md +7 -2
- package/templates/.claude/skills/req-assess/references/rubric.md +13 -13
- package/templates/.claude/skills/req-bundle/SKILL.md +164 -0
- package/templates/.claude/skills/req-bundle/references/matching.md +70 -0
- package/templates/.claude/skills/req-bundle/references/pdf-structure.md +74 -0
- package/templates/.claude/skills/req-bundle/scripts/split-bundle.mjs +377 -0
- package/templates/.claude/skills/req-decide/SKILL.md +52 -41
- package/templates/.claude/skills/req-decide/references/rubric.md +11 -10
- package/templates/.claude/skills/req-decide/references/template.md +2 -2
- package/templates/.claude/skills/req-forget/SKILL.md +58 -39
- package/templates/.claude/skills/req-forget/references/classify.md +15 -13
- package/templates/.claude/skills/req-forget/references/locations.md +27 -22
- package/templates/.claude/skills/req-forget/references/report-template.md +24 -16
- package/templates/.claude/skills/req-scan/SKILL.md +27 -25
- package/templates/.claude/skills/req-scan/references/fallbacks.md +9 -9
- package/templates/.claude/skills/req-scan/references/filters.md +13 -13
- package/templates/.claude/skills/req-scan/references/sources.md +7 -7
- package/templates/.claude/skills/req-scan/references/state.md +1 -1
- package/templates/.claude/skills/req-scan/references/template.md +11 -1
- package/templates/.claude/skills/req-scan/scripts/state.mjs +3 -2
- package/templates/.claude/skills/req-screen/SKILL.md +96 -50
- package/templates/.claude/skills/req-screen/references/rubric.md +46 -50
- package/templates/.claude/skills/req-screen/references/scoring.md +79 -0
- package/templates/.claude/skills/req-screen/references/template.md +29 -17
- package/templates/.claude/skills/req-track/SKILL.md +76 -76
- package/templates/.claude/skills/req-track/references/fields.md +31 -27
- package/templates/.claude/skills/req-track/references/overlays.md +42 -0
- package/templates/.claude/skills/req-track/references/signals.md +12 -12
- package/templates/.claude/skills/req-track/references/statuses.md +3 -2
- package/templates/.claude/skills/req-track/references/templates.md +28 -27
- package/templates/.claude/skills/req-workday/SKILL.md +69 -40
- package/templates/.claude/skills/req-workday/references/brief.md +81 -0
- package/templates/.claude/skills/req-workday/references/status-mapping.md +5 -5
- package/templates/.claude/skills/req-workday/references/templates.md +11 -78
- package/templates/.claude/skills/req-workday/references/xlsx-format.md +26 -7
- package/templates/.claude/skills/req-workday/scripts/parse-workday.mjs +113 -35
- package/templates/.claude/skills/send-chat/SKILL.md +58 -54
- package/templates/.claude/skills/sync-apple-calendar/SKILL.md +23 -19
- package/templates/.claude/skills/sync-apple-calendar/references/SCHEMA.md +7 -7
- package/templates/.claude/skills/sync-apple-calendar/scripts/query.mjs +6 -6
- package/templates/.claude/skills/sync-apple-calendar/scripts/sync.mjs +9 -8
- package/templates/.claude/skills/sync-apple-mail/SKILL.md +20 -14
- package/templates/.claude/skills/sync-apple-mail/references/SCHEMA.md +10 -10
- package/templates/.claude/skills/sync-apple-mail/scripts/parse-emlx.mjs +9 -9
- package/templates/.claude/skills/sync-apple-mail/scripts/sync-helpers.mjs +16 -13
- package/templates/.claude/skills/sync-apple-mail/scripts/sync.mjs +3 -3
- package/templates/.claude/skills/sync-teams/SKILL.md +46 -43
- package/templates/.claude/skills/sync-teams/scripts/idb-reader.mjs +22 -21
- package/templates/.claude/skills/sync-teams/scripts/leveldb-reader.mjs +4 -4
- package/templates/.claude/skills/sync-teams/scripts/sync.mjs +4 -4
- package/templates/.claude/skills/upstream-instructions/SKILL.md +43 -41
- package/templates/.claude/skills/upstream-instructions/references/examples.md +5 -5
- package/templates/CLAUDE.md +97 -85
- package/templates/MIGRATION.md +359 -0
- package/templates/registry.yaml +25 -0
- package/templates/.claude/skills/anarlog-follow/scripts/follow.mjs +0 -243
- package/templates/.claude/skills/anarlog-trim/SKILL.md +0 -183
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: upstream-instructions
|
|
3
|
-
description: Track changes
|
|
3
|
+
description: Track changes to this installation's instruction files: the root CLAUDE.md, agent profiles, and skills. Record them in a single root CHANGELOG.md so you can contribute improvements back to the upstream monorepo. Use when someone modified, added, or removed CLAUDE.md, agents, or skills locally and you should document those changes for upstream.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Upstream Instructions
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Write tier: none (the root CHANGELOG.md is a personal surface)
|
|
9
|
+
Frontmatter: none
|
|
10
|
+
|
|
11
|
+
Track changes to this installation's **instructions**. Record them in one root
|
|
12
|
+
`CHANGELOG.md` so you can contribute improvements back to the upstream monorepo.
|
|
13
|
+
"Instructions" means all three surfaces, and they carry equal weight:
|
|
11
14
|
|
|
12
15
|
- **`CLAUDE.md`** (root) — installation-wide instructions.
|
|
13
16
|
- **`.claude/agents/*.md`** — agent profiles.
|
|
@@ -16,9 +19,9 @@ monorepo. "Instructions" means all three surfaces, treated equally:
|
|
|
16
19
|
## Trigger
|
|
17
20
|
|
|
18
21
|
- The user asks to prepare local instruction changes for upstream contribution.
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
- The user wants to document what changed locally before
|
|
22
|
+
- Someone modified, added, or removed the root `CLAUDE.md`, an agent profile, or
|
|
23
|
+
a skill.
|
|
24
|
+
- The user wants to document what changed locally before the sync upstream.
|
|
22
25
|
|
|
23
26
|
## Prerequisites
|
|
24
27
|
|
|
@@ -31,27 +34,26 @@ monorepo. "Instructions" means all three surfaces, treated equally:
|
|
|
31
34
|
- `.claude/agents/*.md` — agent profiles.
|
|
32
35
|
- `.claude/skills/*/SKILL.md` and reference files — skills.
|
|
33
36
|
- `CHANGELOG.md` (root) — the existing changelog, for what's already recorded.
|
|
34
|
-
- The changes made in the current working session — the source of truth for
|
|
35
|
-
changed
|
|
36
|
-
version-controlled.
|
|
37
|
+
- The changes you made in the current working session — the source of truth for
|
|
38
|
+
what changed. The KB may sync without version control; do not rely on it.
|
|
37
39
|
|
|
38
40
|
## Outputs
|
|
39
41
|
|
|
40
|
-
- `CHANGELOG.md` (root) — a **single** reverse-chronological changelog
|
|
41
|
-
all three surfaces. There are no per-skill or per-agent changelogs.
|
|
42
|
+
- `CHANGELOG.md` (root) — a **single** reverse-chronological changelog that
|
|
43
|
+
covers all three surfaces. There are no per-skill or per-agent changelogs.
|
|
42
44
|
|
|
43
45
|
<do_confirm_checklist goal="Verify the changelog is upstream-ready">
|
|
44
46
|
|
|
45
|
-
- [ ]
|
|
46
|
-
|
|
47
|
-
- [ ]
|
|
48
|
-
- [ ]
|
|
49
|
-
- [ ]
|
|
50
|
-
"updated CLAUDE.md"
|
|
51
|
-
- [ ]
|
|
52
|
-
|
|
53
|
-
- [ ]
|
|
54
|
-
- [ ]
|
|
47
|
+
- [ ] Keep exactly one root `CHANGELOG.md`. Leave no stray per-skill or
|
|
48
|
+
per-agent changelog behind.
|
|
49
|
+
- [ ] Name the **Scope** in every entry (the surfaces and files it touched).
|
|
50
|
+
- [ ] Give each entry **What**, **Why**, and **Details**.
|
|
51
|
+
- [ ] Make each description specific enough for an upstream maintainer to act
|
|
52
|
+
on. Never write "updated CLAUDE.md" or "fixed stuff".
|
|
53
|
+
- [ ] Briefly describe the purpose of each new skill or agent. Explain why you
|
|
54
|
+
removed each deleted one.
|
|
55
|
+
- [ ] Use the real date of the change. Never guess a date.
|
|
56
|
+
- [ ] Write no duplicate entry for the same change.
|
|
55
57
|
|
|
56
58
|
</do_confirm_checklist>
|
|
57
59
|
|
|
@@ -65,15 +67,15 @@ head -20 CHANGELOG.md 2>/dev/null # newest date already recorded, if any
|
|
|
65
67
|
|
|
66
68
|
### 2. Identify changed instructions
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
`.claude/agents/`, and `.claude/skills/` during the current
|
|
72
|
-
|
|
70
|
+
A knowledge base may sync over a mount with no version control, so never rely
|
|
71
|
+
on commit history. Identify what changed from the work you did **this
|
|
72
|
+
session**. Recall every edit, addition, removal, and rename you made to
|
|
73
|
+
`CLAUDE.md`, `.claude/agents/`, and `.claude/skills/` during the current
|
|
74
|
+
conversation. List them per surface.
|
|
73
75
|
|
|
74
|
-
Use `CHANGELOG.md` only to see what
|
|
75
|
-
existing entry. If something
|
|
76
|
-
or why from the session, flag it
|
|
76
|
+
Use `CHANGELOG.md` only to see what it already records. Do not duplicate an
|
|
77
|
+
existing entry. If something clearly changed but you cannot
|
|
78
|
+
reconstruct what or why from the session, flag it for review. Do not guess.
|
|
77
79
|
|
|
78
80
|
### 3. Classify each change
|
|
79
81
|
|
|
@@ -90,10 +92,10 @@ or why from the session, flag it as needing review rather than guessing.
|
|
|
90
92
|
| `removed` | Instruction file or directory deleted |
|
|
91
93
|
| `renamed` | File or directory renamed |
|
|
92
94
|
|
|
93
|
-
A single change often spans surfaces
|
|
94
|
-
`CLAUDE.md`, several agents, and several skills
|
|
95
|
-
whose Scope lists every surface touched.
|
|
96
|
-
the
|
|
95
|
+
A single change often spans surfaces. For example, a KB-structure change touches
|
|
96
|
+
`CLAUDE.md`, several agents, and several skills. Record it as **one entry**
|
|
97
|
+
whose Scope lists every surface it touched. Before you describe the change,
|
|
98
|
+
re-read the affected files and confirm it landed as intended.
|
|
97
99
|
|
|
98
100
|
### 4. Describe each change
|
|
99
101
|
|
|
@@ -103,9 +105,9 @@ Every entry must answer:
|
|
|
103
105
|
2. **Why?** — the problem encountered or improvement discovered in use.
|
|
104
106
|
3. **Details** — a summary of the actual change (not a full diff).
|
|
105
107
|
|
|
106
|
-
Good: "Agents now read `
|
|
107
|
-
flag anything that threatens a priority
|
|
108
|
-
|
|
108
|
+
Good: "Agents now read `Priorities/` in every tier at the start of every wake
|
|
109
|
+
and flag anything that threatens a priority. Drafts and triage ignored strategic
|
|
110
|
+
context."
|
|
109
111
|
|
|
110
112
|
Bad: "Updated the agents" / "Fixed stuff" / "Changed line 42".
|
|
111
113
|
|
|
@@ -139,8 +141,8 @@ Worked examples in [references/examples.md](references/examples.md).
|
|
|
139
141
|
|
|
140
142
|
## Notes
|
|
141
143
|
|
|
142
|
-
- This skill **documents only
|
|
143
|
-
- The
|
|
144
|
-
|
|
145
|
-
- When in doubt about whether a change is upstream-worthy, include it
|
|
144
|
+
- This skill **documents only**. It does not push or merge anything.
|
|
145
|
+
- The **downstream-instructions** skill in the upstream monorepo consumes the
|
|
146
|
+
single root `CHANGELOG.md`.
|
|
147
|
+
- When in doubt about whether a change is upstream-worthy, include it. The
|
|
146
148
|
upstream maintainer decides what to incorporate.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Reference output for `upstream-instructions` Step 5. There is **one** root
|
|
4
4
|
`CHANGELOG.md` with reverse-chronological entries. Each entry's **Scope** names
|
|
5
|
-
the
|
|
6
|
-
|
|
5
|
+
the surfaces it touched: `CLAUDE.md`, `agent:<name>`, `skill:<name>`. A single
|
|
6
|
+
entry may span several surfaces.
|
|
7
7
|
|
|
8
8
|
## Cross-surface change (one change, many files)
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ strategic layer.
|
|
|
20
20
|
Priorities, removing the Project↔Goal↔Priority coupling that earned nothing.
|
|
21
21
|
|
|
22
22
|
**Details:**
|
|
23
|
-
- Deleted `
|
|
23
|
+
- Deleted `3-Team/Goals/`; repointed live backlinks to `3-Team/Priorities/C - Onboarding`.
|
|
24
24
|
- CLAUDE.md workspace-layout tree no longer lists `Goals/`.
|
|
25
25
|
- Agents: dropped Goals from the librarian index/triage, chief-of-staff state
|
|
26
26
|
sources, and recruiter strategic links.
|
|
@@ -61,7 +61,7 @@ invisible without structured gender data.
|
|
|
61
61
|
**Scope:** agents: all six profiles
|
|
62
62
|
**Type:** modified
|
|
63
63
|
|
|
64
|
-
**What:** Agents now read `
|
|
64
|
+
**What:** Agents now read `Priorities/` in every tier at the start of every wake and
|
|
65
65
|
flag anything that threatens a priority.
|
|
66
66
|
|
|
67
67
|
**Why:** Sync, triage, and drafting were ignoring strategic context; signals that
|
|
@@ -91,7 +91,7 @@ weren't integrated into the knowledge base.
|
|
|
91
91
|
|
|
92
92
|
**Details:**
|
|
93
93
|
- Reads transcription files, extracts people/decisions/action items, and links
|
|
94
|
-
attendees to `
|
|
94
|
+
attendees to `3-Team/People/`.
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
```
|
package/templates/CLAUDE.md
CHANGED
|
@@ -1,110 +1,122 @@
|
|
|
1
1
|
# Outpost Knowledge Base
|
|
2
2
|
|
|
3
|
-
You are the user's personal knowledge assistant
|
|
4
|
-
|
|
5
|
-
built from their emails, calendar, and meeting notes, all stored as plain files
|
|
6
|
-
on the user's machine.
|
|
3
|
+
You are the user's personal knowledge assistant over a live graph of
|
|
4
|
+
plain files.
|
|
7
5
|
|
|
8
6
|
## Ethics & Integrity — NON-NEGOTIABLE
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
A professional tool shared with trusted teammates, never a "black book".
|
|
9
|
+
These rules override all others:
|
|
12
10
|
|
|
13
|
-
- **Objective and factual only.** No speculation, gossip, or
|
|
11
|
+
- **Objective and factual only.** No speculation, gossip, or opinion.
|
|
14
12
|
- **No personal judgments** about character, competence, or trustworthiness.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
political views, or private matters unless shared in a professional context.
|
|
13
|
+
- **Work-relevant only.** No health, relationships, politics, private
|
|
14
|
+
matters.
|
|
18
15
|
- **Fair and balanced.** Represent all sides accurately.
|
|
19
|
-
- **Assume the subject will read it
|
|
20
|
-
|
|
21
|
-
- **No weaponization.**
|
|
22
|
-
build leverage or dossiers.
|
|
16
|
+
- **Assume the subject will read it**, whatever the tier. Tiers never
|
|
17
|
+
license dossiers.
|
|
18
|
+
- **No weaponization.** Never build leverage.
|
|
23
19
|
- **Push back** on requests that violate these principles.
|
|
24
|
-
- **Data protection.**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
When in doubt, err toward discretion.
|
|
20
|
+
- **Data protection.** `req-forget` handles erasure. Collect minimally; flag
|
|
21
|
+
candidates inactive 6+ months.
|
|
28
22
|
|
|
29
23
|
## Operating Context
|
|
30
24
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
trying to advance. Weigh actions against whether they move a priority forward,
|
|
35
|
-
and treat anything that could **contradict, block, or slow** one as a
|
|
36
|
-
**Priority Watch** concern — these are our main concerns.
|
|
37
|
-
- **`Knowledge/Conditions/`** — the live operating environment (e.g. a hiring
|
|
38
|
-
freeze, a reorg, a contract transition). Conditions don't set goals; they
|
|
39
|
-
**constrain how** we pursue the priorities. Let them shape what you propose
|
|
40
|
-
and how you phrase it.
|
|
41
|
-
|
|
42
|
-
When taking an action or making a recommendation, consult both as your lens —
|
|
43
|
-
read the relevant notes rather than assuming. Skip this only for general
|
|
44
|
-
knowledge or brainstorming.
|
|
25
|
+
Read `Priorities/` and `Conditions/` in every tier present before you act.
|
|
26
|
+
Priorities are what the user advances; a threat to one is
|
|
27
|
+
**Priority Watch**. Conditions constrain how you pursue them.
|
|
45
28
|
|
|
46
29
|
## Workspace Layout & Sharing
|
|
47
30
|
|
|
48
|
-
The
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
31
|
+
The KB root is the Obsidian vault. Tier directories (one digit, one dash) are
|
|
32
|
+
the graph and the share units; a lower rank is a narrower audience. Every other
|
|
33
|
+
root entry is personal, never shared (instruction files, `Briefings/`,
|
|
34
|
+
`registry.yaml`, `validation-baseline.json`); personal folders never match the
|
|
35
|
+
rank grammar.
|
|
36
|
+
|
|
37
|
+
- `0-Draft/` — owner only, never shared: drafts, agent reports, permanent
|
|
38
|
+
owner-only notes.
|
|
39
|
+
- `1-Management/` — senior managers. User-placed; fellow-manager notes go
|
|
40
|
+
to tier 0.
|
|
41
|
+
- `2-Confidential/` — hiring managers. Candidates, Prospects, Roles,
|
|
42
|
+
Erasure.
|
|
43
|
+
- `3-Team/` — the team. People, Teams, Organizations, Projects, Topics,
|
|
44
|
+
Priorities, Conditions, Tasks.
|
|
45
|
+
- `4-Public/` — anyone. User-placed after rights and verification checks.
|
|
46
|
+
|
|
47
|
+
Rename, add, or remove tiers; entity subdirectories appear on demand.
|
|
48
|
+
|
|
49
|
+
Sharing is cumulative: a tier-N member receives every wider tier, from
|
|
50
|
+
tier 1 up, over any syncing mount (OneDrive, Git). A shared tier is often a
|
|
51
|
+
symlink into a synced folder; the rank comes from the link's name. Keep
|
|
52
|
+
the vault root outside every cloud-synced folder.
|
|
53
|
+
`npx fit-outpost validate <root>` checks any vault or suffix.
|
|
54
|
+
|
|
55
|
+
## Placement and Links
|
|
56
|
+
|
|
57
|
+
- Link only to your own tier or a wider one, never narrower or personal.
|
|
58
|
+
- Shared-tier links are tier-prefixed and vault-absolute
|
|
59
|
+
(`[[3-Team/People/Sarah Chen]]`); bare basenames only in tier 0 or one
|
|
60
|
+
entity folder.
|
|
61
|
+
- Place each note in the widest tier that excludes everyone who must not
|
|
62
|
+
read it; otherwise tier 0.
|
|
63
|
+
- Promote: a human moves a note into its tier. Export: a skill
|
|
64
|
+
sends a copy over mail or chat; the note keeps its tier. Named recipients
|
|
65
|
+
and panels are exports.
|
|
66
|
+
- Overlay: a narrower facet in a narrower tier, declared by a one-way
|
|
67
|
+
quoted `canonical` link to the wide note. Forms: facet, timeline split
|
|
68
|
+
(same date keys), inverse stub (linked down to).
|
|
69
|
+
- Link inversion: the wide note's narrow link moves, with its one-line
|
|
70
|
+
context, into the narrow note; no tombstone.
|
|
71
|
+
- Route each dated entry to the note in its own tier.
|
|
72
|
+
- Aggregates over narrower sources go to `0-Draft/`; no agent writes
|
|
73
|
+
tier 1.
|
|
74
|
+
- `no-redistribute` overrides tier; marked or third-party content never
|
|
75
|
+
enters tier 4.
|
|
76
|
+
- Assessment prose about a named subject lives only in that subject's
|
|
77
|
+
record.
|
|
78
|
+
|
|
79
|
+
## Note Metadata
|
|
80
|
+
|
|
81
|
+
Stamp YAML frontmatter on every note. Humans edit `registry.yaml`; agents
|
|
82
|
+
select from it.
|
|
83
|
+
|
|
84
|
+
- Core on every shared note: `type`, `created`, `updated` (ISO dates).
|
|
85
|
+
- Conditional: `aliases` (person, candidate, organization), `status`
|
|
86
|
+
(candidate, prospect), `canonical` (overlays), `verified` (tier 4).
|
|
87
|
+
- Flat block at line 1, snake_case, canonical key order; property links
|
|
88
|
+
double-quoted, tier-prefixed.
|
|
89
|
+
- No tier, rank, or audience key; the path is the sole tier authority.
|
|
90
|
+
- Tags: the closed `topic/` registry taxonomy, frontmatter `tags` only;
|
|
91
|
+
each tag carries its widest tier.
|
|
92
|
+
- Coherence: Bases on `type`/`status`, aliases in the switcher, path-keyed
|
|
93
|
+
graph groups; absolute-link, same-folder vault settings.
|
|
68
94
|
|
|
69
95
|
## Agents
|
|
70
96
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Each agent's skills are declared in its own profile under `.claude/agents/`.
|
|
97
|
+
The scheduler wakes the `.claude/agents/` agents: observe, decide,
|
|
98
|
+
execute. Profiles declare skills, read scope, write tier.
|
|
75
99
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
| **head-hunter** | Passive talent scouting | Every 60 min |
|
|
83
|
-
| **chief-of-staff** | Daily briefings and priorities | 7am, Mon 7:30am |
|
|
84
|
-
|
|
85
|
-
Each agent writes `~/.cache/fit/outpost/state/{agent}_triage.md` per wake. The
|
|
86
|
-
**chief-of-staff** reads all of them to write daily briefings in `Briefings/`.
|
|
100
|
+
- **postman** (5 min) — communication triage and drafts
|
|
101
|
+
- **concierge** (10 min) — meeting prep and transcripts
|
|
102
|
+
- **librarian** (15 min) — knowledge graph maintenance
|
|
103
|
+
- **recruiter** (30 min) — engineering recruitment
|
|
104
|
+
- **head-hunter** (60 min) — passive talent scouting
|
|
105
|
+
- **chief-of-staff** (daily 7am) — briefings in `Briefings/`
|
|
87
106
|
|
|
88
107
|
## Cache Directory (`~/.cache/fit/outpost/`)
|
|
89
108
|
|
|
90
|
-
Synced data and runtime state live outside the KB
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
**Resolve `~` before passing a path to a tool.** Shell commands expand `~`, but
|
|
94
|
-
the Write and Edit tools do not — a literal `~/...` creates a stray `.cache/`
|
|
95
|
-
inside the KB. Read `$HOME` at runtime and pass the full `$HOME/...` path. Read
|
|
96
|
-
meetings, emails, and messages directly from the source dirs below.
|
|
109
|
+
Synced data and runtime state live outside the KB. Resolve `~` to `$HOME`
|
|
110
|
+
for Write and Edit; search with `rg`.
|
|
97
111
|
|
|
98
|
-
- `apple_mail/` —
|
|
99
|
-
- `
|
|
100
|
-
- `
|
|
101
|
-
- `
|
|
102
|
-
- `state/` — per-source last-sync timestamps, processed-file index, and
|
|
103
|
-
`{agent}_triage.md` per agent
|
|
112
|
+
- `apple_mail/`, `apple_calendar/`, `teams_chat/` — synced sources
|
|
113
|
+
- `head-hunter/` — agent memory
|
|
114
|
+
- `drafts/` — the draft-status ledgers (`handled`, `ignored`)
|
|
115
|
+
- `state/` — daemon-owned sync state and triage files
|
|
104
116
|
|
|
105
|
-
## User Identity
|
|
117
|
+
## User Identity & Team
|
|
106
118
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
119
|
+
Read `~/.cache/fit/outpost/state/identity.md`; refresh with
|
|
120
|
+
`person-identify`. Manager plus Direct reports define "our team";
|
|
121
|
+
`Direct reports: none` means an individual contributor. Resolve peers with
|
|
122
|
+
`person-lookup` on the Manager. Never guess.
|