Add daily logs and templates for Fidelity project

- Created daily log entries for April 13-16, 2026, capturing standup contexts, Mattermost syncs, and ongoing work items.
- Established a daily logs index for easy navigation of daily entries.
- Introduced templates for daily notes, decisions, meeting notes, people, systems, and work items to standardize documentation.
- Developed maps for AI workspace core, current work, Fidelity domain, and work items to enhance workspace navigation.
- Implemented base configurations for daily notes, decisions, people, systems, work items, and workstreams to streamline data management.
- Added a placeholder for attachments to facilitate file organization.
This commit is contained in:
2026-04-16 16:01:19 -06:00
parent 90043ab6bf
commit b82194bc55
129 changed files with 4777 additions and 251 deletions

View File

@@ -12,33 +12,35 @@ Behavior rules:
- Treat `core/` as the reusable project-independent operating model.
- Treat `profiles/fidelity/profile.md` as the active Fidelity project profile.
- Treat `README.md`, `ai/context/`, `ai/state/`, `knowledge/`, and `ai/logs/` as the persistent memory of the project.
- Treat `vault/` as the canonical clean knowledge base for humans and AI.
- Treat `README.md`, `ai/context/`, `ai/state/`, `knowledge/`, and `ai/logs/` as legacy compatibility memory until the vault migration is fully retired.
- Before answering a prompt that depends on current state, verify the latest relevant files instead of relying only on conversation history.
- If the prompt asks for the latest Mattermost message, the last message from Jeff/current manager, or what someone just said, force a Mattermost refresh before answering and do not rely on stale inbox context.
- 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 `ai/AGENTS.md` or `.opencode/agents/`, skills in `.opencode/skills/`, and knowledge rules in `knowledge/` 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 `ai/AGENTS.md` or `.opencode/agents/`, skills in `.opencode/skills/`, and vault process rules in `vault/03-context/process/` 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 `ai/logs/YYYY-MM-DD.md`
- current priorities go to `ai/state/current.md`
- active Jira-linked work goes to `ai/work-items/*.md`
- the active-work summary goes to `ai/state/work-items.md`
- durable project knowledge overview goes to `ai/context/project.md`
- system-specific durable knowledge goes to `ai/context/systems/`
- workstream-specific durable knowledge goes to `ai/context/workstreams/`
- process-specific durable knowledge goes to `ai/context/process/`
- confirmed team or manager communication preferences go to `ai/context/people/manager.md`
- role-to-person mapping and recurring stakeholders go to `ai/context/people/`
- confirmed decisions go to `ai/context/decisions/`
- behavioral rules for how this workspace should respond go to the exact command, prompt, agent, skill, or knowledge file that enforces that behavior
- 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
- Use generic `AIW_*` integration variables for new tooling and keep `FIDELITY_*` only as compatibility aliases.
- Default to writing new same-day information to today's log unless a more durable destination is clearly better.
- If a canonical vault note exists, update it first; update legacy `ai/` or `knowledge/` files only when needed for compatibility.
- 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.
- 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 `ai/context/ios/`.
- When generating prompts for GitHub Copilot or another AI, use `ai/context/process/ai-to-ai-prompting.md` and the `copilot-prompt-engineering` skill.
- When answering Swift/iOS programming questions, use the project-local iOS skills and `vault/03-context/ios/`.
- 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.
- 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.

View File

