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.
This commit is contained in:
2026-04-17 15:52:08 -06:00
parent 11fdb17fcb
commit dbc1894e27
175 changed files with 1163 additions and 914 deletions

View File

@@ -1,4 +1,4 @@
# Memory Vault Integration Model
# Project Knowledge Memory Model
## Purpose
@@ -12,16 +12,16 @@ Obsidian is the current human-facing implementation, but the workspace should no
### Canonical Memory
The source of truth is plain Markdown under `vault/`.
The source of truth is plain Markdown under `project-knowledge/`.
Agents should edit canonical notes directly when precision matters because direct edits produce auditable diffs.
### Memory Interface
Use `scripts/memory/memory.sh` for vault-level operations:
Use `scripts/memory/memory.sh` for project-knowledge operations:
- `root` prints the configured memory root
- `read <path>` reads a vault-relative note
- `read <path>` reads a project-knowledge-relative note
- `search <query> [folder]` searches memory
- `create <type> <slug> [title]` creates a note in the canonical folder from the matching template
- `base-query <base-name> [format]` queries a structured view when supported
@@ -37,9 +37,10 @@ If Obsidian CLI is unavailable or fails, `scripts/memory/memory.sh` falls back t
## Configuration
- `AIW_MEMORY_VAULT_DIR`: canonical memory directory. Defaults to `<workspace-root>/vault`.
- `AIW_PROJECT_KNOWLEDGE_DIR`: canonical project knowledge directory. Defaults to `<workspace-root>/project-knowledge`.
- `AIW_MEMORY_VAULT_DIR`: transition alias for the canonical project knowledge directory.
- `AIW_MEMORY_BACKEND`: `auto`, `files`, or `obsidian`. Defaults to `auto`.
- `AIW_OBSIDIAN_VAULT_DIR`: Obsidian-specific vault override, still supported by the adapter.
- `AIW_OBSIDIAN_VAULT_DIR`: Obsidian-specific transition alias, still supported by the adapter.
- `AIW_OBSIDIAN_VAULT_NAME`: Obsidian URI vault name override for URI wrappers.
Backend meanings:
@@ -54,15 +55,15 @@ Backend meanings:
The memory interface owns type-to-folder routing:
- `daily` -> `vault/06-daily/`
- `work-item` -> `vault/02-work-items/`
- `person` -> `vault/04-people/`
- `decision` -> `vault/05-decisions/`
- `system` -> `vault/03-context/systems/`
- `workstream` -> `vault/03-context/workstreams/`
- `meeting-note` -> `vault/06-daily/`
- `daily` -> `project-knowledge/06-daily/`
- `work-item` -> `project-knowledge/02-work-items/`
- `person` -> `project-knowledge/04-people/`
- `decision` -> `project-knowledge/05-decisions/`
- `system` -> `project-knowledge/03-context/systems/`
- `workstream` -> `project-knowledge/03-context/workstreams/`
- `meeting-note` -> `project-knowledge/06-daily/`
Templates live in `vault/09-templates/`.
Templates live in `project-knowledge/09-templates/`.
This gives agents an automatic destination for new notes without coupling the rule to Obsidian.
@@ -71,12 +72,12 @@ This gives agents an automatic destination for new notes without coupling the ru
## Agent Rules
- Use the memory interface when creating new canonical notes from a known type.
- Use the memory interface for broad search, Base queries, and vault health checks.
- Use the memory interface for broad search, Base queries, and project knowledge health checks.
- Prefer Obsidian CLI property operations for frontmatter/property edits when available, especially on existing notes that appear in Bases, because the CLI reduces YAML formatting drift.
- Edit Markdown directly for precise memory curation, corrections, and content updates.
- Do not treat Obsidian CLI failure as project context.
- Do not require Obsidian to be running for core workspace operation.
- Keep raw evidence outside `vault/`; promote only curated memory.
- Keep raw evidence outside `project-knowledge/`; promote only curated memory.
---
@@ -88,6 +89,6 @@ When available, Obsidian CLI improves human-facing memory workflows:
- `create path=... template=...` creates notes from templates.
- `base:query` reads Bases as structured views.
- `properties` and `property:*` inspect or update metadata.
- `unresolved`, `orphans`, `links`, `backlinks`, and `tags` support vault health checks.
- `unresolved`, `orphans`, `links`, `backlinks`, and `tags` support Obsidian/project knowledge health checks.
These are optional enhancements. The canonical memory remains Markdown.

View File

@@ -2,7 +2,7 @@
## Purpose
Use Obsidian as a visual navigation and manual review layer over the same canonical Markdown memory that powers the AI workspace.
Use Obsidian as a visual navigation and manual review layer over canonical project knowledge.
Obsidian should not become a second memory store.
@@ -10,36 +10,38 @@ Obsidian should not become a second memory store.
## Recommended Vault
Open the `vault/` folder as the Obsidian vault:
Open the `project-knowledge/` folder as the Obsidian vault:
```text
<workspace-root>/vault/
<workspace-root>/project-knowledge/
```
This keeps one source of truth:
- OpenCode and agents maintain operational memory
- 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 human/AI memory lives in:
Canonical project knowledge lives in:
- `vault/00-start/`
- `vault/01-current/`
- `vault/02-work-items/`
- `vault/03-context/`
- `vault/04-people/`
- `vault/05-decisions/`
- `vault/06-daily/`
- `vault/07-maps/`
- `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/`
@@ -48,7 +50,7 @@ Technical runtime remains outside the vault:
- `scripts/*/generated/`
- archives and local virtual environments
Communication evidence may exist under `ai/inbox/` or connector `generated/` folders, but promoted memory belongs in `vault/`.
Communication evidence may exist under `ai/inbox/` or connector `generated/` folders, but promoted memory belongs in `project-knowledge/`.
---
@@ -56,21 +58,21 @@ Communication evidence may exist under `ai/inbox/` or connector `generated/` fol
Version portable Obsidian configuration only when it improves the workspace for every clone:
- `vault/.obsidian/app.json`
- `vault/.obsidian/core-plugins.json`
- `vault/.obsidian/graph.json`
- `vault/.obsidian/appearance.json`
- `vault/.obsidian/daily-notes.json`
- `vault/.obsidian/templates.json`
- `vault/.obsidian/bookmarks.json`
- `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:
- `vault/.obsidian/workspace*.json`
- `vault/.obsidian/workspace-mobile*.json`
- `vault/.obsidian/plugins/`
- `vault/.obsidian/snippets/`
- `vault/.obsidian/cache/`
- `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:
@@ -99,13 +101,13 @@ Use Obsidian wiki-links only for Obsidian-only notes when there is a clear navig
## Agent Rules
The agent may update Obsidian navigation notes when they improve discoverability.
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 `vault/07-maps/` as graph hubs. This keeps the graph navigable without forcing every file into Obsidian-specific wiki-link syntax.
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.
---
@@ -132,7 +134,7 @@ 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 <vault-relative-path>` opens a note through Obsidian URI.
- `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.