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` <keyword> 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).