{
  "schema_version": "1.0",
  "run_on": "2026-09-14",
  "interpreter": "Python 3.9.6",
  "execution_context": "Invoked through sh from a working directory outside the artifact tree",
  "runner": {
    "path": "docs/posts/assets/how-to-give-an-ai-agent-memory-that-survives-a-new-session/run-memory-demo.sh",
    "sha256": "7667bde54e6dec29d9f5a8f527bfd8b2cd1fdb9fe9473d26ec76c1df98d9c5e8"
  },
  "implementation": {
    "path": "docs/posts/assets/how-to-give-an-ai-agent-memory-that-survives-a-new-session/memory_cli.py",
    "sha256": "5ae6e13616560bd80c01fcfb33cd8a1cf0f44de0ce9c1e14ff9885c3fb9dee6e"
  },
  "expected_output": {
    "path": "docs/posts/assets/how-to-give-an-ai-agent-memory-that-survives-a-new-session/expected-output.txt",
    "sha256": "0a67fcf16e4dc770fe49f504424f550efedfd11471bb7a43064c374037deeb65"
  },
  "stdout": {
    "path": "docs/posts/assets/how-to-give-an-ai-agent-memory-that-survives-a-new-session/article-examples/demo-run-output.txt",
    "sha256": "ba87af404abd77ef3267a5835662ab71af678c15ff461089d6c300712ad66ace"
  },
  "exit_code": 0,
  "result": "pass",
  "checks": [
    "expected success output matches byte-for-byte",
    "tampered durable source is rejected",
    "tampered record wrapper is rejected",
    "escaping pointer is rejected",
    "malformed superseded_by link is rejected",
    "missing reverse supersedes link is rejected",
    "supersession self-link is rejected",
    "reciprocal supersession cycle is rejected",
    "index pointer to superseded record is rejected",
    "due review is rejected",
    "expired record is rejected"
  ]
}
