Repository navigation
Releases
Releases · Kallamo/Umwelt
Umwelt 0.1.0
The first public release.
Engine
- A ledger of Facts (canon), Holdings (what a holder knows, believes,
suspects or remembers), Awareness and Dispositions, written in events and
changed only by transitions that keep the history. - Bitemporal reads: every query answers at a position and a recorded version,
for a perspective. Additional time axes, such as reading order next to story
order, with reads on any axis. - Knowledge operations: transmitting what one holder told another, witnesses
of a scene, group coverage, second-order beliefs, secrets and breaches,
continuity checks of an utterance, and context admission with a reason for
every refusal. - Contradictions between beliefs and canon are kept and reported, never
corrected. - Creating a project, entity type, entity or predicate never overwrites: an
id that already exists fails withCONFLICT. holdsreports whether the holder holds a claim as asked or its negation
(holdsAs).- Reads made on behalf of a holder never reveal the intent with which they
were told something; narrator reads do. - A world manifest (
world.ensure) declares a project with its entity types,
entities, predicates and axes in one atomic, repeatable call. transmitBatchtakes what its transmits have in common once, inshared.claim.keyreturns the keys of a claim, anddispositionsreads a holder's
current Dispositions directly.transition.batchtakes only the statuses it applies (BatchTransitionStatus),
so typed clients never offersuperseded.- Draft timelines that can be nested, promoted, rebased, discarded and purged.
- Proposals reviewed per operation before they are applied.
- Full-text search, and semantic search over vectors from the client's own
embedding model, in text, semantic or hybrid mode, within the reader's
perspective. - Atomic, idempotent writes: the same
attemptIdis applied exactly once. - Write defaults: a record or a transition that gives no position or
provenance takes those of its event, and a Holding defaults to confidence 1
andavailable. - Storage in a portable SQLite
.umwfile that holds one or more isolated
projects.
Interfaces
- JSON protocol v1 over stdio (
umwelt serve) and over a C ABI, with JSON
Schemas for every payload and result. - The
umweltcommand-line tool. @kallamo/umwelt, the TypeScript client, with helpers that fill and search
vectors with the application's embedding model.Kallamo.Umwelt, the .NET binding, running the engine in-process on .NET 6
and later.- Pure factories for the write contract in both clients (
claim.entity,
knows,witnessed, ... andClaim.Entity,Records.Knows,
Acquired.Witnessed, ...), checked against one shared list so both build
the same JSON. - Language-neutral conformance cases run by every client.
License
- AGPL-3.0-only, with the Umwelt Free Play Exception: free, non-monetized
games, mods, interactive fiction and tabletop play tools may use Umwelt
without releasing their own code, provided they credit it.