Account calendar: completion cell says 'Passed' for non-payoutable types

An eval that completes its target passes to the next account rather than
paying out — the projected completion marker reads 'Passed ✓' unless the
type is marked payoutable on the master.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Brandon Li
2026-09-12 18:55:58 -05:00
co-authored by Claude Fable 5
parent 38a9c6c1b7
commit bf56a76a6d
2 changed files with 8 additions and 3 deletions
+5 -2
View File
@@ -204,7 +204,7 @@ const MONTH_NAMES = [
];
const DOW_LABELS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
function CalendarMonth({ year, month, pnlMap, fundMap, stageMap, projPnlMap, projFundMap, projStageMap, projProbMap, payoutDate }: {
function CalendarMonth({ year, month, pnlMap, fundMap, stageMap, projPnlMap, projFundMap, projStageMap, projProbMap, payoutDate, payoutLabel }: {
year: number;
month: number;
pnlMap: Map<string, number>;
@@ -217,6 +217,8 @@ function CalendarMonth({ year, month, pnlMap, fundMap, stageMap, projPnlMap, pro
/** Cumulative probability of reaching each projected day (fair-walk ruin model). */
projProbMap?: Map<string, number>;
payoutDate?: string;
/** "Payout ✓" for payoutable types; "Passed ✓" for evals that just pass. */
payoutLabel?: string;
}) {
const daysInMonth = new Date(year, month, 0).getDate();
const firstDow = new Date(year, month - 1, 1).getDay(); // 0 = Sunday
@@ -331,7 +333,7 @@ function CalendarMonth({ year, month, pnlMap, fundMap, stageMap, projPnlMap, pro
)}
{isPayout && (
<span className="text-[10px] font-bold leading-tight mt-0.5 text-blue-600/80">
Payout ✓
{payoutLabel ?? 'Payout ✓'}
</span>
)}
{projProb !== undefined && (
@@ -827,6 +829,7 @@ export default function AccountPage() {
projPnlMap={projPnlMap} projFundMap={projFundMap}
projStageMap={projStageMap} projProbMap={projProbMap}
payoutDate={payoutDate}
payoutLabel={cfg?.payoutable === true ? 'Payout ✓' : 'Passed ✓'}
/>
);
})}
+3 -1
View File
@@ -20,7 +20,9 @@ export interface AccountConfig {
/** Payout model, from the master's payout settings (absent on old masters):
* withdraw withdrawalPct of balance (capped at payoutCap) per cycle,
* receive profitSplit of the gross; trailingDrawdown feeds the ruin
* probabilities. */
* probabilities. payoutable=false means completing the target just
* PASSES the account (an eval) rather than paying out. */
payoutable?: boolean;
withdrawalPct?: number;
payoutCap?: number;
profitSplit?: number;