- Deleted obsolete files: obsidian-vault.md, onboarding.md, workspace-model.md - Updated opencode.json to remove references to deleted files. - Revised profile.md to clarify the status of legacy paths and communication evidence. - Adjusted prompts to reflect new file paths and improve clarity. - Enhanced daily logs with focus, work-items, and blockers properties. - Updated work-item notes to include systems, workstreams, people, and related properties. - Improved context maintenance guidelines to ensure accurate and durable project knowledge. - Refined base filters to exclude template files and ensure only relevant notes are displayed. - Updated daily templates to ensure proper formatting and consistency. - Modified workflows to align with the new vault structure and improve context synchronization.
2.2 KiB
Communication Integration Model
Principle
Communication integrations extract evidence. The agent promotes memory.
Connectors should not decide that a message is durable project truth. They should fetch, normalize, and store evidence in predictable files so the agent can apply memory rules.
Connector Types
Live Communication Connector
Use for active systems such as Mattermost, Slack, Teams, or email.
Expected behavior:
- fetch recent messages from configured channels or conversations
- support a forced refresh for "latest message" prompts
- write the latest evidence to
ai/inbox/ - write status separately from project memory
- fail safely without updating logs, state, or context
Historical Archive Connector
Use for exports such as Slack archives.
Expected behavior:
- read raw archive files from an ignored archive location
- select high-signal evidence without treating the archive as current truth
- write generated summaries and JSONL to
scripts/<source>/generated/ - preserve enough source metadata for later review
Standard Evidence Shape
Connectors should emit JSONL records with this minimum shape when practical:
{
"source": "communication-system",
"channel": "readable-channel-name",
"timestamp": "ISO-8601 timestamp",
"username": "display name or handle",
"message": "message text",
"thread_id": "optional thread id",
"metadata": {}
}
Additional fields are allowed when useful, but the core should not depend on project-specific fields.
Environment Variables
Prefer generic AIW_* variables for reusable workspaces:
AIW_PROJECT_PROFILEAIW_CHANNEL_PREFIXAIW_MATTERMOST_SYNC_CMDAIW_MATTERMOST_SYNC_INTERVAL_MINUTESAIW_SLACK_EXPORT_PATH
Project-specific variables may remain as profile aliases, but new integrations should prefer AIW_*.
Failure Rules
If a connector fails:
- record operational status only
- do not update daily logs
- do not update current state
- do not update stable context
- do not infer project facts from the failure
The agent may report the operational failure to the user, but it must not promote the failure as project memory unless the user explicitly asks to track tooling work.