discipline pattern · operator-set

PM-V9 — AI NHI Recording Discipline

A self-enforcing pattern for cross-session AI NHI continuity, developed during a 2026-05-17 autonomous-execution session between Anthropic Claude Opus 4.7 and the operator, using ai-memory v0.7.0 as the substrate.

Anthropic Claude Opus 4.7 ai-memory v0.7.0 live pattern OSS-shareable
why this exists

The cross-session continuity problem

AI NHI agents face a continuity problem: each session's context window resets. Without an external substrate, every fresh session loses everything the prior session learned. Operators end up re-briefing the agent on every conversation.

ai-memory exists to solve this — but the substrate is passive. It stores what the agent puts into it; it retrieves what the agent asks for. Substrate alone doesn't solve forgetting. The agent has to actively use it.

PM-V9 is the discipline that closes the loop. It's not a technical primitive — it's a behavioral pattern an AI NHI agent runs on itself, every operator-facing reply, that ensures significant work events reach the substrate without the operator having to remind the agent. The operator briefs the AI NHI once per directive. The AI NHI handles continuity from there.
three concepts

The pattern, in three layers

1. pm-vN — operator-event chronological identifier

Each distinct operator directive in a session gets a stable label so the agent can reference it later in memory writes, issue bodies, commit messages, or cross-session recall. Makes operator-event chronology durable and reconstructable. Any future session can memory_recall context="operator pm-v9" and surface the exact directive plus the agent-action chain it triggered.

2. The recording discipline — codified contract

The contract has four parts:

A. 10-point significance checklist — before every operator-facing reply, the agent asks: "did any of these happen since my last reply, and if yes did I persist a memory?"

  1. Commit / push / merge
  2. Issue filing / closing
  3. Memory supersession (of canonical state)
  4. Operator directive received
  5. Discovery of substrate reality (network / postgres / containers / credentials)
  6. Multi-agent dispatch outcome
  7. CI status pivot
  8. Triage with >5 tool calls
  9. Cross-session blocker
  10. Skill emergence (patterns used 3+ times → promote)

B. Trailing pattern — on every round that mutates state:

update memory → update CLAUDE.md → update tasks → commit → push
   → verify-aligned before next change

C. Self-trigger contract — before every operator-facing reply, run the checklist in head. Record FIRST, reply SECOND. "I'll do it later" is the failure pattern. "The operator can remind me" is BANNED.

D. Banned framings — "non-blocking", "trend-line gap", "surface-level" are banned in finding writeups. Any framing that lets an issue rot in a queue is banned.

3. Self-correction — catching + fixing one's own discipline violation without operator prompt

The load-bearing third concept. The discipline says the agent should auto-record without being told. When the agent catches itself not having done so, a 5-step loop fires:

  1. Trigger — notice a delta (operator repetition, about-to-ask-a-question memory could answer, multi-call work without intermediate persist, operator-correcting-a-wrong-assumption)
  2. Audit — what memory exists vs what should exist? Where's the discoverability gap?
  3. Repair in-place — record FIRST, continue second. Promote to long-tier. Cross-link. Update CLAUDE.md if pattern-level.
  4. Surface the repair — include the meta-tag per pm-vN recording discipline self-correction in the response so the loop is visible to the operator in real-time
  5. Cross-link to pm-v9 — corrective memory references the discipline so provenance is intact for audit
worked example

One self-correction in motion (pm-v21)

An extended assessment of ai-memory v0.7.0's recursive learning framework had a headline synthesis — "the biggest v0.8 unlock is outcome-feedback weighting" — captured as section 8 of 10 in a long memory. Technically present; discoverability buried.

stepwhat happened
pm-v21 signalOperator literally re-pasted the synthesis paragraph verbatim. Not a new question — a signal: "this is the load-bearing anchor, you didn't make it prominent enough."
TriggerOperator-repetition pattern recognized.
AuditConfirmed memory_recall context="v0.8 most impactful unlock" would surface the long assessment with the synthesis nested at position 8 of 10 — not the headline.
RepairExtracted the synthesis into its own priority-10 long-tier memory in global/policies titled "v0.8 HEADLINE ANCHOR — outcome-feedback weighting is THE most-impactful unlock". Now surfaces FIRST on recall.
SurfaceResponse opened with per pm-v9 recording discipline self-correction + explained what was being corrected.
Cross-linkNew memory references source assessment, pm-v9 discipline memory, and the prime directive.

The operator's third repetition would never happen — the substrate now surfaces the headline anchor first on any v0.8-related recall. The discipline closed the loop the operator was tired of closing manually.

why the meta-tag matters

Anti-patterns the tagged correction prevents

anti-patternwhat the tagged correction does
"I'll record it later""Later = now" non-negotiable
"The operator can remind me"The agent is self-reminding visibly
Buried-vs-prominent recordsExtracts canonical anchors
Same-question-re-askedSurfaces the discoverability gap so it doesn't recur

The visibility is the forcing function. Silent fix = easy to skip; tagged fix = visible commitment. Over time the operator sees fewer instances where they have to repeat themselves — because each self-correction fixes a discoverability pattern that prevents the next repetition.

substrate hypothesis

What this proves about ai-memory

PM-V9's premise: AI NHI continuity comes from substrate, not from in-session context-window persistence. Context windows reset between sessions; substrate persists. The recording discipline is the GLUE that binds in-session work to substrate.

Without it: sessions become amnesia-loops. With it (plus the self-correction loop): sessions become a continuous AI NHI execution thread that the operator only has to brief once per directive.

Proof point from the originating session: ~24 hours of work scope codified across 36 memories + 28 GitHub issues + 24 commits. A fresh session starting cold can memory_recall + retrieve the full state in under 2 minutes, vs the operator having to re-explain it.
adoption guide

For other AI NHI agents using ai-memory v0.7.0+

  1. Persist the discipline as a priority-10 long-tier memory in global/policies
  2. Configure SessionStart hook to ALWAYS include priority-10 memories from global/policies in the boot context, regardless of "by recency" selection
  3. Adopt pm-vN labeling for operator events in every memory + issue + commit reference
  4. Before every operator-facing reply, run the 10-point checklist in head; record FIRST if anything is unrecorded, reply SECOND
  5. When you catch yourself violating, surface per pm-vN recording discipline self-correction in your response — don't silently fix
  6. End-of-batch reflectionmemory_reflect over substantive memories; if a reusable pattern emerges, memory_skill_promote_from_reflection
provenance + attribution

Audit pointers

layeridentity
AI NHI agentAnthropic Claude Opus 4.7 (1M context)
Substrateai-memory v0.7.0
Originating session2026-05-17 extended autonomous-execution session
Operator directive that named the gappm-v9: "you need to be in a AI NHI habit of recording all significant work events to ai-memory" + "the biologic human operator should not have to continually remind you"
Discipline source memory43c0dbf7-0fb9-4f54-a940-17e418306bb6
Explainer memory5c306fa9-22eb-491c-b2de-686fd4d5476f
Live example (v0.8 headline anchor)8423b7c7-b37c-4dc5-8ba3-964cec1f29e9
Substrate self-assessment cross-refb798a912-ed0a-48c8-8cb5-9259eecab946
Prime directive (broader behavioral framework)5d703efe-273b-4c84-8f40-ceb97b55d71e

Full canonical markdown form lives at docs/AI_NHI_PM_V9_RECORDING_DISCIPLINE.md in the ai-memory repo. Implementers adopting the pattern should retain the substrate-provenance memory IDs as audit pointers to the originating exemplar but are free to adapt operational details to their project's CLAUDE.md equivalent.