brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
memory-loadUse when Wingman memory is already known enabled in the current repository and starting non-trivial coding, debugging, planning, review, API integration, or business-logic work, or when the user explicitly asks to load or read Wingman memory.
Independent GitHub snapshot · Automated classification · Original documentation governs
memory-load is read-only. It loads current truth by default and history only when the task needs explanation or past-change context.
Use .wingman/memory/ as the repository-local memory root.
Repository memory is enabled only when both core entry files exist:
.wingman/memory/brief.md
.wingman/memory/context.md
If .wingman/memory/ is missing, continue without memory unless the user explicitly asked about memory. If the directory exists but a core entry file is missing, report partial memory only when the user asked about memory or the task depends on memory consistency.
Use this authority order when memory files disagree:
brief.md current Project Decisions
> domains/ current truths
> context.md hot working state
> history/ past events and evidence
History explains why something changed. It is not current truth unless a current entry in brief.md or domains/ links to it as evidence.
Only Status: current current-truth entries are binding. candidate, deprecated, and superseded entries are background only.
Relations:
updates <id> replaces the referenced entry for overlapping scope.extends <id> keeps both entries valid when compatible.derived_from <id-or-path> records evidence lineage, not authority.If two current entries with the same Subject conflict and no relation resolves them, stop and ask which rule is valid.
Skip memory for trivial isolated work: typo-only edits, formatting, isolated style tweaks, throwaway experiments, or local changes with no business, state, data, contract, reuse, or existing-behavior impact.
Load memory before non-trivial coding, debugging, planning, review, refactor, API integration, reusable implementation work, or changes touching business logic, state flow, permissions, quotas, billing, field mappings, contracts, or existing behavior.
Also load memory when the user mentions previous work, consistency, "之前", "上次", "沿用", "保持一致", "不要破坏", or asks to use memory.
.wingman/memory/brief.md.domains/ files..wingman/memory/context.md only for hot task state and direct pointers.For folder domains, read the folder index.md first, then only the relevant subfiles named by that index. Do not read every domain subfile by default.
The Domain Registry in brief.md is a routing table:
| Domain | Read When | Current File | History Domain Index | History Topics | Aliases | Related Domains | Status |
Current File points to current truth.History Domain Index and History Topics point to historical lookup indexes.Related Domains are hints, not automatic expansion.Read a current domain when the task matches Domain, Read When, or Aliases. Read related domains only when the task also touches that related area or the current domain file points to a specific related rule.
context.md is a hot cache. Read it for:
Treat context pointers as routing hints. If a pointer names a current truth, read that truth. If it names a history event, read the event only when Historical-Risk Signals are present or the pointer is directly needed for the task.
Read history projections only when at least one signal is present:
When history is needed, prefer sources in this order:
history/topics/<topic>.md.history/domains/<domain>.md.history/months/YYYY-MM.md for date questions.history/index.md when projection routing is unclear or the user asks broadly.Choose only the strongest 0-3 event bodies for the current task unless the user asks for deeper history.
Do not scan history/events/ directly by default.
Before editing code, internally confirm:
Do not show the checklist by default. Surface it only when there is a conflict, missing context, or the user asks.
memory-load may notice memory pressure but must not clean, compact, summarize, promote, or delete memory.
Mention cleanup only when a concrete candidate affects the task:
context.md contains durable rule bodies instead of pointers;brief.md, domains/, or history/events/;Suggest explicit memory-clean later. If a conflict blocks correct work, ask the user which rule is valid.
// @invariant: comments as local binding context when present.memory-load is read-only; new comments or memory updates belong to the relevant coding task or memory-sync.project-map-find; do not read project-map files during memory-load unless the user explicitly asks for project-map context.