You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Native Claude/ZCode and Cursor marketplace bundles, a ClawHub/OpenClaw skill
bundle plus native MCP config, a Hermes skill plugin, a Pi skill package, and
OpenCode/Windsurf/TRAE host kits now package the same nine-tool Titen MCP
contract without duplicating the server or embedding an endpoint or
credential. The standalone Titen Memory skill is public on ClawHub; its
bundle-plugin package is staged while an upstream inspector incident blocks
live package publication.
The TypeScript SDK now covers project resolution, evidence-linked claims,
feedback, checkpoints, leases, and handoffs with typed results, bounded
timeout/signal handling, structured API errors, and mutation retry keys. The
same nine operations are available through MCP with truthful schemas.
Handoff recipients can read the exact delegated checkpoint and currently
authorized context pack; operators can page organization leases and active
organization-level owners/admins can force-release a failed agent's lease.
titen migrate --dry-run prints the pending forward-only SQL without creating
or changing the SQLite database.
titen serve --quiet, bounded cleanup of expired execution state, and
content-free audits for credential, portability, collaboration, webhook, and
federation changes use the existing runtime and SQL primitives.
The README is now a concise international open-source entrypoint with a
runnable SDK example, explicit maturity boundaries, and a prominent link to titen.dev.
Changed
Breaking: JSONL export format v2 adds workspace and membership streams,
actor mappings, supersession pointers, deployment-scoped export authority,
and byte-bounded pages. Import remains backward-compatible with v1, but code
that parses export headers must accept format version 2.
Breaking: MCP now exposes nine tools and uses normalized JSON-RPC tool
results with structured content. Clients that hard-code the previous
seven-tool list or result shape must update for 0.3.0.
Migration 11 atomically rebuilds the derived observation and claim FTS tables
with Porter stemming and encoded scope terms; canonical SQL is unchanged.
Migration 12 repairs unsafe collaboration pointers, adds database fences for
handoff resolution, scopes idempotency to principals across key rotation, and
assigns monotonic event order without changing public event IDs.
The default npm install no longer downloads sqlite-vec. SDK and lexical-only
users install only titen-memory; vector-enabled VPS and container paths add sqlite-vec@0.1.9 explicitly.
Security
JSON depth, unsafe controls, malformed Unicode, non-sortable timestamps, and
inverted validity windows now fail before canonical mutation. Each returned
memory item is marked untrusted, feedback is limited to the context actor or a
currently authorized intended delegate, and evidence purge removes FTS and
vector projections without exposing a general MCP deletion tool.
Whole-organization export now requires the separate export:all scope and
writes a metadata-only audit record. Portable actor ownership survives only
through explicit, preflighted source-to-destination mappings; importing on
behalf of another principal additionally requires keys:manage.
Fixed
Lexical retrieval now stems multilingual terms, removes stopword noise,
applies organization and subject scope before ranking and candidate limits,
preserves useful tail terms, and fills token budgets without duplicate
statements or an arbitrary three-item-per-kind ceiling.
Context compilation bounds correlated SQL work before evidence hydration, so
large authorized corpora do not turn small requested result sets into
unbounded query work.
Checkpoint saves and handoff resolutions now have database-enforced single
winners under D1 latency, with deterministic duplicate repair and safe
handoff foreign keys during migration. Handoff preflight and migration also
reject incomplete, foreign, mismatched, or unauthorized context packs.
Idempotent retries now follow the acting principal across API-key rotation
while retaining the original credential ID for audit and preserving
cross-principal isolation.
Event polling and federation pulls now page by a database-assigned monotonic
sequence without changing public event-ID cursors, preventing equal-timestamp
UUID ordering from skipping committed events; exhausted polling preserves the
caller's cursor.
An explicitly scoped REST tombstone removes readable observation and
dependent-claim text while retaining hashes, provenance, and audit history.
Validation errors distinguish missing values, identify nested field paths,
and keep raced purge/consolidation and lifecycle writes fail-closed on both
SQLite and D1.
Versioned JSONL v2 restores workspaces, active memberships, team-scoped
records, actor provenance, claim evidence, and supersession pointers. Export
pages are UTF-8 byte-bounded so every emitted page fits the import boundary;
v1 imports remain supported, and a purge racing current-claim import rolls the
whole import back while revoked tombstones remain portable.
titen backup refuses a missing source, verifies a non-empty current schema
plus integrity and foreign keys, and atomically refreshes a fixed output path
without exposing an internal stack. titen schema output is deterministic
and safely repeatable.
The installed CLI now explains when Bun is missing, while SDK-only installs
no longer download the optional sqlite-vec native package.
No-vector deployments avoid unused index-outbox work. Configured vector
deployments retain claim upserts and purge deletes; SQLite uses explicit synchronous=FULL, and CLI startup failures are short and actionable.