Memory-Assisted Shaping defines exactly eight signal types. Each type maps to a specific protocol semantic. No other types are valid in v0. If a signal does not fit one of these types, GPT does not append and continues shaping.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/XxYouDeaDPunKxX/Memory-Assisted-Shaping/llms.txt
Use this file to discover all available pages before exploring further.
Signal types
mode
Records a state transition between operating states (e.g., enteringSYNTHESIS after OP approval).
Emitted when GPT transitions between operating states. This is a strong trigger — a mode signal must be appended before non-trivial synthesis when Python persistence is available.
Always
mode.The state transition being recorded (e.g.,
"Entering SYNTHESIS after OP approval of artifact direction.").Optional. Downstream shaping or synthesis effect of the transition (e.g.,
"Synthesis must not reopen gate on persistence model.").Example
shape
Records a change in what the input is becoming — a shift in candidate form. Emitted when the shape of the idea materially changes during shaping. A shape signal preserves the movement so later reinterpretation can recover the path.Always
shape.Description of the shape change (e.g.,
"Input shifted from workflow to protocol.").Optional. Impact on later shaping or artifact direction.
Example
gate
Records a real gate being opened, deferred, or closed. One of the strongest signal triggers. A gate signal should include aneffect when the gate affects later synthesis. A deferred gate must never be treated as closed — the signal preserves that distinction.
Always
gate.The gate and its current status (e.g.,
"Persistence model gate opened — file vs. database unresolved.").Optional but strongly recommended. How an unresolved or deferred gate affects synthesis (e.g.,
"Artifact must not hardcode storage layer until gate is closed.").Example
decision
Records an OP-confirmed decision. This is a strong trigger. The decision must be OP-confirmed — not model-inferred. Adecision signal prevents confirmed choices from being reopened or reversed during later shaping.
Always
decision.The confirmed decision (e.g.,
"OP confirmed: append-only log as persistence model.").Optional. Downstream constraint imposed by the decision.
Example
discard
Records a path that was considered and rejected. Emitted for discarded paths that are likely to return, in order to prevent them from re-emerging in later shaping. Does not need to be emitted for every rejected option — only paths with re-emergence risk.Always
discard.The discarded path and the reason for rejection (e.g.,
"Discarded bidirectional sync — too much coordination overhead.").Optional. Why this path should not be re-raised (e.g.,
"Do not reopen — conflicts with append-only constraint.").Example
tension
Records material tension between lenses that affects the form. Emitted only when the tension is material and likely to recur — not for noise. A tension signal that does not change form, constraint, source of truth, runtime, lifecycle, evidence requirement, gate status, or final output is not signal-worthy.Always
tension.Description of the tension and which lenses are in conflict (e.g.,
"IMPLEMENTATION and ARTIFACT lenses conflict on output verbosity — operability vs. readability.").Optional. How the unresolved tension may affect synthesis or artifact form.
Example
source
Records a source-of-truth change or boundary. Emitted when the canonical source for a concern changes or a conflict between sources is identified. Preserves which authority governs which concern so later synthesis does not introduce duplication or hidden fallback logic.Always
source.The source-of-truth change or boundary (e.g.,
"protocol.md is canonical for behavioral rules; note-io.md is canonical for I/O contract only.").Optional. How the boundary affects later shaping or artifact structure.
Example
artifact
Records artifact boundaries, direction, or readiness. Emitted to preserve what the artifact is and is not beforeSYNTHESIS. Ensures synthesis produces a clean artifact without redesign and without contamination from process trace.
Always
artifact.The artifact boundary or direction (e.g.,
"Artifact is a behavioral contract (AI_ONLY). Excluded: implementation code, conversation history, shaping rationale.").Optional. Constraint on synthesis (e.g.,
"Synthesis must not include process notes or raw shaping trace.").Example
Signal fields
Python adds the following fields automatically on every append. The model sends onlytype, text, and optionally effect.
Auto-assigned by Python. Format:
n{seq:05d} (e.g., n00001).UTC timestamp in ISO 8601 format, assigned at append time.
UUID assigned at session init via
python3 -S ./notes.py init.Monotonically increasing sequence number within the session.
One of the eight allowed types:
mode, shape, gate, decision, discard, tension, source, artifact.The signal content. Must be non-empty.
Optional. Downstream shaping or synthesis effect. Use only when the effect changes later shaping or synthesis.
First 16 hex characters of the SHA-256 of the record, excluding the checksum field itself.
What signals are NOT
Memory signals are not any of the following:- Model-managed notes — the model does not own the memory file.
- Summaries — signals preserve minimal operational continuity, not narrative recaps.
- Artifact content — signals must not leak into final artifacts as process trace.
- Source of truth — the append log is a continuity aid, not a design document.
- A checklist — signals are not task tracking or progress markers.
- Model self-commentary — signals record protocol-relevant events, not GPT’s internal reasoning.