BACK_TO_CASE_STUDIES
RESEARCH_CASE_STUDYFAIM-NATIVESOURCE_REVIEW::869B4FD
ACTIVE RESEARCH · ALPHA EXPERIMENT · DEMONSTRATION ONLY

FAIM-Nativememory as a graph.

A model-independent research prototype for encoding evidence, relating memory nodes, ranking retrieval candidates, and exposing the paths behind a result. Its native path is deterministic by construction; semantic quality, contradiction handling, and evolution behavior still require controlled evaluation.

PROTOTYPE / NOT READY FOR OPERATIONAL USE

The live application is an executable demo for technical review. Do not use it for production data or rely on it for operational decisions. FAIMatrix website documentation is still being checked against the source; this case study pins code references to the reviewed commit below and labels the test evidence by its actual scope.

RESEARCH ALPHA
CURRENT STAGE
V0.6.1
LATEST PUBLIC RELEASE FOUND
869B4FD
AUDITED SOURCE COMMIT
256D
NATIVE VECTOR CONTRACT
297
PYTHON FILES IN PACKAGE
41
NUMBERED SQL MIGRATIONS

GitHub lists v0.6.1 as a release rather than a prerelease. “Research alpha” describes the current product stage; it is not GitHub release metadata.

/00RESEARCH QUESTION

What would an inspectable memory system need to show?

The project investigates whether deterministic text features, explicit graph relations, and visible score components can make selected retrieval decisions easier to examine. This is a research question, not a result already established by the repository.

THE PROBLEM

Memory can preserve incompatible statements.

A store that only accumulates text can return stale, duplicated, or conflicting records. FAIM’s design makes relations and retrieval signals explicit so they can be inspected and tested.
THE PROPOSAL

Treat memory as linked evidence.

Represent extracted blocks as graph nodes with source anchors, vector features, inheritance links, timestamps, and usage signals. Retrieve candidates from the graph and supported indexes, then attach explanations to the response.
THE RESEARCH BAR

A mechanism is not proof of quality.

The source implements useful experiment surfaces. It does not by itself show that contradictions are reliably detected, that graph evolution improves recall, or that this design beats a specified retrieval baseline.
DESIGN POSITIONING / RAG

Compare concrete systems, not category labels.

SOURCE-SCOPED SUMMARY
DIMENSIONRAG PATTERNFAIM-NATIVE SOURCE
RepresentationAn application may use dense, sparse, or hybrid vectors; the pattern does not prescribe a specific encoder.Native path: deterministic 240-bucket hashed character n-grams plus 16 numeric features; optional model providers are separate.
Memory relationsGraph relations and long-lived memory are application choices around a retrieval pattern.Source models inheritance, opposition and semantic edges, with graph expansion and bounded neighbourhood APIs.
Conflict policyRAG alone does not define contradiction handling.Opposition paths exist, while merge bookkeeping shares an edge label and the main core-ranker call omits query opposition input.
Mutation over timeRAG alone does not prescribe pruning or memory invention.A gated evolution path can adjust thresholds, prune candidates, and optionally create co-activation macros.
Evidence standardDepends on the specific implementation and evaluation.The repository exposes citations, provenance and diagnostics; comparative retrieval quality is not established by the inspected source.

RAG names a broad retrieval-augmented generation pattern. This table describes one reviewed source snapshot and does not imply that other RAG-based systems lack any listed capability.

/01TERMS AS IMPLEMENTED

Define the system by its code paths.

Several names are research vocabulary. The definitions below describe what the audited source does today, including where a label reaches beyond demonstrated behavior.

FRACTAL

A research label

The implementation builds a hierarchical memory graph and estimates correlation-dimension-style diagnostics. This is not evidence that stored memories follow a fractal law.

ANTISYMMETRIC

A module name

The current operator scores high positive cosine similarity to find near-duplicates. It is not a skew-symmetric matrix operation, and it does not detect contradiction by negative cosine.

INHERITANCE

A parent mixture

A child can inherit weighted fractions from up to eight positive-similarity parents. The fractions sum to one; a cosine residual is stored as a novelty proxy.

DEDUPLICATION

A graph action

The write path chooses a deterministic winner using vector-hash ordering and a node-ID tie-break, then records merge-related graph/event data. The initial write does not itself physically delete the losing node; deletion belongs to a separate evolution/pruning path.

PRUNING

A gated deletion pass

Default candidates must be older than seven days, have at most one touch, meet the similarity threshold, and avoid macro protection. Snapshotting is best-effort, so reversibility is not guaranteed.

SELF-INVENTION

A bounded macro proposal

