{"ok":true,"site":{"host":"xtreemze.github.io","url":"https://xtreemze.github.io/timeline/lum/","type":"live","desc":"Lūm is the loom that weaves loose threads of people, places, actions, evidence, and stories into a navigable continuum.","tools":[{"name":"timeline.get_project","kind":"answer","impl":"imperative","description":"Return the complete current Lūm continuum as canonical JSON, including temporal records, stories, categories, entity relationships, places, evidence, and reasoning.","title":"Read Lūm project","annotations":{"readOnlyHint":true,"openWorldHint":false,"consequentialHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.get_graph_contract","kind":"answer","impl":"imperative","description":"Return the authoritative, versioned Lūm relational-authoring contract. Agents must follow this contract before creating or editing entities, occurrences/relationships, places, or narrative context. It defines entity-only nodes, distinct endpoints, action-only predicates, category/story separation, named-context entity coverage, and required validation workflow.","title":"Read Lūm graph contract","annotations":{"readOnlyHint":true,"openWorldHint":false,"consequentialHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.audit_graph","kind":"answer","impl":"imperative","description":"Audit a supplied Lūm project, or the active project when omitted, against the complete relational contract without mutating state. Returns all graph errors plus structural duplicate/orphan diagnostics. Use this before and after relational-authoring transactions.","title":"Audit Lūm relational model","annotations":{"readOnlyHint":true,"openWorldHint":false,"consequentialHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"project":{"type":"object"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.validate_project","kind":"act","impl":"imperative","description":"Validate a supplied Lūm project, or the active project when omitted, using canonical normalization and the strict graph contract. Known canonical entities named in event title/description/image alt/evidence note must be endpoints of event-linked action edges; graph categories, self-loops, generic/compound predicates, duplicate facts, mirrored copies, orphan entities, and invalid place/time modeling are rejected.","title":"Validate Lūm project","annotations":{"readOnlyHint":true,"openWorldHint":false,"consequentialHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"project":{"type":"object"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.apply_transaction","kind":"act","impl":"imperative","description":"Atomically create, update, patch, delete, and manage Timeline records under the current graph contract. For narrative edits, extract every durable named entity first, create/reuse its entity node, and include meaningful action edges in the same transaction. Edges must connect two different entities and use an action-only predicate; time/place are structured properties; categories stay on chronology items only. Batch related entity + edge + item changes together because validation runs after the complete transaction.","title":"Edit Lūm project","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"consequentialHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"graphContractVersion":{"type":"string","const":"2026-09-28.1","description":"Exact version returned by timeline.get_graph_contract. Required on every graph-capable mutation so stale agents cannot silently write against an older modeling contract."},"operations":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"object","additionalProperties":false,"properties":{"op":{"type":"string","enum":["upsert","patch","delete","set"]},"collection":{"type":"string","enum":["categories","items","stories","entities","places","relationships","evidence","custodyActions"]},"id":{"type":"string","minLength":1,"maxLength":120},"field":{"type":"string","enum":["title","extensions","reasoning"]},"value":{}},"required":["op"]}}},"required":["graphContractVersion","operations"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.replace_project","kind":"act","impl":"imperative","description":"Replace the complete active Lūm project only after strict graph-contract validation. The replacement must obey entity-only topology, action-only directed edges, named-context coverage, category/story separation, and canonical time/place rules.","title":"Replace Lūm project","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"consequentialHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"graphContractVersion":{"type":"string","const":"2026-09-28.1","description":"Exact version returned by timeline.get_graph_contract. Required on every graph-capable mutation so stale agents cannot silently write against an older modeling contract."},"project":{"type":"object"}},"required":["graphContractVersion","project"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.memgraph_export","kind":"act","impl":"imperative","description":"Return a Memgraph interoperability bundle containing canonical records, deterministic Cypher statements, schema setup suggestions, and read-back queries suitable for a Memgraph MCP client. Export is read-only and preserves Timeline graph semantics.","title":"Export Lūm for Memgraph MCP","annotations":{"readOnlyHint":true,"openWorldHint":false,"consequentialHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"namespace":{"type":"string","minLength":1,"maxLength":120,"description":"Logical Memgraph namespace used to isolate this Lūm project."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"},{"name":"timeline.memgraph_import","kind":"act","impl":"imperative","description":"Import Memgraph MCP query rows or a Timeline Memgraph export bundle into the active project. The merged result must satisfy the current Timeline graph contract before commit; Memgraph labels/storage envelopes never relax Timeline node/edge semantics.","title":"Import Memgraph MCP records","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"consequentialHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"graphContractVersion":{"type":"string","const":"2026-09-28.1","description":"Exact version returned by timeline.get_graph_contract. Required on every graph-capable mutation so stale agents cannot silently write against an older modeling contract."},"snapshot":{"type":"object"}},"required":["graphContractVersion","snapshot"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/timeline/lum/"}],"favicon":"/favicons/xtreemze.github.io.png","apiSurface":"spec","category":"Productivity & Business","toolCount":8}}