feat: Obsidian integration via cli scripts

This commit is contained in:
2026-04-17 08:05:23 -06:00
parent 902e11c7d4
commit a2b667f497
35 changed files with 715 additions and 34 deletions

View File

@@ -60,6 +60,6 @@
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1.0087453683557874,
"scale": 1.3297103454416062,
"close": true
}
}

View File

@@ -24,6 +24,7 @@ Common terms used in this workspace.
- `inbox`: raw or lightly processed communication evidence under `ai/inbox/`.
- `promotion`: moving high-confidence evidence into canonical memory.
- `tooling behavior`: reusable behavior encoded in commands, prompts, skills, agents, or knowledge rules.
- `memory interface`: project-agnostic scripts under `scripts/memory/` that create, search, query, and validate canonical memory without coupling the workspace to Obsidian.
---

View File

@@ -10,6 +10,8 @@ tags:
Use Obsidian to navigate and review workspace memory. Do not use it as a separate memory database.
Obsidian is the current interface over canonical Markdown memory. The workspace-level abstraction is `scripts/memory/`, so agents should use Obsidian-specific commands only through that adapter when possible.
---
## Recommended Start
@@ -126,3 +128,26 @@ For normal onboarding, keep them hidden and navigate through the named maps.
- Templates may contain the final note `type` so newly created notes are useful immediately, but Bases must exclude the template folder so template files do not appear as data rows.
- Role mapping files such as `04-people/manager.md` should use `type: role-map`, not `type: person`.
- Bookmarks should keep `00-start/start-here.md`, `00-start/onboarding.md`, current work, work items, people, and high-value Bases easy to open.
---
## CLI And Templates
The official Obsidian CLI can create notes from templates, query Bases, inspect properties, and search the vault.
In this workspace, prefer the platform-agnostic memory wrapper:
```bash
bash scripts/memory/memory.sh create work-item pdiap-15999 "Example title"
bash scripts/memory/memory.sh search "PDIAP-15765"
bash scripts/memory/memory.sh base-query work-items
bash scripts/memory/memory.sh health
```
The wrapper owns note type routing, so a `work-item` goes to `02-work-items/`, a `person` goes to `04-people/`, a `decision` goes to `05-decisions/`, and so on.
Use Obsidian CLI directly only when debugging Obsidian-specific behavior:
```bash
bash scripts/obsidian/cli.sh help
```

View File

@@ -75,6 +75,8 @@ If you are new to this project, read:
- [Communication Rules](../03-context/process/communication-rules.md)
- [Context Maintenance](../03-context/process/context-maintenance.md)
- [Workspace Architecture](workspace-architecture.md)
- Memory interface: `scripts/memory/`
- Obsidian adapter: `scripts/obsidian/`
---

View File

@@ -50,6 +50,19 @@ Runtime and generated files can be used as evidence, but durable project facts s
---
## Memory Access Layer
Use `scripts/memory/` as the platform-agnostic interface to canonical memory.
Obsidian is the current visual and CLI-backed adapter, but the source of truth remains Markdown under `vault/`.
- Agents use `scripts/memory/memory.sh create` when a new typed note is needed.
- Agents use `scripts/memory/memory.sh search` or direct Markdown reads for context lookup.
- Agents use `scripts/memory/memory.sh base-query` and `health` for structured review.
- Precise memory edits should still be made directly to Markdown so changes stay auditable.
---
## Memory Rule
Promoted memory lives in `vault/`.

View File

@@ -48,6 +48,8 @@ When the user corrects a recurring behavior, the workspace should update the fil
- `core/` for reusable project-independent behavior
- `profiles/<project>/` for project-specific assumptions
- `vault/.obsidian/` only for portable vault configuration, not project memory
- `scripts/memory/` for project-agnostic memory access, creation, search, Base queries, and health checks
- `scripts/obsidian/` for the current Obsidian adapter, not for core memory semantics
- `.opencode/commands/` for slash commands
- `prompts/` for reusable drafting templates
- `.opencode/agents/` and `AGENTS.md` for default agent behavior

View File

@@ -24,6 +24,8 @@ Commands, prompts, skills, workflows, and automation surfaces that make the work
- Commands index: `.opencode/commands/index.md`
- Workspace context: `.opencode/commands/workspace-context.md`
- Memory health: `.opencode/commands/memory-health.md`
- Memory create: `.opencode/commands/memory-create.md`
- Communication sync: `.opencode/commands/communication-sync.md`
- Archive import: `.opencode/commands/archive-import.md`
- AI prompt: `.opencode/commands/ai-prompt.md`
@@ -51,3 +53,11 @@ Commands, prompts, skills, workflows, and automation surfaces that make the work
- Story draft prompt: `prompts/story-draft.md`
- OpenCode entry workflow: `workflows/opencode-entry.md`
- Daily context sync: `workflows/daily-context-sync.md`
---
## Memory Interface
- Project-agnostic memory scripts: `scripts/memory/`
- Current Obsidian adapter: `scripts/obsidian/`
- Canonical vault: `vault/`

View File

@@ -3,7 +3,7 @@ type: decision
project: fidelity
status: proposed
date:
title:
title: "{{title}}"
systems: []
workstreams: []
people: []
@@ -11,10 +11,10 @@ related: []
tags:
- decision
- fidelity
updated:
updated: "{{date:YYYY-MM-DD}}"
---
# Decision Title
# {{title}}
## Decision
@@ -37,4 +37,3 @@ updated:
## Follow-up
-

View File

@@ -1,17 +1,17 @@
---
type: meeting-note
project: fidelity
date:
date: "{{date:YYYY-MM-DD}}"
people: []
work-items: []
systems: []
tags:
- meeting
- fidelity
updated:
updated: "{{date:YYYY-MM-DD}}"
---
# Meeting Note
# {{title}}
## Context
@@ -34,4 +34,3 @@ updated:
## Memory Updates
-

View File

@@ -9,10 +9,10 @@ related: []
tags:
- person
- fidelity
updated:
updated: "{{date:YYYY-MM-DD}}"
---
# Name
# {{title}}
## Role
@@ -35,4 +35,3 @@ updated:
## Related Context
-

View File

@@ -9,10 +9,10 @@ related: []
tags:
- system
- fidelity
updated:
updated: "{{date:YYYY-MM-DD}}"
---
# System Name
# {{title}}
## Role
@@ -35,4 +35,3 @@ updated:
## Related Context
-

View File

@@ -2,8 +2,8 @@
type: work-item
project: fidelity
status: active
ticket:
title:
ticket: "{{ticket}}"
title: "{{title}}"
systems: []
workstreams: []
people: []
@@ -11,10 +11,10 @@ related: []
tags:
- work-item
- fidelity
updated:
updated: "{{date:YYYY-MM-DD}}"
---
# Ticket - Title
# {{ticket}} - {{title}}
## Status
@@ -43,4 +43,3 @@ updated:
## Next Step
-

View File

@@ -9,10 +9,10 @@ related: []
tags:
- workstream
- fidelity
updated:
updated: "{{date:YYYY-MM-DD}}"
---
# Workstream Name
# {{title}}
## Goal
@@ -35,4 +35,3 @@ updated:
## Related Work
-