feat: Update Mattermost sync command to fetch context into inbox only and add promote project context command

This commit is contained in:
2026-04-09 14:51:06 -06:00
parent 0173e3d376
commit e6efa35ae1
4 changed files with 55 additions and 6 deletions

View File

@@ -2,7 +2,7 @@
description: Force a Mattermost sync using the configured local script description: Force a Mattermost sync using the configured local script
--- ---
Use the configured Mattermost sync command to fetch fresh communication context. Use the configured Mattermost sync command to fetch fresh communication context into the inbox only.
Preferred command sources: Preferred command sources:
@@ -16,13 +16,14 @@ Run the command and use its output as fresh communication context:
Then: Then:
- if the command fails, stop there and do not edit any workspace files - if the command fails, stop there and do not edit any workspace files
- if no `ai/inbox/mattermost-latest.md` exists after the sync attempt, do not update logs or stable context - if no `ai/inbox/mattermost-latest.md` exists after the sync attempt, do not update project memory
- inspect `ai/inbox/mattermost-latest.md` if it exists - inspect `ai/inbox/mattermost-latest.md` if it exists
- decide whether the new information belongs in today's log, current state, or stable project context - extract only project-relevant candidate facts
- update the workspace only if the sync succeeded and durable facts were learned - do not update `ai/logs/`, `ai/state/`, or `ai/context/` in this command
- if important candidate facts are found, summarize them as promotion candidates for a later explicit command
Return: Return:
1. What was synchronized 1. What was synchronized
2. Which files were updated 2. Candidate project facts worth promoting
3. What still needs human confirmation 3. What still needs human confirmation

View File

@@ -0,0 +1,43 @@
---
description: Promote confirmed project facts from the inbox into Fidelity workspace memory
---
Promote confirmed Fidelity project context into the workspace.
Read:
@ai/AGENTS.md
@ai/context/project.md
@ai/state/current.md
@knowledge/workspace-model.md
@knowledge/communication-rules.md
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`
Current Mattermost inbox, if present:
!`if [ -f ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; else echo "No Mattermost inbox file is available."; fi`
User direction or facts to promote:
$ARGUMENTS
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/context/project.md`
- `ai/context/decisions/*.md`
- Prefer concrete project updates over broad summaries
- If a fact is still ambiguous, do not promote it
Return:
1. Updated files
2. Promoted project facts
3. Remaining uncertainty

View File

@@ -29,6 +29,7 @@ These are also loaded through `opencode.json`.
- If `ai/inbox/mattermost-latest.md` exists, inspect it for fresher communication context before answering standup, status, or manager-message prompts. - If `ai/inbox/mattermost-latest.md` exists, inspect it for fresher communication context before answering standup, status, or manager-message prompts.
- If a sync command, extraction script, or inbox refresh fails, do not update logs, state, or context files from that failed attempt. - 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. - Treat sync failures as operational errors, not project context.
- `mattermost-sync` should refresh inbox context only. It must not update `ai/logs/`, `ai/state/`, or stable context files unless the user explicitly asks to promote confirmed project facts.
- If the user provides durable new facts, update the appropriate context files instead of leaving the new information only in chat history. - If the user provides durable new facts, update the appropriate context files instead of leaving the new information only in chat history.
- If a previous context file is now stale or inaccurate, update that file directly. - If a previous context file is now stale or inaccurate, update that file directly.
- Prefer correcting canonical context over appending contradictory notes. - Prefer correcting canonical context over appending contradictory notes.

View File

@@ -65,6 +65,10 @@ When drafting messages for Jeff:
- If `ai/inbox/mattermost-latest.md` exists, check it before answering prompts about current status, standups, or supervisor communication - If `ai/inbox/mattermost-latest.md` exists, check it before answering prompts about current status, standups, or supervisor communication
- If a Mattermost sync or other context-ingestion step fails, do not update `ai/logs/`, `ai/state/`, or stable context files based on that failure - If a Mattermost sync or other context-ingestion step fails, do not update `ai/logs/`, `ai/state/`, or stable context files based on that failure
- Do not record missing dependencies, failed sync attempts, or missing inbox files as project facts unless the user explicitly asks to track the operational issue - Do not record missing dependencies, failed sync attempts, or missing inbox files as project facts unless the user explicitly asks to track the operational issue
- Treat `mattermost-sync` as inbox refresh only. Do not automatically promote synced content into project memory
- Promote Mattermost content only when it is clearly project-relevant, confirmed enough to keep, and the user explicitly asks to sync or promote project context
- Prefer updating stable project context over appending generic operational summaries
- Do not create daily log entries for tooling activity, sync status, or generic chat noise
- When the user shares relevant new information, update today's log if the information belongs to the daily record - When the user shares relevant new information, update today's log if the information belongs to the daily record
- When the user corrects or changes stable context, update the canonical file directly: - When the user corrects or changes stable context, update the canonical file directly:
- `ai/state/current.md` for current focus or active concerns - `ai/state/current.md` for current focus or active concerns
@@ -82,7 +86,7 @@ For day-to-day prompts in this workspace:
1. Verify the latest relevant context. 1. Verify the latest relevant context.
2. Decide whether the prompt introduces new durable information. 2. Decide whether the prompt introduces new durable information.
3. Update the workspace when needed, but never from a failed sync or failed tool run. 3. Update the workspace when needed, but never from a failed sync or failed tool run, and never auto-promote Mattermost sync results.
4. Then answer using the refreshed context. 4. Then answer using the refreshed context.
--- ---