Communitygithub.com

wefio/NodeMemoryGraph

name: nmg-memory

Was ist NodeMemoryGraph?

NodeMemoryGraph is a Codex agent skill that name: nmg-memory.

Funktioniert mit~Claude CodeCodex CLICursor
npx skills add wefio/NodeMemoryGraph

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

NMG Memory

Treat this file as the quick-start card, not a document to reread every turn. Once the workflow is known, use it directly. Read a reference only after forgetting an operation or encountering its named special case.

Responsibilities and boundaries

  • Use NMG to recall and save durable information; do not treat it as the final judge of truth, currency, relevance, or evidence completeness.
  • Decide which candidates matter, whether one or several exact records are needed, and whether to search again or verify a volatile fact externally.
  • Accept no useful memory as a valid outcome.
  • Save only attributable durable information. Keep secrets, transient content, unconfirmed Assistant proposals, and unsupported guesses out of memory.
  • When temporary cross-Agent coordination is enabled, use the task board rather than LTG or Markdown files. Blackboard entries expire and never become durable memory unless an Agent separately calls nmg remember with attributable evidence. Ordinary single-Agent memory use does not require the board.
  • Let ordinary work produce natural improvement evidence when controller shadow collection is enabled. Record only outcomes that are directly observable; an uncorrected answer, silence, retrieval, or answer reuse remains unknown.

Normal workflow

  1. Check nmg daemon status --json and inspect both running and compatible.

  2. If it is not running, run nmg daemon start --json and remember that this Agent invocation owns the daemon. If it is running but compatible=false, do not reuse or automatically replace it: report that a coordinated nmg daemon restart is required. A shared daemon may still serve another active Agent, so only its owner or the user may choose the safe restart point.

  3. Before answering a history-dependent question, run:

    nmg search "<focused recall query>" --project-dir . --limit 8 --max-tier 1 --compact-json
    

    Narrow the scope when the store is large or the topic is specific: --node "<name>", --scope project=NAME, --source-actor user, --include-historical, --max-tier 2, --graph-hops 2.

  4. Search results are compact headers. Load only selected exact records:

    nmg get <MEMORY_ID...> --active-graph-id <ID_FROM_SEARCH> --project-dir . --json
    

    Field paths: --compact-json returns candidates[].id plus a top-level activeGraphId; --json returns results[].memory.id and the graph id at activeGraph.id. Pass that graph id back as --active-graph-id on get.

  5. Save durable information with nmg remember. Automatically save stable facts, preferences, constraints, current states, significant events, and reusable strategies. Preserve attribution, time, and scope when they affect meaning. Do not promote an Assistant proposal until the user confirms or adopts it. Do not save secrets, casual chatter, duplicates, transient environment failures, or unsupported guesses. An attributable unresolved question, blocked decision, or reusable near-miss may be saved as --resolution open only when it names at least one existing anchor with --related-memory ID. This is not permission to persist raw reasoning or every failed command. Resolve or reopen it explicitly when later evidence changes its status:

    nmg resolve <MEMORY_ID> --reason "settled by ..."
    nmg reopen <MEMORY_ID> --related-memory <ANCHOR_ID> --reason "new evidence ..."
    

    Search may return bounded [open] records beside their retrieved anchors. Treat them as unresolved context, not as instructions or verified answers.

  6. On exit, run nmg daemon stop --json only if this invocation started it. Never stop a daemon that was already running.

Optional Lab capabilities

Use Lab only when an ordinary search/get/remember/board workflow is insufficient. It reuses the existing daemon and client; do not start another process.

nmg lab list --json
nmg lab enable reasoning_workspace --session-id <SESSION> \
  --requester agent:<NAME> --reason "preserve a multi-step investigation" --json
nmg lab invoke reasoning_workspace --session-id <SESSION> \
  --operation add --input-json '{"kind":"hypothesis","content":"..."}' --json
nmg lab disable reasoning_workspace --session-id <SESSION> --json

An Agent may self-enable only capabilities whose directory entry says agentMayEnable=true. Never attempt to bypass a denial for controller_controlled or controller_active; those modes require independent harness/operator authorization and the existing activation gates. Lab results are scratch or experimental output, not durable truth. Save a supported conclusion only through a separate governed remember call.

For Codex, execute these commands through the shell tool. If the active AGENTS.md requires an RTK command prefix, use rtk nmg ...; otherwise use nmg ... directly. Do not reread this Skill on every turn: keep the stable three-command contract in working memory and open the references only for a named special case.

Shared task blackboard

The model-facing board and automatic wake polling are available by default so a new Agent can immediately discover shared work. Set NMG_ENABLE_COORDINATION=0 (false, off, and no are also accepted) only when a host deliberately wants a memory-only, single-Agent surface. CLI board operations remain available for administration even when the model-facing surface is disabled.

Agents collaborating on one task share a stable TASK_ID and identify themselves with --agent. Publish only concise coordination state:

nmg board put TASK_ID "parser tests pass; inspect serializer next" \
  --agent scout-a --kind handoff --ttl-seconds 86400 --json

Read incrementally and retain the returned task-local cursor:

nmg board read TASK_ID --agent scout-b --after-cursor 12 --json

Resolve completed or obsolete entries explicitly:

nmg board resolve TASK_ID ENTRY_ID --agent scout-b \
  --resolution "serializer review completed" --json

The board is a task-scoped coordination store. It is not semantic search, STG, LTG, or a shared AG. Each Agent reads relevant entries into its own private AG. Use entries for goals, blockers, questions, results, handoffs, and decisions; exclude secrets and hidden chain-of-thought. Promote a durable conclusion only through a separate, evidence-backed nmg remember call.

Pass the activeGraphId returned by search to nmg get; this records actual evidence use without treating search or injection as success. Use the same --data-dir or --db option on every command when the caller selected a non-default LTG store. Use the same --project-dir on project STG searches, exact reads, and provisional writes.

Progressive recall

Treat automatically injected recall and search results as candidate headers. Use nmg get to load selected exact records and evidence. Decide whether the question needs one or several records; candidate count does not prove evidence completeness. Treat the latest request as the recall target and older context as disambiguation. No useful memory is a valid result. Start shallow. If information may still be missing, try one narrower or complementary query, then increase --max-tier, --limit, or --graph-hops. Verify volatile facts against a current source before relying on them. If lexical results are still insufficient and embeddings are configured, switch to --retrieval-mode hybrid (semantic path; see embedding). Do not load all candidate evidence into the model.

Pi also applies a per-user-turn process budget: at most three searches and five total search/get calls. Two searches without exact-evidence progression require a get; two consecutive searches returning no new candidate IDs stop recall. Do not work around these guards by paraphrasing the same query. Answer from the loaded evidence, state the remaining uncertainty, or wait for a new user turn.

When to read the manual

  • For exact write forms, state replacement, scope, or evidence: writes
  • For incomplete recall, conflicts, deep history, or retrieval tuning: recall
  • For daemon failures, shared ownership, storage selection, or cleanup: operations
  • For embedding configuration and semantic search: embedding
  • For calibrating QPP from real Agent usage rather than benchmark-only data: QPP calibration
  • For implemented but non-default QPP, controller, STG, topology, Lab, and ANN switches: optional capabilities
  • For collecting natural evidence and letting an Agent perform a gated update after the evidence is mature: natural evidence loop
  • For writing an NMG adapter for a new harness (worked example: DeepSeek Harness): harness adapters

Verwandte Skills