polymath-society 0.2.12 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +150 -50
- package/dist/engine/chat-loops.js +1 -1
- package/dist/engine/exp-allfacets.js +1 -1
- package/dist/engine/exp-person.js +1 -1
- package/dist/engine/ingest-export.js +3 -2
- package/dist/engine/peak-demos.js +1 -1
- package/dist/engine/person-dimension-summary.js +1 -1
- package/dist/engine/person-facet-lines.js +1 -1
- package/dist/engine/person-headline.js +1 -1
- package/dist/engine/person-report.js +1 -1
- package/dist/engine/person-self-image.js +1 -1
- package/dist/engine/public-report.js +4 -3
- package/dist/engine/run-analysis.js +8 -3
- package/dist/index.js +102 -15
- package/dist/pipeline/coding-agglomerate.js +4 -3
- package/dist/pipeline/coding-aggregate.js +4 -3
- package/dist/pipeline/coding-build.js +4 -3
- package/dist/pipeline/coding-coaching.js +27 -8
- package/dist/pipeline/coding-day-digest.js +4 -3
- package/dist/pipeline/coding-delegation.js +4 -3
- package/dist/pipeline/coding-expertise.js +4 -3
- package/dist/pipeline/coding-flow.js +4 -3
- package/dist/pipeline/coding-frontier-detail.js +4 -3
- package/dist/pipeline/coding-frontier.js +4 -3
- package/dist/pipeline/coding-gap-dist.js +4 -3
- package/dist/pipeline/coding-gap.js +27 -8
- package/dist/pipeline/coding-grade.js +4 -3
- package/dist/pipeline/coding-nutshell.js +4 -3
- package/dist/pipeline/coding-projects.js +4 -3
- package/dist/pipeline/coding-walkthrough.js +4 -3
- package/dist/web/app.js +1462 -1403
- package/package.json +1 -1
|
@@ -15672,7 +15672,7 @@ var CODING_CRITERIA = [
|
|
|
15672
15672
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
15673
15673
|
graded: true,
|
|
15674
15674
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
15675
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
15675
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
15676
15676
|
rungs: [
|
|
15677
15677
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
15678
15678
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16290,11 +16290,11 @@ function computeWorkstyle(inp) {
|
|
|
16290
16290
|
|
|
16291
16291
|
// ../../lib/calibration/index.ts
|
|
16292
16292
|
var DEFAULT_CALIBRATION = {
|
|
16293
|
-
version: "2026-07-
|
|
16293
|
+
version: "2026-07-16.2",
|
|
16294
16294
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16295
16295
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16296
16296
|
// without this being updated (and re-pushed to the server).
|
|
16297
|
-
rubricVersion: "
|
|
16297
|
+
rubricVersion: "7983c01d53",
|
|
16298
16298
|
// Canonical scale = the one the product owner set for the public report
|
|
16299
16299
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16300
16300
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16381,6 +16381,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16381
16381
|
codingTiers: {
|
|
16382
16382
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16383
16383
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16384
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16384
16385
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16385
16386
|
},
|
|
16386
16387
|
codingBenchmarks: {
|
|
@@ -16752,6 +16753,8 @@ async function compileCodingProfile() {
|
|
|
16752
16753
|
const avgWords = aggregate?.throughput?.avgWordsPerDay ?? null;
|
|
16753
16754
|
const pushPctl = lognPct(avgWords, tiers?.push);
|
|
16754
16755
|
const focusPctl = lognPct(flowPctDay, tiers?.focus);
|
|
16756
|
+
const workDayHrs = aggregate?.flow?.flow?.workDayHours ? Math.round(aggregate.flow.flow.workDayHours * 10) / 10 : null;
|
|
16757
|
+
const hoursPctl = lognPct(workDayHrs, tiers?.hours);
|
|
16755
16758
|
const hoursAt = (min) => Object.entries(pHist).reduce((a, [k, v]) => Number(k) >= min ? a + v : a, 0) / 60;
|
|
16756
16759
|
const orchPctl = hoursAt(5) >= 5 || hoursAt(3) >= 10 && parallelism.queueOps >= 1e3 ? 99.5 : hoursAt(3) >= 10 ? 99 : hoursAt(2) >= 0.1 * (soloMin + parMin) / 60 ? 97 : hoursAt(2) >= 2 ? 90 : 70;
|
|
16757
16760
|
const stackUp = [
|
|
@@ -16761,14 +16764,25 @@ async function compileCodingProfile() {
|
|
|
16761
16764
|
`you peak at ~${peakWords.toLocaleString()} words of pure direction in a single day \u2014 the very top sustain ~${BEST.throughput.topAvgWordsPerDay.toLocaleString()} every day, week after week; the wildest single days on record push ~${BEST.throughput.topPeakWordsPerDay.toLocaleString()}`
|
|
16762
16765
|
),
|
|
16763
16766
|
sRow(
|
|
16764
|
-
"
|
|
16767
|
+
"Hours you put in",
|
|
16768
|
+
null,
|
|
16769
|
+
workDayHrs != null ? `~${workDayHrs}h of active building on a typical work day \u2014 engaged builders average ~3h, and sustaining 7h+ day after day, week after week, is top-1% territory` : "not enough dated activity yet to measure a typical work day"
|
|
16770
|
+
),
|
|
16771
|
+
sRow(
|
|
16772
|
+
"Your AI parallelism",
|
|
16765
16773
|
ceilOf("delegation"),
|
|
16766
16774
|
soloPct != null ? `~${soloPct}% of your hours you drive a single agent (${Math.round(soloMin / 60)}h solo vs ${Math.round(parMin / 60)}h with 2+ live) \u2014 the Claude Code lead keeps 10\u201315 going at once, so this is the single biggest speed-up still on the table` : "you brief the AI sharply, but mostly drive one agent at a time \u2014 the top run 10\u201315 in parallel, a several-fold speed-up"
|
|
16767
16775
|
),
|
|
16776
|
+
// The evidence line cites the RANKING metric (flow as a share of the work
|
|
16777
|
+
// day), never absolute hours — a friend with MORE flow hours over a longer
|
|
16778
|
+
// day landed a WORSE percentile and the hours-based line read as a bug
|
|
16779
|
+
// (2026-07-16: "he has more hours but less percentile??"). The label says
|
|
16780
|
+
// "when you work" ON PURPOSE: this chip ranks quality of the hours, and
|
|
16781
|
+
// the volume of hours is its own chip above.
|
|
16768
16782
|
sRow(
|
|
16769
|
-
"
|
|
16783
|
+
"Focus quality when you work",
|
|
16770
16784
|
focusScore,
|
|
16771
|
-
|
|
16785
|
+
flowPctDay != null ? `~${Math.round(flowPctDay * 100)}% of your work day is true deep flow${flowHrsDay != null ? ` (~${flowHrsDay}h)` : ""} \u2014 the very best hold ~${Math.round(BEST.flow.topPctOfDay * 100)}% of theirs in one unbroken block; yours fragments across parallel sessions, so the gain is directing your attention at one thread for longer` : "your attention scatters across parallel sessions \u2014 directing it at one thread for longer is the unlock"
|
|
16772
16786
|
),
|
|
16773
16787
|
// The four estimates LEAD with a concrete moment from their own sessions, then an
|
|
16774
16788
|
// HONEST caveat — how many graded sessions back the read. No invented weakness, no
|
|
@@ -16801,12 +16815,17 @@ async function compileCodingProfile() {
|
|
|
16801
16815
|
r.metric = avgWords;
|
|
16802
16816
|
r.curve = "push";
|
|
16803
16817
|
}
|
|
16804
|
-
if (r.label === "
|
|
16818
|
+
if (r.label === "Hours you put in" && hoursPctl != null) {
|
|
16819
|
+
r.percentile = hoursPctl;
|
|
16820
|
+
r.metric = workDayHrs;
|
|
16821
|
+
r.curve = "hours";
|
|
16822
|
+
}
|
|
16823
|
+
if (r.label === "Focus quality when you work" && focusPctl != null) {
|
|
16805
16824
|
r.percentile = focusPctl;
|
|
16806
16825
|
r.metric = flowPctDay;
|
|
16807
16826
|
r.curve = "focus";
|
|
16808
16827
|
}
|
|
16809
|
-
if (r.label === "
|
|
16828
|
+
if (r.label === "Your AI parallelism") r.percentile = orchPctl;
|
|
16810
16829
|
}
|
|
16811
16830
|
return { generatedAt: (/* @__PURE__ */ new Date()).toISOString(), gradedSessions: grades.length, agglomeration, outcomeCadence, dayDigest, dayChart, timeline, walkthroughs, rubric, wordsByDay, dayThroughput, throughputCeiling: tCeiling, stackUp, criteria, parallelism, throughput, workstyle, flow, focus, expertiseMap, frontierArsenal, frontierDetail, coaching, gap, aggregate, delegationRollup, gapDist, projects };
|
|
16812
16831
|
}
|
|
@@ -15922,7 +15922,7 @@ var CODING_CRITERIA = [
|
|
|
15922
15922
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
15923
15923
|
graded: true,
|
|
15924
15924
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
15925
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
15925
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
15926
15926
|
rungs: [
|
|
15927
15927
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
15928
15928
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16033,11 +16033,11 @@ var TRANSCRIPT_LINE_RE = new RegExp(`^\\s*(${NOTE})((,| and) ${NOTE})*\\s*$|^\\s
|
|
|
16033
16033
|
|
|
16034
16034
|
// ../../lib/calibration/index.ts
|
|
16035
16035
|
var DEFAULT_CALIBRATION = {
|
|
16036
|
-
version: "2026-07-
|
|
16036
|
+
version: "2026-07-16.2",
|
|
16037
16037
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16038
16038
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16039
16039
|
// without this being updated (and re-pushed to the server).
|
|
16040
|
-
rubricVersion: "
|
|
16040
|
+
rubricVersion: "7983c01d53",
|
|
16041
16041
|
// Canonical scale = the one the product owner set for the public report
|
|
16042
16042
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16043
16043
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16124,6 +16124,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16124
16124
|
codingTiers: {
|
|
16125
16125
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16126
16126
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16127
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16127
16128
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16128
16129
|
},
|
|
16129
16130
|
codingBenchmarks: {
|
|
@@ -16329,7 +16329,7 @@ var CODING_CRITERIA = [
|
|
|
16329
16329
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
16330
16330
|
graded: true,
|
|
16331
16331
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
16332
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
16332
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
16333
16333
|
rungs: [
|
|
16334
16334
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
16335
16335
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16440,11 +16440,11 @@ var TRANSCRIPT_LINE_RE = new RegExp(`^\\s*(${NOTE})((,| and) ${NOTE})*\\s*$|^\\s
|
|
|
16440
16440
|
|
|
16441
16441
|
// ../../lib/calibration/index.ts
|
|
16442
16442
|
var DEFAULT_CALIBRATION = {
|
|
16443
|
-
version: "2026-07-
|
|
16443
|
+
version: "2026-07-16.2",
|
|
16444
16444
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16445
16445
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16446
16446
|
// without this being updated (and re-pushed to the server).
|
|
16447
|
-
rubricVersion: "
|
|
16447
|
+
rubricVersion: "7983c01d53",
|
|
16448
16448
|
// Canonical scale = the one the product owner set for the public report
|
|
16449
16449
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16450
16450
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16531,6 +16531,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16531
16531
|
codingTiers: {
|
|
16532
16532
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16533
16533
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16534
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16534
16535
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16535
16536
|
},
|
|
16536
16537
|
codingBenchmarks: {
|
|
@@ -15939,7 +15939,7 @@ var CODING_CRITERIA = [
|
|
|
15939
15939
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
15940
15940
|
graded: true,
|
|
15941
15941
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
15942
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
15942
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
15943
15943
|
rungs: [
|
|
15944
15944
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
15945
15945
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16050,11 +16050,11 @@ var TRANSCRIPT_LINE_RE = new RegExp(`^\\s*(${NOTE})((,| and) ${NOTE})*\\s*$|^\\s
|
|
|
16050
16050
|
|
|
16051
16051
|
// ../../lib/calibration/index.ts
|
|
16052
16052
|
var DEFAULT_CALIBRATION = {
|
|
16053
|
-
version: "2026-07-
|
|
16053
|
+
version: "2026-07-16.2",
|
|
16054
16054
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16055
16055
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16056
16056
|
// without this being updated (and re-pushed to the server).
|
|
16057
|
-
rubricVersion: "
|
|
16057
|
+
rubricVersion: "7983c01d53",
|
|
16058
16058
|
// Canonical scale = the one the product owner set for the public report
|
|
16059
16059
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16060
16060
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16141,6 +16141,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16141
16141
|
codingTiers: {
|
|
16142
16142
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16143
16143
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16144
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16144
16145
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16145
16146
|
},
|
|
16146
16147
|
codingBenchmarks: {
|
|
@@ -287,7 +287,7 @@ var CODING_CRITERIA = [
|
|
|
287
287
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
288
288
|
graded: true,
|
|
289
289
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
290
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
290
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
291
291
|
rungs: [
|
|
292
292
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
293
293
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -394,11 +394,11 @@ var IDLE_CAP_MS = 12 * 6e4;
|
|
|
394
394
|
|
|
395
395
|
// ../../lib/calibration/index.ts
|
|
396
396
|
var DEFAULT_CALIBRATION = {
|
|
397
|
-
version: "2026-07-
|
|
397
|
+
version: "2026-07-16.2",
|
|
398
398
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
399
399
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
400
400
|
// without this being updated (and re-pushed to the server).
|
|
401
|
-
rubricVersion: "
|
|
401
|
+
rubricVersion: "7983c01d53",
|
|
402
402
|
// Canonical scale = the one the product owner set for the public report
|
|
403
403
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
404
404
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -485,6 +485,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
485
485
|
codingTiers: {
|
|
486
486
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
487
487
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
488
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
488
489
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
489
490
|
},
|
|
490
491
|
codingBenchmarks: {
|
|
@@ -15905,7 +15905,7 @@ var CODING_CRITERIA = [
|
|
|
15905
15905
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
15906
15906
|
graded: true,
|
|
15907
15907
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
15908
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
15908
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
15909
15909
|
rungs: [
|
|
15910
15910
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
15911
15911
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16016,11 +16016,11 @@ var TRANSCRIPT_LINE_RE = new RegExp(`^\\s*(${NOTE})((,| and) ${NOTE})*\\s*$|^\\s
|
|
|
16016
16016
|
|
|
16017
16017
|
// ../../lib/calibration/index.ts
|
|
16018
16018
|
var DEFAULT_CALIBRATION = {
|
|
16019
|
-
version: "2026-07-
|
|
16019
|
+
version: "2026-07-16.2",
|
|
16020
16020
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16021
16021
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16022
16022
|
// without this being updated (and re-pushed to the server).
|
|
16023
|
-
rubricVersion: "
|
|
16023
|
+
rubricVersion: "7983c01d53",
|
|
16024
16024
|
// Canonical scale = the one the product owner set for the public report
|
|
16025
16025
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16026
16026
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16107,6 +16107,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16107
16107
|
codingTiers: {
|
|
16108
16108
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16109
16109
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16110
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16110
16111
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16111
16112
|
},
|
|
16112
16113
|
codingBenchmarks: {
|
|
@@ -47,7 +47,7 @@ var CODING_CRITERIA = [
|
|
|
47
47
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
48
48
|
graded: true,
|
|
49
49
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
50
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
50
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
51
51
|
rungs: [
|
|
52
52
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
53
53
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -203,11 +203,11 @@ var TRANSCRIPT_LINE_RE = new RegExp(`^\\s*(${NOTE})((,| and) ${NOTE})*\\s*$|^\\s
|
|
|
203
203
|
|
|
204
204
|
// ../../lib/calibration/index.ts
|
|
205
205
|
var DEFAULT_CALIBRATION = {
|
|
206
|
-
version: "2026-07-
|
|
206
|
+
version: "2026-07-16.2",
|
|
207
207
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
208
208
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
209
209
|
// without this being updated (and re-pushed to the server).
|
|
210
|
-
rubricVersion: "
|
|
210
|
+
rubricVersion: "7983c01d53",
|
|
211
211
|
// Canonical scale = the one the product owner set for the public report
|
|
212
212
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
213
213
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -294,6 +294,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
294
294
|
codingTiers: {
|
|
295
295
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
296
296
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
297
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
297
298
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
298
299
|
},
|
|
299
300
|
codingBenchmarks: {
|
|
@@ -287,7 +287,7 @@ var CODING_CRITERIA = [
|
|
|
287
287
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
288
288
|
graded: true,
|
|
289
289
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
290
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
290
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
291
291
|
rungs: [
|
|
292
292
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
293
293
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -394,11 +394,11 @@ var IDLE_CAP_MS = 12 * 6e4;
|
|
|
394
394
|
|
|
395
395
|
// ../../lib/calibration/index.ts
|
|
396
396
|
var DEFAULT_CALIBRATION = {
|
|
397
|
-
version: "2026-07-
|
|
397
|
+
version: "2026-07-16.2",
|
|
398
398
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
399
399
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
400
400
|
// without this being updated (and re-pushed to the server).
|
|
401
|
-
rubricVersion: "
|
|
401
|
+
rubricVersion: "7983c01d53",
|
|
402
402
|
// Canonical scale = the one the product owner set for the public report
|
|
403
403
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
404
404
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -485,6 +485,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
485
485
|
codingTiers: {
|
|
486
486
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
487
487
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
488
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
488
489
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
489
490
|
},
|
|
490
491
|
codingBenchmarks: {
|
|
@@ -15673,7 +15673,7 @@ var CODING_CRITERIA = [
|
|
|
15673
15673
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
15674
15674
|
graded: true,
|
|
15675
15675
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
15676
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
15676
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
15677
15677
|
rungs: [
|
|
15678
15678
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
15679
15679
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16291,11 +16291,11 @@ function computeWorkstyle(inp) {
|
|
|
16291
16291
|
|
|
16292
16292
|
// ../../lib/calibration/index.ts
|
|
16293
16293
|
var DEFAULT_CALIBRATION = {
|
|
16294
|
-
version: "2026-07-
|
|
16294
|
+
version: "2026-07-16.2",
|
|
16295
16295
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16296
16296
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16297
16297
|
// without this being updated (and re-pushed to the server).
|
|
16298
|
-
rubricVersion: "
|
|
16298
|
+
rubricVersion: "7983c01d53",
|
|
16299
16299
|
// Canonical scale = the one the product owner set for the public report
|
|
16300
16300
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16301
16301
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16382,6 +16382,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16382
16382
|
codingTiers: {
|
|
16383
16383
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16384
16384
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16385
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16385
16386
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16386
16387
|
},
|
|
16387
16388
|
codingBenchmarks: {
|
|
@@ -16753,6 +16754,8 @@ async function compileCodingProfile() {
|
|
|
16753
16754
|
const avgWords = aggregate?.throughput?.avgWordsPerDay ?? null;
|
|
16754
16755
|
const pushPctl = lognPct(avgWords, tiers?.push);
|
|
16755
16756
|
const focusPctl = lognPct(flowPctDay, tiers?.focus);
|
|
16757
|
+
const workDayHrs = aggregate?.flow?.flow?.workDayHours ? Math.round(aggregate.flow.flow.workDayHours * 10) / 10 : null;
|
|
16758
|
+
const hoursPctl = lognPct(workDayHrs, tiers?.hours);
|
|
16756
16759
|
const hoursAt = (min) => Object.entries(pHist).reduce((a, [k, v]) => Number(k) >= min ? a + v : a, 0) / 60;
|
|
16757
16760
|
const orchPctl = hoursAt(5) >= 5 || hoursAt(3) >= 10 && parallelism.queueOps >= 1e3 ? 99.5 : hoursAt(3) >= 10 ? 99 : hoursAt(2) >= 0.1 * (soloMin + parMin) / 60 ? 97 : hoursAt(2) >= 2 ? 90 : 70;
|
|
16758
16761
|
const stackUp = [
|
|
@@ -16762,14 +16765,25 @@ async function compileCodingProfile() {
|
|
|
16762
16765
|
`you peak at ~${peakWords.toLocaleString()} words of pure direction in a single day \u2014 the very top sustain ~${BEST.throughput.topAvgWordsPerDay.toLocaleString()} every day, week after week; the wildest single days on record push ~${BEST.throughput.topPeakWordsPerDay.toLocaleString()}`
|
|
16763
16766
|
),
|
|
16764
16767
|
sRow(
|
|
16765
|
-
"
|
|
16768
|
+
"Hours you put in",
|
|
16769
|
+
null,
|
|
16770
|
+
workDayHrs != null ? `~${workDayHrs}h of active building on a typical work day \u2014 engaged builders average ~3h, and sustaining 7h+ day after day, week after week, is top-1% territory` : "not enough dated activity yet to measure a typical work day"
|
|
16771
|
+
),
|
|
16772
|
+
sRow(
|
|
16773
|
+
"Your AI parallelism",
|
|
16766
16774
|
ceilOf("delegation"),
|
|
16767
16775
|
soloPct != null ? `~${soloPct}% of your hours you drive a single agent (${Math.round(soloMin / 60)}h solo vs ${Math.round(parMin / 60)}h with 2+ live) \u2014 the Claude Code lead keeps 10\u201315 going at once, so this is the single biggest speed-up still on the table` : "you brief the AI sharply, but mostly drive one agent at a time \u2014 the top run 10\u201315 in parallel, a several-fold speed-up"
|
|
16768
16776
|
),
|
|
16777
|
+
// The evidence line cites the RANKING metric (flow as a share of the work
|
|
16778
|
+
// day), never absolute hours — a friend with MORE flow hours over a longer
|
|
16779
|
+
// day landed a WORSE percentile and the hours-based line read as a bug
|
|
16780
|
+
// (2026-07-16: "he has more hours but less percentile??"). The label says
|
|
16781
|
+
// "when you work" ON PURPOSE: this chip ranks quality of the hours, and
|
|
16782
|
+
// the volume of hours is its own chip above.
|
|
16769
16783
|
sRow(
|
|
16770
|
-
"
|
|
16784
|
+
"Focus quality when you work",
|
|
16771
16785
|
focusScore,
|
|
16772
|
-
|
|
16786
|
+
flowPctDay != null ? `~${Math.round(flowPctDay * 100)}% of your work day is true deep flow${flowHrsDay != null ? ` (~${flowHrsDay}h)` : ""} \u2014 the very best hold ~${Math.round(BEST.flow.topPctOfDay * 100)}% of theirs in one unbroken block; yours fragments across parallel sessions, so the gain is directing your attention at one thread for longer` : "your attention scatters across parallel sessions \u2014 directing it at one thread for longer is the unlock"
|
|
16773
16787
|
),
|
|
16774
16788
|
// The four estimates LEAD with a concrete moment from their own sessions, then an
|
|
16775
16789
|
// HONEST caveat — how many graded sessions back the read. No invented weakness, no
|
|
@@ -16802,12 +16816,17 @@ async function compileCodingProfile() {
|
|
|
16802
16816
|
r.metric = avgWords;
|
|
16803
16817
|
r.curve = "push";
|
|
16804
16818
|
}
|
|
16805
|
-
if (r.label === "
|
|
16819
|
+
if (r.label === "Hours you put in" && hoursPctl != null) {
|
|
16820
|
+
r.percentile = hoursPctl;
|
|
16821
|
+
r.metric = workDayHrs;
|
|
16822
|
+
r.curve = "hours";
|
|
16823
|
+
}
|
|
16824
|
+
if (r.label === "Focus quality when you work" && focusPctl != null) {
|
|
16806
16825
|
r.percentile = focusPctl;
|
|
16807
16826
|
r.metric = flowPctDay;
|
|
16808
16827
|
r.curve = "focus";
|
|
16809
16828
|
}
|
|
16810
|
-
if (r.label === "
|
|
16829
|
+
if (r.label === "Your AI parallelism") r.percentile = orchPctl;
|
|
16811
16830
|
}
|
|
16812
16831
|
return { generatedAt: (/* @__PURE__ */ new Date()).toISOString(), gradedSessions: grades.length, agglomeration, outcomeCadence, dayDigest, dayChart, timeline, walkthroughs, rubric, wordsByDay, dayThroughput, throughputCeiling: tCeiling, stackUp, criteria, parallelism, throughput, workstyle, flow, focus, expertiseMap, frontierArsenal, frontierDetail, coaching, gap, aggregate, delegationRollup, gapDist, projects };
|
|
16813
16832
|
}
|
|
@@ -15753,7 +15753,7 @@ var CODING_CRITERIA = [
|
|
|
15753
15753
|
label: "Abstraction \u2014 seeing the load-bearing thing, and being right",
|
|
15754
15754
|
graded: true,
|
|
15755
15755
|
definition: "Under genuine ambiguity (an obvious path sitting right there, no answer key): did the USER see that the obvious path was subtly wrong \u2014 or that something decisive was invisible \u2014 and do the non-obvious thing that made it right, AND were they right? The graded unit is the whole move: the CATCH (noticing the fork) -> the QUESTION (formulating it) -> the CALL (resolving it). The move surfaces three interchangeable ways, scored identically: a REFRAME (collapse a mess to its real axis), a QUESTION (pose the hard thing nobody posed), or an INSTRUMENT (build the code/chart/structure that makes the truth legible, then read it). Tag the SUBSTANCE, not the medium \u2014 a chart built (technical act) to make a human-intensity call legible is a JUDGMENT catch.",
|
|
15756
|
-
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) /
|
|
15756
|
+
read: "FOUR LEVERS set the height: (1) INVISIBILITY \u2014 how non-obvious there was anything to catch; a sharp operator in the flow drives past it (the DOMINANT lever); (2) DIFFICULTY of forming the catch; (3) STAKES \u2014 'without this, things silently go wrong' is the 9-10 condition; (4) SOUNDNESS \u2014 did the call hold. THREE OVERRIDING GATES: (a) OBVIOUSNESS KILLS IT \u2014 a correct, even load-bearing catch a sharp operator reaches anyway scores LOW ('you're evaluating the person not the AI' is correct but obvious -> ~5; 'compute in the OAuth dead-time' is real but fairly obvious -> ~6). (b) LEVERAGE BEATS INSIGHT \u2014 a move whose payoff is a HIGHER RATE OF FUTURE INSIGHT (building the tool that lets him set his own boundaries; timestamp-by-timestamp structure to instruct the grader precisely) raises the bandwidth of the loop that produces every later catch, and can outrank a clean one-off reframe. (c) SOUNDNESS GATE \u2014 a confident WRONG call to a noticed fork is an ANTI-SIGNAL; an honest 'not sure, here's a range' is NOT penalized. HUNT THE FORK BLIND \u2014 reconstruct what continuing-without-noticing looked like, then check whether/why he diverged; do NOT hand yourself the fork pre-formed or you score everyone's problem-finding a 10. TAG every instance: kind = systems | judgment | both (+ optional register: human/product/measurement). Reasoning and instrument-building are the SAME criterion. ANCHORS: 10 = 'OCEAN won't change, measure effectiveness of actions' (reframe that redefines the measure) / a human-stakes call where the person overrode the analytically-clean answer on knowledge only they could have about someone involved, and was right (lived judgment, requires being the person) / 'plot it sorted, let me set the boundaries' (leverage \u2014 builds the bandwidth tool); 9 = 'word count IS the proxy \u2014 sitting there is unfakeable focus' / 'uncertainty collapses in that direction'; 8 = 'a better metric is the difficulty of content + original synthesis' (hard opening question); 7 = 'this candidate seems too strong for his judgement to be real' (real non-obvious catch, modest stakes); 6 = 'compute in the OAuth dead-time' / 'why overcomplicate it, single agent' (real but obvious); 5 = 'you're evaluating the person not the AI' (correct but obvious).",
|
|
15757
15757
|
rungs: [
|
|
15758
15758
|
{ level: 2, marker: "A fork existed; defers the call to the AI, or takes the obvious branch; vague." },
|
|
15759
15759
|
{ level: 4, marker: "Notices something, but the question is vague or obvious \u2014 anyone in the seat asks it." },
|
|
@@ -16209,11 +16209,11 @@ var TRANSCRIPT_LINE_RE = new RegExp(`^\\s*(${NOTE})((,| and) ${NOTE})*\\s*$|^\\s
|
|
|
16209
16209
|
|
|
16210
16210
|
// ../../lib/calibration/index.ts
|
|
16211
16211
|
var DEFAULT_CALIBRATION = {
|
|
16212
|
-
version: "2026-07-
|
|
16212
|
+
version: "2026-07-16.2",
|
|
16213
16213
|
// = RUBRIC_FINGERPRINT of the shipped npm rubric (packages/coding-analyzer/
|
|
16214
16214
|
// src/grade/criteria.ts). A unit test fails loud when the rubric changes
|
|
16215
16215
|
// without this being updated (and re-pushed to the server).
|
|
16216
|
-
rubricVersion: "
|
|
16216
|
+
rubricVersion: "7983c01d53",
|
|
16217
16217
|
// Canonical scale = the one the product owner set for the public report
|
|
16218
16218
|
// (11=0.01% … 8=2%), extended downward from the old report ladder. The old
|
|
16219
16219
|
// CodeAnalysisView / npm-viewer maps (7→10%/15%, 6→25%/30%) were drift, not
|
|
@@ -16300,6 +16300,7 @@ var DEFAULT_CALIBRATION = {
|
|
|
16300
16300
|
codingTiers: {
|
|
16301
16301
|
push: { median: 300, sigma: 0.91, tag: "estimated \u2014 log-normal fit", source: "Anthropic 2026 Claude Code study (400k sessions): median engaged user ~8 prompts/day at ~35 words \u2014 ~300 directed words/day; tail: a 1-in-1,000 user AVERAGES ~5k directed words/day (near-daily heavy dictation, clearly below the ~10k single-day record). AVERAGE over substantial days, cumulative not spiky." },
|
|
16302
16302
|
focus: { median: 0.08, sigma: 0.559, tag: "estimated \u2014 proxy-anchored", source: "median: Anthropic 20h/week engaged-user figure implies ~1h/day of true rapid exchange against an 8h working day; ceiling anchored to the ~4h/day deep-work limit (45% share = 1-in-1,000). AVERAGE share, cumulative not spiky." },
|
|
16303
|
+
hours: { median: 3, sigma: 0.4, tag: "estimated \u2014 proxy-anchored", source: "median: RescueTime-measured ~2h48m of real productive time/day (same source as the flow benchmark) \u2248 3h of active building; shape: sustaining ~7.5h/day \u2248 top 1%, a ~12h/day average \u2248 1-in-3,000. AVERAGE work-day length, cumulative not spiky." },
|
|
16303
16304
|
orchestration: { tag: "estimated \u2014 behavior bands", source: "no published concurrency distribution exists; ceiling anchored to the Claude Code lead's documented 10-15 parallel sessions" }
|
|
16304
16305
|
},
|
|
16305
16306
|
codingBenchmarks: {
|