Anytype PKM layout — three Spaces in one Vault¶
Terminology (Anytype docs): one Vault; multiple Spaces (Channels) inside it (Vault, Channels, Spaces API).
This document records the agreed navigation model and MCP write policy. Job-hunt content for any one company/role is a subset of the broader agent graph, not a separate vault.
The three Spaces¶
| # | Space name (suggested) | Who uses it | Purpose |
|---|---|---|---|
| 1 | Agent · LLM wiki | Agent (primary); you review | Top-level graph the agent manages via MCP + PKM skills. Acts as the Anytype-native LLM wiki: partition with Collections as needed (e.g. Collection · Job hunt prep, Collection · Readiness, Collection · Practice bank). Job-hunt prep objects live here when the agent creates or curates them. |
| 2 | Job hunt | You (primary); agent read; agent write only with your explicit approval | Two top-level Collections: (A) Company & role — JDs, interviews, post-mortems, offers, recruiter/HM notes by company → role. (B) Reusable prep — Go, Swift, system design, behavioral STAR index, anything not tied to one employer. |
| 3 | Sensitive · Human only | You only | NDA interview detail, comp, offer letters, anything that must never be read or written by agents or MCP. |
Naming: Adjust titles to taste (e.g.
Job HuntvsJob hunt · Main). Keep Sensitive obviously distinct so you never confuse it with Agent space.
Job hunt Space — collection structure¶
Job hunt (Space)
├── Collection · Company & role
│ └── Company → Role → (pages/notes per artifact)
└── Collection · Reusable prep
└── Study tracks, language notes, generic question banks
Acme Corp / Platform Security example (under Collection · Company & role):
Company— Acme CorpRole— Platform Security- Children: JD, interview rounds, post-mortem (if any), decision — same as before; see Minimum live-test objects below.
Reusable prep (under second collection): Golang, Swift, system design, behavioral — link out to Agent space when the agent generates a practice pack; keep canonical study notes authored by you here unless you prefer them only in Agent space (your call over time).
Agent · LLM wiki Space — role in the system¶
- Canonical agent-owned graph in Anytype for structured objects the MCP can create, list, link, and search.
- Collections are the agent’s primary partitioning tool (job hunt is one partition among others).
- Markdown repo wiki (
knowledge/agent-wiki/) stays a parallel artifact: start with summaries +anytype:<id>pointers into this Agent space (and Job hunt where appropriate); evolve format as you learn what works.
Cross-reference: ../agent-wiki/README.md and ../agent-wiki/AGENTS.md.
Sensitive · Human only Space¶
Intent: No agent and no MCP automation reads or writes this Space.
Reality check (Local API): API keys are described as granting access to your vault for trusted integrations (security notice). Public docs do not clearly document per-space API key ACLs. Until Anytype exposes space-scoped keys, treat enforcement as layered:
- Process: Never pass this Space’s
space_idinto MCP tools; never ask the agent to open or search it. - Cursor: Treat writes to Sensitive as human-only; do not approve MCP or agent edits targeting that space.
- Strong isolation (optional): If you ever need cryptographic / account-level separation, use a second Anytype vault or account for Sensitive only (heavier operational cost).
Store offer letters, comp bands, NDA interview notes, and similar only in Sensitive (or in Job hunt Company & role if you decide that is human-only too—pick one rule and stay consistent).
MCP and agent write policy (agreed)¶
| Space | Agent / MCP read | Agent / MCP write |
|---|---|---|
| Agent · LLM wiki | Full | Full (subject to skills + your normal bounded-edit loop) |
| Job hunt | Full (for context, summaries, linking) | Only with your explicit approval in chat for each write or batch |
| Sensitive · Human only | None (by policy) | None |
Implementation notes for Cursor:
- PKM skills (
pkm-capture,pkm-link,pkm-summarize) should default captures and agent-authored artifacts to Agent · LLM wiki unless you direct otherwise. - Any MCP tool call that would create/update objects in Job hunt should be approval-gated (aligns with your bounded task loop).
- Sensitive: never target; if a tool returns objects from all spaces, post-filter or restrict queries by
space_idonce IDs are fixed.
Markdown wiki vs Agent Space (agreed v1)¶
- Start with: summaries in markdown +
anytype:<id>links to Anytype objects. - Revisit later if you need richer mirroring (e.g. duplicate study cards). Document changes in
agent-wiki/log.md.
Minimum live-test objects (Acme Corp / Platform Security)¶
Under Job hunt → Collection · Company & role:
- Company — Acme Corp
- Role — Platform Security (linked to Acme Corp)
- Note/Page — JD or link + date
- Interview — current stage + date
Under Agent · LLM wiki:
- One
ReadinessSnapshotor Note — “MCP smoke test” dated today
Sensitive: create an empty page “Reserved — human only” so the space exists; do not add MCP references to it.
MCP live-test checklist (updated)¶
- List spaces — confirm three Spaces exist with stable names.
- Note each Space’s id (from API or UI) for use in scoped search / writes.
- Create objects in Agent and Job hunt via MCP; confirm Sensitive is never listed in agent workflows.
- Attempt a read-only query scoped to Job hunt
space_idforPlatform Security/Golang. - With approval, one write to Job hunt (e.g. tag or link); without approval, confirm agent does not write.
- Append a line to
../runbooks/audit-log.mdfor each approved cross-space or job-hunt write.
Decisions recorded (from your answers)¶
| Topic | Decision |
|---|---|
| “Vault” vs Spaces | Three Spaces inside one local Vault. |
| Agent primary wiki | Agent · LLM wiki Space = top-level LLM-managed graph; Collections partition; job hunt is a subset. |
| Job hunt structure | One Job hunt Space with two Collections: company/role vs reusable prep. |
| MCP writes | Full R/W in Agent Space; Job hunt writes only with human approval; Sensitive: no agent read/write (policy + operational enforcement). |
| Markdown wiki | v1: summaries + anytype:<id>; evolve as needed. |
Optional next steps¶
- Add Anytype tags or a Status property for
hunt:acme-platform-securityacross Job hunt + linked Agent objects. - Extend
../schemas/object-types.mdwithCompany,Role,StudyTrack,ReadinessSnapshotwhen you stabilize shapes. - If Anytype later documents space-scoped API keys, add a runbook step to mint a key limited to Agent + Job hunt only and keep Sensitive on a separate key or vault.