When enabled and its gates pass, repeated co-activation sets can produce a macro node from member vectors. This is constrained graph construction, not open-ended autonomous learning.

SEMANTIC DESIGN ISSUE · The same opposition edge kind is used in merge bookkeeping and in graph paths read as opposition. Separating “near-duplicate merge” from “evidence conflict” should be an early research and safety task.
/02SYSTEM BLUEPRINT

Three paths share one graph and evidence boundary.

The source separates ingest, query, and evolution orchestration. The following blueprint is a source-derived system view, not a claim about one deployed topology.

FAIM-NATIVE / IMPLEMENTATION MAP / SOURCE REVIEW @ 869b4fd
IMPLEMENTED PATHOPTIONAL / CONFIG-GATED
FAIM-Native source-derived system blueprintThree implementation lanes show memory ingestion, query and evidence retrieval, and gated graph evolution connected to tenant-scoped persistence, secondary indexes, and event records.01 / INGESTION AND GRAPH WRITE02 / QUERY AND EVIDENCE RETRIEVAL03 / GATED EVOLUTION EXPERIMENTINPUTtext / evidenceblocks / source refsAPI BOUNDARYidentity + scopestenant / graph contextINGEST FLOWextract → packetizevalidate → provenanceNATIVE ENCODEhashed 3/4/5-grams240 + 16 featuresGRAPH WRITEinheritance / mergeevents / graph versionQUERYtext + profiletop-k requestAPI BOUNDARYtenant / graph contextquery event startCANDIDATE RECALLvector + lexicalbounded graph expansionRANK + FUSION7-term core scoreoptional add-on layersANSWER / EXPLAINspans + citationsquery / source provenanceTRIGGERoperator / workerfeature flag requiredDIAGNOSTICSD̂ / Ĥ / R / Nλ pressure estimateACTION GATESthresholds / limitsmax actions per cycleGRAPH OPERATORSmerge / pruneoptional macro inventionEVENT + VERSIONmutation recorddiagnostics snapshotDATA PLANE / TENANT-SCOPED CONTEXTPOSTGRESQLgraph nodes · edges · versionstenant-filtered repository pathsINDEX + SERVICE LAYERQdrant / in-memory vector fallbackRedis cache · locks · worker queueEVENTS + PROVENANCEsource references · score traces · audit rowsOPTIONAL PROVIDERS / MODEL EMBEDDING · OCR / OUTSIDE NATIVE SCORINGSCHEMATIC OF REVIEWED SOURCE PATHS · OPTIONAL MODULES VARY WITH CONFIGURATION · NOT A DEPLOYMENT TOPOLOGY OR READINESS CLAIM

The drawing separates source paths and data services for readability. It does not imply a single mandatory deployment profile or that optional provider paths are enabled in the public demo.

INGEST

From source to stored node

Extraction routes content into evidence blocks, packet validation and deterministic encoding. The writer records graph relationships, event information and provenance fields.
RETRIEVAL

Recall, rank, explain

Vector, lexical and graph paths contribute candidates according to configuration. The core scorer ranks them; optional fusion may add signals. Answer synthesis can return selected spans, citations and provenance.
EVOLUTION

Measure, gate, mutate

A configured cycle computes graph diagnostics, checks thresholds and action limits, then may merge, prune, or create macro nodes. These are experimental state changes and require stronger rollback and evaluation evidence.
API
FastAPI · Python
PERSISTENCE
PostgreSQL · SQLAlchemy
INDEX / JOBS
Qdrant · Redis · worker
FIG CLIENT
Next.js · TypeScript · Three.js
EVOLUTION CONTROLLER / SOURCE BEHAVIOR

A gated cycle with bounded actions.

The default cycle caps actions at 25, scales that limit within a bounded range using λ, adapts merge and prune thresholds from graph diagnostics, and skips work when its configured gate fails. Macro invention is flag-controlled. A pre-delete snapshot is attempted, but snapshot failure does not block the deletion path.

DEPLOYMENT SHAPE / COMPOSE CONFIGURATION

Seven declared services.

PostgreSQL 15, Redis 7, Qdrant, migration, API, worker, and frontend. This is the repository’s Compose definition; it does not establish that the public demo runs this exact topology or that it meets production service requirements.

/03MATHEMATICAL METHOD

The native path uses explicit arithmetic.

The equations below summarize source defaults and contracts. They are engineering rules and proxies; none is presented as a calibrated probability or a theorem about memory quality.

METHOD_A

Deterministic text representation

v = normalize₍₂₄₀₎(hash₍3,4,5₎(x)) ∥ s₁₆(x) ∈ ℝ²⁵⁶

