ALL_CASE_STUDIES
RESEARCH CASE STUDY / NOESIS-Σ / SOURCE 62647CC
ALPHA EXPERIMENTACTIVE RESEARCHNOT FOR PRODUCTION

NOESIS-ΣA constrained inference research prototype

A Python research codebase exploring iterative latent-state updates, typed evidence graphs, configurable output, and witness or cryptographic verification. This review describes source modules and integration gaps; it does not establish an importable end-to-end system, model quality, convergence, or operational readiness.

SOURCE REVIEW NOTE / CLAIMS NEED REPRODUCTION

The repository README makes broad performance, stability, and capability claims that this source review cannot verify. The pinned source tree is not a self-contained end-to-end checkout: core context and verifier paths import missing External modules. The default fused low-rank operator is symmetric and starts at zero, graph extraction is heuristic, the neural emitter checkpoint is absent, and the receipt-creation module imported by the engine is missing. No training run, benchmark, security audit, or test execution is claimed here. The project security policy says not to use it in production.

0.1.0a1
PACKAGE VERSION
ALPHA
LIFECYCLE
106
TEST FILES | SOURCE COUNT
501
TEST-NAMED FUNCTIONS
NOT RUN
TEST EXECUTION
62647cc
REVIEWED COMMIT

Test totals are static source counts under Tests/, not passing results. Version is declared as 0.1.0a1 in pyproject.toml. The public project describes its lifecycle as Alpha Experimental in the security policy.

01 / SYSTEM MAP

Code organization and integration boundaries

This is a source-level map of intended modules, not a claim of a deployed or runnable end-to-end system. Several integration imports are absent from the pinned tree, so boxes below describe code surfaces and intended connections rather than an executable full stack.
WHAT THIS CHECKED SYSTEM IS

A fixed-width latent-state research pipeline

The source combines a numerical state-update engine, a rule-based typed-graph builder, and a configurable text-output path. It is not evidenced here as a trained token-predicting language model or a demonstrated alternative to an LLM. The native emitter checkpoint is absent; Phase A creates a template summary and the decoder uses its expression or stub fallback. The intended model direction is research scope, not a measured capability claim.

CONTEXT FUSION / CODED FORM
z_i = normalize(P * Enc(text_i))
u = normalize(sum_i w_i * z_i)

Each text source is encoded to 128 values, projected to the configured state width with a deterministic seeded matrix, then weight-summed and normalized. The encoder import is missing in this snapshot, so this describes the source implementation, not a runnable input path. fusion.py

SOURCE WEIGHTS / IMPLEMENTED DEFAULTS
request1.00session summary / focus0.60 / 0.40SIM memories0.30 × 0.85^iWKS chunks0.25 × 0.90^iworld concepts0.35 × 0.88^iworld facts0.30 × 0.85^irelations / skill steps0.20 / 0.40

Integration contract: ContextBundle.state_dim defaults to 1024 while EngineParams.from_env can default to 128. Callers must set matching dimensions; the reviewed code does not establish one shared default.

