playnfrontierAI / core /README.md
playnfrontierAI
v3 β€” hardened gates + the memory sky (skeleton current to 2026-09-20)
1a08e9d
|
Raw History Blame Contribute Delete
4.18 kB

OMN β€” the memory system in this folder

One idea: facts are the truth, the card is the window, close-out is one command. The agent's native episodic memory (Mnemopi) is the fuzzy recall layer; these files are the precise truth layer. Canon wins on conflict.

The 3 rules

  1. Facts are the only prose. Edit facts/, decisions/, watch.md, learnings.md, projects/, backlog.md, inbox.md. Never duplicate their content anywhere else β€” README is pointers, card.md is generated.
  2. The card is the window. card.md is rendered by tools/build.sh from frontmatter β€” never hand-edit it. If a fact is past its check: interval, the card shows ⚠STALE.
  3. Close-out is one command. tools/close.sh β€” engine health (optional) β†’ check.sh β†’ doctor.sh gates β†’ drain inbox β†’ rebuild card β†’ briefing β†’ git snapshot. Zero drift possible.

Rituals

  • Open: read core/card.md β†’ pull a fact file or skill only if the task needs it.
  • Look-up protocol: card β†’ topic match β†’ open the fact/decision β†’ tools/recall.sh or grep core/ β†’ ask the human. Don't guess.
  • Capture (mid-session): change the owning fact / append a decision / append a learning line. check.sh is the freshness gate; close-out regenerates the card.
  • Close: tools/close.sh (~60s; needs git for the snapshot step).
  • Clean mode: memory never auto-loads β€” reading the card IS the explicit ask.

Layout

core/
β”œβ”€β”€ card.md        # generated β€” the whole open ritual
β”œβ”€β”€ README.md      # this file β€” pointers only
β”œβ”€β”€ facts/         # verified truth, SSoT β€” 4 files, ≀60 lines each
β”‚   β”œβ”€β”€ protocols.md   # the numbered operating rules (live from first boot)
β”‚   β”œβ”€β”€ hardware.md    # CANDIDATE β€” verify your machine, then promote to live
β”‚   β”œβ”€β”€ engines.md     # CANDIDATE β€” the serving matrix, fill from reality
β”‚   β”œβ”€β”€ frontier.md    # CANDIDATE β€” parking lot for candidates under the adoption bar
β”œβ”€β”€ decisions/     # ADRs 0000+ β€” proposed β†’ accepted β†’ superseded
β”œβ”€β”€ watch.md       # candidates & gates, one table
β”œβ”€β”€ learnings.md   # append-only SUCCESS log, newest first
β”œβ”€β”€ sessions/      # one daily briefing file per day
β”œβ”€β”€ projects/      # active only; done β†’ archive/
β”œβ”€β”€ backlog.md     # open questions + pending work
β”œβ”€β”€ inbox.md       # one file; drained by close.sh
β”œβ”€β”€ sky/           # the memory sky β€” the canon drawn as a night sky (tools/sky.sh)
β”œβ”€β”€ archive/       # tombstoned + history β€” move, never delete
└── tools/
    β”œβ”€β”€ build.sh   # facts β†’ card.md (no deps)
    β”œβ”€β”€ check.sh   # schema + staleness + dead links β€” the "live" gate
    β”œβ”€β”€ doctor.sh  # reality drift: dead paths, dead providers, role pins, served ids
    β”œβ”€β”€ health.sh  # served-model pulse (optional engine gate)
    β”œβ”€β”€ close.sh   # the whole close-out ritual + git auto-commit
    β”œβ”€β”€ recall.sh  # exact grep; Mnemopi is the fuzzy layer
    β”œβ”€β”€ graph.sh   # canon link-graph β†’ graph.json (wiki-link + supersedes edges)
    └── sky.sh     # regrow the memory sky (sky.template.html β†’ sky/)

Add a fact domain by adding a file under facts/ with proper frontmatter β€” the card picks it up on the next build. Start a feed/analyzer in a core/ subdirectory only when a real need appears; reference it from this README so doctor.sh can guard it.

Status model

  • Facts: live (verified truth) β†’ superseded/archived (tombstoned to archive/) Β· candidate (to be verified β€” never treat as truth)
  • Decisions: proposed β†’ accepted β†’ superseded
  • Projects: active Β· done Β· parked

Conventions

  • Frontmatter on every fact/decision/project: title, status, updated, priority, check (facts only, e.g. 7d), summary (one line for the card), tags, related.
  • Cross-refs β€” wiki-links in double brackets β€” check.sh verifies they resolve.
  • Learnings are append-only lines, newest first.
  • Retirement = move to archive/, never delete (trash-principle, facts/protocols.md).