// sei.js // Signal Ecology Integration (SEI) // Deterministic ecological index for Meaning Units (MU) const fs = require('fs'); const path = require('path'); const SEI_PATH = path.join(__dirname, 'sei.json'); // Ensure SEI index exists function ensureSEI() { if (!fs.existsSync(SEI_PATH)) { fs.writeFileSync(SEI_PATH, JSON.stringify({ seiVersion: "v0.1", species: [] }, null, 2)); } } // Register MU as a species in the ecology function registerSpecies(mu) { ensureSEI(); const sei = JSON.parse(fs.readFileSync(SEI_PATH, 'utf8')); // Species entry (deterministic, no semantics) const speciesEntry = { id: mu.id, length: mu.payload.length, type: mu.payload.type, compiledAt: mu.compiledAt, ecologicalClass: "meaning-unit", // substrate-level class driftPotential: 0, // DSLO v0: no drift allowed stability: "deterministic" }; sei.species.push(speciesEntry); fs.writeFileSync(SEI_PATH, JSON.stringify(sei, null, 2)); return sei; } module.exports = { registerSpecies };