@@ -12,11 +12,12 @@ 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 `ai/context/`, `ai/state/`, `ai/work-items/`, `ai/logs/`, `knowledge/`, and profile files as persistent memory.
- Treat `vault/` as the canonical clean knowledge base.
- Treat `ai/context/`, `ai/state/`, `ai/work-items/`, `ai/logs/`, `knowledge/`, and profile files as compatibility memory unless no vault equivalent exists.
- Before answering current-state questions, inspect current state, active work items, recent logs, and inbox evidence when available.
- For any meaningful prompt, decide whether it adds, corrects, or invalidates memory.
- Update the smallest correct canonical file when memory should change.
- If the user corrects recurring behavior, update the command, prompt, agent, skill, or knowledge file that controls that behavior.
- If the user corrects recurring behavior, update the command, prompt, agent, skill, vault process 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.
@@ -25,12 +26,11 @@ Behavior rules:
Memory destinations:
- daily facts -> `ai/logs/YYYY-MM-DD.md`
- current priorities -> `ai/state/current.md`
- active work items -> `ai/work-items/*.md`
- active-work summary -> `ai/state/work-items.md`
- durable project knowledge -> `ai/context/`
- people and roles -> `ai/context/people/`
- confirmed decisions -> `ai/context/decisions/`
- reusable behavior -> `.opencode/commands/`, `prompts/`, `.opencode/agents/`, `.opencode/skills/`, `knowledge/`, or `ai/context/process/`
- 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/`

View File

@@ -9,6 +9,10 @@ Read:
@core/README.md
@core/memory/operational-memory.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/process/ai-to-ai-prompting.md
@@ -23,7 +27,7 @@ Read active profile, if present:
Relevant active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:

View File

@@ -25,6 +25,12 @@ Read:
@core/memory/operational-memory.md
@core/integrations/communication-model.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/process/context-maintenance.md
@@ -49,14 +55,14 @@ 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 person files when a human repeatedly affects project flow
- create or update `vault/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/` first; use legacy `ai/*` only as compatibility fallback
Return:
1. What was imported
2. Which files were updated
3. Which historical facts were promoted or intentionally left as archive-only context

View File

@@ -20,6 +20,10 @@ Read:
@core/memory/operational-memory.md
@core/integrations/communication-model.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/process/context-maintenance.md
@@ -37,10 +41,11 @@ 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 `ai/logs/$(date +%F).md`
- update `ai/state/current.md` only for facts that materially change the active work window
- update `ai/work-items/*.md` for explicit work-item IDs, approved titles, points, scope, and status notes
- keep `ai/state/work-items.md` aligned as the compact summary of active work items
- 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
- use `ai/*` paths only as temporary compatibility fallback
- 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
@@ -49,4 +54,3 @@ Return:
1. What was synchronized
2. Which files were updated
3. Which facts were promoted or intentionally skipped

View File

@@ -10,6 +10,14 @@ Read:
@core/memory/operational-memory.md
@prompts/copilot-prompt.md
@ai/AGENTS.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
@ai/context/process/ai-to-ai-prompting.md
@ai/context/index.md
@ai/context/project.md
@@ -27,7 +35,7 @@ Active profile, if present:
Detailed active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:

View File

@@ -11,6 +11,17 @@ Use these files as the baseline context:
@core/memory/operational-memory.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/04-people/manager.md
@vault/04-people/index.md
@ai/AGENTS.md
@ai/context/index.md
@ai/context/project.md
@@ -39,17 +50,17 @@ Today's date:
!`date +%F`
Today's log, if present:
Today's canonical daily note, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Recent logs available:
Recent daily notes available:
!`ls -1 ai/logs 2>/dev/null | sort | tail -n 5`
!`if [ -d vault/06-daily ]; then ls -1 vault/06-daily 2>/dev/null | sort | tail -n 5; else ls -1 ai/logs 2>/dev/null | sort | tail -n 5; fi`
Detailed active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:

View File

@@ -38,7 +38,6 @@ Slash commands available in this workspace.
## Related
- [Tooling Map](../../knowledge/maps/tooling.md)
- [Tooling Map](../../vault/07-maps/tooling.md)
- [Prompts Index](../../prompts/index.md)
- [Skills Index](../skills/index.md)

View File

@@ -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.
- If the message changes project context, update the appropriate workspace memory after answering, writing to `vault/` first.
- If sync fails or no refreshed context is available, say that directly and do not infer from stale context.
Return:

View File

@@ -10,6 +10,11 @@ Read:
@core/README.md
@core/memory/operational-memory.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/workstreams/index.md
@@ -22,7 +27,7 @@ Read:
Today's existing log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Incorporate these new rough notes into today's log:
@@ -31,7 +36,8 @@ $ARGUMENTS
Instructions:
- use `workspace-memory-curation` when available
- Update or create `ai/logs/$(date +%F).md`
- Update or create `vault/06-daily/$(date +%F).md`
- Use `ai/logs/$(date +%F).md` only as temporary compatibility fallback
- Preserve concrete technical meaning
- Capture both technical findings and communication context when relevant
- Keep the log concise but reusable for later standups and manager updates

View File

@@ -10,6 +10,13 @@ Read:
@prompts/manager-update.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/workstreams/index.md
@@ -24,7 +31,7 @@ Read:
Today's log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Latest Mattermost context, if available:
@@ -32,7 +39,7 @@ Latest Mattermost context, if available:
Detailed active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:

View File

@@ -21,13 +21,14 @@ 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 `knowledge/memory-promotion-rules.md`
- apply the memory promotion rules from `vault/03-context/process/memory-promotion-rules.md`, falling back to `knowledge/memory-promotion-rules.md` only if needed
- 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 `ai/logs/$(date +%F).md`
- update `ai/state/current.md` only for facts that materially change the current work window
- update `ai/work-items/*.md` for explicit Jira IDs, approved titles, points, scope, and status notes
- keep `ai/state/work-items.md` aligned as the compact summary of active ticket files
- 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
- use `ai/*` paths only as temporary compatibility fallback
- 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

View File

@@ -9,6 +9,13 @@ Read:
@core/README.md
@core/memory/operational-memory.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/systems/index.md
@@ -24,7 +31,7 @@ Read:
Today's log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Current Mattermost inbox, if present:
@@ -43,20 +50,21 @@ Instructions:
- Promote only confirmed project-relevant facts
- Ignore tooling noise and sync status
- Update the smallest correct set of files among:
- `ai/logs/$(date +%F).md`
- `ai/state/current.md`
- `ai/work-items/*.md`
- `ai/state/work-items.md`
- `ai/context/project.md`
- `ai/context/systems/*.md`
- `ai/context/workstreams/*.md`
- `ai/context/process/*.md`
- `ai/context/decisions/*.md`
- `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`
- `.opencode/commands/*.md` when command behavior needs to change
- `prompts/*.md` when a reusable output template needs to change
- `.opencode/agents/*.md` or `ai/AGENTS.md` when default agent behavior needs to change
- `.opencode/skills/*/SKILL.md` when a specialized workflow needs to change
- `knowledge/*.md` when a durable workspace rule needs to change
- `vault/00-start/*.md` when durable onboarding or usage guidance needs to change
- Use legacy `ai/*` and `knowledge/*` only as compatibility fallback during migration
- 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

View File

@@ -28,6 +28,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
@ai/context/index.md
@ai/context/project.md
@ai/context/systems/index.md
@@ -60,7 +68,7 @@ Instructions:
- durable role/person associations
- recurring architecture or debugging patterns
- past approvals or decisions that still matter
- create or update person files when the archive shows a human repeatedly contributing across channels, years, or high-signal technical/process discussions
- create or update `vault/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
@@ -75,6 +83,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/` first; use legacy `ai/*` only as compatibility fallback
Return:

View File

@@ -12,6 +12,15 @@ Read:
@prompts/standup.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/workstreams/index.md
@@ -31,7 +40,7 @@ Previous workday Mattermost context, if present:
Today's log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Latest Mattermost context, preferring inbox and falling back to generated JSONL:
@@ -39,7 +48,7 @@ Latest Mattermost context, preferring inbox and falling back to generated JSONL:
Detailed active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:
@@ -52,7 +61,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 `ai/context/workstreams/flow-page-references.md` to preserve real flow/page identifiers when shorthand appears in logs or messages
- use `vault/03-context/workstreams/flow-page-references.md` to preserve real flow/page identifiers when shorthand appears in logs or messages, falling back to `ai/context/workstreams/flow-page-references.md` only if needed
Return a standup that is:

View File

@@ -22,6 +22,14 @@ Read:
@core/memory/operational-memory.md
@prompts/story-draft.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/workstreams/index.md
@@ -37,7 +45,7 @@ Read:
Today's log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Latest Mattermost context, if available:
@@ -45,7 +53,7 @@ Latest Mattermost context, if available:
Detailed active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:

View File

@@ -7,6 +7,13 @@ Answer the user's Swift/iOS programming question using current iOS practices and
Read:
@ai/AGENTS.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/project.md
@vault/03-context/systems/index.md
@vault/03-context/workstreams/index.md
@vault/01-current/work-items.md
@ai/context/ios/index.md
@ai/context/ios/current-practices.md
@ai/context/ios/project-swift-guidance.md

View File

@@ -8,6 +8,16 @@ Read:
@README.md
@ai/AGENTS.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
@ai/context/index.md
@ai/context/project.md
@ai/context/systems/index.md
@@ -26,7 +36,7 @@ Read:
Today's existing log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
New information to incorporate:
@@ -36,23 +46,23 @@ Instructions:
- use `workspace-memory-curation` when available
- Decide whether the new information belongs in:
- today's log
- `ai/state/current.md`
- `ai/work-items/*.md`
- `ai/state/work-items.md`
- `ai/context/project.md`
- `ai/context/systems/`
- `ai/context/workstreams/`
- `ai/context/process/`
- `ai/context/people/manager.md`
- `ai/context/people/index.md`
- `ai/context/people/*.md`
- `ai/context/decisions/`
- 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/`
- `.opencode/commands/*.md`
- `prompts/*.md`
- `.opencode/agents/*.md`
- `.opencode/skills/*/SKILL.md`
- `knowledge/*.md`
- Write to `vault/` first when a canonical note exists; use `ai/*` and `knowledge/*` only as temporary compatibility fallback
- Update the appropriate files directly
- 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

View File

@@ -17,6 +17,10 @@ Read:
@prompts/mattermost-translation.md
@ai/AGENTS.md
@vault/03-context/project.md
@vault/03-context/process/communication.md
@vault/04-people/manager.md
@vault/04-people/index.md
@ai/context/index.md
@ai/context/project.md
@ai/context/process/communication.md
@@ -26,7 +30,7 @@ Read:
If relevant, use today's log for context:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Return:

View File

@@ -14,6 +14,18 @@ Read core:
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/04-people/manager.md
@vault/04-people/index.md
@ai/AGENTS.md
@ai/context/index.md
@ai/context/project.md
@@ -37,17 +49,17 @@ Today's date:
!`date +%F`
Today's log, if present:
Today's canonical daily note, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
!`if [ -f vault/06-daily/$(date +%F).md ]; then cat vault/06-daily/$(date +%F).md; elif [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No daily note exists for today yet."; fi`
Recent logs available:
Recent daily notes available:
!`ls -1 ai/logs 2>/dev/null | sort | tail -n 5`
!`if [ -d vault/06-daily ]; then ls -1 vault/06-daily 2>/dev/null | sort | tail -n 5; else ls -1 ai/logs 2>/dev/null | sort | tail -n 5; fi`
Detailed active work item files, if available:
!`if [ -d ai/work-items ]; then for f in ai/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 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; elif [ -d ai/work-items ]; then for f in ai/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:
@@ -60,4 +72,3 @@ Respond with:
3. Missing context to capture today
Keep the response concise, then wait for the next request.