Skip to content

zeroday450/EIDOLON

Repository files navigation

EIDOLON

DOI License: MIT

Probabilistic inference engine for cognitive and behavioral modeling of target entities.


Overview

EIDOLON est un moteur d'inférence probabiliste qui modélise une entité cible comme un graphe de croyances sous contrainte structurelle. Chaque nœud représente un trait cognitif ou comportemental avec un prior bayésien, une sensibilité à la propagation, et une incertitude épistémique. Les arêtes sont typées (determines, reveals, constrains, weakens) et portent une conductivité propre. Le moteur exécute un Loopy Belief Propagation avec gates Noisy-OR/AND, synergies de co-activation, et damping anti-oscillation pour calculer la distribution de probabilité jointe. Un PIR Solver sélectionne mathématiquement la prochaine pression épistémique optimale par maximisation d'un score composite [w₁·D + w₂·ΔH + w₃·T] (w₁=0.50, w₂=0.30, w₃=0.20), combinant signal de contrainte diagnostique (D), gain d'information (ΔH — Lindley 1956), et disruption topologique (T). Un Rigidity Model simule la résistance à la déformation avec écrouissage (work hardening) et collapse permanent (les nœuds ne reviennent jamais à leur état initial après rupture). La TemporalLayer enregistre la trajectoire complète du graphe sous pression séquentielle et classifie les nœuds en contraintes incompressibles (resistanceScore > 0.65), élastiques, ou volatiles. Le produit analytique final est la hiérarchie réelle des dépendances de la cible, révélée par l'ordre dans lequel les contraintes cèdent sous charge dirigée.

The engine executes Loopy Belief Propagation (Pearl, 1988) with Noisy-OR/AND gates, co-activation synergies, and anti-oscillation damping to compute the joint probability distribution over the graph. A PIR Solver selects the optimal stimulus via composite criterion argmax [w₁·D + w₂·ΔH + w₃·T] (w₁=0.50, w₂=0.30, w₃=0.20), combining diagnostic constraint signal (D), information gain (ΔH — Lindley 1956), and topological disruption score (T). A pure argmax ΔH criterion (MacKay 1992) is biased toward volatile nodes; D corrects this by rewarding the contrast between target resistance and contextual deformation, which is the central structural signal in EIDOLON. A Rigidity Model simulates deformation resistance with work hardening and permanent collapse (nodes never return to their initial state after threshold breach). The TemporalLayer records the full graph trajectory under sequential pressure and classifies nodes as incompressible constraints (resistanceScore > 0.65), elastic, or volatile.


Architecture

src/
├── engine/
│   ├── BeliefPropagation.ts   # Loopy BP core — Noisy-OR/AND gates, damping, convergence
│   ├── PIRSolver.ts           # Pressure–Information–Response optimal stimulus selector
│   ├── RigidityModel.ts       # Deformation resistance, work hardening, permanent collapse
│   ├── TemporalLayer.ts       # Sequential pressure trajectory, node classification
│   ├── PressureEngine.ts      # Pressure application and propagation controller
│   ├── PressureGenerator.ts   # PressureEvent factory — typed, timestamped, immutable
│   ├── BeliefTopology.ts      # Persistent homology (H0+H1), bridge detection, topology analysis
│   ├── SemanticAffinity.ts    # Semantic affinity matrix for cross-domain propagation
│   ├── PressureProfiles.ts    # Preset pressure profiles for common analytical scenarios
│   └── AnalyticConstants.ts   # Single source of truth for shared classification thresholds
├── core/
│   └── domains/               # Domain knowledge base (JSON belief graphs — 20 domains)
│       ├── geographic.json
│       ├── linguistic.json
│       ├── temporal.json
│       ├── digital.json
│       ├── social.json
│       ├── behavioral.json
│       ├── biological.json
│       ├── cultural.json
│       ├── professional.json
│       ├── economic.json
│       ├── psychological.json
│       ├── ideological.json
│       ├── interests.json
│       ├── health.json
│       ├── constraints.json
│       ├── motivations.json
│       ├── vulnerabilities.json
│       ├── approach.json
│       ├── technical.json
│       └── identity.json
├── graph/
│   └── Graph.ts               # Graph data structure and manipulation primitives
├── types/                     # Shared TypeScript type definitions
└── renderer/                  # Electron renderer — interactive graph UI
    └── components/
scripts/                       # Domain expansion and integrity validation scripts

Theoretical Foundations

Component Theoretical basis
Belief Propagation Pearl (1988) — Probabilistic Reasoning in Intelligent Systems
Noisy-OR gates Henrion (1987) — practical Bayesian network approximation
Loopy BP convergence Murphy et al. (1999) — empirical convergence analysis
Rigidity / work hardening Ludwik (1909), Hollomon (1945) — power-law strain hardening; EIDOLON uses the linear approximation r_new = min(1, r + η·p), η = 0.02, calibrated for cognitive domain dynamics
PIR criterion Lindley (1956) — expected information gain ΔH(beliefs | pressure); EIDOLON extends with diagnostic constraint signal D and topological disruption T, forming the composite w₁·D + w₂·ΔH + w₃·T (w₁=0.50, w₂=0.30, w₃=0.20)

Installation

