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:
@@ -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/`
|
||||
|
||||
Reference in New Issue
Block a user