After Unicode and whitespace normalization, character 3-, 4-, and 5-grams are SHA-256 hashed into 240 buckets. That subvector is L2-normalized, then concatenated with 16 numeric text statistics.

The complete 256D vector is not normalized again in this path. Hashed character features are deterministic lexical/statistical features with collisions; they are not a learned semantic embedding. Optional embedding and OCR providers are separate paths.

METHOD_B

Inheritance and residual novelty

wᵢ = sim(v,pᵢ) / Σⱼ sim(v,pⱼ) ; r = clip[0,1](1 − cos(v, Σᵢ wᵢpᵢ))

Candidate parents are sorted by cosine similarity, limited to at most eight, and retained only when similarity is positive. Fractions are rounded with a final adjustment so their sum is one.

The residual is a geometric fit proxy against the weighted parent mixture. It is not a semantic novelty score validated against human labels. With no eligible parent, the implementation returns residual 1.

METHOD_C

Default core retrieval score

S = .40·sim + .15·nov − .10·opp − .10·red + .10·rec + .10·log(1+touch)/10 − .05·level

The default weights combine cosine similarity, stored residual novelty, query opposition overlap, redundancy, seven-day access recency, touch count, and graph level. Conditional lexical, graph, modality, domain, reranker, and late-interaction layers can add to this core score.

Source-review finding: the primary rerank_faim call does not pass a query-opposition signature, so the core opposition penalty is zero in that path. Graph opposition handling exists separately; the score formula alone should not be described as active contradiction detection.

METHOD_D

Graph diagnostics and evolution pressure

λ = .50·N + .30·(1−R) + .20·Ĥ

N is mean stored residual; R is the fraction of vector pairs above the configured high-similarity threshold; Ĥ is normalized Shannon entropy over the pair-similarity histogram.

D̂ estimates a slope from log-count/log-scale values, in the style of a correlation dimension. E = s · mean(||vᵢ||₂), with default s = 1/φ, is a descriptive energy value. These measurements have not been established as predictors of memory quality or stability.

METHOD_E

Macro invention from co-activation

vₘ = normalize(mean(vᵢ : i ∈ M)) ; wᵢ = 1/|M|

When self-invention is enabled, a repeated co-activation set may become a macro node. Its vector is the normalized mean of member vectors, its parents receive equal fractions, and its level is one above the highest parent level.

Default gates include λ ≥ 0.30, at least three occurrences, and an estimated redundancy reduction of at least 0.01. A maximum-macro limit and a separate synthesis-invention flag further bound the path.

Illustrative FAIM inheritance graphThree evidence nodes connect to two weighted parent nodes and a higher-level macro. A separate dashed relation marks a possible opposition edge. The drawing is a schematic, not a real user graph.Evidence Asource spanEvidence Bsource spanParent mixw₁ + w₂ = 1Macro nodeoptional / gatedRetrieved claimprovenance retainedcosine-selected inheritanceschematic relation markerILLUSTRATIVE TOPOLOGY · NOT AN EXPORTED GRAPH OR BENCHMARK RESULT
INTERPRETATION / DO NOT OVERREAD

A transparent rule can still be a weak rule.

A formula makes a decision inspectable. It does not demonstrate that the chosen features represent meaning, that thresholds transfer across domains, or that system behavior improves against a baseline. Those are evaluation questions for the next research phase.

The sketch above is synthetic and illustrative. It shows a possible node and relation pattern, not live user data or an exported FIG capture.

/04FIG VIEW / GRAPH BACKEND

A 3D inspection surface over bounded graph APIs.

FIG View connects a force-directed 3D canvas to graph surface, neighborhood, explain-path, and event endpoints. The visualization is useful for inspection, but the request caps and timeline model matter when interpreting it.

CLIENT

Explore, analyze, and inspect lineage

The frontend uses a WebGL-backed 3D force graph. It provides node search and selection, filters, camera controls, inspectors, topology metrics, relation panels, retrieval/evolution/temporal/causality/cognitive overlays, and event timeline controls.
API

Three bounded graph reads

  • GET /graph/surface — default 200 nodes and 800 edges; maxima 500 and 2,000.
  • GET /graph/neighborhood — BFS from a selected node; default depth 2, max depth 4, with node and edge caps.
  • POST /graph/paths/explain — bounded undirected path search; default 12 hops, maximum 32.
READ MODEL / WHAT THE VIEW MEANS
01

Surface: returns capped nodes and edges, graph version, topology counts, and a truncation flag. Edge results are restricted to the selected node surface.

02

Neighborhood: traverses incident allowed edge kinds breadth-first from a seed node. It reports distances and whether node/edge caps truncated the response.

