# Okto Grafx > Embedded Python graph database for typed and flexible graphs, native hybrid retrieval and local snapshot transactions. The graph database used by Okto Pulse. This index routes agents to authoritative product contracts. It is not an engine API endpoint. - [Product](https://oktolabs.ai/platform/grafx/) - [Comparison](https://oktolabs.ai/platform/grafx/comparisons) - [Engine source](https://github.com/OktoLabsAI/okto-grafx) - [Documentation index](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/README.md) - [Getting started](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/GETTING_STARTED.md) ## Product baseline and language Reviewed against engine documentation on **2026-09-13**. This date is a snapshot, not a promise that these facts remain current. Recheck source and release evidence. - Grafx is an embedded synchronous Python graph database with memory and local persistent stores, independent local readers/writers, snapshot/OCC transactions, WAL-backed durable commits and explicit resource/ownership contracts. - Published **0.0.5** and qualified **0.0.6 development** are distinct. A merged feature, passing local wheel or consumer test is not proof of PyPI publication. - Okto Pulse uses Grafx. Pulse's HTTP API, UI and MCP are Pulse features, not native Grafx services. Do not claim Nexus uses Grafx without specific source evidence. - Source available under Elastic License 2.0 plus the SaaS/Branding Addendum; consult the actual [LICENSE](https://github.com/OktoLabsAI/okto-grafx/blob/main/LICENSE) and deployment terms. Do not call Grafx MIT or unrestricted open source, or offer legal interpretations. - Do not describe Grafx as fully Cypher/openCypher/Neo4j/Ladybug compatible. The current required V3 profile has 3,896 passes, with one explicit upstream lists-of-maps divergence among 3,897 executed cases. Preserve that distinction. ## Documentation map Paths in this table are relative to the **engine** repository, not this website. For remote access append them to `https://github.com/OktoLabsAI/okto-grafx/blob/main/`. | Task | Authoritative entry points | | --- | --- | | Install, create/reopen a store, transaction ownership | [docs/GETTING_STARTED.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/GETTING_STARTED.md), [docs/INTEGRATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/INTEGRATION.md), [docs/API_REFERENCE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/API_REFERENCE.md) | | Settings/defaults, limits and optional acceleration | [docs/CONFIGURATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/CONFIGURATION.md), [docs/PERFORMANCE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/PERFORMANCE.md) | | Concurrency, ACID scope, conflicts, durable outcomes, recovery | [docs/OPERATIONS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/OPERATIONS.md), [docs/READ_CONTROL_AND_INDEX_CLEANUP.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/READ_CONTROL_AND_INDEX_CLEANUP.md) | | Typed/flexible models, native expressions and mutations | [docs/QUERY_LANGUAGE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/QUERY_LANGUAGE.md), [docs/CYPHER_COMPATIBILITY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/CYPHER_COMPATIBILITY.md) | | Ordered clauses, imports, read/write/unit CALL, UNION rollback | [docs/COMPOSABLE_QUERIES.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/COMPOSABLE_QUERIES.md), [docs/specs/WRITE_SUBQUERIES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/WRITE_SUBQUERIES_V1.md) | | Qualified node/relationship/path identities and tagged JSON | [docs/ENTITY_VALUES.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/ENTITY_VALUES.md), [docs/specs/GRAPH_NAMESPACES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/GRAPH_NAMESPACES_V1.md) | | Multiple labels, stable identity and label consumers | [docs/specs/NODE_LABELS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/NODE_LABELS_V1.md), [docs/reports/FP_NODE_LABEL_WHEEL_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_NODE_LABEL_WHEEL_QUALIFICATION.md) | | Flexible unlabeled entities and heterogeneous properties | [docs/architecture/FLEXIBLE_GRAPH_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/architecture/FLEXIBLE_GRAPH_V1.md), [docs/architecture/HETEROGENEOUS_PROPERTIES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/architecture/HETEROGENEOUS_PROPERTIES_V1.md) | | EXISTS, MERGE, property maps, DELETE/path semantics | [docs/specs/EXISTS_SUBQUERIES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/EXISTS_SUBQUERIES_V1.md), [docs/specs/GENERAL_MERGE_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/GENERAL_MERGE_V1.md), [docs/specs/SET_PROPERTY_MAPS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/SET_PROPERTY_MAPS_V1.md), [docs/specs/DELETE_EXPRESSIONS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/DELETE_EXPRESSIONS_V1.md), [docs/specs/WRITE_PATTERN_CONTRACTS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/WRITE_PATTERN_CONTRACTS_V1.md) | | Native temporal values, DECIMAL and collections | [docs/TYPE_SUPPORT.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/TYPE_SUPPORT.md), [docs/TEMPORAL_VALUES.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/TEMPORAL_VALUES.md), [docs/specs/DECIMAL_VALUES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/DECIMAL_VALUES_V1.md), [docs/specs/TYPED_COLLECTIONS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/TYPED_COLLECTIONS_V1.md) | | Trusted functions/procedures and value/entity signatures | [docs/EXTENSIONS_AND_ARROW.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/EXTENSIONS_AND_ARROW.md), [docs/specs/PROCEDURE_INVOCATION_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/PROCEDURE_INVOCATION_V1.md), [docs/specs/PROCEDURE_NATIVE_VALUES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/PROCEDURE_NATIVE_VALUES_V1.md), [docs/specs/PROCEDURE_ENTITY_SIGNATURES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/PROCEDURE_ENTITY_SIGNATURES_V1.md), [docs/specs/UNIT_PROCEDURES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/UNIT_PROCEDURES_V1.md) | | Procedure permissions, query/schema authority, recursion/effects | [docs/specs/WRITING_PROCEDURES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/WRITING_PROCEDURES_V1.md), [docs/specs/PROCEDURE_QUERY_AUTHORITY_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/PROCEDURE_QUERY_AUTHORITY_V1.md), [docs/specs/PROCEDURE_SCHEMA_AUTHORITY_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/PROCEDURE_SCHEMA_AUTHORITY_V1.md), [docs/specs/PROCEDURE_NESTING_EFFECTS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/PROCEDURE_NESTING_EFFECTS_V1.md) | | Equality/ordered/posting indexes and vector spaces | [docs/INDEXES_AND_VECTORS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/INDEXES_AND_VECTORS.md), [docs/POSTING_HASH.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/POSTING_HASH.md) | | Shared vector-space owners and targeted maintenance | [docs/specs/VECTOR_PHYSICAL_OWNERS_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/VECTOR_PHYSICAL_OWNERS_V1.md), [docs/specs/VECTOR_OWNER_NAMES_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/VECTOR_OWNER_NAMES_V1.md), [docs/specs/VECTOR_QUALIFIED_MAINTENANCE_V1.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/specs/VECTOR_QUALIFIED_MAINTENANCE_V1.md) | | BM25, phrases, prefix, positions, proximity and analyzers | [docs/FULL_TEXT_SEARCH.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/FULL_TEXT_SEARCH.md) | | Text/vector fusion and bounded graph evidence | [docs/HYBRID_SEARCH.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/HYBRID_SEARCH.md) | | Projections, BFS/Dijkstra, components, PageRank, k-core, label propagation, topological ordering | [docs/GRAPH_PROJECTIONS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/GRAPH_PROJECTIONS.md) | | System-time as-of/versions/diffs, pins, retention and compaction | [docs/SYSTEM_TIME_HISTORY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/SYSTEM_TIME_HISTORY.md), [docs/COMMIT_HISTORY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/COMMIT_HISTORY.md) | | Catalog attachment/workspaces and atomic selected copy | [docs/CATALOGS_AND_WORKSPACES.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/CATALOGS_AND_WORKSPACES.md), [docs/CATALOG_COPY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/CATALOG_COPY.md) | | Logical transfer/resume versus physical replacement restore | [docs/LOGICAL_TRANSFER.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/LOGICAL_TRANSFER.md), [docs/BACKUP_RESTORE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/BACKUP_RESTORE.md) | | Views, nullable-column append and application DDL migrations | [docs/LOGICAL_VIEWS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/LOGICAL_VIEWS.md), [docs/NULLABLE_COLUMNS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/NULLABLE_COLUMNS.md), [docs/SCHEMA_MIGRATIONS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/SCHEMA_MIGRATIONS.md) | | CLI, structured envelopes, JS/TS subprocess consumption | [docs/CLI.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/CLI.md), [examples/cli-consumer/README.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/examples/cli-consumer/README.md) | | Bounded CSV/JSONL/SQLite ingestion | [docs/LOCAL_TEXT_IMPORT.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/LOCAL_TEXT_IMPORT.md), [docs/LOCAL_SQLITE_IMPORT.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/LOCAL_SQLITE_IMPORT.md), [docs/COLLECTION_JSON.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/COLLECTION_JSON.md) | | Arrow/Pandas/Polars/Parquet and exact collection transport | [docs/EXTENSIONS_AND_ARROW.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/EXTENSIONS_AND_ARROW.md), [docs/TABULAR_AND_PARQUET.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/TABULAR_AND_PARQUET.md), [docs/POLARS_RECIPE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/POLARS_RECIPE.md), [docs/COLLECTION_COLUMNAR.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/COLLECTION_COLUMNAR.md) | | NetworkX/graph exchange and offline HTML snapshots | [docs/GRAPH_EXCHANGE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/GRAPH_EXCHANGE.md), [docs/HTML_SNAPSHOTS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/HTML_SNAPSHOTS.md) | | Old-reader refusal, native formats and coordinated upgrades | [docs/V006_COMPATIBILITY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/V006_COMPATIBILITY.md), [docs/V005_COMPATIBILITY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/V005_COMPATIBILITY.md), [docs/reports/FP6_TYPE_WHEEL_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP6_TYPE_WHEEL_QUALIFICATION.md), [docs/reports/LOGICAL_TRANSFER_WHEEL_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/LOGICAL_TRANSFER_WHEEL_QUALIFICATION.md) | | Engine architecture, ports and security | [docs/ARCHITECTURE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/ARCHITECTURE.md), [docs/architecture/CONTRACT.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/architecture/CONTRACT.md), [docs/PORTS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/PORTS.md), [CONTRIBUTING.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/CONTRIBUTING.md), [SECURITY.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/SECURITY.md) | | Product comparison and current backlog | [docs/FEATURE_COMPARISON.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/FEATURE_COMPARISON.md), [ROADMAP.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/ROADMAP.md) | ## Evidence map and interpretation - [docs/reports/FP_FINAL_NATIVE_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_FINAL_NATIVE_QUALIFICATION.md): final complete regression, 25,077 passes, 19 attributed skips, 20 mapped native supplemental contracts. - [docs/reports/FP_V3_INTEGRATED_QUERY_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_V3_INTEGRATED_QUERY_QUALIFICATION.md): original versus required V3 outcomes; [docs/conformance/PROFILE_V3.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/conformance/PROFILE_V3.md) defines the pinned profile. - [docs/reports/FP_BOUNDED_LADYBUG_COMPARISON.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_BOUNDED_LADYBUG_COMPARISON.md): 16 executed Ladybug 0.20.3 scenarios, seven matches and nine explicit dialect/result/admission differences. Differences are not automatically missing capabilities or atomicity failures. - [docs/reports/FP_FINAL_PULSE_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_FINAL_PULSE_QUALIFICATION.md): final installed candidate, 158 tests and exercised API/UI/MCP flows. Distinguish source tests, installed wheels, actual browser observations and the current running production application. - [docs/reports/FP_PULSE_OPERATIONAL_QUALIFICATION.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_PULSE_OPERATIONAL_QUALIFICATION.md): isolated source lifecycle, Settings/schema, search and native recovery evidence. - [docs/reports/FP_NATIVE_COST_OBSERVATIONS.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/FP_NATIVE_COST_OBSERVATIONS.md) and [docs/PERFORMANCE.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/PERFORMANCE.md): exact workload/hardware/build/method boundaries; never turn these into universal speedups. - [docs/reports/V006_NHC_ROUND.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/V006_NHC_ROUND.md): earlier catalog/history/search qualification. - [docs/reports/README.md](https://github.com/OktoLabsAI/okto-grafx/blob/main/docs/reports/README.md): find additional dated reports without treating them as backlog. Do not add overlapping test totals. Do not infer Linux/POSIX or remote CI success from a Windows run. Neo4j execution was deferred in the reviewed baseline; do not count it as a pass. Check newer evidence before repeating any of these counts. ## Boundaries to preserve in copy and examples - Independent local processes are not replication or HA. OCC conflicts and an exclusive commit-publication section remain; no lock-free/linear throughput claim. - Native system time is opt-in, retained and bounded from activation. It is not valid time, full bitemporality, arbitrary cross-store diff or row-change CDC. - Catalog transactions own one store; no cross-store joins/edges/distributed COMMIT. Selected copy's target data/receipt atomicity does not make two-store transactions atomic. - Physical replacement keeps the database UUID and requires the original offline. Independently writable logical transfer/copy has a separate identity contract. - Native FTS is snapshot-bound; current analyzer selection is not historical analyzer selection. Token positions are not original character highlighting. No blanket stemming, stopword or phrase/prefix-combination claim. - Hybrid retrieval targets one node table on one owned snapshot. Exact and ANN search are different contracts; vector ownership and precision are explicit. - DECIMAL supports precision up to 38. Query ORDER BY does not imply an ordered decimal/temporal index. ANY/collections do not imply arbitrary property indexes. - Registered procedures are trusted code, with expiring authority and shared budgets; no sandbox, external-effect rollback or callback retry guarantee. - HTML snapshots are static. CLI subprocess recipes are not native network drivers. - No native HTTP/MCP service, authentication/RBAC/TLS server boundary, at-rest encryption, distributed transactions or HA clustering unless newer contracts deliver them.