DSLO's picture
Create mur.js
4628080 verified
Raw
History Blame Contribute Delete
818 Bytes
// mur.js
// Meaning Unit Registry (MUR) — append-only registry of Meaning Units
const fs = require('fs');
const path = require('path');
const REGISTRY_PATH = path.join(__dirname, 'mur.json');
// Ensure registry exists
function ensureRegistry() {
if (!fs.existsSync(REGISTRY_PATH)) {
fs.writeFileSync(REGISTRY_PATH, JSON.stringify({ registryVersion: "v0.1", units: [] }, null, 2));
}
}
// Add MU to registry
function registerMU(mu) {
ensureRegistry();
const registry = JSON.parse(fs.readFileSync(REGISTRY_PATH, 'utf8'));
// Append-only
registry.units.push({
id: mu.id,
compiledAt: mu.compiledAt,
length: mu.payload.length,
type: mu.payload.type
});
fs.writeFileSync(REGISTRY_PATH, JSON.stringify(registry, null, 2));
return registry;
}
module.exports = { registerMU };