+ {activeTab === 'papers' && (
+
+ {paperCount === 0 ? (
+
+ No papers cataloged yet. During literature reconnaissance, papers will appear here.
+
+ ) : (
+ artifacts.papers.map((p, idx) => (
+
+
+
+ {String(p.title || p.name || 'Untitled Paper')}
+
+ {Boolean(p.arxiv_id || p.id) && (
+
+ arXiv:{String(p.arxiv_id || p.id)}
+
+ )}
+
+ {Boolean(p.authors) && (
+
+ {Array.isArray(p.authors) ? p.authors.join(', ') : String(p.authors)}
+
+ )}
+ {Boolean(p.summary || p.abstract) && (
+
+ {String(p.summary || p.abstract)}
+
+ )}
+
+ ))
+ )}
+
+ )}
+
+ {activeTab === 'hypotheses' && (
+
+ {hypothesisCount === 0 ? (
+
+ No hypotheses formulated yet. Formulate testable claims during the hypothesis phase.
+
+ ) : (
+ artifacts.hypotheses.map((h, idx) => (
+
+
+
+
+ {String(h.claim || h.statement || h.title || 'Hypothesis Claim')}
+
+
+ {Boolean(h.baseline || h.evaluation_criteria) && (
+
+ Baseline: {String(h.baseline || h.evaluation_criteria)}
+
+ )}
+
+ ))
+ )}
+
+ )}
+
+ {activeTab === 'experiments' && (
+
+ {experimentCount === 0 ? (
+
+ No experiments logged. Executed training and ablation runs will be tracked here.
+
+ ) : (
+ artifacts.experiments.map((exp, idx) => (
+
+
+ {String(exp.id || exp.run_id || `Experiment #${idx + 1}`)}
+ {String(exp.status || 'logged')}
+
+
+ {JSON.stringify(exp, null, 2)}
+
+
+ ))
+ )}
+
+ )}
+
+ {activeTab === 'metrics' && (
+
+ {metricsCount === 0 ? (
+
+ No metrics updated yet. Training loss, evaluation scores, and FLOPs will appear here.
+
+ ) : (
+
+ {Object.entries(artifacts.metrics).map(([key, val]) => (
+
+
+ {key}
+
+
+ {typeof val === 'number' ? val.toFixed(4) : String(val)}
+
+
+ ))}
+
+ )}
+
+ )}
+
+ {activeTab === 'manuscript' && (
+
+ {sectionCount === 0 ? (
+
+ No manuscript sections drafted yet. Generated LaTeX paper sections will appear here.
+
+ ) : (
+ Object.entries(artifacts.manuscript_sections).map(([secName, content]) => (
+
+
+
+ Section: {secName}
+
+
+ {content}
+
+
+ ))
+ )}
+
+ )}
+
+ {activeTab === 'bibtex' && (
+
+ {bibtexCount === 0 ? (
+
+ No BibTeX entries registered yet. Referenced bibliographies will be recorded here.
+
+ ) : (
+ artifacts.bibtex_entries.map((entry, idx) => (
+
+ {entry}
+
+ ))
+ )}
+
+ )}
+