DocDoeAI / src /lib /teaching /physicsSeedFactoryReport.ts
asnannp's picture
deploy: sync backend to Space root (learn-lesson HF cache fix)
65d68f5
Raw History Blame Contribute Delete
1.94 kB
import {
createPhysicsBatchCurationReport,
type PhysicsSeedFactoryReport,
} from "./physicsLessonSeedFactory";
export type { PhysicsSeedFactoryReport };
export function buildPhysicsSeedFactoryReport(): PhysicsSeedFactoryReport {
return createPhysicsBatchCurationReport();
}
export function formatPhysicsSeedFactoryReport(report: PhysicsSeedFactoryReport): string {
const lines: string[] = [];
lines.push(`Total Physics chapters: ${report.totalPhysicsChapters}`);
lines.push(`Curated chapters (teachable): ${report.curatedChapters.join(", ") || "none"}`);
lines.push(`Uncurated chapters: ${report.uncuratedChapters.join(", ") || "none"}`);
lines.push(`Source-repaired chapters: ${report.sourceRepairedChapters.join(", ") || "none"}`);
lines.push(
`Curation-ready (source repaired, final seeds MISSING, NOT teachable): ${
report.curationReadyChapters.join(", ") || "none"
}`,
);
lines.push(`Draftable chapters: ${report.draftableChapters.join(", ") || "none"}`);
lines.push(
`Blocked chapters: ${
report.blockedChapters.map((chapter) => `${chapter.chapterId} (${chapter.reason})`).join(", ") || "none"
}`,
);
lines.push(`Next recommended batch: ${report.nextRecommendedBatch.join(", ") || "none"}`);
lines.push(`Next recommended action: ${report.nextRecommendedAction}`);
lines.push("Coverage by chapter:");
for (const chapter of report.coverageByChapter) {
lines.push(
`- ${chapter.chapterId} ${chapter.chapterTitle}: [${chapter.curationStatus}] ${chapter.sourceConfidence}` +
`${chapter.sourceRepaired ? ", source_repaired" : ""}, curated=${chapter.curatedSeedCount}` +
`, finalSeeds=${chapter.finalSeedsPresent ? "present" : "missing"}, missing=${chapter.missingMissionTypes.join(", ") || "none"}`,
);
if (chapter.warnings.length) {
lines.push(` warnings: ${chapter.warnings.join("; ")}`);
}
}
return lines.join("\n");
}