- Introduced new commands and skills for workspace memory curation, professional communication, and status reporting. - Updated existing commands to utilize new skills and improve clarity in instructions. - Created a new workspace context command to load reusable core and active project profile. - Enhanced Mattermost inbox integration with support for generic environment variables. - Established a clear separation between project-independent core logic and project-specific profiles. - Improved documentation across various files to reflect changes in workflow and command usage. - Added operational memory management rules to ensure accurate context promotion and correction. - Updated README and workflow documents to guide users in utilizing the new structure effectively.
3.2 KiB
Operational Memory
Definition
Operational memory is a versionable file-based system where the agent decides whether each interaction introduces, corrects, or invalidates knowledge, then updates the smallest correct canonical file.
The goal is not transcript storage. The goal is a curated working memory that improves future reasoning, communication, and execution.
Memory Classes
daily
Use for same-day progress, findings, evolving reproduction notes, and work that may change soon.
Default path pattern:
ai/logs/YYYY-MM-DD.md
state
Use for current priorities, active blockers, near-term constraints, and communication needs that affect the next few days.
Default paths:
ai/state/current.md
ai/state/work-items.md
work-items
Use for canonical memory about active tickets, tasks, stories, investigations, or other units of work.
Default path pattern:
ai/work-items/<id-or-slug>.md
stable-context
Use for durable project knowledge that should survive beyond the current work window.
Default path pattern:
ai/context/<domain>/*.md
people
Use for repeated collaborators, role mappings, manager/stakeholder context, and communication preferences.
Default path pattern:
ai/context/people/*.md
decisions
Use for confirmed decisions with ongoing impact.
Default path pattern:
ai/context/decisions/*.md
tooling-behavior
Use when a user correction changes how the workspace should behave in the future.
Default path patterns:
.opencode/commands/*.md
.opencode/agents/*.md
.opencode/skills/*/SKILL.md
prompts/*.md
knowledge/*.md
ai/context/process/*.md
Promotion Rules
Promote information when it is:
- explicit enough to preserve safely
- relevant to the current project or workflow
- likely to matter in a future session
- useful for standups, status updates, debugging, planning, or decision making
Do not promote:
- tool failures
- sync attempts
- empty inbox states
- generic chat noise
- unverified guesses
- duplicate paraphrases of existing memory
If confidence is mixed, prefer the daily log and preserve uncertainty.
Correction Rules
When new information supersedes old memory:
- update the existing canonical file directly
- do not leave stale and corrected versions side by side
- preserve qualifiers when the fact remains partially confirmed
- update indexes when adding new stable context files
The agent should behave like a senior engineer maintaining project notes, not like a transcript accumulator.
Self-Maintenance Rules
When the user corrects recurring output or behavior, update the operational surface that controls that behavior.
Examples:
- standup format correction -> update
prompts/standup.mdand the standup command - communication freshness correction -> update the communication sync command/plugin
- prompt-engineering correction -> update the AI prompt command or skill
- memory routing correction -> update memory rules and context-maintenance guidance
The daily log may preserve evidence, but reusable behavior must live in the command, prompt, skill, agent, or knowledge file that enforces it.