Refactor AI workspace for improved context management and communication integration
- 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.
This commit is contained in:
138
core/memory/operational-memory.md
Normal file
138
core/memory/operational-memory.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 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:
|
||||
|
||||
```text
|
||||
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:
|
||||
|
||||
```text
|
||||
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:
|
||||
|
||||
```text
|
||||
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:
|
||||
|
||||
```text
|
||||
ai/context/<domain>/*.md
|
||||
```
|
||||
|
||||
### `people`
|
||||
|
||||
Use for repeated collaborators, role mappings, manager/stakeholder context, and communication preferences.
|
||||
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
ai/context/people/*.md
|
||||
```
|
||||
|
||||
### `decisions`
|
||||
|
||||
Use for confirmed decisions with ongoing impact.
|
||||
|
||||
Default path pattern:
|
||||
|
||||
```text
|
||||
ai/context/decisions/*.md
|
||||
```
|
||||
|
||||
### `tooling-behavior`
|
||||
|
||||
Use when a user correction changes how the workspace should behave in the future.
|
||||
|
||||
Default path patterns:
|
||||
|
||||
```text
|
||||
.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.md` and 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.
|
||||
|
||||
Reference in New Issue
Block a user