NOESIS SOURCE ARCHITECTURE / MODULE BOUNDARIES
PATHS VERIFIED AT 62647CC
SYSTEM ARCHITECTURE / SOURCE AND INTEGRATION STATUS
REVIEWED COMMIT 62647CC
NOESIS source architecture and integration boundariesRequest and context flow through context fusion, the cognition loop, the operator-split engine, a heuristic graph extractor, and a checkpoint-gated decoder. Missing external imports and model artifacts are highlighted. Witness verification and cryptographic artifacts are separate optional paths.INTENDED GENERATION PATH - DASHED LINKS MARK MISSING INTEGRATIONREQUEST + CONTEXTrequest / source recordsINPUT SURFACECONTEXT FUSIONtext encoder import absentDEPENDENCY MISSINGCOGNITION LOOPimports fusion at loadINTEGRATION BLOCKEDOSC ENGINEfused LowRankK + ICNNCORE SOURCE PRESENTGRAPH EXTRACTORPhase A norm heuristicNO TRAINED CHECKPOINTNATIVE DECODERexpression / fallbackEMITTER CHECKPOINT ABSENTSEPARATE OPTIONAL VERIFICATION AND ARTIFACT PATHS - NOT A DEFAULT ANSWER GATEWITNESS + CITATIONSstatement / source id / spanSPAN FETCH + AST RULESrestricted expressions; span-store dependency missingPOLICY VERDICTpass / fail / unsureOPTIONAL ARTIFACTSsnapshot crypto; receipt creator absentSOLID = SOURCE PATH PRESENTDASHED = REQUIRED DEPENDENCY MISSINGCRYPTO SERVICES ARE SEPARATE AND OPTIONAL
Source-level architecture, not a runnable deployment diagram. The integration path is blocked in this checkout by missing imports; downstream boxes describe code surfaces and fallback behavior present in the reviewed source.
OPEN COPYABLE MERMAID SOURCE / SAME SOURCE MAP
flowchart LR
    request[Request and evidence bundle]
    fusion[Weighted context fusion]
    loop[CognitionLoop]
    osc[OperatorSplitEngine]
    graph[Phase A GraphExtractor]
    decoder[Decoder expression or stub fallback]
    request -. encoder import absent .-> fusion
    fusion -. required import unavailable .-> loop
    loop --> osc --> graph --> decoder
    subgraph verifier[Separate explicit verifier surface]
        witness[Witness and citations] --> spans[SpanStore and restricted AST]
        spans -. external security import absent .-> verdict[pass / fail / unsure]
    end
    artifacts[Optional snapshot signing and encryption]
01OPTIONAL INPUT SOURCES

Context assembly

Core/Cognition/fusion.py

fusion.py defines weighted context projection, but imports External.Sim.Encoders.text_encoder, absent from this source tree. CognitionLoop imports fusion at module load, so the loop is not self-contained in this checkout.

02NUMERICAL CORE

State evolution

Core/OSC/dynamics.py

The intended loop combines context, a fused low-rank update, an ICNN gradient iteration (or linear damping), and projection. The fused operator initializes at zero; missing External modules block the integrated context path.

03RULE-BASED SCAFFOLD

Typed graph extraction

Core/Cognition/graph_extractor.py

The checked tree has no trained extractor checkpoint, so CognitionLoop selects its Phase A rule-based extractor. It builds intent, evidence, plan, reasoning, and output nodes; reasoning uses trajectory-norm extrema and output is template-based.

04CHECKPOINT-GATED

Output selection

Core/Native_Decoder/native_decoder.py

The expression layer renders graph fields. The learned emitter is attempted only when its checkpoint is available; otherwise the decoder uses a fallback renderer or stub. No emitter checkpoint is in this tree.

SEPARATE VERIFIER SURFACE

Witness -> span store and policy -> restricted expression checks -> pass, fail, or unsure. The span store imports a missing encryption module, and this is not shown as an automatic gate on every generated response.

Core/Verifier/service.py | checker.py | dsl_ast.py
OPTIONAL ARTIFACT SERVICES

Snapshot save/load supports optional signing and encryption. Receipt verification code exists, but the receipt-creation import used by the engine is absent from this snapshot. Cryptographic verification authenticates signed bytes; it does not prove that an answer is true.

Core/OSC/dynamics.py | Core/Verifier/adapter.py

Source links: cognitive loop, context fusion, graph extractor, decoder routing, witness verifier.

02 / STATE UPDATE

The active operator path needs a precise description

