8f25ce32e1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
1.4 KiB
JavaScript
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; }
|
|
}
|