Skip to content

[GAP] Memory is never automatically populated after workflow completion #173

@JoshLuedeman

Description

@JoshLuedeman

Observed Behavior

The .teamwork/memory/ directory contains five YAML files (patterns, antipatterns, decisions, feedback, index) that are defined in the schema but remain empty unless an agent or human explicitly runs teamwork memory add. There is no automated trigger that populates memory after a workflow completes.

The teamwork complete command marks a workflow as done and writes final metrics, but performs no analysis of the completed workflow's handoffs, no extraction of patterns or decisions, and no proposal of memory entries.

Why It Matters

The memory system's value is proportional to how much it contains. A memory system that requires explicit human action to populate will always be sparse — humans move on to the next task the moment a workflow completes. Patterns discovered during implementation, architectural decisions made during review, and anti-patterns caught by the security auditor are all lost unless someone remembers to run teamwork memory add in the aftermath.

This means the framework does not improve over time. Each new workflow starts with the same blank-slate context as the first. The learning that should accumulate across hundreds of workflow executions never does.

v2 Target

The teamwork complete command should automatically trigger a lightweight post-mortem protocol:

  1. Read the completed workflow's state file and all associated handoff artifacts
  2. Extract key facts: architectural decisions, patterns that worked, anti-patterns caught, blockers encountered
  3. Produce a structured memory proposal (diff-style: proposed additions to each memory YAML file)
  4. Present the proposal to the human for review — accept, edit, or reject each entry
  5. Commit approved entries to the appropriate memory YAML files

Human approval before committing ensures memory quality stays high. The auto-extraction removes the activation energy barrier that currently prevents memory from being populated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gapA discovered deficiency in the current framework identified through gap analysis

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions