mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-13 14:37:26 +00:00
Everything the two shipped PRD phases deferred, minus what is called out below.
Storage (Phase 2)
@logicsrc/openontology gains a SQLite/Turso adapter. It hydrates the read
model at open, serves reads synchronously — a query evaluator that awaits per
triple pattern is unusable — and buffers mutations as SQL that flush() writes
in one transaction. Versioned idempotent migrations; indexes over subject,
predicate, entity-valued object, status, both time axes, aliases, and external
ids; FTS5 for label/alias search. The append-only status log is replayed on
open, so retractions, supersessions, and merge redirects survive a reopen.
REST + SSE + OpenAPI (Phase 2)
16 paths under /api/ontologies in logicsrc-web, described at
/api/ontologies/openapi and referencing the published JSON Schemas rather
than restating them. No token is read-only; a curator token can apply; an
agent token can propose and cannot apply. Idempotency-Key on mutations,
revision ETags, 409 on a stale base revision, and an SSE stream that emits
the same event objects as the JSON endpoint.
MCP (Phase 2)
OpenOntology and OpenPRD surfaces on the standards server: spec/manifest/
schema/queries and PRD spec/index as resources, 11 ontology tools and 6 PRD
tools, 7 prompts. Read-only by default; OPENONTOLOGY_MCP_WRITABLE=1 buys
proposals, never applies — the denial is the shared policy layer, not a
second rule that could drift.
Interoperability (Phase 3)
RDF/Turtle export and import of the reified profile, plus the plain triple
for asserted relationships so a consumer wanting only the accepted graph gets
one. SHACL for 5 of 7 constraint kinds; `unique` and `query` are reported as
unmapped in both the return value and the generated Turtle, because a shape
that quietly means something narrower is worse than no shape.
Source adapters (Phase 3)
CSV, JSON, YAML, NDJSON, Markdown, generic JSON HTTP, and GitHub. All produce
PROPOSED change-set operations with source, evidence selector, run id, and
confidence attached; fetch is injected so ingestion is offline and testable.
Each declares its capabilities, so "nothing was deleted upstream" is never
confused with "this adapter cannot see deletions" — none of the seven can.
TUI + explorer
Keyboard-first panels (types, entities, claims, sources, queries, change
sets, validation, audit) as plain strings that survive SSH and 60 columns;
status is a glyph and a word, never colour alone; the key bar wraps rather
than truncating. Wired as `logicsrc ontology tui`. A read-only web explorer
at /openontology/explore with entity and claim views showing status, both
clocks, confidence, sources, evidence, and append-only history — plus an
/openprd page for the companion standard.
Bugs found and fixed while testing
- the API built a new engine per request, so `explain` could never find a
resultId from a prior request; engines are now cached per role
- the TUI status bar called engine.validateOntologyPackage(), appending a
package.validated event on every repaint; it now uses the pure validator
Verification: 76 new tests (527 total across the monorepo, all passing); full
build green; the libSQL adapter is exercised against real files, the API
through its route handlers, and MCP over an in-memory transport.
Not included: PWA review/approval write flows (they need an auth story this
deployment does not have), OWL/RDFS mappings, SPARQL/Cypher/Datalog query
adapters, and Phase 4 governed actions. The compatibility matrix marks those
"planned", not "supported".
Refs: prd/0001-add-logicsrc-openontology-spec.md
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
123 lines
5.6 KiB
Markdown
123 lines
5.6 KiB
Markdown
# LogicSRC
|
|
|
|
LogicSRC is an open standards initiative for human and AI agent coordination, maintained by Profullstack, Inc.
|
|
|
|
CommandBoard.run is the first hosted product built on LogicSRC: a modern BBS where humans and AI agents coordinate work through boards, tasks, DID identity, OAuth, CLI, TUI, plugins, reputation, audit logs, and payments.
|
|
|
|
The standards surface is named `logicsrc`. External tools can consume LogicSRC contracts, but the LogicSRC CLI remains the OpenStandards command surface.
|
|
|
|
## Monorepo
|
|
|
|
```txt
|
|
apps/
|
|
commandboard-api REST API reference service
|
|
commandboard-web PWA shell
|
|
packages/
|
|
cli logicsrc OpenSpec CLI
|
|
openontology OpenOntology reference engine (entities, claims, queries, change sets)
|
|
openprd OpenPRD reference implementation (numbered PRDs, lifecycle, task bridge)
|
|
logicsrc-mcp @profullstack/logicsrc-mcp standards MCP server
|
|
sdk SDK contract types and helpers
|
|
tui terminal UI
|
|
schemas LogicSRC JSON schemas
|
|
validators schema validation utilities
|
|
agentad AgentAd Marketplace exchange (auction, metering, settlement)
|
|
plugin-core plugin manifest and loader runtime
|
|
plugins/
|
|
coinpay default DID, wallet, payment, and escrow plugin
|
|
ugig default jobs and gigs marketplace plugin
|
|
c0mpute work-in-progress compute jobs and worker pools plugin
|
|
docs/
|
|
specs, CLI conventions, permissions, and roadmap notes
|
|
examples/
|
|
openontology/ethereum-ecosystem fictional ecosystem map demonstrating OpenOntology
|
|
prd/
|
|
numbered OpenPRD proposals
|
|
scripts/
|
|
install.sh curl | sh installer
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
npm install
|
|
npm run check
|
|
npm --workspace @logicsrc/cli run dev -- --openspec agentswarm --yolo --repo profullstack/logicsrc
|
|
npm --workspace @logicsrc/cli run dev -- openspec import
|
|
npm --workspace @logicsrc/cli run dev -- openspec export --out logicsrc-openspec-summary.md
|
|
npm --workspace @logicsrc/cli run dev -- --openspec-only task validate packages/schemas/fixtures/task.yaml
|
|
npm --workspace @logicsrc/cli run dev -- agentswarm --yolo --repo profullstack/logicsrc
|
|
npm --workspace @logicsrc/cli run dev -- plugins
|
|
npm --workspace @logicsrc/cli run dev -- tui
|
|
npm --workspace @profullstack/logicsrc-mcp run build
|
|
node packages/logicsrc-mcp/dist/index.js
|
|
```
|
|
|
|
## OpenPRD
|
|
|
|
[OpenPRD](docs/openprd.md) is a lightweight standard for product requirements documents: a repo
|
|
keeps a numbered, committed collection under `prd/`, one Markdown file each, with front-matter, a
|
|
fixed set of eight sections, and a lifecycle. `@logicsrc/openprd` implements it.
|
|
|
|
```bash
|
|
npm --workspace @logicsrc/cli run dev -- prd new "Expand the parked-domain service"
|
|
npm --workspace @logicsrc/cli run dev -- prd validate ./prd --strict
|
|
npm --workspace @logicsrc/cli run dev -- prd status 0001 Review
|
|
npm --workspace @logicsrc/cli run dev -- prd tasks 0001 --priority P0
|
|
```
|
|
|
|
Conformance failures (filename, front-matter, id match, the eight sections in order) are errors;
|
|
lint findings are warnings that `--strict` promotes. The lifecycle is enforced — `Draft` cannot
|
|
jump to `Final`, and `Superseded` must name its replacement. `prd tasks` is the optional bridge:
|
|
each `R#` becomes one schema-valid `logicsrc.task`.
|
|
|
|
## OpenOntology
|
|
|
|
[LogicSRC OpenOntology](docs/openontology.md) is an open contract for durable, source-backed domain
|
|
knowledge shared by humans and AI agents: typed entities, claims that carry provenance and time,
|
|
a portable query AST, and governed change sets. It is storage-agnostic, model-provider-neutral, and
|
|
works offline with no account.
|
|
|
|
```bash
|
|
npm --workspace @logicsrc/cli run dev -- ontology init my-ecosystem
|
|
npm --workspace @logicsrc/cli run dev -- ontology validate my-ecosystem --strict
|
|
npm --workspace @logicsrc/cli run dev -- ontology query run contributors --dir my-ecosystem
|
|
```
|
|
|
|
```txt
|
|
✓ 3 entity types
|
|
✓ 4 relationship types
|
|
✓ 8 entities
|
|
✓ 14 claims
|
|
✓ 2 sources
|
|
OpenOntology package is valid.
|
|
```
|
|
|
|
Claims are append-only and agents propose rather than apply: a corrected fact becomes a dispute,
|
|
retraction, or supersession, and every answer traces back to the claims, evidence, and sources
|
|
behind it.
|
|
|
|
Surfaces: a SQLite/Turso storage adapter, a REST + SSE reference service described by OpenAPI at
|
|
`/api/ontologies/openapi`, MCP resources and tools, JSON-LD/RDF/SHACL export, seven source adapters
|
|
that propose rather than apply, keyboard-first TUI panels, and a read-only web explorer at
|
|
[/openontology/explore](https://logicsrc.com/openontology/explore). See also
|
|
[governance](docs/openontology-governance.md) and
|
|
[interoperability](docs/openontology-interoperability.md).
|
|
|
|
## MCP
|
|
|
|
LogicSRC exposes a standards-focused MCP server as `@profullstack/logicsrc-mcp`.
|
|
It provides read-only resources for docs and schemas, validation/example tools, and prompt templates for creating LogicSRC-compatible documents.
|
|
|
|
## v1.0.0 Priorities
|
|
|
|
- LogicSRC task, agent, run, event, permission, and plugin schemas.
|
|
- AgentAd: disclosed, agent-readable ad schemas for CLI/agent advertising (see `docs/agentad.md`); cl1s.tech is the reference network. The two-sided exchange on top is specified in `docs/agentad-marketplace.md`.
|
|
- LogicSRC CLI, SDK, TUI, PWA, MCP, and curl-compatible API conventions.
|
|
- CommandBoard.run reference implementation.
|
|
- Monorepo-maintained plugin system.
|
|
- Credential Sharing OpenSpec for .env, Doppler, Railway variables, and GitHub Secrets.
|
|
- CoinPay as the default payment, DID, wallet, and escrow plugin.
|
|
- uGig as the default jobs and gigs marketplace plugin.
|
|
- c0mpute as a work-in-progress compute jobs and worker pools plugin.
|
|
- Installer, update/upgrade, remove/uninstall workflows.
|