The repository contains both a skew-symmetric legacy path and a fused low-rank path. In the checked snapshot, OperatorSplitEngine initializes the fused path and conservative_update prefers it. The fused LowRankK uses a symmetric parameterization, so describing the default path as skew-symmetric would be inaccurate. The design vocabulary is related to classical operator-splitting work such as Lions & Mercier (1979), but this finite update has not been shown to meet those algorithms' assumptions or convergence results.
ONE OPERATOR-SPLIT ENGINE STEP / IMPLEMENTED ORDER
NOESIS operator-split state updateThe state may receive an optional context graft, then passes through the fused low-rank symmetric operator and elementwise clamp, repeated ICNN gradient updates, and a per-sample L2 projection to produce the next state.STATE INPUTx + optional graft uFUSED LOW-RANK Klambda*tanh(omega_raw)ELEMENTWISE CLAMPclamp(x + dt*Kx, -L, L)ICNN GRADIENTy <- y - dt*grad Phi(y)L2 PROJECTIONper-sample norm <= max_normNEXT STATEx_nextSYMMETRIC; omega_raw STARTS AT ZEROITERATES TO CONFIGURED COUNT OR DELTA TOLERANCE
The fused operator applies its own elementwise clamp; OperatorSplitEngine then applies an outer per-sample L2-ball projection after the ICNN iteration. If the ICNN is absent, the source uses a scalar damping fallback.
IMPLEMENTED SCHEMATIC / DEFAULT FUSED PATH
x0 = x + u (when context graft u is supplied)
K = U diag(lambda_cap * tanh(omega_raw)) U^T
x_half = clamp(x0 + dt * K * x0, -L, L)
y_(j+1) = y_j - dt * grad(Phi(y_j)); y_0 = x_half
x_next = project_L2(y_final; radius=max_norm)

The ICNN iteration stops at the configured iteration limit or a delta tolerance. Without an attached ICNN, code uses y / (1 + 0.1 * dt). This is a discrete implementation description; it is not a proof of convergence, energy descent for the combined update, or bounded error. The missing context-fusion import prevents establishing the complete cognition loop from this tree.

The analytic potential uses positive-mapped scalar and diagonal terms and an optional positive-semidefinite low-rank quadratic term:
Phi(x) = sum_i a_i * softplus((W*x+b)_i) + 0.5*dot(D,x*x) + 0.5*||R^T*x||^2 + dot(c,x)
grad Phi(x) = W^T*(a*sigmoid(W*x+b)) + D*x + R*(R^T*x) + c

This follows the ICNN construction family described by Amos, Xu & Kolter (2017); the code structure supports convexity of Phi under its parameterization, not a global stability claim for NOESIS.

CODE REVIEW FINDING / OPERATOR MISMATCH

Core/OSC/k_lowrank.py implements K = U diag(omega) U^T, which is symmetric. Its omega_raw parameters start at zero, so the initial fused operator is zero. The included EP trainer updates ICNN parameters only; no in-repository optimizer for this fused operator was found in the reviewed snapshot. The separate legacy path constructs K = U V^T - V U^T or antisymmetrizes a dense matrix, but conservative_update prefers the fused operator. Constructor-supplied legacy K_matrix/K_U/K_V therefore do not control this active path. Reconcile the code and description before making stability claims.

For context, antisymmetric recurrent dynamics are studied in Chang et al. (ICLR 2019). That paper is related research, not evidence that the active NOESIS operator has the same properties.

REFERENCE PROPERTY / SKEW OPERATOR ONLY
K^T = -K => d(0.5||x||^2)/dt = x^T K x = 0

This norm-preservation identity applies to the continuous linear flow with a genuinely skew-symmetric K. The active fused K is symmetric, and the implemented step also includes clipping, an ICNN gradient update, and an outer projection, so the identity is not a stability result for this system. The parameter cap bounds the diagonal coefficients; it bounds ||K|| only while the trainable basis U remains orthonormal, which the checked code does not enforce after updates.

LOOP AND GRAPH SEMANTICS
  • - Default loop configuration allows up to 100 steps, injects context during the first 8, and only checks for early stopping after step 20; a short caller override can end sooner.
  • - No trained graph-extractor checkpoint is present in this snapshot, so CognitionLoop selects Phase A: trajectory-norm extrema create reasoning nodes without semantic decoding of latent vectors.
  • - Output nodes are assembled from the request and source counts. A graph support edge is not proof that its text is factually correct.
  • - The loop's max-norm “guard” logs a warning; the engine's separate projection is the actual norm-limiting operation.
