Agent-first persistence for temporal knowledge, durable workflows, causal lineage, and controlled external effects
2
stars
17
commits
TypeScript
primary language
Sep 9, 2026
updated
Author note, 2 September 2026, Jason Doyle
This project began as a feature forked from a private project and is now maintained independently as open source. The documentation is heavily AI assisted and may contain errors. Verify important behavior against the implementation, tests, and current release before using it in production.
Open source data infrastructure for long-running software agents.
Agentic Data Kernel keeps knowledge, workflow state, and external effects in a single governed system. It is designed for applications that need to answer:
known, unknown, and conflicted resolution results| Use case | What the kernel provides |
|---|---|
| Catalog and master-data reconciliation | Source-backed claims, conflicting values, temporal correction, and reviewable resolution |
| Persistent agent memory | Distinct observations, facts, inferences, decisions, and experiences with provenance |
| Retail order workflows | Inventory holds, expiry timers, payment effects, idempotent retries, and durable order state |
| Customer support operations | Tenant-scoped context retrieval, current-state checks, and evidence-linked decisions |
| Incident response | Temporal observations, hypotheses, workflow history, and controlled remediation effects |
| Controlled payment automation | Purpose-scoped credentials, effect budgets, authorization fences, and audit receipts |
See docs/USE_CASES.md for detailed flows and current support.
The current release is 0.2.0-alpha.1.
Two runtime profiles are maintained:
The PostgreSQL profile targets bounded single-primary deployments. See docs/PRODUCTION.md before exposing it outside a trusted environment.
Install the TypeScript library:
npm install agentic-data-kernel@next
Run the embedded example without cloning the repository:
npx --yes agentic-data-kernel@next example --db .data\example.db
Published prereleases use the npm next tag. Production applications should
pin an exact package version.
import { AgenticKernel, SqliteStore } from "agentic-data-kernel";
const store = new SqliteStore(".data/app.db");
const kernel = new AgenticKernel(store);
The npm package provides:
agentic-data-kernel and agentic-data for the embedded CLI;agentic-data-prod for production administration and runtime commands;agentic-data-kernel/production for PostgreSQL integrations.Requirements:
npm install
npm run build
npm test
npm run example
The sample workflow:
The sample database is written to .data\example.db.
Node's built-in node:sqlite API is experimental in Node 22. This affects only
the development profile.
Build:
npm run build
Initialize a database:
node --no-warnings dist\cli.js init --db .data\agentic.db
Execute an operation:
node --no-warnings dist\cli.js execute `
--db .data\agentic.db `
--file examples\put-product.json
Inspect state with read-only SQL:
node --no-warnings dist\cli.js sql `
--db .data\agentic.db `
--query "SELECT assertion_id, predicate, status FROM assertions"
The SQL interface accepts SELECT, EXPLAIN, and schema-inspection PRAGMAs.
npm run serve
Default address: http://127.0.0.1:4318
| Route | Purpose |
|---|---|
GET /health | Liveness |
GET /v1/catalog | Supported operations and guarantees |
POST /v1/execute | Execute one Agent Intent operation |
The development server is loopback-only and has no network SQL route.
Start the development MCP server from a published package:
npx --yes agentic-data-kernel@next mcp --db .data\agentic.db
Or start it from a source checkout:
npm run mcp
It publishes agentic-data://catalog and these tools:
execute_intentsearch_knowledgeresolve_claimsreserve_inventoryget_machineUse npm run prod:mcp for an authenticated PostgreSQL-backed MCP process.
| Example | Command |
|---|---|
| TypeScript library | npm run example:library |
| MCP client | npm run example:mcp |
| Authenticated production HTTP | npm run example:production-http |
| Production retail workflow | npm run example:production-retail |
| Embedding provider | npm run example:embedding |
| Embedding protocol helper | npm run example:mock-embeddings |
| Effect receiver contract | npm run example:mock-effects |
Setup, environment variables, and receiver contracts are documented in docs/INTEGRATIONS.md.
Requirements:
Use the versioned production image:
Copy-Item .env.example .env
.\scripts\generate-secrets.ps1
$env:AGENTIC_DATA_IMAGE = "ghcr.io/jason-doyle/agentic-data-kernel:0.2.0-alpha.1"
docker compose --profile server pull
docker compose --profile server up --no-build
Or build the image from the checked-out source:
Copy-Item .env.example .env
.\scripts\generate-secrets.ps1
docker compose --profile server up --build
The included deployment:
Full setup and operating procedures are in docs/PRODUCTION.md.
Version 0.1 executes one typed operation per envelope:
{
"protocolVersion": "0.1",
"requestId": "claim-1",
"idempotencyKey": "claim-1",
"principal": {
"tenantId": "example-retail",
"principalId": "catalog-agent",
"purpose": "catalog-ingestion"
},
"operation": {
"op": "assert",
"assertion": {
"subjectEntityId": "product:sku-17",
"predicate": "packaged_weight",
"object": {
"type": "number",
"value": 4.8,
"unit": "kg"
},
"kind": "reported_fact",
"strength": {
"type": "rank",
"value": "normal"
}
}
}
}
The production server derives authority from the authenticated API key and rejects envelopes whose tenant, principal, or purpose does not match.
HTTP / MCP / TypeScript / CLI
|
Agent Intent validation
|
identity, scope, purpose
|
knowledge + workflow kernel
| assertions and evidence
| conflict resolution
| hybrid retrieval
| timers and state machines
| effects and receipts
|
SQLite development adapter
or
PostgreSQL + pgvector + RLS
Apache-2.0. See LICENSE.
17 commits
Hacker News (1)
TypeScript
91.7%
PLpgSQL
3.7%
PowerShell
2.4%
JavaScript
2.1%
Agent-first persistence for temporal knowledge, durable workflows, causal lineage, and controlled external effects
2
stars
17
commits
TypeScript
primary language
Sep 9, 2026
updated
Author note, 2 September 2026, Jason Doyle
This project began as a feature forked from a private project and is now maintained independently as open source. The documentation is heavily AI assisted and may contain errors. Verify important behavior against the implementation, tests, and current release before using it in production.
Open source data infrastructure for long-running software agents.
Agentic Data Kernel keeps knowledge, workflow state, and external effects in a single governed system. It is designed for applications that need to answer:
known, unknown, and conflicted resolution results| Use case | What the kernel provides |
|---|---|
| Catalog and master-data reconciliation | Source-backed claims, conflicting values, temporal correction, and reviewable resolution |
| Persistent agent memory | Distinct observations, facts, inferences, decisions, and experiences with provenance |
| Retail order workflows | Inventory holds, expiry timers, payment effects, idempotent retries, and durable order state |
| Customer support operations | Tenant-scoped context retrieval, current-state checks, and evidence-linked decisions |
| Incident response | Temporal observations, hypotheses, workflow history, and controlled remediation effects |
| Controlled payment automation | Purpose-scoped credentials, effect budgets, authorization fences, and audit receipts |
See docs/USE_CASES.md for detailed flows and current support.
The current release is 0.2.0-alpha.1.
Two runtime profiles are maintained:
The PostgreSQL profile targets bounded single-primary deployments. See docs/PRODUCTION.md before exposing it outside a trusted environment.
Install the TypeScript library:
npm install agentic-data-kernel@next
Run the embedded example without cloning the repository:
npx --yes agentic-data-kernel@next example --db .data\example.db
Published prereleases use the npm next tag. Production applications should
pin an exact package version.
import { AgenticKernel, SqliteStore } from "agentic-data-kernel";
const store = new SqliteStore(".data/app.db");
const kernel = new AgenticKernel(store);
The npm package provides:
agentic-data-kernel and agentic-data for the embedded CLI;agentic-data-prod for production administration and runtime commands;agentic-data-kernel/production for PostgreSQL integrations.Requirements:
npm install
npm run build
npm test
npm run example
The sample workflow:
The sample database is written to .data\example.db.
Node's built-in node:sqlite API is experimental in Node 22. This affects only
the development profile.
Build:
npm run build
Initialize a database:
node --no-warnings dist\cli.js init --db .data\agentic.db
Execute an operation:
node --no-warnings dist\cli.js execute `
--db .data\agentic.db `
--file examples\put-product.json
Inspect state with read-only SQL:
node --no-warnings dist\cli.js sql `
--db .data\agentic.db `
--query "SELECT assertion_id, predicate, status FROM assertions"
The SQL interface accepts SELECT, EXPLAIN, and schema-inspection PRAGMAs.
npm run serve
Default address: http://127.0.0.1:4318
| Route | Purpose |
|---|---|
GET /health | Liveness |
GET /v1/catalog | Supported operations and guarantees |
POST /v1/execute | Execute one Agent Intent operation |
The development server is loopback-only and has no network SQL route.
Start the development MCP server from a published package:
npx --yes agentic-data-kernel@next mcp --db .data\agentic.db
Or start it from a source checkout:
npm run mcp
It publishes agentic-data://catalog and these tools:
execute_intentsearch_knowledgeresolve_claimsreserve_inventoryget_machineUse npm run prod:mcp for an authenticated PostgreSQL-backed MCP process.
| Example | Command |
|---|---|
| TypeScript library | npm run example:library |
| MCP client | npm run example:mcp |
| Authenticated production HTTP | npm run example:production-http |
| Production retail workflow | npm run example:production-retail |
| Embedding provider | npm run example:embedding |
| Embedding protocol helper | npm run example:mock-embeddings |
| Effect receiver contract | npm run example:mock-effects |
Setup, environment variables, and receiver contracts are documented in docs/INTEGRATIONS.md.
Requirements:
Use the versioned production image:
Copy-Item .env.example .env
.\scripts\generate-secrets.ps1
$env:AGENTIC_DATA_IMAGE = "ghcr.io/jason-doyle/agentic-data-kernel:0.2.0-alpha.1"
docker compose --profile server pull
docker compose --profile server up --no-build
Or build the image from the checked-out source:
Copy-Item .env.example .env
.\scripts\generate-secrets.ps1
docker compose --profile server up --build
The included deployment:
Full setup and operating procedures are in docs/PRODUCTION.md.
Version 0.1 executes one typed operation per envelope:
{
"protocolVersion": "0.1",
"requestId": "claim-1",
"idempotencyKey": "claim-1",
"principal": {
"tenantId": "example-retail",
"principalId": "catalog-agent",
"purpose": "catalog-ingestion"
},
"operation": {
"op": "assert",
"assertion": {
"subjectEntityId": "product:sku-17",
"predicate": "packaged_weight",
"object": {
"type": "number",
"value": 4.8,
"unit": "kg"
},
"kind": "reported_fact",
"strength": {
"type": "rank",
"value": "normal"
}
}
}
}
The production server derives authority from the authenticated API key and rejects envelopes whose tenant, principal, or purpose does not match.
HTTP / MCP / TypeScript / CLI
|
Agent Intent validation
|
identity, scope, purpose
|
knowledge + workflow kernel
| assertions and evidence
| conflict resolution
| hybrid retrieval
| timers and state machines
| effects and receipts
|
SQLite development adapter
or
PostgreSQL + pgvector + RLS
Apache-2.0. See LICENSE.
Hacker News (1)
17 commits
TypeScript
91.7%
PLpgSQL
3.7%
PowerShell
2.4%
JavaScript
2.1%