test(ui): explore branch notebook composition

This commit is contained in:
2026-08-20 08:42:43 +01:00
parent e7a1bc689c
commit df0e3b5a9b
2 changed files with 325 additions and 305 deletions
+10 -1
View File
@@ -226,7 +226,8 @@ export default function ScenarioForm() {
/* ── RTO.25A — passive late-result branch switcher (experimental) ── */
const [activeBranchId, setActiveBranchId] = useState("branch-b");
const [branchNewResults, setBranchNewResults] = useState({});
// Pre-seed Competitor development with a late result for RTO.27A testing
const [branchNewResults, setBranchNewResults] = useState({ "branch-a": true });
/* ── RTO.26B — experimental branch-scoped reasoning fixture ───── */
@@ -262,6 +263,12 @@ export default function ScenarioForm() {
return branchScoped.getBranchContributions(activeBranch.id);
}, [activeBranch, branchScoped]);
// RTO.27A — late results for active branch
const experimentalBranchLateResults = useMemo(() => {
if (!activeBranch) return [];
return (branchScoped.getBranchLateResults?.(activeBranch.id) || []).map(lr => ({ text: lr.text }));
}, [activeBranch, branchScoped]);
// Determine which non-active branches have new results for passive indicator
const inactiveBranchNewResults = useMemo(() => {
const result = {};
@@ -463,6 +470,7 @@ export default function ScenarioForm() {
experimentalBranches={BRANCHES.length > 0 ? BRANCHES : undefined}
branchLocalQuestions={experimentalBranchQuestions.length > 0 ? experimentalBranchQuestions : undefined}
branchLocalContributions={experimentalBranchContributions.length > 0 ? experimentalBranchContributions : undefined}
branchLocalLateResults={experimentalBranchLateResults.length > 0 ? experimentalBranchLateResults : undefined}
inactiveBranchNewResults={Object.keys(inactiveBranchNewResults).length > 0 ? inactiveBranchNewResults : undefined}
onRestart={() => { setStatus("idle"); setResult(null); setScenario(""); }}
/>
@@ -659,6 +667,7 @@ export default function ScenarioForm() {
experimentalBranches={BRANCHES.length > 0 ? BRANCHES : undefined}
branchLocalQuestions={experimentalBranchQuestions.length > 0 ? experimentalBranchQuestions : undefined}
branchLocalContributions={experimentalBranchContributions.length > 0 ? experimentalBranchContributions : undefined}
branchLocalLateResults={experimentalBranchLateResults.length > 0 ? experimentalBranchLateResults : undefined}
inactiveBranchNewResults={Object.keys(inactiveBranchNewResults).length > 0 ? inactiveBranchNewResults : undefined}
onRestart={() => {
clearSession();