Files
brain/tools/round-memory-record.mjs
T

23 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
/** round-memory-record — orchestration-помощник записи памяти кругов (SP2c-1).
* Цель — минимизировать врезки в discipline-source: одна точка пишет снимок версии артефакта
* и доводы контроллера последнего круга «## Переговоры» по дорожкам M/J. Объекция стороны
* (NO-GO) пишется отдельным вызовом recordObjection прямо из стора. Fail-quiet. */
import { recordVersion, recordArg } from './round-memory-store.mjs';
import { parseNegotiationSection } from './negotiation-section.mjs';
/** На запись артефакта: снимок версии + доводы ПОСЛЕДНЕГО круга по дорожкам M/J.
* Пустые доводы не пишутся. Любая ошибка → no-op (false), не кидает. */
export function recordArtifact(taskId, stage, content, baseDir) {
try {
recordVersion(taskId, stage, content, baseDir);
const rounds = parseNegotiationSection(content);
const last = rounds[rounds.length - 1];
if (last) {
if (last.mentor) recordArg(taskId, stage, 'M', last.mentor, baseDir);
if (last.judge) recordArg(taskId, stage, 'J', last.judge, baseDir);
}
return true;
} catch { return false; }
}