DSLO's picture
Create sei.js
d89c9c8 verified
Raw
History Blame Contribute Delete
1.06 kB
// 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 };