Pattern5 min read

P09 — Durable Knowledge Promotion

Promote useful discoveries and decisions; let transient runtime noise expire.

Problem

Keeping every log, trace, and intermediate artifact forever creates noise and cost. Keeping nothing makes future Runs repeat mistakes.

Context

Runs discover constraints, make decisions, and produce evidence of varying long-term value. Durable workspace knowledge belongs in the Git control repository, alongside the manifest and generated driver guidance; runtime logs and nested repository checkouts do not.

Pattern

Classify outputs. Promote durable knowledge, provenance, and decisions into reviewed System or caller-owned Workstream context; retain telemetry only for its operational lifetime. Agent Workspace can preserve a proposal and lineage, but the owning policy decides promotion.

Promotion has an intentional ladder rather than one undifferentiated memory:

Task observation
      ↓ review
Workstream learning
      ↓ repeated evidence
System pattern
      ↓ adopted preference
System convention / policy
      ↓ explicit scope
Global preference

An observation should not become a policy merely because one Run recorded it. Keep the source Task, Workstream, Run, and review decision attached to every promotion so later agents can understand provenance and correct stale guidance.

Diagram

Run output → classify → durable knowledge / Event
                    └→ transient telemetry → expire

Example

A Run discovers that a service must start before contract tests. Promote that constraint to .workspace/context/policies.md or an example, then run ws generate if the driver guidance or a workspace skill should change; do not commit the full process log.

Trade-offs

Promotion keeps the knowledge base useful and portable. It requires judgment, scope-aware storage, provenance, and a path for correcting stale decisions. Planner, Workstream, and global-preference owners remain outside ws.

Failure modes

Everything is promoted, nothing is promoted, or a discovery becomes “truth” without review.

Extension points

Markdown pull requests, structured events, SQLite, a knowledge graph, or an external KB.

When not to use

Do not create durable records for disposable debugging noise.