Files
brain/tools/round-memory-render.mjs

34 lines
1.6 KiB
JavaScript

#!/usr/bin/env node
/** round-memory-render — чистый рендер блока «ПАМЯТЬ КРУГОВ» для промптов судьи/наставника (SP2b).
* Пустой вход → пустая строка (круг 1 слеп). Свои замечания и доводы контроллера — дословно.
* Что класть (свои J/M-замечания, J/M-доводы, какой diff, замечание судьи при возврате) — решает
* вызыватель (оркестрация, SP2c); этот модуль лишь рендерит то, что дали. */
export function renderRoundMemory(mem = {}) {
const {
versionDiff = '',
objections = [],
args = [],
judgeObjectionOnReturn = '',
} = mem || {};
const parts = [];
if (Array.isArray(objections) && objections.length) {
parts.push('--- ТВОИ ПРОШЛЫЕ ЗАМЕЧАНИЯ (дословно) ---');
objections.forEach((o, i) => parts.push(`${i + 1}. ${o}`));
}
if (Array.isArray(args) && args.length) {
parts.push('--- ДОВОДЫ КОНТРОЛЛЕРА (дословно) ---');
args.forEach((a, i) => parts.push(`${i + 1}. ${a}`));
}
if (versionDiff) {
parts.push('--- ИЗМЕНЕНИЯ С ПРОШЛОЙ ВЕРСИИ (diff) ---');
parts.push(versionDiff);
}
if (judgeObjectionOnReturn) {
parts.push('--- ЗАМЕЧАНИЕ СУДЬИ (учесть при доработке) ---');
parts.push(judgeObjectionOnReturn);
}
if (parts.length === 0) return '';
return ['=== ПАМЯТЬ КРУГОВ ===', ...parts].join('\n');
}