Draft — This content has not been approved for publication.

Proposed Updates to Published Parent — ECAN Cluster Pilot 2026-04-26

This Draft consolidates AI-generated proposals for the Published Hyperon AI Algorithms+ECAN card based on the four-source ECAN/Attention cluster-pilot extraction (2026-04-08 → 2026-04-26). Awaiting human review before promotion to the Published parent.

Cluster-pilot evidentiary basis

Four sources audited under the cross-model triangulation protocol (Claude orchestrator + Codex + Gemini reviewers):

  • Source 1 — iCog-Labs-Dev/metta-attention @ 67cd525 (current MeTTa ECAN port).
  • Source 2 — iCog-Labs-Dev/attention @ e8162a5 (canonical OpenCog Classic ECAN C++).
  • Source 3 — opencog/ure @ cec5509 + opencog/pln @ a0983ad (legacy URE + legacy C++ PLN paired audit).
  • Source 4 — singnet/opencog fork of pre-split monorepo @ b31c7e3 (last commit before 2019-09-06 AttentionBank removal).

Per-source briefs, per-model findings, and cross-model reconciliations live at scripts/archive/ecan_pilot/source{1..4}*/ in the hyperon-wiki repo.

Headline findings (proposed for Published parent)

  1. 0/4 strict-literal compliance against the 2009 ECAN paper, in BOTH Classic C++ and MeTTa port. Rent, wages, Hebbian update, and stochastic-diffusion equations are all replaced by pragmatic engineered surrogates (target-funds rent, fund-buffer wage adjustment, normalized-STI fuzzy-conjunction Hebbian, deterministic elapsed-time decay). The MeTTa port faithfully ports those surrogates from C++; it did not regress paper equations because Classic C++ had already moved away from them.
  2. Executable PLN-attention coupling existed historically and was deliberately removed. The 2014 Harrigan et al. paper "Guiding Probabilistic Logical Inference with Nonlinear Dynamical Attention Allocation" described ECAN as a control layer for PLN. The only realized executable hook in OpenCog history was a narrow URE forward-chainer STI source-selection mechanism: wired up by Misgana Bayetta in commit 0a0b09912 (2016-03-09), unwired by Nil Geisweiller in commit 0b744dbab (2018-10-23) with the comment "An attentionbank is needed in order to get the STI...", finalized in commit 5a5b7785d. Current MeTTa-PLN has no attention-layer integration. This is a late-OpenCog Classic deliberate decoupling, not a Hyperon-era regression.

    Source 4 V4-1 supplementary (OpenPsi cluster pilot, 2026-04-28). The OpenPsi cluster pilot Source 4 (Hanson archaeology) refined the executable-coupling history with time-indexed caller analysis. The URE hook above is correct, but is one of three executable ECAN/STI coupling paths reconstructed across the OpenCog Classic history. The complete 9-event lifecycle adds: (a) an OpenPsi default action-selector STI path active 2016-05-10 to 2016-11-24 (commit 8ab0e8f81 Amen Belayneh wire-up of conditional most-important-weighted-atoms path at action-selector.scm:121-127, 170-176; commit 9f2697859 Linas Vepstas removal of the conditional; commit e5bae708f 2017-11-08 reintroduction as uncalled helper definition); (b) a Loving AI Ghost runtime explicit ECAN/STI disable via the supported Ghost API in commit 51a413e7 2018-06-06 DevHEAD with the message "update run script to not use ECAN and feedback when rules are loaded," carried forward in leungmanhin/loving-ai-ghost at commit 6ec13879 2020-09-21. All three paths were deliberately decoupled by 2019; the Loving AI inheritance into 2020 is a runtime-config inheritance, not a new wiring. The Hanson dialogue/robotics runtime stack used Classic OpenPsi as a behavior-loop authority but did not pursue paper-equation faithfulness -- it is a runtime/application branch over Classic OpenPsi, not a new mathematical tradition. Methodology lesson: caller-analysis must be time-indexed (the same function can have callers at one snapshot and not at another). See scripts/archive/openpsi_pilot/source4_hanson_archaeology/findings_reconciled_crossmodel.txt.

  3. Broader-OpenCog ECAN consumers existed at the pre-split monorepo snapshot (Source 4) but none survived as functioning ECAN integrations. Status at b31c7e3: Ghost dialogue installed an STI-weighted action-selector at matcher.scm:117-130, 284 (strength × context × sti × urge formula); STI/AttentionalFocus also read/written in matcher and schemas. NLP fuzzy matching gated on AF-only via bank->atom_is_in_AF. Python web API surfaced AttentionValue. OpenPsi provided the configurable action-selector seam (psi-set-action-selector!) and an STI-weighting helper rule-sca-weight at action-selector.scm:57-64, but OpenPsi cluster pilot Source 1 (2026-04-27 V1-1) verified the helper is uncalled in OpenPsi's default runtime path — Ghost was the actual STI consumer, OpenPsi was an ECAN-coupling enabler rather than a default executable ECAN consumer. None of the broader consumers were preserved across the 2019-09-06 AttentionBank removal (318c0b4cb); no documented MeTTa equivalents exist in the current Hyperon ecosystem.
  4. Confirmed inherited bugs (Classic C++ → MeTTa port). WA rent compounding mutation at WARentCollectionAgent.cc:68-70; WA diffusion parameter mis-read at WAImportanceDiffusionAgent.cc:51-52 (reads dif_tournament_size into hebbianMaxAllocationPercentage). Both reproduced in MeTTa port.
  5. MeTTa-port-introduced regressions, two categories. (a) Hardcoding/shadowing — HebbianCreationAgent.metta:17 hardcodes localToFarLinks = 1000.0 shadowing the configured LOCAL_FAR_LINK_RATIO = 10. (b) Dormancy / EMA commenting — recentVal.metta:22-67 has both updateMin/updateMax commented out, while Classic C++ keeps live recent_val instances. Per Gemini's distinction: (a) is likely a porting error, (b) is likely a deliberate simplification choice.
  6. Cluster-position summary. ECAN/Attention sits as Tradition 2 with an iCog-Labs-Dev MeTTa sub-branch extension in the broader Hyperon five-tradition map. Lead identifications: Cosmo Harrigan (Classic ECAN diffusion subsystem original architect, 2014; cross-source identity verified as lead author of "Guiding PLN with Attention Allocation"); Linas Vepstas (Classic ECAN C++ lead); Birhane Gulilat (iCog-Labs-Dev metta-attention lead); Misgana Bayetta (URE STI hook author 2016); Nil Geisweiller (URE STI hook unwiring 2018, MixtureModel/ThompsonSampling URE control architecture).

Open problems flagged for Hyperon ecosystem decisions

  • Re-establish executable PLN-attention coupling (or formally close it as out-of-scope for production MeTTa-PLN).
  • Decide which broader-OpenCog ECAN consumers (Ghost STI-weighted action-selector, NLP fuzzy AF-gating, Python web API surfaces, OpenPsi action-selector seam) to revive in MeTTa form. Note: per OpenPsi cluster pilot Source 1 V1-1, OpenPsi at b31c7e3 was an enabler (configurable selector + uncalled STI helper) rather than a default executable consumer — any revival should specify whether the goal is to reproduce Ghost's runtime behavior on top of the OpenPsi seam, or to actively wire the OpenPsi STI helper into a MeTTa default selector.
  • Address inherited C++ bugs and MeTTa-port-introduced regressions (requires upstream coordination since the C++ bugs exist in both codebases).
  • Clarify whether the paper-literal stochastic tanh diffusion is a target (no implementation has it) or whether the deterministic elapsed-time decay surrogate is the de-facto standard.

Reference materials

Generated by Claude Opus 4.7 (1M context) acting as orchestrator for the cluster-pilot cross-model extraction. Human review required before any promotion of content to the Published Hyperon AI Algorithms+ECAN parent.



Discussion