Files
fidelity-ai-workspace/agent-memory/integrations/communication-sources.md

3.4 KiB

type, status, updated, tags
type status updated tags
agent-integration active 2026-05-19
communication
evidence

Communication Sources

Communication connectors extract evidence. The agent decides what to promote.


Live Communication

Mattermost is the current live communication connector.

  • Primary local evidence is the Mattermost proxy mirror under ai/inbox/mattermost-mirror/ when present.
  • Prefer ai/inbox/mattermost-mirror/latest.md / latest.jsonl for latest-message context, by-date/YYYY/MM/YYYY-MM-DD.jsonl for daily/standup context, channels/<channel>/YYYY/MM/YYYY-MM-DD.jsonl for channel-specific context, and threads/<root-or-post-id>.jsonl for thread-specific context.
  • Use scripts/mattermost-proxy/read-context.py from commands/workflows instead of reading ad hoc files; it prefers the proxy mirror and falls back to legacy sync artifacts.
  • Legacy fresh output may still go to ai/inbox/mattermost-latest.md.
  • Legacy generated extraction artifacts stay under scripts/mattermost/generated/.
  • Failed syncs must not update project knowledge.
  • Latest-message requests must refresh Mattermost before answering.
  • Latest-message requests are read-first. The agent may identify a memory update candidate, but should not edit project-knowledge/ from the latest-message command unless the user explicitly asks to promote the fact.
  • Standup generation is a separate required-refresh flow: it must fetch Mattermost before drafting, even though general prompts should not sync automatically.
  • Standup reads should use the focused reader mode, scripts/mattermost-proxy/read-context.py --mode standup --today YYYY-MM-DD, which reads date-bucketed previous-workday/today records and should use the active profile's configured AIW_MATTERMOST_CONTEXT_CHANNELS when available. Avoid loading broad mirror latest.md into standup prompts because it may include stale or unrelated channels and waste tokens. Keep project-specific channel names out of reusable connector code.
  • If the proxy mirror is running, treat it as fresher than legacy mattermost-latest.md / generated JSONL. Do not ignore mirror evidence merely because a legacy sync command also ran.
  • Do not refresh Mattermost just because a prompt mentions a manager or stakeholder.
  • Treat document review, message polishing, translation, and "does this align with Jeff's expectations?" prompts as normal drafting tasks unless the user explicitly asks for the latest message or fresh Mattermost evidence.
  • The OpenCode plugin syncs automatically only for explicit latest-message requests by default.
  • Optional aggressive sync can be enabled with AIW_MATTERMOST_SYNC_ON_SESSION=true or AIW_MATTERMOST_SYNC_ON_PROMPT=true, but these should stay off for low-latency daily use.
  • When invoking Mattermost sync from OpenCode, do not use parameter expansion that places a command with spaces into a single shell word, such as ${VAR:-bash scripts/mattermost/sync.sh}. Run configured command strings via bash -lc "$AIW_MATTERMOST_SYNC_CMD" / bash -lc "$FIDELITY_MATTERMOST_SYNC_CMD", and run the fallback as separate words: bash scripts/mattermost/sync.sh.

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.