Files
fidelity-ai-workspace/core/integrations/obsidian-model.md
david.delagneau 1ad707373a Add daily logs and templates for project fidelity
- Created daily log entries for May 13, 14, 18, 19, 20, and 21, capturing work done, findings, and next steps.
- Established a daily logs index for easy navigation of daily notes.
- Developed templates for daily logs, decisions, meeting notes, people, systems, and work items to standardize documentation.
- Introduced base files for filtering and displaying various types of project knowledge, including daily notes, decisions, people, systems, work items, and workstreams.
- Added maps for current work, fidelity apps, and fidelity domain to enhance project navigation and context.
2026-05-21 12:28:07 -06:00

151 lines
4.3 KiB
Markdown

# Obsidian Integration Model
## Purpose
Use Obsidian as a visual navigation and manual review layer over canonical project knowledge.
Obsidian should not become a second memory store.
---
## Recommended Vault
Open the `project-knowledge/` folder as the Obsidian vault:
```text
<workspace-root>/project-knowledge/
```
This keeps one source of truth:
- OpenCode and agents maintain project knowledge in Markdown
- Obsidian reads and edits the same Markdown files
- Git tracks intentional memory and configuration changes
- runtime evidence and generated artifacts stay outside the vault
- agent operating rules live outside the vault in `agent-memory/`
---
## Source Of Truth
Canonical project knowledge lives in:
- `project-knowledge/00-start/`
- `project-knowledge/01-current/`
- `project-knowledge/02-work-items/`
- `project-knowledge/03-context/`
- `project-knowledge/04-people/`
- `project-knowledge/05-decisions/`
- `project-knowledge/06-daily/`
- `project-knowledge/07-maps/`
Technical runtime remains outside the vault:
- `agent-memory/`
- `.opencode/`
- `scripts/`
- `core/`
- `profiles/`
- `workspaces/<profile>/inbox/`
- `scripts/*/generated/`
- archives and local virtual environments
Communication evidence may exist under `workspaces/<profile>/inbox/` or connector `generated/` folders, but promoted memory belongs in the profile's project knowledge vault.
---
## What To Version
Version portable Obsidian configuration only when it improves the workspace for every clone:
- `project-knowledge/.obsidian/app.json`
- `project-knowledge/.obsidian/core-plugins.json`
- `project-knowledge/.obsidian/graph.json`
- `project-knowledge/.obsidian/appearance.json`
- `project-knowledge/.obsidian/daily-notes.json`
- `project-knowledge/.obsidian/templates.json`
- `project-knowledge/.obsidian/bookmarks.json`
Do not version local runtime state:
- `project-knowledge/.obsidian/workspace*.json`
- `project-knowledge/.obsidian/workspace-mobile*.json`
- `project-knowledge/.obsidian/plugins/`
- `project-knowledge/.obsidian/snippets/`
- `project-knowledge/.obsidian/cache/`
Recommended graph and search exclusions:
- `workspaces/<profile>/inbox/`
- `archives/`
- `scripts/**/generated/`
- `scripts/**/.venv/`
- `.opencode/node_modules/`
- Python caches and compiled files
---
## Linking Policy
Prefer standard Markdown links for shared workspace files because they remain portable across:
- OpenCode
- VS Code
- GitHub
- Obsidian
- other Markdown tooling
Use Obsidian wiki-links only for Obsidian-only notes when there is a clear navigation benefit.
---
## Agent Rules
The agent may update Obsidian navigation notes when they improve project discoverability.
The agent should not treat Obsidian runtime layout changes as project context.
If Obsidian metadata or properties are added, use them selectively for high-value notes such as work items, decisions, and index pages. Do not mass-convert existing files just to add metadata.
Use map notes under `project-knowledge/07-maps/` as graph hubs. This keeps the graph navigable without forcing every file into Obsidian-specific wiki-link syntax.
---
## Bases
Keep Bases simple and property-driven:
- work items filter on `type: work-item`
- people filter on `type: person`
- decisions filter on `type: decision`
- daily notes filter on `type: daily`
- systems filter on `type: system`
- workstreams filter on `type: workstream`
Do not use Bases for raw inboxes, generated evidence, scripts, or runtime logs.
---
## CLI Wrappers
Use `scripts/memory/` as the project-agnostic memory interface.
Use `scripts/obsidian/` only as the current Obsidian adapter:
- `cli.sh` runs the official Obsidian CLI from the configured vault directory.
- `uri.sh` generates encoded Obsidian URIs.
- `open.sh <project-knowledge-relative-path>` opens a note through Obsidian URI.
- `daily.sh` opens the configured daily note through Obsidian URI.
- `search.sh <query>` opens Obsidian search through Obsidian URI.
The memory interface can use Obsidian CLI when available and fall back to direct Markdown operations when it is not.
The agent should depend on `scripts/memory/memory.sh` for portable operations:
- `create <type> <slug> [title]`
- `search <query> [folder]`
- `base-query <base-name> [format]`
- `health`
This keeps Obsidian replaceable while still making the current vault easier to use.