03

Timeline: the API returns bounded event sequence numbers, timestamps, kinds, and payload keys. The client filters graph elements by created_at; it does not replay each event into a complete historical graph state.

Timeline requests mark the snapshot as not a consistent read. Treat the view as an approximate temporal filter, not exact time travel. A source-grounded improvement is to build a versioned event replay or snapshot API and validate it against known graph states.
/05USE CASE MODEL

Who can review the prototype, and what can they inspect?

The current demonstration is suited to engineering and research review with synthetic or non-sensitive data. The diagram separates implemented inspection paths from a benchmark capability that still needs reproducible evidence.

FAIM-Native prototype use case diagramA research reviewer and a maintainer interact with the prototype to ingest demo evidence, query and inspect citations, inspect graph relations, and run gated evolution. Controlled benchmark comparison is shown as proposed future work.SYSTEM BOUNDARY / FAIM-NATIVE RESEARCH PROTOTYPERESEARCH REVIEWERdemo data onlyENGINEERscoped test tenantIngest a review corpuspacket → evidence blocks → graphQuery and inspect ranked resultsscore components + cited spansExplore graph neighbourhoodnodes · relation types · lineageExplain a graph pathbounded path traversal + pulse traceRun gated evolutionexperimental; flags and thresholds applyPROPOSED: reproducible baseline benchmark + published run manifest
IMPLEMENTED DEMO PATHPROPOSED EVALUATION
/06SECURITY AND DATA BOUNDARIES

Controls exist in code; assurance is still open.

The repository contains tenant context, scoped API keys, idempotent writes, optional storage encryption, and audit routes. A code path is evidence of implementation, not an independent security assessment or production guarantee.

AUTHENTICATION

Key lifecycle is tenant-scoped

Routes create, list, rotate, revoke, and audit database-backed keys. Expiry and revocation are checked in the database-key auth path. Environment-key compatibility remains a separate path.
AUTHORIZATION

Scope enforcement is configurable

Routes use named scopes and return forbidden responses when the scope gate is enabled. Deployment validation requires that flag for production configuration; general development templates may leave it off.
TENANCY

Tenant filters reach repositories

Tenant IDs flow through request context into repository operations. Tests exist for isolation behavior, but this review does not claim database row-level security or independently verified isolation.
WRITE SAFETY

Retries have an idempotency boundary

Memory writes can replay a completed same-payload request and reject reuse with a conflicting body. In-progress and failure states have explicit outcomes; no general exponential-backoff guarantee is claimed.

Data and service layout

Compose describes PostgreSQL 15, Redis 7, Qdrant, migration, API, worker, and frontend services. PostgreSQL stores graph and state records; vector search can use Qdrant with an in-memory brute-force fallback; Redis supports cache, locks, and worker-side paths. Raw-store envelope encryption is optional.

Before any external preview

Test auth and scope failures, cross-tenant negative cases, key rotation/revocation, backup/restore, event replay, deletion recovery, resource limits, and demo-data isolation on the exact release candidate. A threat model and independent review remain future work.

/07EVIDENCE AND LIMITS

Separate repository facts from reported execution.

Counts below describe the reviewed source tree. The local pytest result was supplied separately and has no source revision attached, so it is not represented as a run of the pinned snapshot.

// SOURCE_AND_TEST_EVIDENCE / FAIM_NATIVE

Source inventory and reported run, with commit scope stated.

Research alpha · GitHub v0.6.1 · 202 test files · 41 migrations

EXPAND_EVIDENCE

The public main source snapshot audited for this page is commit 869b4fda633002c611efc9b3172bef9f6721b22a from 2026-09-10. A static inventory at that SHA found 202 Python test-named files under tests/, 297 Python files under faim_native/, 41 numbered PostgreSQL migrations, and a 256-dimensional native vector constant in source. Separately, the supplied local pytest report states 1,009 passed, 1 skipped, and 500 warnings; its checkout SHA was not provided, so it is not attributed to this snapshot.

AUDITED SOURCE
869B4FD

GitHub main snapshot dated 2026-09-10; source links above are pinned here

GITHUB RELEASE
V0.6.1

Latest release found during the audit; GitHub does not mark it as a prerelease

TEST SOURCE FILES
202

Python files named as tests under tests/ at the audited SHA

PYTHON SOURCE
297

Python files under faim_native/ at the audited SHA

SQL MIGRATIONS
41

Numbered SQL migrations at the audited SHA

NATIVE VECTOR
256D

Dimension constant implemented by the native vectorizer

REPORTED LOCAL RUN
1,009 passed