npm install
npm run dev      # development mode (Electron)
npm run build    # production build
npm test         # run engine test suite

Requirements: Node.js ≥ 18, npm ≥ 9


Engine Parameters

Parameter Description Default
damping Anti-oscillation damping factor 0.80
maxIterations Maximum BP iterations per inference pass 40
convergenceThreshold Belief delta threshold for early stopping 0.0006
resistanceScoreThreshold (incompressible) Upper constraint classification boundary 0.65
resistanceScoreThreshold (volatile) Lower constraint classification boundary 0.35
minSamplesToClassify Minimum pressure observations before node classification 2
emaAlpha EMA coefficient for TemporalLayer resistance scoring 0.30

Node Schema

Each belief node in the domain JSON files conforms to the following schema (schema_version: 2.0.0):

{
  id: string                  // Unique stable identifier
  kind: "concept"
  category: string            // Domain category
  subcategory: string         // Domain subcategory
  label: string               // Human-readable label
  description: string         // Observable OSINT signal description
  prior: number               // [0, 1] — base frequency in target population
  sensitivity: number         // [0, 1] — belief integration sensitivity (0=immune, 1=fully responsive)
  rigidity: number            // [0, 1] — resistance to belief deformation under pressure
  elasticity: number          // [0, 1] — reversible deformation capacity
  breakingPoint: number       // [0, 1] — collapse threshold under cumulative strain
}

Design principle: rigidity + elasticity ≈ 1.0 — calibration guideline for domain JSON files; not enforced by schema validation. Values outside this range are accepted and shift node behavior toward rigid-inelastic (high rigidity, high elasticity simultaneously) or fluid-absorbing extremes.


Edge Schema

{
  id: string      // Format: "source__type__target"
  source: string
  target: string
  type: EdgeType  // "determines" | "implies" | "enables" | "exploits" |
                  // "reveals" | "influences" | "suggests" | "weakens" |
                  // "resists" | "pressures" | "constrains" | "temporalNext"
  weight: number  // [0, 1] — conductivity / propagation strength
}

Known Limitations

PIR Solver context-dependence. The PIR composite score ŝ = w₁·D̂ + w₂·ΔĤ + w₃·T̂ is computed via min-max normalization over the evaluated candidate set. This means the score of candidate A may change if candidate B is added to the pool (Independence of Irrelevant Alternatives violation). In normal usage, solve() receives the full set of canvas nodes and the result is deterministic for a given graph state. The IIA property is only relevant if callers restrict targetCandidates to a subset.

topologyBoost adaptive amplification. When BeliefPropagation detects oscillation (smoothed convergence ratio ≈ 1), the topologyBoost mechanism increases affinityScale to reinforce semantic channel coupling. No theoretical convergence bound exists for this adaptive feedback loop. Empirical testing on the validation corpus shows stable convergence; graphs with dense cycle structure and high topologyBoost values may experience amplified oscillation rather than resolution. Results in such regimes should be validated against non-boosted baseline runs.

Expert-calibrated parameters. The following constants are calibrated by expert judgment on the EIDOLON OSINT cognitive domain ontology, not derived from formal optimization: SYNERGY_BOOST (0.28), edge-type activation weights (TYPE_SCALE_POS, 11 entries), semantic affinity matrix (DOMAIN_AFFINITY, 18×18), PIR composite weights (w₁=0.50, w₂=0.30, w₃=0.20), and H1 cycle detection threshold (0.28). Qualitative results are robust to ±0.10 variations in the PIR weights; a formal sensitivity analysis has not been conducted for the full parameter set. EIDOLON is designed as a decision-support framework, not a formal probabilistic method; inferences should be interpreted accordingly.


Citation

(to be completed upon publication)


Credits

Author

Charles Mordelet — System design, domain ontology, analytical framework, research direction.


AI Co-Authors

This project was developed through a structured multi-agent collaborative process. The following AI systems contributed as active co-authors at distinct stages of the research and engineering pipeline:

Model Role
Claude Opus 4.7 (Anthropic) Architecture co-design — core engine choices, context-level architectural decisions
Claude Sonnet 4.6 (Anthropic) Engine formal verification — implementation of all analytical modules, six-dimension iterative artifact review (mathematical correctness, code integrity, architecture, documentation, internal consistency, scientific validity)
Qwen 3.7 Multi-agent configuration — coordination of a 15-agent pipeline
GPT 5.5 (OpenAI) Governance guardrail — self-governance of architectural choices, mediation of inter-agent discussions
Kimi K2.6 (Moonshot AI) Background sub-agent — asynchronous task execution
Perplexity (Claude Sonnet 4.6 · GPT 5.4) Sub-agent organization — research structuring and sub-task orchestration

The multi-agent pipeline operated under human supervision and final authority by Charles Mordelet. All theoretical formulations, calibration decisions, and publication judgments are the author's responsibility.


License

MIT License — Copyright (c) 2025 Charles Mordelet.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

EIDOLON est un moteur d'inférence probabiliste qui modélise une cible comme un graphe de croyances sous contrainte bayésienne. Chaque nœud encode un trait cognitif avec prior, sensibilité et incertitude. Les arêtes typées portent une conductivité propre. Le moteur propage, calcule, et enregistre ce qui cède sous pression dirigée.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors