New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@ghostpaw/codex

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ghostpaw/codex

Standalone belief and memory engine for Node.js — SQLite, zero dependencies, with a built-in LLM tool facade

Source
npmnpm
Version
0.2.3
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

@ghostpaw/codex

npm node license dependencies TypeScript Live Demo

A standalone belief and memory engine for Node.js, built on SQLite.

Codex treats claims, certainty, evidence, provenance, decay, revision lineage, and semantic proximity as one coherent model instead of separate systems. It ships as a single prebundled blob with zero runtime dependencies, designed for two audiences at once: human developers working directly in code, and LLM agents operating through a structured soul / tools / skills runtime.

Install

npm install @ghostpaw/codex

Requires Node.js 24+ (uses the built-in node:sqlite module).

Quick Start

import { DatabaseSync } from 'node:sqlite';
import { initCodexTables, read, write } from '@ghostpaw/codex';

const db = new DatabaseSync(':memory:');
initCodexTables(db);

// Remember a belief with source and category
const result = write.remember(db, {
  claim: 'The API uses GraphQL with a REST fallback.',
  source: 'explicit',
  category: 'fact',
});

// Strengthen it with confirmation
write.confirmBelief(db, result.id);

// Recall beliefs by natural language query
const results = read.recall(db, 'graphql api');

// Revise when understanding changes
write.correctBelief(db, result.id, {
  claim: 'The API uses GraphQL exclusively — REST was retired.',
  source: 'observed',
  category: 'fact',
});

// Check overall portfolio health
const status = read.getStatus(db);
const flags = read.listFlags(db);

The Model

Five concepts, strict separation of concerns:

ConceptPurpose
BeliefA claim held with certainty, evidence, provenance, decay, and revision lineage
DismissalAn explicit record that two semantically close beliefs are intentionally distinct
FlagA derived attention signal — stale, fading, low-trust, single-evidence, or gap
ProximitySemantic nearness between beliefs, detected automatically on write
LineageThe revision chain from corrections and supersessions, with version diffs

The model means each kind of truth has its own home:

What it looks likeWhat it actually is
A fact, preference, or procedureA Belief with a category
"I heard this from the team"A Belief with source explicit
"The system seems to do this"A Belief with source observed or inferred
"This belief was wrong, here's the update"A correction: old belief superseded, new one created
"These two beliefs look similar but are different"A Dismissal
"This belief is stale / fading / weakly evidenced"A Flag, computed at read time

State is derived, not toggled. Freshness decays over time, strength tiers are computed from certainty and evidence, review priority is scored from multiple signals, and flags surface attention-worthy beliefs — all calculated at read time, never stored as status flags.

Belief lifecycle at a glance

Every belief moves through a lifecycle driven by verbs, not status fields:

 

Capture

$\color{Goldenrod}{\textsf{+}}$The API uses GraphQL.remember · explicit · fact
↓   confirm, correct, or forget over time

Strengthening

$\color{LimeGreen}{\textsf{✓}}$The API uses GraphQL.confirmed · 2× evidence
$\color{LimeGreen}{\textsf{✓✓}}$The API uses GraphQL.confirmed · 5× evidence · strong

Revision

$\color{CornflowerBlue}{\textsf{↻}}$The API uses GraphQL exclusively.corrected · supersedes #1
$\color{Gray}{\textsf{⊘}}$The API uses GraphQL.superseded · replaced by #2

Attention signals

$\color{Goldenrod}{\textsf{⚑}}$Team standup is at 9:30 AM.stale · not confirmed in 90 days
$\color{Orange}{\textsf{⚑}}$React is our framework.fading · freshness below 50%
$\color{Red}{\textsf{⚑}}$Users prefer email digests.low trust · inferred · ≤ 60% certainty

 

Two Audiences

Human developers

Use the read and write namespaces for direct-code access to every domain operation:

import { read, write } from '@ghostpaw/codex';

write.remember(db, { claim: 'Ship weekly releases.', source: 'explicit', category: 'procedure' });
write.confirmBelief(db, beliefId);
write.correctBelief(db, beliefId, { claim: 'Ship biweekly releases.', source: 'explicit', category: 'procedure' });
write.forgetBelief(db, beliefId);

const flagged = read.listFlags(db);
const detail = read.getBeliefDetail(db, beliefId);
const lineage = read.getBeliefLineage(db, beliefId);