Supplied report: 1 skipped, 500 warnings; checkout SHA unknown

TEST CI RESULT
NOT VERIFIED

No pytest CI result for the audited main SHA was found

STATIC CHECKS
NOT RE-RUN

Supplied report lists Ruff/MyPy findings; Bandit unavailable in that environment

PRODUCT STAGE
RESEARCH ALPHA

Working demo prototype for review; not ready for operational use

EVIDENCE_NOTE:: The 1,009-test result is user-supplied, not independently reproduced, and not linked to a commit or CI run. The latest visible main workflow was a successful deployment workflow, not a pytest result. Ruff/MyPy findings and Bandit unavailability come from the supplied local report and were not rerun here. The project is an active research alpha and demo prototype, not ready for operational use or production data; website documentation accuracy is still being reviewed.

SOURCE AUDIT

Pinned implementation review

The reviewed GitHub main snapshot is commit 869b4fda633002c611efc9b3172bef9f6721b22a, dated 2026-09-10. All Python package files were inventoried and syntax-parsed; detailed path review covered encoding, inheritance, merge/prune/evolution, query scoring, orchestration, storage, auth, graph APIs, and FIG frontend behavior. The README and selected Completed reports were also inspected for diagram references. Their status and validation statements are documentation claims, not independently reproduced runtime evidence.
TEST EVIDENCE

A supplied result, not a reproduced run

The supplied local report says 1,009 passed, 1 skipped, and 500 warnings. Its checkout SHA was not provided. The test file inventory is 202 Python test-named files at the audited source commit; file count is not a pass count.
WHAT IS NOT ESTABLISHED

No performance or readiness claim

No controlled baseline result, independent reproduction, production uptime, throughput result, independent security audit, or operational readiness assessment is claimed here. The repository includes benchmark tracks, but this review did not verify a reproducible benchmark run artifact.
/08RESEARCH AND RELEASE ROADMAP

Set clear evidence gates for a public preview.

The stages below are recommended engineering and research gates. They are not a committed schedule or a claim that each gate is already complete.

01
RESEARCH WORK

Resolve semantics and invariants

  • Give near-duplicate merges and factual opposition distinct edge and event types; specify what each relation means and how it changes retrieval.
  • Route a real query-opposition signature into the core scorer or remove the inactive penalty from the claimed path; cover it with focused tests.
  • Specify merge, restore, and prune invariants, including provenance retention, winner selection, idempotent replay, and failure recovery.
EXIT CRITERION · A reviewer can trace every merge or opposition decision to a typed relation, input evidence, deterministic rule, and tested state transition.
02
EXPERIMENT DESIGN

Measure retrieval and conflict behavior

  • Freeze a small, versioned corpus with paraphrases, duplicates, explicit contradictions, changed facts, timestamps, and source provenance.
  • Compare native retrieval with lexical/BM25 and a documented dense or hybrid baseline under the same corpus, top-k, and compute budget.
  • Report Recall@k, MRR or nDCG, contradiction precision/recall, citation support accuracy, calibration, latency percentiles, and failure examples.
  • Publish seeds, manifests, environment versions, raw outputs, and ablations for inheritance, graph expansion, fusion layers, and evolution gates.
EXIT CRITERION · Another engineer can rerun the experiment and reproduce the tables from the same frozen data and source revision.
03
PREVIEW GATE

Prepare a reviewable public preview

  • Exercise fail-closed authentication and scopes, tenant isolation, key expiry/revocation, rate limits, and idempotent writes against a dedicated demo dataset.
  • Verify migrations, backup/restore, deletion behavior, event integrity, observability, resource limits, and dependency/license inventory.
  • Reconcile website documentation with the running code; publish known limits, setup steps, demo-data policy, and a versioned verification record.
  • Run the complete CI suite and security checks on the exact preview commit, then label the release as pre-release if that is the chosen distribution state.
EXIT CRITERION · The preview has a reproducible build and test record, a documented threat boundary, no production-data expectation, and a named list of unresolved issues.
/09SOURCE REVIEW MAP

Open the code behind the method and diagrams.

Every link below is pinned to the audited commit 869b4fda633002c611efc9b3172bef9f6721b22a. The links make the implementation review repeatable even if the repository’s main branch changes later.

DOCUMENTATION IN PROGRESSThe repository reports are an evolving engineering archive. The “Completed” folder can contain historical material; its status and validation statements are not independent proof of current behavior. Check the pinned source links below against the code.

READ REPOSITORY DOCS

FAIMatrix is under active development and research as an alpha experiment. The application is a working technical prototype and demo, not a ready-to-use service. Documentation and implementation are still being reconciled.