PHASE A THOUGHT GRAPH / SCHEMATIC OF CODE-CREATED NODES
NOT A LIVE INFERENCE TRACE
NOESIS Phase A thought graphA request creates an intent node. Source records create fact nodes. Trajectory norm extrema create heuristic reasoning nodes. The output is a template summary. Code adds causes, supports, implies, and cites edges, which do not establish semantic entailment.CAUSESSUPPORTSIMPLIESSUPPORTSCITESINTENTrequest_textrequest-derived nodeFACTSIM / WKS / world itemsource text + source_refREASONINGtrajectory ||x_t|| extremaheuristic transition nodeOUTPUTtemplate summaryrequest + evidence counts
This view shows the four main node types. Phase A also creates PLAN nodes when skill procedures are supplied; UNCERTAIN nodes are conditional on fact confidence below 0.6, while built-in SIM, WKS, and world fact defaults exceed that threshold. Reasoning nodes use trajectory-norm extrema (the source labels this value “energy”); edges follow graph-construction rules and do not prove entailment or factual correctness.
PHASE A NODE INVENTORY

INTENT stores the request. FACT nodes carry SIM, WKS, or world-model text and a source reference. Optional PLAN nodes come from supplied skill procedures. REASONING nodes mark trajectory-norm extrema. OUTPUT is a count-and-mode template. UNCERTAIN is conditional on confidence below 0.6; the built-in fact defaults are 0.75–0.85.

WIRED EDGE TYPES

INTENT → REASONING causes; FACT → REASONING supports (up to two reasoning nodes); REASONING → OUTPUT implies; INTENT → OUTPUT supports; FACT → OUTPUT cites. If plans are supplied, INTENT → PLAN decomposes into and PLAN → OUTPUT implies. These are structural labels created by code, not semantic proofs.

The source also defines a checkpoint-gated TrainedGraphExtractor described as DEQ-based. With its weights absent, the loop selects the Phase A heuristic above. The current bounded iteration and delta threshold are not DEQ root-finding or implicit differentiation; Bai, Kolter & Koltun (2019) is included as a comparison, not as a claim of reproduced results.

03 / TRAINING PATH

A trainer exists; a trained public model is not evidenced

EquilibriumPropagation runs a free phase and a nudged phase, estimates parameter gradients from their difference, and calls the supplied optimizer. This follows an Equilibrium Propagation-style design associated with Scellier & Bengio (2017). Finite iteration and beta settings make this a method to evaluate, not a reproduced theoretical or benchmark result.
A / FREE

Advance the initial state with the engine; detach the resulting state.

B / NUDGE

Run the configured nudged phase toward a target with beta; detach that state.

C / DIFFERENCE

Compute ICNN parameter gradients at both states and divide their difference by beta.

D / UPDATE

Assign those gradients to the supplied optimizer and step it; report target MSE.

g_EP = (grad_theta Phi(x_nudge) - grad_theta Phi(x_free)) / beta
optimizer.step(gEP)

The code shows the training method in ep_trainer.py. The reviewed repository snapshot does not establish a reproducible trained checkpoint, training corpus/split, or measured evaluation result. The emitter config advertises a 24-layer, 1024-wide network, but its referenced .pt checkpoint is absent from this tree; its runtime falls back when that artifact is unavailable. The trained graph-extractor checkpoint is also absent, so the current loop uses the rule-based extractor. See decoder configuration, decoder loading, and extractor selection.

04 / EVIDENCE VERIFICATION

Checks are narrow, explicit, and separately invoked

The verifier accepts a witness with statements, citations, and a policy mode. It fetches source spans and evaluates expressions through an AST allow-list and named helper functions. Results are policy-based pass, fail, or unsure; that is not a semantic fact-checker for unrestricted model prose.
01 / WITNESS

Statements, source IDs and byte/character spans, optional hashes, policy mode.

02 / FETCH

SpanStore resolves bounded ranges from SIM or WKS sources.

03 / COMPILE

AST nodes and operations outside the allow-list are rejected.

04 / EVALUATE

Registered helpers check span presence, counts, numeric rules and references.

