#!/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'); }