MCPcopy Create free account
hub / github.com/SethGammon/Citadel / readOperatorArtifacts

Function readOperatorArtifacts

scripts/dashboard.js:432–459  ·  view source on GitHub ↗
(projectRoot)

Source from the content-addressed store, hash-verified

430 };
431}
432
433function readOperatorArtifacts(projectRoot) {
434 const nextReportPath = path.join(projectRoot, '.planning', 'next-actions', 'latest.md');
435 const approvalCapsulePath = path.join(projectRoot, '.planning', 'approval-capsules', 'latest.md');
436 const nextContent = readText(nextReportPath);
437 const approvalContent = readText(approvalCapsulePath);
438
439 return {
440 nextActionReport: nextContent ? {
441 path: relativeProjectPath(projectRoot, nextReportPath),
442 modifiedAt: safeMtime(nextReportPath),
443 generatedAt: extractReportLine(nextContent, 'Generated'),
444 mode: extractReportLine(nextContent, 'Mode'),
445 outcome: extractReportLine(nextContent, 'Outcome'),
446 finalCommand: extractLastReportLine(nextContent, 'Final command') ||
447 extractLastReportLine(nextContent, 'Command') ||
448 null,
449 } : null,
450 approvalCapsule: approvalContent ? {
451 path: relativeProjectPath(projectRoot, approvalCapsulePath),
452 modifiedAt: safeMtime(approvalCapsulePath),
453 generatedAt: extractReportLine(approvalContent, 'Generated'),
454 boundary: extractReportLine(approvalContent, 'Boundary'),
455 risk: extractReportLine(approvalContent, 'Risk'),
456 request: extractBlockLine(approvalContent, 'Request'),
457 command: extractLastReportLine(approvalContent, 'Command'),
458 } : null,
459 };
460}
461
462function annotateOperatorArtifacts(snapshot) {

Callers 2

collectDashboardFunction · 0.85
test-dashboard.jsFile · 0.85

Calls 6

relativeProjectPathFunction · 0.85
safeMtimeFunction · 0.85
extractReportLineFunction · 0.85
extractLastReportLineFunction · 0.85
extractBlockLineFunction · 0.85
readTextFunction · 0.70

Tested by

no test coverage detected