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:
14
.gitignore
vendored
14
.gitignore
vendored
@@ -20,11 +20,11 @@ scripts/mattermost/generated/*
|
||||
|
||||
# Obsidian local runtime state
|
||||
/.obsidian/
|
||||
vault/.obsidian/workspace*.json
|
||||
vault/.obsidian/workspace-mobile*.json
|
||||
vault/.obsidian/hotkeys.json
|
||||
vault/.obsidian/community-plugins.json
|
||||
vault/.obsidian/plugins/
|
||||
vault/.obsidian/snippets/
|
||||
vault/.obsidian/cache/
|
||||
project-knowledge/.obsidian/workspace*.json
|
||||
project-knowledge/.obsidian/workspace-mobile*.json
|
||||
project-knowledge/.obsidian/hotkeys.json
|
||||
project-knowledge/.obsidian/community-plugins.json
|
||||
project-knowledge/.obsidian/plugins/
|
||||
project-knowledge/.obsidian/snippets/
|
||||
project-knowledge/.obsidian/cache/
|
||||
.trash/
|
||||
|
||||
@@ -12,15 +12,16 @@ Behavior rules:
|
||||
|
||||
- Treat `core/` as the reusable project-independent operating model.
|
||||
- Treat `profiles/fidelity/profile.md` as the active Fidelity project profile.
|
||||
- Treat `vault/` as the canonical clean knowledge base for humans and AI.
|
||||
- Treat `scripts/memory/` as the project-agnostic access layer for note creation, vault search, Base queries, and health checks.
|
||||
- Treat `project-knowledge/` as the canonical clean project knowledge base for humans and AI.
|
||||
- Treat `agent-memory/` as the operating memory for agent behavior, learning, promotion, verification, and self-maintenance rules.
|
||||
- Treat `scripts/memory/` as the project-agnostic access layer for note creation, project-knowledge search, Base queries, and health checks.
|
||||
- Treat `scripts/obsidian/` as the current Obsidian adapter. Do not couple durable memory rules to Obsidian-specific behavior.
|
||||
- Treat `ai/inbox/` and generated connector files as raw evidence only, not promoted memory.
|
||||
- Keep Obsidian Bases clean: do not let templates in `vault/09-templates/` appear as real daily notes, work items, people, decisions, systems, or workstreams.
|
||||
- Role mapping notes such as `vault/04-people/manager.md` are `type: role-map`; actual people profiles are `type: person`.
|
||||
- When editing canonical vault notes, update useful metadata at the same time: `updated`, `systems`, `workstreams`, `people`, `related`, `focus`, `work-items`, and `blockers` when applicable.
|
||||
- Keep Obsidian Bases clean: do not let templates in `project-knowledge/09-templates/` appear as real daily notes, work items, people, decisions, systems, or workstreams.
|
||||
- Role mapping notes such as `project-knowledge/04-people/manager.md` are `type: role-map`; actual people profiles are `type: person`.
|
||||
- When editing canonical project notes, update useful metadata at the same time: `updated`, `systems`, `workstreams`, `people`, `related`, `focus`, `work-items`, and `blockers` when applicable.
|
||||
- When creating a new typed note, prefer `bash scripts/memory/memory.sh create <type> <slug> [title]`, then inspect and refine the generated Markdown.
|
||||
- When checking vault quality, use `bash scripts/memory/memory.sh health` and direct file inspection.
|
||||
- When checking project knowledge quality, use `bash scripts/memory/memory.sh health` and direct file inspection.
|
||||
- Work item notes should preserve Jira ID/title and explicit relationships so standups, Bases, and graph navigation stay useful.
|
||||
- Daily notes should include `focus`, `work-items`, and `blockers` when those values are clear.
|
||||
- Before answering a prompt that depends on current state, verify the latest relevant files instead of relying only on conversation history.
|
||||
@@ -33,33 +34,33 @@ Behavior rules:
|
||||
- If the user corrects or teaches the agent during a learning session, update the smallest correct canonical file or behavior surface so future sessions benefit.
|
||||
- For any meaningful prompt, decide whether the interaction adds, corrects, or sharpens project memory.
|
||||
- When the user provides new durable information, update the right workspace files before or while answering.
|
||||
- When the user corrects how the workspace should behave, update the linked operational surface too: commands in `.opencode/commands/`, prompt templates in `prompts/`, agent rules in `AGENTS.md` or `.opencode/agents/`, skills in `.opencode/skills/`, and vault process rules in `vault/03-context/process/` when those files control the behavior.
|
||||
- When the user corrects how the workspace should behave, update the linked operational surface too: commands in `.opencode/commands/`, prompt templates in `prompts/`, agent rules in `AGENTS.md` or `.opencode/agents/`, skills in `.opencode/skills/`, and agent operating rules in `agent-memory/` when those files control the behavior.
|
||||
- If existing context is stale, correct it directly instead of leaving conflicting versions.
|
||||
- Promote information carefully:
|
||||
- daily facts go to `vault/06-daily/YYYY-MM-DD.md`
|
||||
- current priorities go to `vault/01-current/current-work.md`
|
||||
- active Jira-linked work goes to `vault/02-work-items/*.md`
|
||||
- the active-work summary goes to `vault/01-current/work-items.md`
|
||||
- durable project knowledge overview goes to `vault/03-context/project.md`
|
||||
- system-specific durable knowledge goes to `vault/03-context/systems/`
|
||||
- workstream-specific durable knowledge goes to `vault/03-context/workstreams/`
|
||||
- process-specific durable knowledge goes to `vault/03-context/process/`
|
||||
- confirmed team or manager communication preferences go to `vault/04-people/manager.md`
|
||||
- role-to-person mapping and recurring stakeholders go to `vault/04-people/`
|
||||
- confirmed decisions go to `vault/05-decisions/`
|
||||
- behavioral rules for how this workspace should respond go to the exact command, prompt, agent, skill, or vault process file that enforces that behavior
|
||||
- daily facts go to `project-knowledge/06-daily/YYYY-MM-DD.md`
|
||||
- current priorities go to `project-knowledge/01-current/current-work.md`
|
||||
- active Jira-linked work goes to `project-knowledge/02-work-items/*.md`
|
||||
- the active-work summary goes to `project-knowledge/01-current/work-items.md`
|
||||
- durable project knowledge overview goes to `project-knowledge/03-context/project.md`
|
||||
- system-specific durable knowledge goes to `project-knowledge/03-context/systems/`
|
||||
- workstream-specific durable knowledge goes to `project-knowledge/03-context/workstreams/`
|
||||
- project-facing process knowledge goes to `project-knowledge/03-context/process/`
|
||||
- confirmed team or manager communication preferences go to `project-knowledge/04-people/manager.md`
|
||||
- role-to-person mapping and recurring stakeholders go to `project-knowledge/04-people/`
|
||||
- confirmed decisions go to `project-knowledge/05-decisions/`
|
||||
- behavioral rules for how this workspace should respond go to the exact command, prompt, agent, skill, or `agent-memory/` file that enforces that behavior
|
||||
- Use generic `AIW_*` integration variables for new tooling and keep `FIDELITY_*` only as Fidelity-profile aliases.
|
||||
- Default to writing new same-day information to today's log unless a more durable destination is clearly better.
|
||||
- Write canonical memory to `vault/`.
|
||||
- Write canonical memory to `project-knowledge/`.
|
||||
- Update preexisting memory when a new prompt clarifies or corrects something already stored.
|
||||
- Do not wait for a dedicated sync command if the correct memory update is already obvious.
|
||||
- Do not leave behavior-only corrections only in daily logs. If a correction should affect future output, update the tool or instruction that produces that output.
|
||||
- If the memory interface or Obsidian adapter fails, continue with direct Markdown operations when safe and do not promote the failure as project memory.
|
||||
- Do not over-promote uncertain information. Keep uncertain items in the daily log.
|
||||
- When drafting communication, preserve technical meaning and improve clarity in natural US English.
|
||||
- When answering Swift/iOS programming questions, use the project-local iOS skills and `vault/03-context/ios/`.
|
||||
- When answering Swift/iOS programming questions, use the project-local iOS skills and `project-knowledge/03-context/ios/`.
|
||||
- When answering programming, dependency-management, package-manager, CI/build, testing, or architecture-practice questions, verify with primary/current documentation when the topic may be outdated, disputed, version-sensitive, or project-critical.
|
||||
- For CocoaPods, podspecs, private spec repos, trunk/CDN behavior, SPM, Xcode, Swift, and Apple frameworks, do not rely only on model memory before giving strong advice.
|
||||
- When generating prompts for GitHub Copilot or another AI, use `vault/03-context/process/ai-to-ai-prompting.md` and the `copilot-prompt-engineering` skill.
|
||||
- When generating prompts for GitHub Copilot or another AI, use `agent-memory/workflows/ai-to-ai-prompting.md` and the `copilot-prompt-engineering` skill.
|
||||
- If the answer depends on current Apple APIs or Xcode/iOS behavior, verify with official Apple or Swift documentation before presenting it as current best practice.
|
||||
- Act as an agent, not only as a chat assistant: when a repeated weakness appears in output quality, proactively suggest or apply a workspace-level improvement.
|
||||
|
||||
@@ -12,12 +12,13 @@ Behavior rules:
|
||||
|
||||
- Load `core/` first for project-independent operating rules.
|
||||
- Load the active profile from `AIW_PROJECT_PROFILE` when available; otherwise use the configured project files in this workspace.
|
||||
- Treat `vault/` as the canonical clean knowledge base.
|
||||
- Treat `project-knowledge/` as the canonical clean project knowledge base.
|
||||
- Treat `agent-memory/` as the operating memory for agent behavior, learning, promotion, verification, and self-maintenance rules.
|
||||
- Treat `scripts/memory/` as the stable memory access layer.
|
||||
- Treat tool-specific integrations such as Obsidian as replaceable adapters.
|
||||
- Treat profile files as configuration and `ai/inbox/` plus generated connector files as raw evidence.
|
||||
- Keep Obsidian Bases clean by excluding templates and typing role maps separately from people.
|
||||
- When updating canonical vault notes, maintain relationship metadata and `updated` fields so the vault remains useful to both humans and agents.
|
||||
- When updating canonical project notes, maintain relationship metadata and `updated` fields so project knowledge remains useful to both humans and agents.
|
||||
- Before answering current-state questions, inspect current state, active work items, recent logs, and inbox evidence when available.
|
||||
- For learning-style questions, answer only from known context and verified facts, label assumptions and unknowns, and ask concise clarification questions when guessing would be misleading.
|
||||
- For learning sessions, prefer durable architecture, process, ownership, debugging strategy, release mechanics, domain concepts, and decision rules over transient status.
|
||||
@@ -25,8 +26,8 @@ Behavior rules:
|
||||
- Treat user corrections during learning sessions as high-value input and update the smallest correct canonical file or behavior surface when the learning should persist.
|
||||
- For any meaningful prompt, decide whether it adds, corrects, or invalidates memory.
|
||||
- Update the smallest correct canonical file when memory should change.
|
||||
- Use the memory interface to create new typed notes and inspect vault health, then edit Markdown directly for precise curation.
|
||||
- If the user corrects recurring behavior, update the command, prompt, agent, skill, vault process note, or other control file that enforces that behavior.
|
||||
- Use the memory interface to create new typed notes and inspect project knowledge health, then edit Markdown directly for precise curation.
|
||||
- If the user corrects recurring behavior, update the command, prompt, agent, skill, `agent-memory/` note, or other control file that enforces that behavior.
|
||||
- Keep imported evidence separate from promoted memory.
|
||||
- If an integration or sync command fails, do not update project memory from that failure.
|
||||
- Do not promote tooling noise, empty syncs, dependency failures, or generic chat chatter unless the user explicitly asks to track tooling work.
|
||||
@@ -37,11 +38,11 @@ Behavior rules:
|
||||
|
||||
Memory destinations:
|
||||
|
||||
- daily facts -> `vault/06-daily/YYYY-MM-DD.md`
|
||||
- current priorities -> `vault/01-current/current-work.md`
|
||||
- active work items -> `vault/02-work-items/*.md`
|
||||
- active-work summary -> `vault/01-current/work-items.md`
|
||||
- durable project knowledge -> `vault/03-context/`
|
||||
- people and roles -> `vault/04-people/`
|
||||
- confirmed decisions -> `vault/05-decisions/`
|
||||
- reusable behavior -> `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, `vault/00-start/`, or `vault/03-context/process/`
|
||||
- daily facts -> `project-knowledge/06-daily/YYYY-MM-DD.md`
|
||||
- current priorities -> `project-knowledge/01-current/current-work.md`
|
||||
- active work items -> `project-knowledge/02-work-items/*.md`
|
||||
- active-work summary -> `project-knowledge/01-current/work-items.md`
|
||||
- durable project knowledge -> `project-knowledge/03-context/`
|
||||
- people and roles -> `project-knowledge/04-people/`
|
||||
- confirmed decisions -> `project-knowledge/05-decisions/`
|
||||
- reusable behavior -> `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, `agent-memory/`, `core/`, or `scripts/`
|
||||
|
||||
@@ -8,10 +8,10 @@ Read:
|
||||
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/ai-to-ai-prompting.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@agent-memory/workflows/ai-to-ai-prompting.md
|
||||
|
||||
Read active profile, if present:
|
||||
|
||||
@@ -19,7 +19,7 @@ Read active profile, if present:
|
||||
|
||||
Relevant active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
User request:
|
||||
|
||||
|
||||
@@ -24,12 +24,12 @@ Read:
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@core/integrations/communication-model.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/context-maintenance.md
|
||||
@vault/04-people/index.md
|
||||
@vault/04-people/manager.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@agent-memory/memory/context-maintenance.md
|
||||
@project-knowledge/04-people/index.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
|
||||
Imported summary, if present:
|
||||
|
||||
@@ -44,11 +44,11 @@ Instructions:
|
||||
- treat the archive as historical evidence
|
||||
- promote durable project-relevant context automatically when confidence is high
|
||||
- prefer durable role/person associations, recurring architecture patterns, repeated work-item references, approval/scope history, and process lessons
|
||||
- create or update `vault/04-people/*.md` when a human repeatedly affects project flow
|
||||
- create or update `project-knowledge/04-people/*.md` when a human repeatedly affects project flow
|
||||
- avoid promoting outdated daily status unless it changes current understanding
|
||||
- update existing memory when the archive clarifies or corrects it
|
||||
- keep ambiguous or likely outdated facts as archive-only context
|
||||
- write promoted memory to `vault/`
|
||||
- write promoted memory to `project-knowledge/`
|
||||
|
||||
Return:
|
||||
|
||||
|
||||
@@ -19,10 +19,10 @@ Read:
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@core/integrations/communication-model.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/context-maintenance.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@agent-memory/memory/context-maintenance.md
|
||||
|
||||
Fresh communication evidence:
|
||||
|
||||
@@ -33,10 +33,10 @@ Instructions:
|
||||
- if the sync command failed, stop and do not edit workspace memory
|
||||
- treat connector output as evidence, not automatically as project truth
|
||||
- promote only explicit, project-relevant, high-confidence facts
|
||||
- default destination is `vault/06-daily/$(date +%F).md`
|
||||
- update `vault/01-current/current-work.md` only for facts that materially change the active work window
|
||||
- update `vault/02-work-items/*.md` for explicit work-item IDs, approved titles, points, scope, and status notes
|
||||
- keep `vault/01-current/work-items.md` aligned as the compact summary of active work items
|
||||
- default destination is `project-knowledge/06-daily/$(date +%F).md`
|
||||
- update `project-knowledge/01-current/current-work.md` only for facts that materially change the active work window
|
||||
- update `project-knowledge/02-work-items/*.md` for explicit work-item IDs, approved titles, points, scope, and status notes
|
||||
- keep `project-knowledge/01-current/work-items.md` aligned as the compact summary of active work items
|
||||
- do not write tooling noise, sync status, or generic chat chatter into project memory
|
||||
- if a fact is ambiguous, skip it rather than asking what to do
|
||||
|
||||
|
||||
@@ -9,14 +9,14 @@ Read:
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@prompts/copilot-prompt.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/ai-to-ai-prompting.md
|
||||
@vault/03-context/ios/index.md
|
||||
@vault/03-context/ios/project-swift-guidance.md
|
||||
@vault/03-context/systems/index.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@agent-memory/workflows/ai-to-ai-prompting.md
|
||||
@project-knowledge/03-context/ios/index.md
|
||||
@project-knowledge/03-context/ios/project-swift-guidance.md
|
||||
@project-knowledge/03-context/systems/index.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
|
||||
Active profile, if present:
|
||||
|
||||
@@ -24,7 +24,7 @@ Active profile, if present:
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
User request:
|
||||
|
||||
|
||||
@@ -12,23 +12,30 @@ Use these files as the baseline context:
|
||||
@core/integrations/memory-vault-model.md
|
||||
@core/integrations/communication-model.md
|
||||
@profiles/fidelity/profile.md
|
||||
@vault/00-start/start-here.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/07-maps/current-work.md
|
||||
@vault/07-maps/fidelity-domain.md
|
||||
@vault/07-maps/work-items.md
|
||||
@vault/07-maps/people.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/communication.md
|
||||
@vault/03-context/process/technical-verification.md
|
||||
@vault/03-context/process/ai-to-ai-prompting.md
|
||||
@vault/03-context/process/jira-story-rules.md
|
||||
@vault/03-context/process/workspace-model.md
|
||||
@vault/03-context/process/agent-memory-rules.md
|
||||
@vault/03-context/process/memory-promotion-rules.md
|
||||
@vault/04-people/manager.md
|
||||
@vault/04-people/index.md
|
||||
@agent-memory/README.md
|
||||
@agent-memory/behavior/learning-sessions.md
|
||||
@agent-memory/behavior/self-maintenance.md
|
||||
@agent-memory/memory/operational-memory.md
|
||||
@agent-memory/integrations/memory-interface.md
|
||||
@agent-memory/integrations/obsidian.md
|
||||
@agent-memory/integrations/communication-sources.md
|
||||
@project-knowledge/00-start/start-here.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/07-maps/current-work.md
|
||||
@project-knowledge/07-maps/fidelity-domain.md
|
||||
@project-knowledge/07-maps/work-items.md
|
||||
@project-knowledge/07-maps/people.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/process/communication.md
|
||||
@agent-memory/integrations/technical-verification.md
|
||||
@agent-memory/workflows/ai-to-ai-prompting.md
|
||||
@project-knowledge/03-context/process/jira-story-rules.md
|
||||
@agent-memory/workflows/workspace-model.md
|
||||
@agent-memory/behavior/agent-behavior.md
|
||||
@agent-memory/memory/promotion-rules.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
@project-knowledge/04-people/index.md
|
||||
|
||||
Today's date:
|
||||
|
||||
@@ -36,15 +43,15 @@ Today's date:
|
||||
|
||||
Today's canonical daily note, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Recent daily notes available:
|
||||
|
||||
!`if [ -d vault/06-daily ]; then ls -1 vault/06-daily 2>/dev/null | sort | tail -n 5; else echo "No daily notes directory available."; fi`
|
||||
!`if [ -d project-knowledge/06-daily ]; then ls -1 project-knowledge/06-daily 2>/dev/null | sort | tail -n 5; else echo "No daily notes directory available."; fi`
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
Latest Mattermost context, if available:
|
||||
|
||||
|
||||
@@ -40,6 +40,6 @@ Slash commands available in this workspace.
|
||||
|
||||
## Related
|
||||
|
||||
- [Tooling Map](../../vault/07-maps/tooling.md)
|
||||
- [Tooling Map](../../agent-memory/maps/tooling.md)
|
||||
- [Prompts Index](../../prompts/index.md)
|
||||
- [Skills Index](../skills/index.md)
|
||||
|
||||
@@ -30,7 +30,7 @@ Instructions:
|
||||
- If the user asks for the current manager/stakeholder, filter messages by the profile mapping when visible; for the Fidelity profile, also match `jeff` and `jeff.dewitte`.
|
||||
- If multiple messages match, return the newest matching message first.
|
||||
- Include timestamp, channel, sender, and concise summary.
|
||||
- If the message changes project context, update the appropriate workspace memory after answering, writing to `vault/` first.
|
||||
- If the message changes project context, update the appropriate workspace memory after answering, writing to `project-knowledge/` first.
|
||||
- If sync fails or no refreshed context is available, say that directly and do not infer from stale context.
|
||||
|
||||
Return:
|
||||
|
||||
@@ -9,15 +9,15 @@ Read:
|
||||
@README.md
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/process/context-maintenance.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@agent-memory/memory/context-maintenance.md
|
||||
|
||||
Today's existing log, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Incorporate these new rough notes into today's log:
|
||||
|
||||
@@ -26,7 +26,7 @@ $ARGUMENTS
|
||||
Instructions:
|
||||
|
||||
- use `workspace-memory-curation` when available
|
||||
- Update or create `vault/06-daily/$(date +%F).md`
|
||||
- Update or create `project-knowledge/06-daily/$(date +%F).md`
|
||||
- Maintain daily-note frontmatter for Obsidian Bases: `date`, `focus`, `work-items`, `blockers`, and `updated`
|
||||
- Preserve concrete technical meaning
|
||||
- Capture both technical findings and communication context when relevant
|
||||
|
||||
@@ -9,17 +9,17 @@ Use `professional-communication` when available.
|
||||
Read:
|
||||
|
||||
@prompts/manager-update.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/process/communication.md
|
||||
@vault/04-people/manager.md
|
||||
@vault/04-people/index.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/03-context/process/communication.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
@project-knowledge/04-people/index.md
|
||||
|
||||
Today's log, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Latest Mattermost context, if available:
|
||||
|
||||
@@ -27,7 +27,7 @@ Latest Mattermost context, if available:
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
User draft or rough notes:
|
||||
|
||||
|
||||
@@ -21,13 +21,13 @@ Then:
|
||||
- if the command fails, stop there and do not edit any workspace files
|
||||
- use `ai/inbox/mattermost-latest.md` if it exists and is non-empty
|
||||
- otherwise use `scripts/mattermost/generated/mattermost_context.jsonl` if it exists and is non-empty
|
||||
- apply the memory promotion rules from `vault/03-context/process/memory-promotion-rules.md`
|
||||
- apply the memory promotion rules from `agent-memory/memory/promotion-rules.md`
|
||||
- treat Mattermost output as live communication evidence; the agent decides what becomes promoted memory
|
||||
- automatically promote explicit, project-relevant, high-confidence facts
|
||||
- default destination is `vault/06-daily/$(date +%F).md`
|
||||
- update `vault/01-current/current-work.md` only for facts that materially change the current work window
|
||||
- update `vault/02-work-items/*.md` for explicit Jira IDs, approved titles, points, scope, and status notes
|
||||
- keep `vault/01-current/work-items.md` aligned as the compact summary of active ticket files
|
||||
- default destination is `project-knowledge/06-daily/$(date +%F).md`
|
||||
- update `project-knowledge/01-current/current-work.md` only for facts that materially change the current work window
|
||||
- update `project-knowledge/02-work-items/*.md` for explicit Jira IDs, approved titles, points, scope, and status notes
|
||||
- keep `project-knowledge/01-current/work-items.md` aligned as the compact summary of active ticket files
|
||||
- do not write tooling noise, sync status, or generic chat chatter into project memory
|
||||
- if a fact is ambiguous, skip it rather than asking the user what to do
|
||||
|
||||
|
||||
@@ -21,12 +21,12 @@ $ARGUMENTS
|
||||
Read:
|
||||
|
||||
@core/integrations/memory-vault-model.md
|
||||
@vault/00-start/workspace-architecture.md
|
||||
@vault/09-templates/work-item.md
|
||||
@vault/09-templates/person.md
|
||||
@vault/09-templates/decision.md
|
||||
@vault/09-templates/system.md
|
||||
@vault/09-templates/workstream.md
|
||||
@agent-memory/workflows/workspace-architecture.md
|
||||
@project-knowledge/09-templates/work-item.md
|
||||
@project-knowledge/09-templates/person.md
|
||||
@project-knowledge/09-templates/decision.md
|
||||
@project-knowledge/09-templates/system.md
|
||||
@project-knowledge/09-templates/workstream.md
|
||||
|
||||
Instructions:
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
description: Check canonical memory health and Obsidian adapter status
|
||||
---
|
||||
|
||||
Run a lightweight health check for the canonical memory vault.
|
||||
Run a lightweight health check for canonical project knowledge.
|
||||
|
||||
Read:
|
||||
|
||||
@core/integrations/memory-vault-model.md
|
||||
@core/integrations/obsidian-model.md
|
||||
@vault/00-start/workspace-architecture.md
|
||||
@agent-memory/workflows/workspace-architecture.md
|
||||
|
||||
Run:
|
||||
|
||||
|
||||
@@ -8,17 +8,17 @@ Read:
|
||||
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/systems/index.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/workstreams/flow-page-references.md
|
||||
@vault/03-context/process/index.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/systems/index.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/03-context/workstreams/flow-page-references.md
|
||||
@project-knowledge/03-context/process/index.md
|
||||
|
||||
Today's log, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Current Mattermost inbox, if present:
|
||||
|
||||
@@ -37,20 +37,21 @@ Instructions:
|
||||
- Promote only confirmed project-relevant facts
|
||||
- Ignore tooling noise and sync status
|
||||
- Update the smallest correct set of files among:
|
||||
- `vault/06-daily/$(date +%F).md`
|
||||
- `vault/01-current/current-work.md`
|
||||
- `vault/02-work-items/*.md`
|
||||
- `vault/01-current/work-items.md`
|
||||
- `vault/03-context/project.md`
|
||||
- `vault/03-context/systems/*.md`
|
||||
- `vault/03-context/workstreams/*.md`
|
||||
- `vault/03-context/process/*.md`
|
||||
- `vault/05-decisions/*.md`
|
||||
- `project-knowledge/06-daily/$(date +%F).md`
|
||||
- `project-knowledge/01-current/current-work.md`
|
||||
- `project-knowledge/02-work-items/*.md`
|
||||
- `project-knowledge/01-current/work-items.md`
|
||||
- `project-knowledge/03-context/project.md`
|
||||
- `project-knowledge/03-context/systems/*.md`
|
||||
- `project-knowledge/03-context/workstreams/*.md`
|
||||
- `project-knowledge/03-context/process/*.md`
|
||||
- `project-knowledge/05-decisions/*.md`
|
||||
- `.opencode/commands/*.md` when command behavior needs to change
|
||||
- `prompts/*.md` when a reusable output template needs to change
|
||||
- `.opencode/agents/*.md` or `AGENTS.md` when default agent behavior needs to change
|
||||
- `.opencode/skills/*/SKILL.md` when a specialized workflow needs to change
|
||||
- `vault/00-start/*.md` when durable onboarding or usage guidance needs to change
|
||||
- `project-knowledge/00-start/*.md` when durable project onboarding guidance needs to change
|
||||
- `agent-memory/**/*.md` when agent learning, promotion, verification, or self-maintenance behavior needs to change
|
||||
- Prefer concrete project updates over broad summaries
|
||||
- If a fact is still ambiguous, do not promote it
|
||||
- If the promoted fact is a reusable behavior correction, do not leave it only in a daily log; update the operational file that controls future behavior
|
||||
|
||||
@@ -27,14 +27,14 @@ Read:
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@core/integrations/communication-model.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/systems/index.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/process/index.md
|
||||
@vault/04-people/index.md
|
||||
@vault/04-people/manager.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/systems/index.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/03-context/process/index.md
|
||||
@project-knowledge/04-people/index.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
|
||||
Imported summary, if present:
|
||||
|
||||
@@ -55,7 +55,7 @@ Instructions:
|
||||
- durable role/person associations
|
||||
- recurring architecture or debugging patterns
|
||||
- past approvals or decisions that still matter
|
||||
- create or update `vault/04-people/*.md` when the archive shows a human repeatedly contributing across channels, years, or high-signal technical/process discussions
|
||||
- create or update `project-knowledge/04-people/*.md` when the archive shows a human repeatedly contributing across channels, years, or high-signal technical/process discussions
|
||||
- store people conservatively:
|
||||
- exact role only when explicitly supported by the archive
|
||||
- otherwise store collaboration pattern, communication style, and project relationship
|
||||
@@ -70,7 +70,7 @@ Instructions:
|
||||
- avoid promoting outdated daily status unless it changes current understanding
|
||||
- update existing memory when the archive clarifies or corrects it
|
||||
- if historical facts are ambiguous or likely outdated, summarize them as archived context instead of promoting them
|
||||
- write promoted memory to `vault/`
|
||||
- write promoted memory to `project-knowledge/`
|
||||
|
||||
Return:
|
||||
|
||||
|
||||
@@ -11,15 +11,15 @@ First, refresh Mattermost context before drafting:
|
||||
Read:
|
||||
|
||||
@prompts/standup.md
|
||||
@vault/00-start/start-here.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/workstreams/flow-page-references.md
|
||||
@vault/03-context/process/communication.md
|
||||
@vault/03-context/process/jira-story-rules.md
|
||||
@vault/04-people/manager.md
|
||||
@project-knowledge/00-start/start-here.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/03-context/workstreams/flow-page-references.md
|
||||
@project-knowledge/03-context/process/communication.md
|
||||
@project-knowledge/03-context/process/jira-story-rules.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
|
||||
Previous workday Mattermost context, if present:
|
||||
|
||||
@@ -27,7 +27,7 @@ Previous workday Mattermost context, if present:
|
||||
|
||||
Today's log, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Latest Mattermost context, preferring inbox and falling back to generated JSONL:
|
||||
|
||||
@@ -35,7 +35,7 @@ Latest Mattermost context, preferring inbox and falling back to generated JSONL:
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
Before drafting:
|
||||
|
||||
@@ -48,7 +48,7 @@ Before drafting:
|
||||
- if documentation or root cause updates directly support a story, roll them into that story's update instead of listing them separately
|
||||
- exclude items that are not directly tied to a story unless they are true blockers
|
||||
- when one Jira item has multiple concrete updates, group them under one top-level `JIRA-ID - Title` bullet with indented markdown sub-bullets instead of repeating the same Jira line
|
||||
- use `vault/03-context/workstreams/flow-page-references.md` to preserve real flow/page identifiers when shorthand appears in logs or messages
|
||||
- use `project-knowledge/03-context/workstreams/flow-page-references.md` to preserve real flow/page identifiers when shorthand appears in logs or messages
|
||||
- for standups that will also be sent to Teams, prefer plain language over internal implementation jargon; avoid unexplained terms like `fallback`
|
||||
- if work is in release-process waiting state, show the parallel story work explicitly instead of implying idle waiting
|
||||
|
||||
|
||||
@@ -21,18 +21,18 @@ Read:
|
||||
@core/README.md
|
||||
@core/memory/operational-memory.md
|
||||
@prompts/story-draft.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/process/communication.md
|
||||
@vault/03-context/process/jira-story-rules.md
|
||||
@vault/04-people/manager.md
|
||||
@vault/04-people/index.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/03-context/process/communication.md
|
||||
@project-knowledge/03-context/process/jira-story-rules.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
@project-knowledge/04-people/index.md
|
||||
|
||||
Today's log, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Latest Mattermost context, if available:
|
||||
|
||||
@@ -40,7 +40,7 @@ Latest Mattermost context, if available:
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
Requirements:
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@ Answer the user's Swift/iOS programming question using current iOS practices and
|
||||
|
||||
Read:
|
||||
|
||||
@vault/03-context/ios/index.md
|
||||
@vault/03-context/ios/current-practices.md
|
||||
@vault/03-context/ios/project-swift-guidance.md
|
||||
@vault/03-context/process/technical-verification.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/systems/index.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/01-current/work-items.md
|
||||
@project-knowledge/03-context/ios/index.md
|
||||
@project-knowledge/03-context/ios/current-practices.md
|
||||
@project-knowledge/03-context/ios/project-swift-guidance.md
|
||||
@agent-memory/integrations/technical-verification.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/systems/index.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
|
||||
User question:
|
||||
|
||||
|
||||
@@ -7,20 +7,20 @@ Use this command when new information should become part of the persistent works
|
||||
Read:
|
||||
|
||||
@README.md
|
||||
@vault/00-start/start-here.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/systems/index.md
|
||||
@vault/03-context/workstreams/index.md
|
||||
@vault/03-context/workstreams/flow-page-references.md
|
||||
@vault/03-context/process/context-maintenance.md
|
||||
@vault/04-people/manager.md
|
||||
@vault/04-people/index.md
|
||||
@project-knowledge/00-start/start-here.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/systems/index.md
|
||||
@project-knowledge/03-context/workstreams/index.md
|
||||
@project-knowledge/03-context/workstreams/flow-page-references.md
|
||||
@agent-memory/memory/context-maintenance.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
@project-knowledge/04-people/index.md
|
||||
|
||||
Today's existing log, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
New information to incorporate:
|
||||
|
||||
@@ -31,27 +31,27 @@ Instructions:
|
||||
- use `workspace-memory-curation` when available
|
||||
- Treat direct user corrections and learning-session updates as memory sources.
|
||||
- For learning-session updates, prefer durable project understanding over transient ticket status.
|
||||
- Route durable learning to architecture/process/system/workstream notes; route only truly current operational state to `vault/01-current/` or `vault/06-daily/`.
|
||||
- Route durable learning to architecture/process/system/workstream notes; route only truly current operational state to `project-knowledge/01-current/` or `project-knowledge/06-daily/`.
|
||||
- If the new information corrects the agent's uncertainty handling or recurring behavior, update the command, prompt, agent, skill, or process rule that controls that behavior.
|
||||
- Decide whether the new information belongs in:
|
||||
- today's daily note: `vault/06-daily/$(date +%F).md`
|
||||
- current work: `vault/01-current/current-work.md`
|
||||
- work items: `vault/02-work-items/*.md`
|
||||
- active work summary: `vault/01-current/work-items.md`
|
||||
- project overview: `vault/03-context/project.md`
|
||||
- systems: `vault/03-context/systems/`
|
||||
- workstreams: `vault/03-context/workstreams/`
|
||||
- process: `vault/03-context/process/`
|
||||
- manager mapping: `vault/04-people/manager.md`
|
||||
- people roster: `vault/04-people/index.md`
|
||||
- people notes: `vault/04-people/*.md`
|
||||
- decisions: `vault/05-decisions/`
|
||||
- today's daily note: `project-knowledge/06-daily/$(date +%F).md`
|
||||
- current work: `project-knowledge/01-current/current-work.md`
|
||||
- work items: `project-knowledge/02-work-items/*.md`
|
||||
- active work summary: `project-knowledge/01-current/work-items.md`
|
||||
- project overview: `project-knowledge/03-context/project.md`
|
||||
- systems: `project-knowledge/03-context/systems/`
|
||||
- workstreams: `project-knowledge/03-context/workstreams/`
|
||||
- process: `project-knowledge/03-context/process/`
|
||||
- manager mapping: `project-knowledge/04-people/manager.md`
|
||||
- people roster: `project-knowledge/04-people/index.md`
|
||||
- people notes: `project-knowledge/04-people/*.md`
|
||||
- decisions: `project-knowledge/05-decisions/`
|
||||
- `.opencode/commands/*.md`
|
||||
- `prompts/*.md`
|
||||
- `.opencode/agents/*.md`
|
||||
- `.opencode/skills/*/SKILL.md`
|
||||
- Update the appropriate files directly
|
||||
- When updating a canonical vault note, maintain frontmatter properties used by Obsidian Bases, including `updated`, `systems`, `workstreams`, `people`, `related`, `focus`, `work-items`, and `blockers` when applicable
|
||||
- When updating a canonical project note, maintain frontmatter properties used by Obsidian Bases, including `updated`, `systems`, `workstreams`, `people`, `related`, `focus`, `work-items`, and `blockers` when applicable
|
||||
- If an existing statement became stale, replace or refine it
|
||||
- If the new information changes how this workspace should behave, update the linked command, prompt, agent, skill, or knowledge file that enforces that behavior
|
||||
- Do not invent missing facts
|
||||
|
||||
@@ -16,14 +16,14 @@ $ARGUMENTS
|
||||
Read:
|
||||
|
||||
@prompts/mattermost-translation.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/communication.md
|
||||
@vault/04-people/manager.md
|
||||
@vault/04-people/index.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/process/communication.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
@project-knowledge/04-people/index.md
|
||||
|
||||
If relevant, use today's log for context:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Return:
|
||||
|
||||
|
||||
@@ -11,27 +11,34 @@ Read core:
|
||||
@core/integrations/memory-vault-model.md
|
||||
@core/integrations/communication-model.md
|
||||
@core/profiles/create-project-profile.md
|
||||
@agent-memory/README.md
|
||||
@agent-memory/behavior/learning-sessions.md
|
||||
@agent-memory/behavior/self-maintenance.md
|
||||
@agent-memory/memory/operational-memory.md
|
||||
@agent-memory/integrations/memory-interface.md
|
||||
@agent-memory/integrations/obsidian.md
|
||||
@agent-memory/integrations/communication-sources.md
|
||||
|
||||
Read active workspace memory:
|
||||
|
||||
@README.md
|
||||
@vault/00-start/start-here.md
|
||||
@vault/00-start/onboarding.md
|
||||
@vault/01-current/current-work.md
|
||||
@vault/01-current/work-items.md
|
||||
@vault/07-maps/current-work.md
|
||||
@vault/07-maps/fidelity-domain.md
|
||||
@vault/07-maps/work-items.md
|
||||
@vault/07-maps/people.md
|
||||
@vault/03-context/project.md
|
||||
@vault/03-context/process/communication.md
|
||||
@vault/03-context/process/technical-verification.md
|
||||
@vault/03-context/process/context-maintenance.md
|
||||
@vault/03-context/process/workspace-model.md
|
||||
@vault/03-context/process/agent-memory-rules.md
|
||||
@vault/03-context/process/memory-promotion-rules.md
|
||||
@vault/04-people/manager.md
|
||||
@vault/04-people/index.md
|
||||
@project-knowledge/00-start/start-here.md
|
||||
@project-knowledge/00-start/onboarding.md
|
||||
@project-knowledge/01-current/current-work.md
|
||||
@project-knowledge/01-current/work-items.md
|
||||
@project-knowledge/07-maps/current-work.md
|
||||
@project-knowledge/07-maps/fidelity-domain.md
|
||||
@project-knowledge/07-maps/work-items.md
|
||||
@project-knowledge/07-maps/people.md
|
||||
@project-knowledge/03-context/project.md
|
||||
@project-knowledge/03-context/process/communication.md
|
||||
@agent-memory/integrations/technical-verification.md
|
||||
@agent-memory/memory/context-maintenance.md
|
||||
@agent-memory/workflows/workspace-model.md
|
||||
@agent-memory/behavior/agent-behavior.md
|
||||
@agent-memory/memory/promotion-rules.md
|
||||
@project-knowledge/04-people/manager.md
|
||||
@project-knowledge/04-people/index.md
|
||||
|
||||
Read active profile, preferring the configured profile and falling back to Fidelity:
|
||||
|
||||
@@ -43,15 +50,15 @@ Today's date:
|
||||
|
||||
Today's canonical daily note, if present:
|
||||
|
||||
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
!`if [ -f project-knowledge/06-daily/$(date +%F).md ]; then cat project-knowledge/06-daily/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
|
||||
|
||||
Recent daily notes available:
|
||||
|
||||
!`if [ -d vault/06-daily ]; then ls -1 vault/06-daily 2>/dev/null | sort | tail -n 5; else echo "No daily notes directory available."; fi`
|
||||
!`if [ -d project-knowledge/06-daily ]; then ls -1 project-knowledge/06-daily 2>/dev/null | sort | tail -n 5; else echo "No daily notes directory available."; fi`
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
!`if [ -d vault/02-work-items ]; then for f in vault/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
!`if [ -d project-knowledge/02-work-items ]; then for f in project-knowledge/02-work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi`
|
||||
|
||||
Latest communication inbox, if available:
|
||||
|
||||
|
||||
@@ -16,23 +16,30 @@ export const FidelityCompaction = async ({ directory }) => {
|
||||
"README.md",
|
||||
"core/README.md",
|
||||
"core/memory/operational-memory.md",
|
||||
"core/integrations/memory-vault-model.md",
|
||||
"core/integrations/communication-model.md",
|
||||
"profiles/fidelity/profile.md",
|
||||
"vault/00-start/start-here.md",
|
||||
"vault/01-current/current-work.md",
|
||||
"vault/01-current/work-items.md",
|
||||
"vault/03-context/project.md",
|
||||
"vault/03-context/ios/index.md",
|
||||
"vault/03-context/ios/current-practices.md",
|
||||
"vault/03-context/ios/project-swift-guidance.md",
|
||||
"vault/03-context/systems/index.md",
|
||||
"vault/03-context/workstreams/index.md",
|
||||
"vault/03-context/process/communication.md",
|
||||
"vault/03-context/process/ai-to-ai-prompting.md",
|
||||
"vault/04-people/manager.md",
|
||||
"vault/04-people/index.md",
|
||||
"vault/05-decisions/rest-vs-graphql.md",
|
||||
"vault/05-decisions/discourse-handling.md",
|
||||
"agent-memory/README.md",
|
||||
"agent-memory/behavior/agent-behavior.md",
|
||||
"agent-memory/memory/promotion-rules.md",
|
||||
"agent-memory/memory/context-maintenance.md",
|
||||
"agent-memory/integrations/technical-verification.md",
|
||||
"agent-memory/workflows/workspace-model.md",
|
||||
"agent-memory/workflows/ai-to-ai-prompting.md",
|
||||
"project-knowledge/00-start/start-here.md",
|
||||
"project-knowledge/01-current/current-work.md",
|
||||
"project-knowledge/01-current/work-items.md",
|
||||
"project-knowledge/03-context/project.md",
|
||||
"project-knowledge/03-context/ios/index.md",
|
||||
"project-knowledge/03-context/ios/current-practices.md",
|
||||
"project-knowledge/03-context/ios/project-swift-guidance.md",
|
||||
"project-knowledge/03-context/systems/index.md",
|
||||
"project-knowledge/03-context/workstreams/index.md",
|
||||
"project-knowledge/03-context/process/communication.md",
|
||||
"project-knowledge/04-people/manager.md",
|
||||
"project-knowledge/04-people/index.md",
|
||||
"project-knowledge/05-decisions/rest-vs-graphql.md",
|
||||
"project-knowledge/05-decisions/discourse-handling.md",
|
||||
]
|
||||
|
||||
const sections = []
|
||||
@@ -45,7 +52,7 @@ export const FidelityCompaction = async ({ directory }) => {
|
||||
}
|
||||
|
||||
try {
|
||||
const logsDir = path.join(directory, "vault/06-daily")
|
||||
const logsDir = path.join(directory, "project-knowledge/06-daily")
|
||||
const logs = (await readdir(logsDir))
|
||||
.filter((name) => name.endsWith(".md"))
|
||||
.sort()
|
||||
@@ -54,7 +61,7 @@ export const FidelityCompaction = async ({ directory }) => {
|
||||
for (const logName of logs) {
|
||||
const content = await safeRead(path.join(logsDir, logName))
|
||||
if (content) {
|
||||
sections.push(`### vault/06-daily/${logName}\n${content.trim()}`)
|
||||
sections.push(`### project-knowledge/06-daily/${logName}\n${content.trim()}`)
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
|
||||
@@ -18,10 +18,10 @@ Use this skill when the user wants a prompt for another AI assistant, GitHub Cop
|
||||
- test strategy
|
||||
- story/PR drafting
|
||||
2. Pull only the relevant context:
|
||||
- `vault/02-work-items/` for ticket-specific context
|
||||
- `vault/03-context/systems/` for component context
|
||||
- `vault/03-context/workstreams/` for recurring constraints
|
||||
- `vault/03-context/ios/` for Swift/iOS guidance
|
||||
- `project-knowledge/02-work-items/` for ticket-specific context
|
||||
- `project-knowledge/03-context/systems/` for component context
|
||||
- `project-knowledge/03-context/workstreams/` for recurring constraints
|
||||
- `project-knowledge/03-context/ios/` for Swift/iOS guidance
|
||||
3. Make the prompt self-contained.
|
||||
4. Tell the target AI what to inspect before acting.
|
||||
5. State constraints, non-goals, and validation expectations.
|
||||
|
||||
@@ -24,6 +24,6 @@ Skills available to the workspace agent.
|
||||
|
||||
## Related
|
||||
|
||||
- [Tooling Map](../../vault/07-maps/tooling.md)
|
||||
- [Tooling Map](../../agent-memory/maps/tooling.md)
|
||||
- [Commands Index](../commands/index.md)
|
||||
- [Prompts Index](../../prompts/index.md)
|
||||
|
||||
@@ -11,8 +11,8 @@ Use this skill for Swift, SwiftUI, iOS architecture, concurrency, testing, or de
|
||||
## Workflow
|
||||
|
||||
1. Identify whether the question is general Swift/iOS or Fidelity-specific.
|
||||
2. Read `vault/03-context/ios/current-practices.md` for currentness rules.
|
||||
3. Read `vault/03-context/ios/project-swift-guidance.md` when the answer may affect XFlow, Fid4, XFlowViewMaker, FTFrameworks, feature flags, or consumer validation.
|
||||
2. Read `project-knowledge/03-context/ios/current-practices.md` for currentness rules.
|
||||
3. Read `project-knowledge/03-context/ios/project-swift-guidance.md` when the answer may affect XFlow, Fid4, XFlowViewMaker, FTFrameworks, feature flags, or consumer validation.
|
||||
4. If the answer depends on current Apple APIs, Xcode versions, dependency tooling, package-manager behavior, testing frameworks, or migration guidance, verify with official/primary documentation before making strong claims.
|
||||
5. Separate:
|
||||
- current best practice
|
||||
|
||||
73
AGENTS.md
73
AGENTS.md
@@ -13,37 +13,46 @@ OpenCode should treat this project as a persistent context layer used to:
|
||||
|
||||
The detailed operating rules live in:
|
||||
|
||||
- `vault/00-start/start-here.md`
|
||||
- `vault/00-start/workspace-architecture.md`
|
||||
- `vault/01-current/current-work.md`
|
||||
- `vault/01-current/work-items.md`
|
||||
- `vault/03-context/project.md`
|
||||
- `vault/03-context/ios/index.md`
|
||||
- `vault/03-context/ios/current-practices.md`
|
||||
- `vault/03-context/ios/project-swift-guidance.md`
|
||||
- `vault/03-context/systems/index.md`
|
||||
- `vault/03-context/workstreams/index.md`
|
||||
- `vault/03-context/process/communication.md`
|
||||
- `vault/03-context/process/technical-verification.md`
|
||||
- `vault/03-context/process/ai-to-ai-prompting.md`
|
||||
- `vault/03-context/process/workspace-model.md`
|
||||
- `vault/03-context/process/memory-promotion-rules.md`
|
||||
- `project-knowledge/00-start/start-here.md`
|
||||
- `agent-memory/README.md`
|
||||
- `agent-memory/behavior/agent-behavior.md`
|
||||
- `agent-memory/behavior/learning-sessions.md`
|
||||
- `agent-memory/behavior/self-maintenance.md`
|
||||
- `agent-memory/memory/operational-memory.md`
|
||||
- `agent-memory/memory/context-maintenance.md`
|
||||
- `agent-memory/workflows/workspace-architecture.md`
|
||||
- `project-knowledge/01-current/current-work.md`
|
||||
- `project-knowledge/01-current/work-items.md`
|
||||
- `project-knowledge/03-context/project.md`
|
||||
- `project-knowledge/03-context/ios/index.md`
|
||||
- `project-knowledge/03-context/ios/current-practices.md`
|
||||
- `project-knowledge/03-context/ios/project-swift-guidance.md`
|
||||
- `project-knowledge/03-context/systems/index.md`
|
||||
- `project-knowledge/03-context/workstreams/index.md`
|
||||
- `project-knowledge/03-context/process/communication.md`
|
||||
- `agent-memory/integrations/technical-verification.md`
|
||||
- `agent-memory/workflows/ai-to-ai-prompting.md`
|
||||
- `agent-memory/workflows/workspace-model.md`
|
||||
- `agent-memory/memory/promotion-rules.md`
|
||||
- `agent-memory/integrations/memory-interface.md`
|
||||
- `agent-memory/integrations/obsidian.md`
|
||||
- `agent-memory/integrations/communication-sources.md`
|
||||
- `core/integrations/memory-vault-model.md`
|
||||
- `vault/04-people/manager.md`
|
||||
- `vault/04-people/index.md`
|
||||
- `vault/02-work-items/index.md`
|
||||
- `project-knowledge/04-people/manager.md`
|
||||
- `project-knowledge/04-people/index.md`
|
||||
- `project-knowledge/02-work-items/index.md`
|
||||
|
||||
These are also loaded through `opencode.json`.
|
||||
|
||||
## Required Behavior
|
||||
|
||||
- Assume the workspace may contain stale context until checked.
|
||||
- Treat `vault/` as the canonical clean memory for humans and AI. Treat `ai/inbox/` as raw evidence only.
|
||||
- Treat `scripts/memory/` as the project-agnostic interface for creating notes, searching memory, querying Bases, and running vault health checks.
|
||||
- Treat `project-knowledge/` as the canonical clean project memory for humans and AI. Treat `agent-memory/` as agent operating memory. Treat `ai/inbox/` as raw evidence only.
|
||||
- Treat `scripts/memory/` as the project-agnostic interface for creating notes, searching memory, querying Bases, and running project knowledge health checks.
|
||||
- Treat `scripts/obsidian/` as the current Obsidian adapter, not as the core memory abstraction.
|
||||
- Keep Obsidian Bases clean: templates in `vault/09-templates/` must not be treated as real notes, and role mapping files such as `vault/04-people/manager.md` must not be typed as people.
|
||||
- Maintain useful vault properties when editing canonical notes, especially work-item relationships (`systems`, `workstreams`, `people`, `related`) and daily note fields (`focus`, `work-items`, `blockers`).
|
||||
- Before answering questions that depend on current work state, inspect `vault/01-current/current-work.md` and the latest relevant daily note under `vault/06-daily/`.
|
||||
- Keep Obsidian Bases clean: templates in `project-knowledge/09-templates/` must not be treated as real notes, and role mapping files such as `project-knowledge/04-people/manager.md` must not be typed as people.
|
||||
- Maintain useful project-note properties when editing canonical notes, especially work-item relationships (`systems`, `workstreams`, `people`, `related`) and daily note fields (`focus`, `work-items`, `blockers`).
|
||||
- Before answering questions that depend on current work state, inspect `project-knowledge/01-current/current-work.md` and the latest relevant daily note under `project-knowledge/06-daily/`.
|
||||
- If `ai/inbox/mattermost-latest.md` exists, inspect it for fresher communication context before answering standup, status, or manager-message prompts.
|
||||
- If the user asks for the latest/last/recent Mattermost message, the latest message from Jeff/current manager, or what someone just said, synchronize Mattermost first instead of relying on existing inbox context.
|
||||
- If automatic refresh is uncertain, use the explicit latest-message flow: run the Mattermost sync command, then answer from the refreshed inbox only.
|
||||
@@ -56,12 +65,12 @@ These are also loaded through `opencode.json`.
|
||||
- If a sync command, extraction script, or inbox refresh fails, do not update logs, state, or context files from that failed attempt.
|
||||
- Treat sync failures as operational errors, not project context.
|
||||
- `mattermost-sync` should automatically promote high-confidence project facts without asking what to promote.
|
||||
- Prefer `vault/06-daily/` as the default destination for new Mattermost-derived facts.
|
||||
- Promote to `vault/01-current/current-work.md` only when the fact materially changes active work over the next few days.
|
||||
- Keep explicit Jira IDs and approved titles visible in `vault/02-work-items/` and summarize active items in `vault/01-current/work-items.md` when they are useful for future standups or manager updates.
|
||||
- Promote to `vault/03-context/project.md` only when the fact changes durable project understanding.
|
||||
- When a repeatedly mentioned person becomes relevant to project flow, create or update a file under `vault/04-people/`.
|
||||
- Keep role-to-person mapping explicit in `vault/04-people/manager.md` and the roster in `vault/04-people/index.md`.
|
||||
- Prefer `project-knowledge/06-daily/` as the default destination for new Mattermost-derived facts.
|
||||
- Promote to `project-knowledge/01-current/current-work.md` only when the fact materially changes active work over the next few days.
|
||||
- Keep explicit Jira IDs and approved titles visible in `project-knowledge/02-work-items/` and summarize active items in `project-knowledge/01-current/work-items.md` when they are useful for future standups or manager updates.
|
||||
- Promote to `project-knowledge/03-context/project.md` only when the fact changes durable project understanding.
|
||||
- When a repeatedly mentioned person becomes relevant to project flow, create or update a file under `project-knowledge/04-people/`.
|
||||
- Keep role-to-person mapping explicit in `project-knowledge/04-people/manager.md` and the roster in `project-knowledge/04-people/index.md`.
|
||||
- Never promote tooling chatter, sync status, or generic conversation noise.
|
||||
- Direct user prompts are also memory sources. Do not limit memory updates to explicit sync commands.
|
||||
- If a new prompt corrects prior understanding, update the canonical file directly instead of keeping both versions alive.
|
||||
@@ -72,11 +81,11 @@ These are also loaded through `opencode.json`.
|
||||
- If a previous context file is now stale or inaccurate, update that file directly.
|
||||
- Prefer correcting canonical context over appending contradictory notes.
|
||||
- Keep changes concise and auditable.
|
||||
- When the topic is architectural or historical, prefer updating the relevant file under `vault/03-context/systems/`, `vault/03-context/workstreams/`, or `vault/03-context/process/` instead of overloading `vault/03-context/project.md`.
|
||||
- When the user asks Swift, SwiftUI, iOS architecture, testing, or debugging questions, use `vault/03-context/ios/` and the local OpenCode iOS skills before answering.
|
||||
- When the topic is architectural or historical, prefer updating the relevant file under `project-knowledge/03-context/systems/`, `project-knowledge/03-context/workstreams/`, or project-facing `project-knowledge/03-context/process/` instead of overloading `project-knowledge/03-context/project.md`.
|
||||
- When the user asks Swift, SwiftUI, iOS architecture, testing, or debugging questions, use `project-knowledge/03-context/ios/` and the local OpenCode iOS skills before answering.
|
||||
- When the user asks about programming concepts, dependency tooling, package managers, CI/build tooling, testing frameworks, or practices that may be outdated or opinion-sensitive, verify against primary/current documentation before making strong claims.
|
||||
- For CocoaPods, podspecs, private specs repos, trunk/CDN behavior, Swift Package Manager, Xcode, Swift, Apple frameworks, and similar project-linked tooling, do not rely only on memory.
|
||||
- When the user asks for a prompt for another AI, GitHub Copilot, or the Fidelity development machine, use `vault/03-context/process/ai-to-ai-prompting.md` and generate a self-contained prompt.
|
||||
- When the user asks for a prompt for another AI, GitHub Copilot, or the Fidelity development machine, use `agent-memory/workflows/ai-to-ai-prompting.md` and generate a self-contained prompt.
|
||||
- If a Swift/iOS recommendation depends on current Apple APIs, Xcode behavior, or framework migration guidance, verify against official Apple or Swift documentation before making strong claims.
|
||||
- Be aware that this is an agentic workspace. If a recurring gap appears in answers, propose and when appropriate apply a workspace improvement to commands, agents, skills, prompts, or process notes.
|
||||
|
||||
|
||||
63
README.md
63
README.md
@@ -4,7 +4,7 @@ Reusable AI-native companion workspace with Fidelity configured as the first rea
|
||||
|
||||
This repository is not the product codebase. It is an operational context layer used to keep project state current, capture communication evidence, prepare standups, draft clear stakeholder updates, and generate self-contained prompts for another AI that has access to the implementation codebase.
|
||||
|
||||
The reusable logic lives in `core/`. The clean human/AI memory lives in `vault/`. Fidelity-specific setup lives in the active profile under `profiles/fidelity/`.
|
||||
The reusable logic lives in `core/`. The clean project second brain lives in `project-knowledge/`. Agent operating memory lives in `agent-memory/`. Fidelity-specific setup lives in the active profile under `profiles/fidelity/`.
|
||||
|
||||
---
|
||||
|
||||
@@ -44,14 +44,14 @@ Integrations extract evidence. The agent promotes memory.
|
||||
|
||||
## Reusable Architecture
|
||||
|
||||
### /vault
|
||||
### /project-knowledge
|
||||
|
||||
Canonical Obsidian second brain and AI memory.
|
||||
Canonical Obsidian second brain and transferable project knowledge.
|
||||
|
||||
- `00-start/` -> onboarding, glossary, start-here, and vault usage
|
||||
- `00-start/` -> onboarding, glossary, and start-here
|
||||
- `01-current/` -> current work and active work-item summary
|
||||
- `02-work-items/` -> ticket/task notes with metadata properties
|
||||
- `03-context/` -> systems, workstreams, process, and iOS context
|
||||
- `03-context/` -> systems, workstreams, project-facing process, and iOS context
|
||||
- `04-people/` -> people, roles, and collaboration context
|
||||
- `05-decisions/` -> durable decisions
|
||||
- `06-daily/` -> daily notes
|
||||
@@ -60,12 +60,22 @@ Canonical Obsidian second brain and AI memory.
|
||||
- `09-templates/` -> Obsidian templates
|
||||
- `attachments/` -> vault assets
|
||||
|
||||
### /agent-memory
|
||||
|
||||
Agent operating memory.
|
||||
|
||||
- `behavior/` -> agent learning and self-maintenance rules
|
||||
- `memory/` -> promotion, correction, and context-maintenance rules
|
||||
- `integrations/` -> memory interface, Obsidian adapter, communication sources, and technical verification
|
||||
- `workflows/` -> AI-to-AI prompting and workspace behavior model
|
||||
- `maps/` -> agent-side navigation maps
|
||||
|
||||
### /core
|
||||
|
||||
Project-independent workspace logic.
|
||||
|
||||
- `README.md` -> reusable operating model
|
||||
- `memory/operational-memory.md` -> memory classes, promotion rules, correction rules, self-maintenance rules
|
||||
- `memory/operational-memory.md` -> reusable memory classes, promotion rules, correction rules, self-maintenance rules
|
||||
- `integrations/communication-model.md` -> live communication and historical archive connector contract
|
||||
- `profiles/create-project-profile.md` -> checklist for adapting the workspace to another project
|
||||
|
||||
@@ -98,7 +108,7 @@ Fidelity iOS ecosystem:
|
||||
|
||||
Runtime inbox for communication evidence.
|
||||
|
||||
- `inbox/` -> communication evidence and transient inbox files before promotion into `vault/`
|
||||
- `inbox/` -> communication evidence and transient inbox files before promotion into `project-knowledge/`
|
||||
|
||||
### /prompts
|
||||
|
||||
@@ -126,11 +136,11 @@ Helpers for automation around memory access, context generation, communication d
|
||||
- `scripts/mattermost/` -> live communication connector
|
||||
- `scripts/slack/` -> historical archive importer
|
||||
|
||||
### /vault/.obsidian
|
||||
### /project-knowledge/.obsidian
|
||||
|
||||
Optional Obsidian vault configuration.
|
||||
|
||||
Open `vault/` as the Obsidian vault. Do not open the repository root as the vault.
|
||||
Open `project-knowledge/` as the Obsidian vault. Do not open the repository root as the vault.
|
||||
|
||||
Portable vault configuration can be versioned, while local layout and plugin runtime files are ignored.
|
||||
|
||||
@@ -144,13 +154,13 @@ Obsidian is the current visual interface over canonical memory. The reusable mem
|
||||
|
||||
Read:
|
||||
|
||||
- `vault/00-start/start-here.md`
|
||||
- `vault/01-current/current-work.md`
|
||||
- `vault/01-current/work-items.md`
|
||||
- `vault/03-context/project.md`
|
||||
- `vault/04-people/manager.md`
|
||||
- `vault/04-people/index.md`
|
||||
- latest file under `vault/06-daily/`
|
||||
- `project-knowledge/00-start/start-here.md`
|
||||
- `project-knowledge/01-current/current-work.md`
|
||||
- `project-knowledge/01-current/work-items.md`
|
||||
- `project-knowledge/03-context/project.md`
|
||||
- `project-knowledge/04-people/manager.md`
|
||||
- `project-knowledge/04-people/index.md`
|
||||
- latest file under `project-knowledge/06-daily/`
|
||||
|
||||
### During the day
|
||||
|
||||
@@ -163,7 +173,7 @@ Capture:
|
||||
|
||||
Write updates in:
|
||||
|
||||
- `vault/06-daily/YYYY-MM-DD.md`
|
||||
- `project-knowledge/06-daily/YYYY-MM-DD.md`
|
||||
|
||||
### Before sending a message
|
||||
|
||||
@@ -254,7 +264,7 @@ Recommended setup:
|
||||
1. Use the workspace-local script at `scripts/mattermost/sync.sh`, or override it with `AIW_MATTERMOST_SYNC_CMD`.
|
||||
2. Let OpenCode run with the project plugins enabled.
|
||||
3. The Mattermost inbox plugin will periodically refresh `ai/inbox/mattermost-latest.md`.
|
||||
4. Promote durable facts from the inbox into `vault/06-daily/`, `vault/01-current/`, `vault/02-work-items/`, and `vault/03-context/`.
|
||||
4. Promote durable facts from the inbox into `project-knowledge/06-daily/`, `project-knowledge/01-current/`, `project-knowledge/02-work-items/`, and `project-knowledge/03-context/`.
|
||||
|
||||
Use `/communication-sync` or `/mattermost-sync` when you want to force a refresh manually.
|
||||
|
||||
@@ -270,17 +280,16 @@ The `FIDELITY_*` variables remain supported as Fidelity-profile aliases, but new
|
||||
|
||||
---
|
||||
|
||||
## Obsidian Vault
|
||||
## Project Knowledge Vault
|
||||
|
||||
Open `vault/` as the Obsidian vault. The repository root remains the technical workspace for OpenCode, scripts, profiles, runtime inboxes, and generated evidence.
|
||||
Open `project-knowledge/` as the Obsidian vault. The repository root remains the technical workspace for OpenCode, scripts, profiles, runtime inboxes, and generated evidence.
|
||||
|
||||
Recommended entry point:
|
||||
|
||||
- `vault/00-start/start-here.md`
|
||||
- `vault/00-start/onboarding.md` for new members
|
||||
- `vault/00-start/glossary.md` for terminology
|
||||
- `vault/00-start/obsidian-usage.md` for navigation rules
|
||||
- `vault/07-maps/` for graph hubs
|
||||
- `project-knowledge/00-start/start-here.md`
|
||||
- `project-knowledge/00-start/onboarding.md` for new members
|
||||
- `project-knowledge/00-start/glossary.md` for terminology
|
||||
- `project-knowledge/07-maps/` for graph hubs
|
||||
|
||||
Use Obsidian for:
|
||||
|
||||
@@ -289,7 +298,7 @@ Use Obsidian for:
|
||||
- manual review of work items, people, decisions, and logs
|
||||
- lightweight editing of the same Markdown memory files
|
||||
|
||||
Do not use Obsidian as a second memory database. The source of truth remains the versioned Markdown files in this repository.
|
||||
Do not use Obsidian as a second memory database. The source of truth remains the versioned Markdown files under `project-knowledge/`.
|
||||
|
||||
Runtime/evidence stays outside the vault:
|
||||
|
||||
@@ -325,7 +334,7 @@ Obsidian adapter helpers live under `scripts/obsidian/`:
|
||||
2. Fill in `profiles/<project>/profile.md`.
|
||||
3. Set `AIW_PROJECT_PROFILE=<project>`.
|
||||
4. Configure any communication connector with `AIW_*` variables.
|
||||
5. Create or adapt `vault/` for the project-specific canonical memory.
|
||||
5. Create or adapt `project-knowledge/` for the project-specific canonical memory.
|
||||
6. Use `/workspace-context` to load the core plus active profile.
|
||||
|
||||
See `core/profiles/create-project-profile.md` for the full checklist.
|
||||
|
||||
35
agent-memory/README.md
Normal file
35
agent-memory/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
type: agent-memory
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- agent
|
||||
- memory
|
||||
---
|
||||
|
||||
# Agent Memory
|
||||
|
||||
This folder contains the operating memory for the AI agent.
|
||||
|
||||
It is not Fidelity project documentation. Do not transfer this folder as project knowledge for a new engineer. Transfer `project-knowledge/` for the project second brain, and use this folder to explain how the agent should maintain that knowledge.
|
||||
|
||||
---
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Define how the agent learns incrementally.
|
||||
- Define how evidence becomes durable project knowledge.
|
||||
- Define how the agent uses the memory interface and Obsidian adapter.
|
||||
- Define how the agent verifies technical claims.
|
||||
- Define how the agent updates commands, prompts, skills, and rules when recurring behavior changes.
|
||||
|
||||
---
|
||||
|
||||
## Relationship To Project Knowledge
|
||||
|
||||
- `project-knowledge/` is the clean Obsidian vault and project second brain.
|
||||
- `agent-memory/` is the agent operating manual.
|
||||
- `ai/inbox/` and connector `generated/` folders are evidence, not canonical memory.
|
||||
- `scripts/memory/` is the project-agnostic interface for reading, searching, creating, querying, and validating project knowledge.
|
||||
- `scripts/obsidian/` is the current Obsidian adapter and must not become the core abstraction.
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
type: process
|
||||
project: fidelity
|
||||
type: agent-behavior
|
||||
status: active
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags: [process, memory, agent]
|
||||
---
|
||||
|
||||
@@ -66,7 +65,7 @@ Avoid low-value learning-session questions such as:
|
||||
- whether a specific PR was approved today
|
||||
- whether a ticket moved columns today
|
||||
- what the next standup line should be
|
||||
- temporary sequencing questions that belong in `vault/01-current/` or `vault/06-daily/`
|
||||
- temporary sequencing questions that belong in `project-knowledge/01-current/` or `project-knowledge/06-daily/`
|
||||
|
||||
Prefer high-value questions such as:
|
||||
|
||||
@@ -125,7 +124,7 @@ Examples:
|
||||
- A standup formatting correction should update `prompts/standup.md` and `.opencode/commands/standup.md`.
|
||||
- A Mattermost freshness correction should update the Mattermost command/plugin instructions.
|
||||
- A Copilot prompt-structure correction should update `prompts/copilot-prompt.md`, `.opencode/commands/copilot-prompt.md`, or the Copilot skill.
|
||||
- A Swift answer-quality correction should update the relevant iOS skill or `vault/03-context/ios/` guidance.
|
||||
- A Swift answer-quality correction should update the relevant iOS skill or `project-knowledge/03-context/ios/` guidance.
|
||||
|
||||
Keep the daily log as evidence of what happened, but make the reusable behavior live in the file that controls that behavior.
|
||||
|
||||
@@ -133,7 +132,7 @@ Keep the daily log as evidence of what happened, but make the reusable behavior
|
||||
|
||||
## File Selection
|
||||
|
||||
### `vault/06-daily/YYYY-MM-DD.md`
|
||||
### `project-knowledge/06-daily/YYYY-MM-DD.md`
|
||||
|
||||
Default destination for:
|
||||
|
||||
@@ -143,7 +142,7 @@ Default destination for:
|
||||
- story and approval movement
|
||||
- context that is important now but may evolve later
|
||||
|
||||
### `vault/01-current/current-work.md`
|
||||
### `project-knowledge/01-current/current-work.md`
|
||||
|
||||
Use when the fact changes the active work window, including:
|
||||
|
||||
@@ -152,28 +151,28 @@ Use when the fact changes the active work window, including:
|
||||
- current blockers or debugging constraints
|
||||
- manager direction that changes the next few days of work
|
||||
|
||||
### `vault/02-work-items/*.md` and `vault/01-current/work-items.md`
|
||||
### `project-knowledge/02-work-items/*.md` and `project-knowledge/01-current/work-items.md`
|
||||
|
||||
Use `vault/02-work-items/*.md` as the canonical memory for current Jira-linked work that should remain easy to reference across sessions, especially:
|
||||
Use `project-knowledge/02-work-items/*.md` as the canonical memory for current Jira-linked work that should remain easy to reference across sessions, especially:
|
||||
|
||||
- Jira IDs
|
||||
- approved or explicit titles
|
||||
- currently relevant status notes
|
||||
- current points or scope notes
|
||||
|
||||
Use `vault/01-current/work-items.md` as the summary view of what is active now.
|
||||
Use `project-knowledge/01-current/work-items.md` as the summary view of what is active now.
|
||||
|
||||
These files should help standups and manager updates mention work items precisely.
|
||||
|
||||
### `vault/03-context/project.md`
|
||||
### `project-knowledge/03-context/project.md`
|
||||
|
||||
Use for durable project knowledge that should survive beyond the current work window.
|
||||
|
||||
### `vault/04-people/manager.md`
|
||||
### `project-knowledge/04-people/manager.md`
|
||||
|
||||
Use only when a communication preference or manager expectation becomes stable enough to reuse repeatedly.
|
||||
|
||||
### `vault/04-people/index.md` and `vault/04-people/*.md`
|
||||
### `project-knowledge/04-people/index.md` and `project-knowledge/04-people/*.md`
|
||||
|
||||
Use these files for:
|
||||
|
||||
@@ -187,11 +186,11 @@ When the role is not explicit, store:
|
||||
- what kinds of topics they influence
|
||||
- how they affect approvals, scope, debugging, or communication
|
||||
|
||||
### `vault/05-decisions/*.md`
|
||||
### `project-knowledge/05-decisions/*.md`
|
||||
|
||||
Use for explicit confirmed decisions with ongoing impact.
|
||||
|
||||
### `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, `vault/00-start/`, and `vault/03-context/process/`
|
||||
### `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, and `agent-memory/`
|
||||
|
||||
Use these when the new information changes how the workspace should operate:
|
||||
|
||||
34
agent-memory/behavior/learning-sessions.md
Normal file
34
agent-memory/behavior/learning-sessions.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
type: agent-behavior
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- agent
|
||||
- learning
|
||||
---
|
||||
|
||||
# Learning Sessions
|
||||
|
||||
Learning sessions are used to clarify durable project understanding, not to chase transient ticket status.
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- Answer from known context and verified facts only.
|
||||
- Label unknowns, assumptions, and inferences.
|
||||
- Ask 3 to 5 high-leverage questions when the user asks what should be clarified.
|
||||
- Prefer questions about architecture, ownership, process, release mechanics, debugging strategy, domain concepts, and decision rules.
|
||||
- Avoid questions that only ask whether a task moved today unless the answer changes a durable rule.
|
||||
- When the user teaches or corrects the agent, update the smallest correct canonical file or behavior surface.
|
||||
|
||||
---
|
||||
|
||||
## Good Clarification Targets
|
||||
|
||||
- Ownership boundary between app, SDK, adapter, feature module, backend service, and backend-driven configuration.
|
||||
- Release propagation path across SDK, adapter, consuming app, and validation environments.
|
||||
- Evidence required before classifying an external issue as a regression.
|
||||
- REST vs GraphQL parity rules and fallback behavior.
|
||||
- Authenticated vs non-authenticated flow differences.
|
||||
|
||||
35
agent-memory/behavior/self-maintenance.md
Normal file
35
agent-memory/behavior/self-maintenance.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
type: agent-behavior
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- agent
|
||||
- self-maintenance
|
||||
---
|
||||
|
||||
# Agent Self-Maintenance
|
||||
|
||||
The agent must keep the workspace behavior aligned with recurring user corrections.
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- If a correction changes future output, update the file that controls that output.
|
||||
- Update `.opencode/commands/` for slash-command behavior.
|
||||
- Update `prompts/` for reusable drafting shape.
|
||||
- Update `.opencode/agents/` and `AGENTS.md` for default agent behavior.
|
||||
- Update `.opencode/skills/` for specialized workflows.
|
||||
- Update `agent-memory/` for reusable agent operating rules.
|
||||
- Update `project-knowledge/` only when the correction changes project knowledge or project-facing process documentation.
|
||||
|
||||
---
|
||||
|
||||
## Do Not Store As Project Knowledge
|
||||
|
||||
- Sync failures.
|
||||
- Tool dependency errors.
|
||||
- Agent implementation chatter.
|
||||
- Generic preference notes that only affect agent behavior.
|
||||
- Duplicate summaries of already-correct project facts.
|
||||
|
||||
34
agent-memory/integrations/communication-sources.md
Normal file
34
agent-memory/integrations/communication-sources.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
type: agent-integration
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- communication
|
||||
- evidence
|
||||
---
|
||||
|
||||
# Communication Sources
|
||||
|
||||
Communication connectors extract evidence. The agent decides what to promote.
|
||||
|
||||
---
|
||||
|
||||
## Live Communication
|
||||
|
||||
Mattermost is the current live communication connector.
|
||||
|
||||
- Fresh output goes to `ai/inbox/mattermost-latest.md`.
|
||||
- Generated extraction artifacts stay under `scripts/mattermost/generated/`.
|
||||
- Failed syncs must not update project knowledge.
|
||||
- Latest-message requests must refresh Mattermost before answering.
|
||||
|
||||
---
|
||||
|
||||
## Historical Archive
|
||||
|
||||
Slack export import is the current historical archive connector.
|
||||
|
||||
- Archive evidence stays outside `project-knowledge/`.
|
||||
- Promote only durable project facts, people context, process rules, or historical architecture lessons.
|
||||
- Do not promote dated status details unless they explain current context.
|
||||
|
||||
34
agent-memory/integrations/memory-interface.md
Normal file
34
agent-memory/integrations/memory-interface.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
type: agent-integration
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- memory
|
||||
- integration
|
||||
---
|
||||
|
||||
# Memory Interface
|
||||
|
||||
Use `scripts/memory/memory.sh` as the project-agnostic interface to project knowledge.
|
||||
|
||||
---
|
||||
|
||||
## Default Root
|
||||
|
||||
The primary project knowledge directory is `project-knowledge/`.
|
||||
|
||||
Environment variable precedence:
|
||||
|
||||
1. `AIW_PROJECT_KNOWLEDGE_DIR`
|
||||
2. `AIW_MEMORY_VAULT_DIR`
|
||||
3. `AIW_OBSIDIAN_VAULT_DIR`
|
||||
4. `<workspace-root>/project-knowledge`
|
||||
|
||||
`AIW_MEMORY_VAULT_DIR` and `AIW_OBSIDIAN_VAULT_DIR` are transition aliases only.
|
||||
|
||||
---
|
||||
|
||||
## Agent Rule
|
||||
|
||||
Prefer the memory interface for typed note creation, search, Base queries, and health checks. Use direct Markdown edits when the adapter fails or when precise edits are simpler and safer.
|
||||
|
||||
@@ -6,9 +6,9 @@ tags:
|
||||
- obsidian
|
||||
---
|
||||
|
||||
# Obsidian Usage Guide
|
||||
# Obsidian Adapter
|
||||
|
||||
Use Obsidian to navigate and review workspace memory. Do not use it as a separate memory database.
|
||||
Use Obsidian to navigate and review project knowledge. 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.
|
||||
|
||||
@@ -16,13 +16,13 @@ Obsidian is the current interface over canonical Markdown memory. The workspace-
|
||||
|
||||
## Recommended Start
|
||||
|
||||
Open the `vault/` folder as the Obsidian vault, not the repository root.
|
||||
Open the `project-knowledge/` folder as the Obsidian vault, not the repository root and not `agent-memory/`.
|
||||
|
||||
Open:
|
||||
|
||||
- [Obsidian Vault Map](start-here.md)
|
||||
- [New Member Onboarding](onboarding.md)
|
||||
- [Knowledge Maps](../07-maps/index.md)
|
||||
- [Start Here](../../project-knowledge/00-start/start-here.md)
|
||||
- [New Member Onboarding](../../project-knowledge/00-start/onboarding.md)
|
||||
- [Knowledge Maps](../../project-knowledge/07-maps/index.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -32,26 +32,26 @@ Open:
|
||||
|
||||
Start with:
|
||||
|
||||
- [New Member Onboarding](onboarding.md)
|
||||
- [Glossary](glossary.md)
|
||||
- [Current Work Map](../07-maps/current-work.md)
|
||||
- [Fidelity Domain Map](../07-maps/fidelity-domain.md)
|
||||
- [New Member Onboarding](../../project-knowledge/00-start/onboarding.md)
|
||||
- [Glossary](../../project-knowledge/00-start/glossary.md)
|
||||
- [Current Work Map](../../project-knowledge/07-maps/current-work.md)
|
||||
- [Fidelity Domain Map](../../project-knowledge/07-maps/fidelity-domain.md)
|
||||
|
||||
### Daily Work View
|
||||
|
||||
Start with:
|
||||
|
||||
- [Current Work Map](../07-maps/current-work.md)
|
||||
- [Work Items Map](../07-maps/work-items.md)
|
||||
- [Logs Index](../06-daily/index.md)
|
||||
- [Current Work Map](../../project-knowledge/07-maps/current-work.md)
|
||||
- [Work Items Map](../../project-knowledge/07-maps/work-items.md)
|
||||
- [Daily Notes Index](../../project-knowledge/06-daily/index.md)
|
||||
|
||||
### System Understanding View
|
||||
|
||||
Start with:
|
||||
|
||||
- [Fidelity Domain Map](../07-maps/fidelity-domain.md)
|
||||
- [AI Workspace Core Map](../07-maps/ai-workspace-core.md)
|
||||
- [Tooling Map](../07-maps/tooling.md)
|
||||
- [Fidelity Domain Map](../../project-knowledge/07-maps/fidelity-domain.md)
|
||||
- [Fidelity Apps Map](../../project-knowledge/07-maps/fidelity-apps.md)
|
||||
- [People Map](../../project-knowledge/07-maps/people.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -67,8 +67,8 @@ High-value graph hubs:
|
||||
- `fidelity-domain`
|
||||
- `work-items`
|
||||
- `people`
|
||||
- `tooling`
|
||||
- `ai-workspace-core`
|
||||
- `fidelity-apps`
|
||||
- `fidelity-domain`
|
||||
|
||||
If a node is isolated, it may still be valid. It may be:
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
type: process
|
||||
project: fidelity
|
||||
type: agent-integration
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
53
agent-memory/maps/ai-workspace-core.md
Normal file
53
agent-memory/maps/ai-workspace-core.md
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
type: agent-map
|
||||
domain: workspace-core
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- map
|
||||
- core
|
||||
- agent
|
||||
---
|
||||
|
||||
# AI Workspace Core Map
|
||||
|
||||
Reusable workspace logic and project-independent operating rules.
|
||||
|
||||
---
|
||||
|
||||
## Behavior
|
||||
|
||||
- [Agent Behavior](../behavior/agent-behavior.md)
|
||||
- [Learning Sessions](../behavior/learning-sessions.md)
|
||||
- [Self-Maintenance](../behavior/self-maintenance.md)
|
||||
|
||||
---
|
||||
|
||||
## Memory
|
||||
|
||||
- [Operational Memory](../memory/operational-memory.md)
|
||||
- [Promotion Rules](../memory/promotion-rules.md)
|
||||
- [Context Maintenance](../memory/context-maintenance.md)
|
||||
|
||||
---
|
||||
|
||||
## Integrations
|
||||
|
||||
- [Memory Interface](../integrations/memory-interface.md)
|
||||
- [Obsidian Adapter](../integrations/obsidian.md)
|
||||
- [Communication Sources](../integrations/communication-sources.md)
|
||||
- [Technical Verification](../integrations/technical-verification.md)
|
||||
|
||||
---
|
||||
|
||||
## Workflows
|
||||
|
||||
- [AI-To-AI Prompting](../workflows/ai-to-ai-prompting.md)
|
||||
- [Workspace Model](../workflows/workspace-model.md)
|
||||
- [Workspace Architecture](../workflows/workspace-architecture.md)
|
||||
|
||||
---
|
||||
|
||||
## Project Profile
|
||||
|
||||
- Active project profile: `profiles/fidelity/profile.md`
|
||||
- Project knowledge vault: `project-knowledge/`
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
type: map
|
||||
type: agent-map
|
||||
domain: tooling
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- map
|
||||
- tooling
|
||||
@@ -60,4 +61,5 @@ Commands, prompts, skills, workflows, and automation surfaces that make the work
|
||||
|
||||
- Project-agnostic memory scripts: `scripts/memory/`
|
||||
- Current Obsidian adapter: `scripts/obsidian/`
|
||||
- Canonical vault: `vault/`
|
||||
- Project knowledge vault: `project-knowledge/`
|
||||
- Agent operating memory: `agent-memory/`
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
type: process
|
||||
project: fidelity
|
||||
type: agent-memory
|
||||
status: active
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- process
|
||||
- fidelity
|
||||
- memory
|
||||
---
|
||||
# Context Maintenance
|
||||
|
||||
@@ -21,18 +20,18 @@ Keep this workspace useful as living memory instead of a pile of disconnected no
|
||||
- Prefer correcting stale context over appending contradictory notes.
|
||||
- If a canonical note appears in an Obsidian Base, update its frontmatter properties together with the prose content.
|
||||
- When changing frontmatter properties on existing canonical notes, prefer Obsidian CLI property operations through `scripts/obsidian/cli.sh` when available so YAML spacing and property formatting stay clean; fall back to direct Markdown edits only when the CLI is unavailable or the operation is unsupported.
|
||||
- Keep templates under `vault/09-templates/` out of real-note Bases by filtering the template folder.
|
||||
- Keep templates under `project-knowledge/09-templates/` out of real-note Bases by filtering the template folder.
|
||||
- Role mapping files should not use `type: person`; reserve `type: person` for actual people profiles.
|
||||
- Work-item notes should keep known `systems`, `workstreams`, `people`, and `related` properties current.
|
||||
- Daily notes should keep `focus`, `work-items`, and `blockers` properties current when the values are clear.
|
||||
- Use the smallest correct destination:
|
||||
- `vault/06-daily/YYYY-MM-DD.md` for daily progress and evolving findings
|
||||
- `vault/01-current/current-work.md` for near-term active work
|
||||
- `vault/02-work-items/*.md` for canonical Jira-linked active work
|
||||
- `vault/01-current/work-items.md` for the compact active-work summary
|
||||
- `vault/03-context/` for durable project knowledge
|
||||
- `vault/04-people/` for named person context
|
||||
- `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, `vault/00-start/`, or `vault/03-context/process/` for reusable behavior rules that control how the workspace responds
|
||||
- `project-knowledge/06-daily/YYYY-MM-DD.md` for daily progress and evolving findings
|
||||
- `project-knowledge/01-current/current-work.md` for near-term active work
|
||||
- `project-knowledge/02-work-items/*.md` for canonical Jira-linked active work
|
||||
- `project-knowledge/01-current/work-items.md` for the compact active-work summary
|
||||
- `project-knowledge/03-context/` for durable project knowledge
|
||||
- `project-knowledge/04-people/` for named person context
|
||||
- `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, `agent-memory/`, `core/`, or `scripts/` for reusable behavior rules that control how the workspace responds
|
||||
|
||||
---
|
||||
|
||||
39
agent-memory/memory/operational-memory.md
Normal file
39
agent-memory/memory/operational-memory.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
type: agent-memory
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- memory
|
||||
- operations
|
||||
---
|
||||
|
||||
# Operational Memory
|
||||
|
||||
Operational memory is the mechanism that turns daily evidence into durable, searchable project knowledge.
|
||||
|
||||
The reusable model lives in `core/memory/operational-memory.md`. This file records the active agent-specific interpretation for this workspace.
|
||||
|
||||
---
|
||||
|
||||
## Memory Classes
|
||||
|
||||
- `daily`: dated progress and evidence in `project-knowledge/06-daily/`.
|
||||
- `state`: near-term active work in `project-knowledge/01-current/`.
|
||||
- `work-items`: ticket-scoped memory in `project-knowledge/02-work-items/`.
|
||||
- `stable-context`: durable systems, workstreams, process, and iOS context in `project-knowledge/03-context/`.
|
||||
- `people`: collaborators, stakeholders, and role mappings in `project-knowledge/04-people/`.
|
||||
- `decisions`: accepted durable decisions in `project-knowledge/05-decisions/`.
|
||||
- `tooling-behavior`: agent and workspace behavior in `agent-memory/`, `.opencode/`, `prompts/`, `scripts/`, and `core/`.
|
||||
|
||||
---
|
||||
|
||||
## Evidence Boundary
|
||||
|
||||
Raw evidence stays outside project knowledge:
|
||||
|
||||
- `ai/inbox/`
|
||||
- `scripts/mattermost/generated/`
|
||||
- `scripts/slack/generated/`
|
||||
|
||||
Only curated, high-confidence project facts should be promoted into `project-knowledge/`.
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
type: process
|
||||
project: fidelity
|
||||
type: agent-memory
|
||||
status: active
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags: [process, memory, promotion]
|
||||
---
|
||||
|
||||
@@ -26,7 +25,7 @@ If a fact is ambiguous, skip it or keep it only in the daily log with appropriat
|
||||
|
||||
## File Selection
|
||||
|
||||
### Promote to `vault/06-daily/YYYY-MM-DD.md`
|
||||
### Promote to `project-knowledge/06-daily/YYYY-MM-DD.md`
|
||||
|
||||
Use the daily log for:
|
||||
|
||||
@@ -38,7 +37,7 @@ Use the daily log for:
|
||||
|
||||
Daily logs are the default destination for most promoted Mattermost facts.
|
||||
|
||||
### Promote to `vault/01-current/current-work.md`
|
||||
### Promote to `project-knowledge/01-current/current-work.md`
|
||||
|
||||
Use current state only for facts that materially affect active work over the next few days, such as:
|
||||
|
||||
@@ -49,9 +48,9 @@ Use current state only for facts that materially affect active work over the nex
|
||||
|
||||
Do not copy every daily update into current state.
|
||||
|
||||
### Promote to `vault/02-work-items/*.md` and `vault/01-current/work-items.md`
|
||||
### Promote to `project-knowledge/02-work-items/*.md` and `project-knowledge/01-current/work-items.md`
|
||||
|
||||
Use `vault/02-work-items/*.md` for:
|
||||
Use `project-knowledge/02-work-items/*.md` for:
|
||||
|
||||
- explicit Jira IDs
|
||||
- approved or explicit story titles
|
||||
@@ -61,9 +60,9 @@ Use `vault/02-work-items/*.md` for:
|
||||
|
||||
If a Jira item is likely to appear again in standups or manager updates, it belongs here.
|
||||
|
||||
Use `vault/01-current/work-items.md` as the compact summary of which ticket files are active.
|
||||
Use `project-knowledge/01-current/work-items.md` as the compact summary of which ticket files are active.
|
||||
|
||||
### Promote to `vault/03-context/project.md`
|
||||
### Promote to `project-knowledge/03-context/project.md`
|
||||
|
||||
Use project context only for durable project knowledge that should survive beyond the current work window, such as:
|
||||
|
||||
@@ -74,11 +73,11 @@ Use project context only for durable project knowledge that should survive beyon
|
||||
|
||||
Do not promote story-specific daily movement into project context unless it changes durable project understanding.
|
||||
|
||||
### Promote to `vault/05-decisions/*.md`
|
||||
### Promote to `project-knowledge/05-decisions/*.md`
|
||||
|
||||
Use decisions only for explicit confirmed decisions with medium or long-term impact.
|
||||
|
||||
### Promote to `vault/04-people/index.md` and `vault/04-people/*.md`
|
||||
### Promote to `project-knowledge/04-people/index.md` and `project-knowledge/04-people/*.md`
|
||||
|
||||
Use these files when:
|
||||
|
||||
@@ -142,5 +141,5 @@ Given Mattermost updates like:
|
||||
Automatic behavior should be:
|
||||
|
||||
- add all of them to today's log if they are relevant to today's work
|
||||
- promote only the currently actionable subset to `vault/01-current/current-work.md`
|
||||
- keep story-specific details out of `vault/03-context/project.md` unless they reveal a durable project rule
|
||||
- promote only the currently actionable subset to `project-knowledge/01-current/current-work.md`
|
||||
- keep story-specific details out of `project-knowledge/03-context/project.md` unless they reveal a durable project rule
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
type: process
|
||||
project: fidelity
|
||||
type: agent-workflow
|
||||
status: active
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- process
|
||||
- fidelity
|
||||
- ai-prompting
|
||||
---
|
||||
# AI-To-AI Prompting
|
||||
|
||||
@@ -1,31 +1,30 @@
|
||||
---
|
||||
type: guide
|
||||
project: fidelity
|
||||
type: agent-workflow
|
||||
status: active
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags: [onboarding, obsidian, workspace]
|
||||
related:
|
||||
- start-here.md
|
||||
- ../07-maps/ai-workspace-core.md
|
||||
- ../maps/ai-workspace-core.md
|
||||
---
|
||||
|
||||
# Workspace Architecture
|
||||
|
||||
This repository has two layers:
|
||||
This repository separates project knowledge from agent operation:
|
||||
|
||||
- `vault/` is the clean Obsidian second brain and canonical AI memory.
|
||||
- Everything outside `vault/` is technical runtime, reusable core, profile configuration, scripts, commands, prompts, or raw evidence.
|
||||
- `project-knowledge/` is the clean Obsidian second brain and transferable project memory.
|
||||
- `agent-memory/` is the operating manual for the AI agent.
|
||||
- Everything else is technical runtime, reusable core, profile configuration, scripts, commands, prompts, or raw evidence.
|
||||
|
||||
---
|
||||
|
||||
## Canonical Memory
|
||||
|
||||
Use these folders as the source of truth for humans and AI agents:
|
||||
Use these folders as the source of truth for project knowledge:
|
||||
|
||||
- `00-start/` for onboarding and usage guidance
|
||||
- `00-start/` for project onboarding and terminology
|
||||
- `01-current/` for current work state
|
||||
- `02-work-items/` for ticket/task memory
|
||||
- `03-context/` for systems, workstreams, process, and iOS context
|
||||
- `03-context/` for systems, workstreams, project-facing process, and iOS context
|
||||
- `04-people/` for people and role memory
|
||||
- `05-decisions/` for confirmed decisions
|
||||
- `06-daily/` for daily notes
|
||||
@@ -46,7 +45,9 @@ These folders are intentionally outside Obsidian memory:
|
||||
- `ai/inbox/` stores live evidence from communication sync.
|
||||
- `scripts/*/generated/` stores extracted evidence.
|
||||
|
||||
Runtime and generated files can be used as evidence, but durable project facts should be promoted into `vault/`.
|
||||
Runtime and generated files can be used as evidence, but durable project facts should be promoted into `project-knowledge/`.
|
||||
|
||||
Agent behavior rules belong in `agent-memory/`, not in the project vault.
|
||||
|
||||
---
|
||||
|
||||
@@ -54,7 +55,7 @@ Runtime and generated files can be used as evidence, but durable project facts s
|
||||
|
||||
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/`.
|
||||
Obsidian is the current visual and CLI-backed adapter, but the source of truth remains Markdown under `project-knowledge/`.
|
||||
|
||||
- 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.
|
||||
@@ -65,6 +66,6 @@ Obsidian is the current visual and CLI-backed adapter, but the source of truth r
|
||||
|
||||
## Memory Rule
|
||||
|
||||
Promoted memory lives in `vault/`.
|
||||
Promoted memory lives in `project-knowledge/`.
|
||||
|
||||
Raw inbox and generated connector evidence stays outside the vault until the agent promotes durable facts.
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
type: process
|
||||
project: fidelity
|
||||
type: agent-workflow
|
||||
status: active
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags: [process, workspace, memory]
|
||||
---
|
||||
|
||||
@@ -12,10 +11,12 @@ tags: [process, workspace, memory]
|
||||
|
||||
This repository is a support workspace, not the implementation repository.
|
||||
|
||||
It now has two layers:
|
||||
It separates reusable tooling, project knowledge, and agent operating memory:
|
||||
|
||||
- `core/` contains reusable project-independent operating rules
|
||||
- `profiles/<project>/` contains project-specific configuration and assumptions
|
||||
- `project-knowledge/` contains transferable project documentation and current work memory
|
||||
- `agent-memory/` contains agent behavior, learning, promotion, integration, and verification rules
|
||||
|
||||
---
|
||||
|
||||
@@ -47,13 +48,14 @@ 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
|
||||
- `project-knowledge/.obsidian/` only for portable Obsidian configuration, not project memory content
|
||||
- `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
|
||||
- `.opencode/skills/` for specialized workflows
|
||||
- `vault/00-start/` and `vault/03-context/process/` for durable process rules
|
||||
- `project-knowledge/00-start/` and `project-knowledge/03-context/process/` for project-facing onboarding and process rules
|
||||
- `agent-memory/` for agent-specific behavior, learning, promotion, verification, and self-maintenance rules
|
||||
|
||||
Daily logs can preserve evidence, but they should not be the only place where a reusable behavior rule lives.
|
||||
@@ -65,4 +65,4 @@ Optional navigation layers such as Obsidian should read the same Markdown files
|
||||
|
||||
See `core/integrations/obsidian-model.md` for the recommended vault model.
|
||||
|
||||
The project-agnostic memory interface lives in `scripts/memory/` and is documented in `core/integrations/memory-vault-model.md`. Agents should use that interface for note creation, vault search, Base queries, and health checks, while still editing Markdown directly for precise curation.
|
||||
The project-agnostic memory interface lives in `scripts/memory/` and is documented in `core/integrations/memory-vault-model.md`. Agents should use that interface for note creation, project knowledge search, Base queries, and health checks, while still editing Markdown directly for precise curation.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Use for same-day progress, findings, evolving reproduction notes, and work that
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
vault/06-daily/YYYY-MM-DD.md
|
||||
project-knowledge/06-daily/YYYY-MM-DD.md
|
||||
```
|
||||
|
||||
### `state`
|
||||
@@ -27,8 +27,8 @@ Use for current priorities, active blockers, near-term constraints, and communic
|
||||
Default paths:
|
||||
|
||||
```text
|
||||
vault/01-current/current-work.md
|
||||
vault/01-current/work-items.md
|
||||
project-knowledge/01-current/current-work.md
|
||||
project-knowledge/01-current/work-items.md
|
||||
```
|
||||
|
||||
### `work-items`
|
||||
@@ -38,7 +38,7 @@ Use for canonical memory about active tickets, tasks, stories, investigations, o
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
vault/02-work-items/<id-or-slug>.md
|
||||
project-knowledge/02-work-items/<id-or-slug>.md
|
||||
```
|
||||
|
||||
### `stable-context`
|
||||
@@ -48,7 +48,7 @@ Use for durable project knowledge that should survive beyond the current work wi
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
vault/03-context/<domain>/*.md
|
||||
project-knowledge/03-context/<domain>/*.md
|
||||
```
|
||||
|
||||
### `people`
|
||||
@@ -58,7 +58,7 @@ Use for repeated collaborators, role mappings, manager/stakeholder context, and
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
vault/04-people/*.md
|
||||
project-knowledge/04-people/*.md
|
||||
```
|
||||
|
||||
### `decisions`
|
||||
@@ -68,7 +68,7 @@ Use for confirmed decisions with ongoing impact.
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
vault/05-decisions/*.md
|
||||
project-knowledge/05-decisions/*.md
|
||||
```
|
||||
|
||||
### `tooling-behavior`
|
||||
@@ -82,11 +82,12 @@ Default path patterns:
|
||||
.opencode/agents/*.md
|
||||
.opencode/skills/*/SKILL.md
|
||||
prompts/*.md
|
||||
vault/00-start/*.md
|
||||
vault/03-context/process/*.md
|
||||
agent-memory/**/*.md
|
||||
core/**/*.md
|
||||
scripts/**/*.md
|
||||
```
|
||||
|
||||
Raw evidence stays outside `vault/`; promoted memory is written to `vault/`.
|
||||
Raw evidence stays outside `project-knowledge/`; promoted memory is written to `project-knowledge/`.
|
||||
|
||||
---
|
||||
|
||||
@@ -171,13 +172,13 @@ Examples:
|
||||
- prompt-engineering correction -> update the AI prompt command or skill
|
||||
- memory routing correction -> update memory rules and context-maintenance guidance
|
||||
|
||||
The daily log may preserve evidence, but reusable behavior must live in the command, prompt, skill, agent, or knowledge file that enforces it.
|
||||
The daily log may preserve evidence, but reusable behavior must live in the command, prompt, skill, agent, or agent-memory file that enforces it.
|
||||
|
||||
The agent should also identify recurring quality gaps proactively. If an answer reveals that the workspace lacks a rule, source anchor, command behavior, skill guidance, or memory model needed for better future output, the agent should propose the improvement and apply it when the correct destination is clear.
|
||||
|
||||
For technical topics, recurring gaps often belong in:
|
||||
|
||||
- domain-specific guidance under `vault/03-context/`
|
||||
- domain-specific guidance under `project-knowledge/03-context/`
|
||||
- reusable skills under `.opencode/skills/`
|
||||
- agent behavior rules under `.opencode/agents/` or `AGENTS.md`
|
||||
- agent behavior rules under `.opencode/agents/`, `AGENTS.md`, or `agent-memory/`
|
||||
- source anchors for official/current documentation
|
||||
|
||||
@@ -32,23 +32,23 @@ The profile should declare:
|
||||
Create or update:
|
||||
|
||||
```text
|
||||
vault/00-start/start-here.md
|
||||
vault/01-current/current-work.md
|
||||
vault/01-current/work-items.md
|
||||
vault/02-work-items/
|
||||
vault/03-context/project.md
|
||||
vault/03-context/process/
|
||||
vault/04-people/
|
||||
vault/05-decisions/
|
||||
vault/06-daily/
|
||||
vault/07-maps/
|
||||
vault/08-bases/
|
||||
vault/09-templates/
|
||||
project-knowledge/00-start/start-here.md
|
||||
project-knowledge/01-current/current-work.md
|
||||
project-knowledge/01-current/work-items.md
|
||||
project-knowledge/02-work-items/
|
||||
project-knowledge/03-context/project.md
|
||||
project-knowledge/03-context/process/
|
||||
project-knowledge/04-people/
|
||||
project-knowledge/05-decisions/
|
||||
project-knowledge/06-daily/
|
||||
project-knowledge/07-maps/
|
||||
project-knowledge/08-bases/
|
||||
project-knowledge/09-templates/
|
||||
```
|
||||
|
||||
Keep project-specific facts out of `core/`.
|
||||
|
||||
Treat `vault/` as canonical memory. Keep connector inboxes and generated evidence outside the vault.
|
||||
Treat `project-knowledge/` as canonical project memory. Keep connector inboxes and generated evidence outside the project knowledge vault.
|
||||
|
||||
---
|
||||
|
||||
@@ -58,7 +58,7 @@ Use generic variables first:
|
||||
|
||||
```text
|
||||
AIW_PROJECT_PROFILE=<project>
|
||||
AIW_MEMORY_VAULT_DIR=<optional custom vault path>
|
||||
AIW_PROJECT_KNOWLEDGE_DIR=<optional custom project knowledge path>
|
||||
AIW_MEMORY_BACKEND=auto
|
||||
AIW_CHANNEL_PREFIX=<project-or-team-prefix>
|
||||
AIW_MATTERMOST_SYNC_CMD=<optional custom command>
|
||||
@@ -102,15 +102,15 @@ Before using the workspace for real work:
|
||||
|
||||
## 6. Obsidian Vault
|
||||
|
||||
Open `vault/` as the Obsidian vault.
|
||||
Open `project-knowledge/` as the Obsidian vault.
|
||||
|
||||
Use `scripts/memory/` as the project-agnostic memory interface. Obsidian is the default visual and CLI-backed adapter, but profile logic should not depend on Obsidian.
|
||||
|
||||
Recommended rules:
|
||||
|
||||
- keep `vault/` as the clean canonical human/AI memory
|
||||
- keep runtime evidence, scripts, profiles, and generated files outside `vault/`
|
||||
- version only portable `vault/.obsidian` configuration
|
||||
- keep `project-knowledge/` as the clean canonical project knowledge
|
||||
- keep runtime evidence, scripts, profiles, and generated files outside `project-knowledge/`
|
||||
- version only portable `project-knowledge/.obsidian` configuration
|
||||
- ignore local Obsidian workspace state and plugin runtime files
|
||||
- create or update map notes under `vault/07-maps/` for human navigation
|
||||
- create Bases under `vault/08-bases/` using simple `type` properties
|
||||
- create or update map notes under `project-knowledge/07-maps/` for human navigation
|
||||
- create Bases under `project-knowledge/08-bases/` using simple `type` properties
|
||||
|
||||
@@ -48,34 +48,43 @@
|
||||
"./core/integrations/obsidian-model.md",
|
||||
"./core/profiles/create-project-profile.md",
|
||||
"./profiles/fidelity/profile.md",
|
||||
"./vault/00-start/start-here.md",
|
||||
"./vault/00-start/onboarding.md",
|
||||
"./vault/00-start/glossary.md",
|
||||
"./vault/00-start/workspace-architecture.md",
|
||||
"./vault/01-current/current-work.md",
|
||||
"./vault/01-current/work-items.md",
|
||||
"./vault/07-maps/current-work.md",
|
||||
"./vault/07-maps/fidelity-domain.md",
|
||||
"./vault/07-maps/work-items.md",
|
||||
"./vault/07-maps/people.md",
|
||||
"./vault/03-context/project.md",
|
||||
"./vault/03-context/process/communication.md",
|
||||
"./vault/03-context/process/technical-verification.md",
|
||||
"./vault/03-context/process/ai-to-ai-prompting.md",
|
||||
"./vault/03-context/process/jira-story-rules.md",
|
||||
"./vault/03-context/process/context-maintenance.md",
|
||||
"./vault/03-context/process/workspace-model.md",
|
||||
"./vault/03-context/process/agent-memory-rules.md",
|
||||
"./vault/03-context/process/memory-promotion-rules.md",
|
||||
"./vault/03-context/ios/index.md",
|
||||
"./vault/03-context/ios/current-practices.md",
|
||||
"./vault/03-context/ios/project-swift-guidance.md",
|
||||
"./vault/03-context/systems/index.md",
|
||||
"./vault/03-context/workstreams/index.md",
|
||||
"./vault/03-context/workstreams/flow-page-references.md",
|
||||
"./vault/04-people/manager.md",
|
||||
"./vault/04-people/index.md",
|
||||
"./vault/05-decisions/rest-vs-graphql.md",
|
||||
"./vault/05-decisions/discourse-handling.md"
|
||||
"./agent-memory/README.md",
|
||||
"./agent-memory/behavior/agent-behavior.md",
|
||||
"./agent-memory/behavior/learning-sessions.md",
|
||||
"./agent-memory/behavior/self-maintenance.md",
|
||||
"./agent-memory/memory/operational-memory.md",
|
||||
"./agent-memory/memory/promotion-rules.md",
|
||||
"./agent-memory/memory/context-maintenance.md",
|
||||
"./agent-memory/integrations/memory-interface.md",
|
||||
"./agent-memory/integrations/obsidian.md",
|
||||
"./agent-memory/integrations/communication-sources.md",
|
||||
"./agent-memory/integrations/technical-verification.md",
|
||||
"./agent-memory/workflows/ai-to-ai-prompting.md",
|
||||
"./agent-memory/workflows/workspace-model.md",
|
||||
"./agent-memory/workflows/workspace-architecture.md",
|
||||
"./project-knowledge/00-start/start-here.md",
|
||||
"./project-knowledge/00-start/onboarding.md",
|
||||
"./project-knowledge/00-start/glossary.md",
|
||||
"./project-knowledge/01-current/current-work.md",
|
||||
"./project-knowledge/01-current/work-items.md",
|
||||
"./project-knowledge/07-maps/current-work.md",
|
||||
"./project-knowledge/07-maps/fidelity-domain.md",
|
||||
"./project-knowledge/07-maps/work-items.md",
|
||||
"./project-knowledge/07-maps/people.md",
|
||||
"./project-knowledge/03-context/project.md",
|
||||
"./project-knowledge/03-context/process/communication.md",
|
||||
"./project-knowledge/03-context/process/jira-story-rules.md",
|
||||
"./project-knowledge/03-context/process/communication-rules.md",
|
||||
"./project-knowledge/03-context/process/pull-requests.md",
|
||||
"./project-knowledge/03-context/ios/index.md",
|
||||
"./project-knowledge/03-context/ios/current-practices.md",
|
||||
"./project-knowledge/03-context/ios/project-swift-guidance.md",
|
||||
"./project-knowledge/03-context/systems/index.md",
|
||||
"./project-knowledge/03-context/workstreams/index.md",
|
||||
"./project-knowledge/03-context/workstreams/flow-page-references.md",
|
||||
"./project-knowledge/04-people/manager.md",
|
||||
"./project-knowledge/04-people/index.md",
|
||||
"./project-knowledge/05-decisions/rest-vs-graphql.md",
|
||||
"./project-knowledge/05-decisions/discourse-handling.md"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ Non-sensitive example profile showing how a new project can reuse the workspace
|
||||
- Historical archive: optional
|
||||
- Recommended generic variables:
|
||||
- `AIW_PROJECT_PROFILE=example`
|
||||
- `AIW_PROJECT_KNOWLEDGE_DIR=<optional custom project knowledge path>`
|
||||
- `AIW_CHANNEL_PREFIX=example`
|
||||
- `AIW_MATTERMOST_SYNC_CMD=<optional>`
|
||||
- `AIW_SLACK_EXPORT_PATH=<optional>`
|
||||
@@ -28,8 +29,8 @@ Non-sensitive example profile showing how a new project can reuse the workspace
|
||||
|
||||
## Work System
|
||||
|
||||
- Use `vault/02-work-items/` for active units of work
|
||||
- Use `vault/01-current/work-items.md` for the active summary
|
||||
- Use `project-knowledge/02-work-items/` for active units of work
|
||||
- Use `project-knowledge/01-current/work-items.md` for the active summary
|
||||
- Use any ticket ID format relevant to the project
|
||||
- Keep approved titles or explicit task names visible for recurring updates
|
||||
|
||||
@@ -37,9 +38,9 @@ Non-sensitive example profile showing how a new project can reuse the workspace
|
||||
|
||||
## Context
|
||||
|
||||
Project-specific durable context should live under `vault/03-context/`.
|
||||
Project-specific durable context should live under `project-knowledge/03-context/`.
|
||||
|
||||
People, decisions, daily notes, maps, and templates should live under the corresponding `vault/` folders.
|
||||
People, decisions, daily notes, maps, and templates should live under the corresponding `project-knowledge/` folders.
|
||||
|
||||
Do not place company secrets, raw exports, credentials, or private communication transcripts in the profile.
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ Compatibility environment variables:
|
||||
|
||||
Generic variables should be preferred for new setup:
|
||||
|
||||
- `AIW_PROJECT_KNOWLEDGE_DIR`
|
||||
- `AIW_MATTERMOST_SYNC_CMD`
|
||||
- `AIW_MATTERMOST_SYNC_INTERVAL_MINUTES`
|
||||
- `AIW_SLACK_EXPORT_PATH`
|
||||
@@ -43,16 +44,16 @@ Generic variables should be preferred for new setup:
|
||||
## Work System
|
||||
|
||||
- Work items are Jira-linked when available
|
||||
- Active ticket memory lives in `vault/02-work-items/`
|
||||
- Compact active summary lives in `vault/01-current/work-items.md`
|
||||
- Active ticket memory lives in `project-knowledge/02-work-items/`
|
||||
- Compact active summary lives in `project-knowledge/01-current/work-items.md`
|
||||
- Jira IDs and approved titles should remain visible for standups and manager updates
|
||||
|
||||
---
|
||||
|
||||
## Stakeholders
|
||||
|
||||
- Current manager mapping lives in `vault/04-people/manager.md`
|
||||
- Person-specific collaboration context lives in `vault/04-people/`
|
||||
- Current manager mapping lives in `project-knowledge/04-people/manager.md`
|
||||
- Person-specific collaboration context lives in `project-knowledge/04-people/`
|
||||
- Manager-facing messages should be concise, explicit, and natural professional US English
|
||||
|
||||
---
|
||||
@@ -61,14 +62,14 @@ Generic variables should be preferred for new setup:
|
||||
|
||||
Core Fidelity context remains in:
|
||||
|
||||
- `vault/03-context/project.md`
|
||||
- `vault/03-context/systems/`
|
||||
- `vault/03-context/workstreams/`
|
||||
- `vault/03-context/ios/`
|
||||
- `vault/03-context/process/`
|
||||
- `vault/05-decisions/`
|
||||
- `project-knowledge/03-context/project.md`
|
||||
- `project-knowledge/03-context/systems/`
|
||||
- `project-knowledge/03-context/workstreams/`
|
||||
- `project-knowledge/03-context/ios/`
|
||||
- `project-knowledge/03-context/process/`
|
||||
- `project-knowledge/05-decisions/`
|
||||
|
||||
Raw communication evidence remains outside the vault under `ai/inbox/` and generated connector folders.
|
||||
Raw communication evidence remains outside the project knowledge vault under `ai/inbox/` and generated connector folders.
|
||||
|
||||
Memory access should go through the project-agnostic `scripts/memory/` interface for note creation, search, Base queries, and health checks. Obsidian is the current visual and CLI adapter, not a Fidelity-specific dependency.
|
||||
|
||||
|
||||
@@ -60,6 +60,6 @@
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 1.3297103454416062,
|
||||
"scale": 5.865886234269105,
|
||||
"close": true
|
||||
}
|
||||
@@ -8,23 +8,22 @@ tags:
|
||||
|
||||
# Glossary
|
||||
|
||||
Common terms used in this workspace.
|
||||
Common terms used in the Fidelity project knowledge vault.
|
||||
|
||||
---
|
||||
|
||||
## Workspace Terms
|
||||
|
||||
- `core`: reusable project-independent AI workspace logic.
|
||||
- `profile`: project-specific configuration and assumptions layered on top of the core.
|
||||
- `operational memory`: curated file-based memory that helps future AI sessions reason accurately.
|
||||
- `daily log`: same-day evidence and evolving findings in `vault/06-daily/`.
|
||||
- `state`: near-term active work and priorities in `vault/01-current/`.
|
||||
- `work item`: canonical memory for a ticket, story, task, or investigation in `vault/02-work-items/`.
|
||||
- `stable context`: durable project knowledge under `vault/03-context/`.
|
||||
- `project-knowledge`: this Obsidian vault; transferable Fidelity project knowledge.
|
||||
- `agent-memory`: agent operating rules outside this vault.
|
||||
- `operational memory`: curated file-based memory that helps future sessions reason accurately.
|
||||
- `daily log`: same-day evidence and evolving findings in `project-knowledge/06-daily/`.
|
||||
- `state`: near-term active work and priorities in `project-knowledge/01-current/`.
|
||||
- `work item`: canonical memory for a ticket, story, task, or investigation in `project-knowledge/02-work-items/`.
|
||||
- `stable context`: durable project knowledge under `project-knowledge/03-context/`.
|
||||
- `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.
|
||||
- `memory interface`: project-agnostic scripts under `scripts/memory/` that create, search, query, and validate project knowledge without coupling the workspace to Obsidian.
|
||||
|
||||
---
|
||||
|
||||
93
project-knowledge/00-start/onboarding.md
Normal file
93
project-knowledge/00-start/onboarding.md
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
type: onboarding
|
||||
audience: new-member
|
||||
project: fidelity
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- onboarding
|
||||
- map
|
||||
---
|
||||
|
||||
# New Member Onboarding
|
||||
|
||||
Use this guide when someone new needs to understand the Fidelity project context quickly.
|
||||
|
||||
This vault is project knowledge, not the product codebase and not the agent implementation manual.
|
||||
|
||||
---
|
||||
|
||||
## First 30 Minutes
|
||||
|
||||
Read these in order:
|
||||
|
||||
1. [Start Here](start-here.md)
|
||||
2. [Current Work Map](../07-maps/current-work.md)
|
||||
3. [Fidelity Domain Map](../07-maps/fidelity-domain.md)
|
||||
4. [Work Items Map](../07-maps/work-items.md)
|
||||
5. [People Map](../07-maps/people.md)
|
||||
|
||||
Goal:
|
||||
|
||||
- understand where current work lives
|
||||
- identify active tickets
|
||||
- understand the main systems and people
|
||||
- avoid treating raw logs or inbox evidence as confirmed durable truth
|
||||
|
||||
---
|
||||
|
||||
## First 60 Minutes
|
||||
|
||||
Read:
|
||||
|
||||
1. [Project Context](../03-context/project.md)
|
||||
2. [XFlowSDK](../03-context/systems/xflowsdk.md)
|
||||
3. [Fid4](../03-context/systems/fid4.md)
|
||||
4. [REST Migration](../03-context/workstreams/rest-migration.md)
|
||||
5. [AO And Discourse](../03-context/workstreams/ao-discourse.md)
|
||||
6. [Communication](../03-context/process/communication.md)
|
||||
|
||||
Goal:
|
||||
|
||||
- understand why auth state, entry point, and backend configuration matter
|
||||
- distinguish external reports from regressions
|
||||
- understand why communication precision is part of the engineering workflow
|
||||
|
||||
---
|
||||
|
||||
## First 120 Minutes
|
||||
|
||||
Read:
|
||||
|
||||
1. [Systems Index](../03-context/systems/index.md)
|
||||
2. [Workstreams Index](../03-context/workstreams/index.md)
|
||||
3. [iOS Context](../03-context/ios/index.md)
|
||||
4. [Jira Story Rules](../03-context/process/jira-story-rules.md)
|
||||
5. [Pull Requests](../03-context/process/pull-requests.md)
|
||||
|
||||
Goal:
|
||||
|
||||
- understand how Fidelity project knowledge is organized
|
||||
- know where to find durable systems, workstreams, people, decisions, and active tickets
|
||||
- know the communication standards expected for standups, Jira, PRs, and manager updates
|
||||
|
||||
---
|
||||
|
||||
## Daily Workflow
|
||||
|
||||
1. Start from [Current Work Map](../07-maps/current-work.md).
|
||||
2. Check [Current Work](../01-current/current-work.md).
|
||||
3. Open the active work item from [Work Items Map](../07-maps/work-items.md).
|
||||
4. Review the latest relevant note from [Daily Notes Index](../06-daily/index.md).
|
||||
5. Use [Communication](../03-context/process/communication.md) before writing standups, Jira comments, or manager updates.
|
||||
|
||||
---
|
||||
|
||||
## Rules Of Thumb
|
||||
|
||||
- `project-knowledge/06-daily/` is dated work evidence.
|
||||
- `project-knowledge/01-current/` is what matters now.
|
||||
- `project-knowledge/02-work-items/` is canonical ticket memory.
|
||||
- `project-knowledge/03-context/` is durable project knowledge.
|
||||
- `project-knowledge/04-people/` is collaborator and role memory.
|
||||
- `project-knowledge/05-decisions/` is durable decision history.
|
||||
- `ai/inbox/` and generated files are raw evidence, not promoted memory.
|
||||
93
project-knowledge/00-start/start-here.md
Normal file
93
project-knowledge/00-start/start-here.md
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
type: map
|
||||
audience: project-reader
|
||||
project: fidelity
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- map
|
||||
- onboarding
|
||||
---
|
||||
|
||||
# Start Here
|
||||
|
||||
Use this note as the entry point when opening `project-knowledge/` as the Obsidian vault.
|
||||
|
||||
This vault is the Fidelity project second brain. It is meant to be useful to the engineer, a new teammate, or an AI agent consuming project context. Agent implementation rules live outside this vault in `agent-memory/`.
|
||||
|
||||
---
|
||||
|
||||
## New Members
|
||||
|
||||
Read these first:
|
||||
|
||||
1. [New Member Onboarding](onboarding.md)
|
||||
2. [Glossary](glossary.md)
|
||||
3. [Current Work Map](../07-maps/current-work.md)
|
||||
4. [Fidelity Domain Map](../07-maps/fidelity-domain.md)
|
||||
5. [Fidelity Apps Map](../07-maps/fidelity-apps.md)
|
||||
6. [People Map](../07-maps/people.md)
|
||||
|
||||
---
|
||||
|
||||
## Current Work
|
||||
|
||||
- [Current State](../01-current/current-work.md)
|
||||
- [Active Work Items](../01-current/work-items.md)
|
||||
- [Work Item Index](../02-work-items/index.md)
|
||||
- [Daily Notes Index](../06-daily/index.md)
|
||||
|
||||
---
|
||||
|
||||
## Stable Context
|
||||
|
||||
- [Project Context](../03-context/project.md)
|
||||
- [Context Index](../03-context/index.md)
|
||||
- [Systems Index](../03-context/systems/index.md)
|
||||
- [Workstreams Index](../03-context/workstreams/index.md)
|
||||
- [People Index](../04-people/index.md)
|
||||
- [Manager Mapping](../04-people/manager.md)
|
||||
- [Decisions](../05-decisions/rest-vs-graphql.md)
|
||||
|
||||
---
|
||||
|
||||
## Project-Facing Process
|
||||
|
||||
- [Communication](../03-context/process/communication.md)
|
||||
- [Communication Rules](../03-context/process/communication-rules.md)
|
||||
- [Jira Story Rules](../03-context/process/jira-story-rules.md)
|
||||
- [Pull Requests](../03-context/process/pull-requests.md)
|
||||
|
||||
---
|
||||
|
||||
## Maps
|
||||
|
||||
- [Knowledge Maps](../07-maps/index.md)
|
||||
- [Current Work](../07-maps/current-work.md)
|
||||
- [Fidelity Domain](../07-maps/fidelity-domain.md)
|
||||
- [Fidelity Apps](../07-maps/fidelity-apps.md)
|
||||
- [Work Items](../07-maps/work-items.md)
|
||||
- [People](../07-maps/people.md)
|
||||
|
||||
---
|
||||
|
||||
## Daily Notes
|
||||
|
||||
Daily notes live in:
|
||||
|
||||
```text
|
||||
project-knowledge/06-daily/
|
||||
```
|
||||
|
||||
Use the latest dated note for recent evidence, but promote durable facts into `01-current/`, `02-work-items/`, or `03-context/` when they should survive beyond the day.
|
||||
|
||||
---
|
||||
|
||||
## Evidence Boundary
|
||||
|
||||
Inbox and generated files are evidence, not durable memory by default.
|
||||
|
||||
- `ai/inbox/`
|
||||
- `scripts/mattermost/generated/`
|
||||
- `scripts/slack/generated/`
|
||||
|
||||
Promote only high-confidence, project-relevant facts into this vault.
|
||||
@@ -15,7 +15,7 @@ tags:
|
||||
- Track REST migration findings
|
||||
- Debug Discourse and AO issues
|
||||
- Prepare better updates for the current manager or stakeholder through Mattermost
|
||||
- Follow up on active tickets through `vault/02-work-items/`, especially `PDIAP-14859`, `PDIAP-15765`, `PDIAP-15836`, and `PDIAP-15838`
|
||||
- Follow up on active tickets through `project-knowledge/02-work-items/`, especially `PDIAP-14859`, `PDIAP-15765`, `PDIAP-15836`, and `PDIAP-15838`
|
||||
- Wrap up `PDIAP-14859` by publishing the approved rollout document, linking the spike-result documents and follow-up story, then closing the spike
|
||||
- After the immediate `PDIAP-14859` closeout and `PDIAP-15765` resume work, return to `PDIAP-15838`; `PDIAP-15836` comes later
|
||||
- Finish `PDIAP-15765` propagation after the XFlow `2.8.48` release by carrying the already-published XFlowViewMaker update through the Fid4 PR and downstream consumer path
|
||||
@@ -12,24 +12,24 @@ tags:
|
||||
|
||||
Use this file as the quick summary for active Jira-linked work.
|
||||
|
||||
Detailed ticket memory now lives under `vault/02-work-items/`.
|
||||
Detailed ticket memory now lives under `project-knowledge/02-work-items/`.
|
||||
|
||||
Update the per-ticket files first when scope, status, sequencing, or communication framing changes materially.
|
||||
|
||||
## Current
|
||||
|
||||
- `PDIAP-14859` - Spike - Research strategy to remove final UIKit wrapping from XFlowSDK and XFlowViewMaker without disrupting consumer implementation
|
||||
Detail: `vault/02-work-items/pdiap-14859.md`
|
||||
Detail: `project-knowledge/02-work-items/pdiap-14859.md`
|
||||
Current note: the impact write-up is published, and the rollout document is approved for publication; update it to use the new flag name `xflow-swiftui-container-enabled` with a note that it will be added later during implementation, then publish and close out the spike with `Spike Results:` links.
|
||||
|
||||
- `PDIAP-15838` - Remove Apollo for iOS
|
||||
Detail: `vault/02-work-items/pdiap-15838.md`
|
||||
Detail: `project-knowledge/02-work-items/pdiap-15838.md`
|
||||
Current note: approved at `8` points and next to work on; keep it separate from the UIKit-removal spike.
|
||||
|
||||
- `PDIAP-15836` - Modernize dismissal delegate lifecycle sequencing for pure SwiftUI environment
|
||||
Detail: `vault/02-work-items/pdiap-15836.md`
|
||||
Detail: `project-knowledge/02-work-items/pdiap-15836.md`
|
||||
Current note: approved at `8` points, rooted in the AccountLink dismissal sequencing investigation, and sequenced after `PDIAP-15838`.
|
||||
|
||||
- `PDIAP-15765` - AO DOB field error not showing investigation
|
||||
Detail: `vault/02-work-items/pdiap-15765.md`
|
||||
Detail: `project-knowledge/02-work-items/pdiap-15765.md`
|
||||
Current note: the small XFlowSDK iOS `birthDate` compatibility fix was merged and released in XFlow `2.8.48`; the XFlowViewMaker follow-up is now approved and published. A downstream Fid4 dependency conflict was resolved through a podspec-repo update removing the XFlowViewMaker version reference from the latest `FTAccountOpen` and `FTTransfer` podspecs, and the current step is the open Fid4 PR so the change can propagate through the real app path.
|
||||
@@ -22,4 +22,4 @@ Keep active Jira-linked work in one canonical place so standups, manager updates
|
||||
- Keep titles exact when approved or explicitly confirmed.
|
||||
- If the title is not confirmed, store the Jira ID and current framing without inventing a final title.
|
||||
- Update the ticket file when scope, sequencing, points, status, rollout implications, or reproducibility meaningfully change.
|
||||
- Keep `vault/01-current/work-items.md` as a short bridge summary, not the primary source of detailed ticket context.
|
||||
- Keep `project-knowledge/01-current/work-items.md` as a short bridge summary, not the primary source of detailed ticket context.
|
||||
@@ -10,7 +10,7 @@ tags:
|
||||
|
||||
## Goal
|
||||
|
||||
Keep stable Fidelity context organized by domain so the agent can load the right information quickly.
|
||||
Keep stable Fidelity context organized by domain so engineers and AI agents can load the right information quickly.
|
||||
|
||||
---
|
||||
|
||||
@@ -53,18 +53,19 @@ Durable context about recurring streams of work and investigation:
|
||||
|
||||
### `process/`
|
||||
|
||||
Rules and expectations for how work should be communicated and maintained:
|
||||
Project-facing rules and expectations for how work should be communicated:
|
||||
|
||||
- [process/communication.md](./process/communication.md)
|
||||
- [process/communication-rules.md](./process/communication-rules.md)
|
||||
- [process/jira-story-rules.md](./process/jira-story-rules.md)
|
||||
- [process/context-maintenance.md](./process/context-maintenance.md)
|
||||
- [process/pull-requests.md](./process/pull-requests.md)
|
||||
|
||||
### `people/`
|
||||
|
||||
Named people, role mapping, and collaboration context:
|
||||
|
||||
- [people/index.md](./people/index.md)
|
||||
- [people/manager.md](./people/manager.md)
|
||||
- [people/index.md](../04-people/index.md)
|
||||
- [people/manager.md](../04-people/manager.md)
|
||||
|
||||
### `decisions/`
|
||||
|
||||
@@ -78,4 +79,4 @@ Confirmed technical or product decisions with ongoing impact.
|
||||
- Open `systems/` when the question is about architecture, ownership, or integration.
|
||||
- Open `ios/` when the question is about Swift, SwiftUI, iOS architecture, testing, concurrency, or debugging.
|
||||
- Open `workstreams/` when the question is about current priorities, debugging themes, or historical project patterns.
|
||||
- Open `process/` when drafting messages, standups, Jira notes, or deciding how to update memory.
|
||||
- Open `process/` when drafting messages, standups, Jira notes, or PR descriptions.
|
||||
@@ -43,7 +43,7 @@ When the format fits, prefer:
|
||||
- On Mondays, use Friday's work context unless a later prior day has Mattermost activity.
|
||||
- If the previous calendar day has no project activity because of weekend, holiday, or OOO, use the latest prior day with Mattermost activity.
|
||||
- For standups, when a Jira item has multiple concrete updates, use one top-level `JIRA-ID - Title` bullet and indented markdown sub-bullets instead of repeating the same Jira line.
|
||||
- When a flow/page shorthand could be ambiguous, prefer the real flow identifier and page name from `vault/03-context/workstreams/flow-page-references.md`.
|
||||
- When a flow/page shorthand could be ambiguous, prefer the real flow identifier and page name from `project-knowledge/03-context/workstreams/flow-page-references.md`.
|
||||
- For standups that may also be sent to Teams, prefer plain audience-friendly wording over internal implementation shorthand; avoid terms like `fallback` unless the audience already has the necessary context.
|
||||
- When a release is waiting on approvals or pipeline movement, make the concurrent work explicit so the update does not imply idle waiting.
|
||||
- Avoid vague phrasing such as:
|
||||
31
project-knowledge/03-context/process/index.md
Normal file
31
project-knowledge/03-context/process/index.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
type: process-index
|
||||
project: fidelity
|
||||
status: active
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- process
|
||||
- fidelity
|
||||
---
|
||||
|
||||
# Process Index
|
||||
|
||||
Project-facing process guides for Fidelity work.
|
||||
|
||||
Agent operating rules live in `agent-memory/`, not in this project vault.
|
||||
|
||||
---
|
||||
|
||||
## Guides
|
||||
|
||||
- [communication.md](./communication.md)
|
||||
How to frame technical updates and external communication.
|
||||
|
||||
- [communication-rules.md](./communication-rules.md)
|
||||
Reusable standards for standups, Jira, and stakeholder updates.
|
||||
|
||||
- [jira-story-rules.md](./jira-story-rules.md)
|
||||
How to create or reference stories with the right scope and precision.
|
||||
|
||||
- [pull-requests.md](./pull-requests.md)
|
||||
PR template and framing notes for repositories such as `xflow-for-ios`.
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
type: project-context
|
||||
project: fidelity
|
||||
updated: 2026-04-16
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- fidelity
|
||||
- context
|
||||
@@ -29,15 +29,15 @@ The product work happens outside this repository, usually from another machine.
|
||||
## Stable Context Map
|
||||
|
||||
- Core systems live under:
|
||||
- `vault/03-context/systems/`
|
||||
- `project-knowledge/03-context/systems/`
|
||||
- Durable workstreams live under:
|
||||
- `vault/03-context/workstreams/`
|
||||
- Stable communication and maintenance rules live under:
|
||||
- `vault/03-context/process/`
|
||||
- `project-knowledge/03-context/workstreams/`
|
||||
- Project-facing communication and process rules live under:
|
||||
- `project-knowledge/03-context/process/`
|
||||
- Named people and role mapping live under:
|
||||
- `vault/04-people/`
|
||||
- `project-knowledge/04-people/`
|
||||
|
||||
The Slack archive has already been curated into those files so the agent does not need to rediscover the same patterns from raw history every session.
|
||||
The Slack archive has already been curated into these files so future sessions do not need to rediscover the same patterns from raw history.
|
||||
|
||||
---
|
||||
|
||||
@@ -60,13 +60,13 @@ This machine is used to:
|
||||
- prepare polished updates for the current manager or stakeholder
|
||||
- generate standups with better context coverage
|
||||
|
||||
This means the context files should hold durable engineering knowledge, while `vault/06-daily/` and `vault/01-current/` hold the moving day-to-day view.
|
||||
This means the context files should hold durable engineering knowledge, while `project-knowledge/06-daily/` and `project-knowledge/01-current/` hold the moving day-to-day view.
|
||||
|
||||
---
|
||||
|
||||
## First Files To Read
|
||||
|
||||
- `vault/03-context/index.md`
|
||||
- `vault/03-context/workstreams/index.md`
|
||||
- `vault/03-context/process/communication.md`
|
||||
- `vault/04-people/index.md`
|
||||
- `project-knowledge/03-context/index.md`
|
||||
- `project-knowledge/03-context/workstreams/index.md`
|
||||
- `project-knowledge/03-context/process/communication.md`
|
||||
- `project-knowledge/04-people/index.md`
|
||||
@@ -32,7 +32,7 @@ aliases:
|
||||
|
||||
## Risks
|
||||
|
||||
- Easy to mix up with production Vault or with this workspace's own `vault/` directory.
|
||||
- Easy to mix up with production Vault or with the `project-knowledge/` documentation directory.
|
||||
|
||||
---
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user