05 / VERDICT

Policy returns pass/fail/unsure and records errors/details.

verdict = policy(mode, checked_spans, allowed_expression_results)
public_key.verify(signature, canonical_json(payload))
Snapshot save/load can create optional SHA-256 manifests, Ed25519 signatures, and AES-GCM encryption when keys and flags are supplied. The receipt verifier is present, but External.Output.receipts, the module imported by the engine hook and several source tests, is absent from the reviewed tree. The hook catches and logs that import failure; working receipt creation is therefore not established by this snapshot. A valid signature authenticates signed bytes under a key, not the truth of evidence or model behavior. Compare the primitives with RFC 8032 and NIST SP 800-38D. The project security policy labels these areas research-grade, says authentication/authorization is not implemented, and states that a formal security audit has not been performed.
05 / WHAT TO MEASURE NEXT

A reviewable experiment plan

The following is a proposed validation plan, not completed work or a claim of results.

01 / Resolve the operator contract

Choose whether the fused operator should be skew-symmetric or symmetric, align implementation, class names, and docs, then add invariant tests for the selected contract. Report the effective operator and projection per run.

02 / Freeze a small task suite

Create synthetic tasks with known targets and source spans, publish generator/version/seed, freeze train/validation/test splits, and include negative and ambiguous evidence cases.

03 / Compare controlled baselines

Use matched initialization, parameter budget, compute, and seeds. Compare no-state, damping-only, fused-K, skew-K, ICNN, and template output paths; report all runs and failures.

04 / Score verifier behavior

Measure precision/recall and false-pass rate at each policy, span/hash mismatch handling, abstention rate, and robustness to altered or missing citations.

05 / Measure dynamics

Report convergence fraction, step count, residual norm, state norm, sensitivity to dt and beta, finite-value failures, and variation across initial states and seeds.

06 / Publish reproducibly

Record code SHA, environment lock, hardware, configs, datasets, checkpoints and hashes. Separate training, tuning and held-out results; publish scripts and raw result tables.

06 / RESEARCH REFERENCES

Research background and technical standards

These are related references for methods or primitives used in the repository. They do not show that NOESIS originated those methods, reproduces their results, or inherits their guarantees.
R1
Input Convex Neural Networks ->
Amos, Xu & Kolter | ICML 2017

Related architecture for the constrained convex potential. Convexity of this component does not establish convergence or correctness of the complete NOESIS loop.

R2
Equilibrium Propagation: Bridging the Gap between Energy-Based Models and Backpropagation ->
Scellier & Bengio | Frontiers in Computational Neuroscience, 2017

The implemented trainer uses free and nudged phases with a finite-difference parameter update. The paper is related work; this page does not claim reproduced paper results.

R3
AntisymmetricRNN: A Dynamical System View on Recurrent Neural Networks ->
Chang et al. | ICLR 2019

Related work for antisymmetric dynamics. In the checked NOESIS snapshot, the default fused low-rank implementation is symmetric; see the implementation note below.

R4
RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA) ->
Josefsson & Liusvaara | IRTF, 2017

Primary specification for Ed25519, used by optional receipt and snapshot signing paths.

R5
NIST SP 800-38D: Galois/Counter Mode (GCM) and GMAC ->
NIST, 2007

Specification for AES-GCM, used by optional snapshot encryption. Using a standard primitive is not a security audit or safe key-management design.

R6
Splitting Algorithms for the Sum of Two Nonlinear Operators ->
Lions & Mercier | SIAM Journal on Numerical Analysis, 1979

Foundational operator-splitting research related to the design vocabulary. NOESIS uses a finite discrete composition with clipping, gradient steps, and projection; this code is not shown to implement the paper's convergence-guaranteed algorithms.

R7
Deep Equilibrium Models ->
Bai, Kolter & Koltun | NeurIPS 2019

A useful comparison for fixed-point neural models. NOESIS's current cognition loop uses bounded finite iteration and a state-delta stopping rule; it does not implement DEQ root-finding or implicit differentiation in the reviewed active path.