See HUMAN.md for the full human-facing guide with worked examples.

LLM agents

Use the tools, skills, and soul namespaces for a structured runtime surface designed to minimize LLM cognitive load:

import { tools, skills, soul } from '@ghostpaw/codex';

// 7 intent-shaped tools with JSON Schema inputs and structured results
const allTools = tools.codexTools;
const searchTool = tools.getCodexToolByName('search_codex')!;
const result = searchTool.handler(db, { query: 'graphql api' });

// 17 reusable workflow skills for common multi-step scenarios
const allSkills = skills.codexSkills;

// Thinking foundation for system prompts
const prompt = soul.renderCodexSoulPromptFoundation();

Every tool returns a discriminated result with outcome: 'success' | 'no_op' | 'needs_clarification' | 'error', structured entities, next-step hints, and actionable recovery advice. No thrown exceptions to parse, no ambiguous prose.

See LLM.md for the full AI-facing guide covering soul, tools, and skills.

Tools

Seven tools shaped around operator intent, not raw storage operations:

ToolWhat it does
search_codexHybrid FTS + semantic recall across all active beliefs
review_codexFiltered dashboard views (flags, status, trends, log)
inspect_codex_itemDetailed inspection of a single belief with full metrics
remember_beliefCapture a new claim with source, category, and provenance
revise_beliefConfirm, correct, forget, defer, or merge existing beliefs
retire_beliefHard-delete a belief for privacy or cleanup
dismiss_proximityMark two nearby beliefs as intentionally distinct

Each tool exports runtime metadata — name, description, JSON Schema, input descriptions, side-effect level — so agent harnesses can wire them without reading docs.

Key Properties

  • Zero runtime dependencies. Only node:sqlite (built into Node 24+).
  • Single prebundled blob. One ESM + one CJS entry in dist/. No subpath exports, no code splitting.
  • Pure SQLite storage. FTS5 full-text search, trigger-maintained indexes, and deterministic derived reads. Bring your own DatabaseSync instance.
  • Derived state. Freshness, strength, integrity, review priority, and flags are computed at read time from fields and time, never stored as status flags.
  • Hybrid recall. FTS5 lexical preselection + local cosine similarity over trigram-hash embeddings, fused with Reciprocal Rank Fusion.
  • Intention-shaped writes. remember, confirmBelief, correctBelief, forgetBelief, deferBelief, mergeBeliefs, dismissProximityPair: operations that say what happened, not generic CRUD.
  • Automatic proximity. Every write detects semantically nearby beliefs and returns them, so contradictions and near-duplicates surface immediately.
  • Additive AI runtime. soul for posture, tools for actions, skills for workflow guidance — all optional, all structured.
  • Colocated tests. Every non-type module has a colocated .test.ts file. The documented behavior is backed by executable coverage.

Package Surface

import {
  initCodexTables,  // schema setup
  read,             // all query functions
  write,            // all mutation functions
  tools,            // LLM tool definitions + registry
  skills,           // LLM workflow skills + registry
  soul,             // thinking foundation for system prompts
} from '@ghostpaw/codex';

All domain and runtime types are also available at the root for TypeScript consumers:

import type {
  CodexDb,
  BeliefRecord,
  BeliefDetailRecord,
  BeliefSource,
  BeliefCategory,
  RecallResultItem,
  FlagReasonCode,
  StrengthTier,
  StatusRecord,
  TrendRecord,
  CodexToolDefinition,
  CodexSkill,
  CodexSoul,
} from '@ghostpaw/codex';

Documentation

DocumentAudience
HUMAN.mdHuman developers using the low-level read / write API
LLM.mdAgent builders wiring soul, tools, and skills into LLM systems
docs/README.mdArchitecture overview: model, invariants, scoring, and source layout
docs/entities/Per-entity manuals with exact public API listings

Development

npm install
npm test            # node:test runner
npm run typecheck   # tsc --noEmit
npm run lint        # biome check
npm run build       # ESM + CJS + declarations via tsup
npm run demo:serve  # build and serve the interactive demo locally

The repo is pinned to Node 24.14.0 via .nvmrc / .node-version / .tool-versions / Volta. Use whichever version manager you prefer.

Support

If this package helps your project, consider sponsoring its maintenance:

GitHub Sponsors

Anonyfox • MIT License

Keywords

belief

FAQs

Package last updated on 28 Mar 2026

Related posts