Files
fidelity-ai-workspace/core/integrations/obsidian-model.md
david.delagneau dbc1894e27 Add project-knowledge structure and templates
- Introduced new maps for navigating project knowledge, including "Current Work," "Fidelity Domain," "Fidelity Apps," "Work Items," and "People."
- Created base files for daily notes, decisions, people, systems, work items, and workstreams with defined properties and views.
- Developed templates for daily notes, decisions, meeting notes, persons, systems, work items, and workstreams to standardize documentation.
- Updated scripts and prompts to reflect the new project-knowledge directory structure.
- Removed outdated onboarding and start-here documents, consolidating relevant information into the new maps.
- Ensured all references in workflows and scripts point to the new project-knowledge paths.
2026-04-17 15:52:08 -06:00

4.2 KiB

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.


Open the project-knowledge/ folder as the Obsidian vault:

<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/
  • ai/inbox/
  • scripts/*/generated/
  • archives and local virtual environments

Communication evidence may exist under ai/inbox/ or connector generated/ folders, but promoted memory belongs in project-knowledge/.


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:

  • ai/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.