Class: ClaudeMemory::Commands::ObservationsCommand

Inherits:
BaseCommand
  • Object
show all
Defined in:
lib/claude_memory/commands/observations_command.rb

Overview

CLI parity for the episodic observation layer — the “what happened” log that complements the semantic fact store (“what is true”).

Subcommands:

observations [list]   Summary: counts by status/kind/priority,
                      corroboration + promotion readiness, compression
                      ratio, and a recent timeline.
observations promote <id> --predicate P --object O [--subject S] [--scope ...]
observations consolidate <id1,id2,...> --body "<synthesis>" [--scope ...]

The promote subcommand reuses the same corroboration gate and Resolver path as the memory.promote_observation MCP tool, so the anti-hallucination threshold is enforced identically across surfaces.

Instance Attribute Summary

Attributes inherited from BaseCommand

#stderr, #stdin, #stdout

Instance Method Summary collapse

Methods inherited from BaseCommand

#initialize

Constructor Details

This class inherits a constructor from ClaudeMemory::Commands::BaseCommand

Instance Method Details

#call(args) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/claude_memory/commands/observations_command.rb', line 22

def call(args)
  subcommand = args.first
  case subcommand
  when "promote"
    promote(args.drop(1))
  when "consolidate"
    consolidate(args.drop(1))
  when "list", nil
    list(args.drop(subcommand ? 1 : 0))
  else
    # Treat unknown first token as options to `list` (e.g. --json).
    list(args)
  end
end