Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/core / JournaledCriticalPath

Interface: JournaledCriticalPath ​

Defined in: packages/core/src/stores/critical-path.ts:44

The critical path of a logical run, folded from its journal (RV2803).

The live reading is reduceCriticalPath; this is the same question asked of what survived the process. Fields are absent where the journal cannot answer, never zero.

Properties ​

PropertyTypeDescriptionDefined in
citationJudgeMs?numberSynthesis that is the citation entailment audit judge (RV4206); same all-or-nothing condition. Until this field the audit judge read as final composition in every archived journal, the same blindness the live reducer had.packages/core/src/stores/critical-path.ts:87
citationJudgeSpans?numberSettled citation-judge spans, counted; same condition.packages/core/src/stores/critical-path.ts:89
compositionSpans?numberSettled synthesize spans counted by side, same condition (RV3404): compositionSpans: 2 in an archived journal is the legible signature of the bounded repair round (RV3307), readable years after the process that paid for it exited.packages/core/src/stores/critical-path.ts:115
draftJudgeMs?numberThe stage split of semanticJudgeMs (RV3404), same all-or-nothing condition: the draft pass is the exact judge label and every suffixed variant is a post draft pass over the composed document (the final pass and the repair round's re-judge both dispatch -final, RV2509/RV3307). One classifier decides on both surfaces: claimJudgeStageOf.packages/core/src/stores/critical-path.ts:106
finalCompositionMs?numberSynthesis that is COMPOSITION (RV1604; classified through synthesizeSpanClassOf since RV4206, so a judge of either kind and an unknown label never land here). Present only when EVERY synthesize span in the journal carried a label: one unlabelled span would make the split a guess, and the split exists because a guess here read a 54 second judge as a second final composition.packages/core/src/stores/critical-path.ts:78
finalJudgeMs?numberThe post draft half of the split; same condition.packages/core/src/stores/critical-path.ts:108
firstCandidateMs?numberFirst stamp to the FIRST settled composition-side span's end (RV3605): when a candidate deliverable first existed, readable from the archive. The third comparison run held a mechanically accepted candidate 25 minutes before it lost typed, and the only route to that fact was a span dig. Needs everything the wall needs (one segment) plus everything the split needs (every synthesize span labelled, or the milestone would count a judge as a candidate); absent otherwise, never guessed.packages/core/src/stores/critical-path.ts:128
hostRejectedSpansnumberSettled agent spans whose invocation was aborted by the host's finish rejection (RV3702): the journaled hostRejected stamps counted. Unconditional (the stamp is self contained: no label, no segment condition) and zero when none, exactly the live reading of the same run: the layer split (wires fine, document refused by host) stays readable years after the process exited.packages/core/src/stores/critical-path.ts:146
judgeSpans?numberSettled judge-side synthesize spans, counted; same condition.packages/core/src/stores/critical-path.ts:117
lastCandidateMs?numberFirst stamp to the LAST settled composition-side span's end; same conditions. Time to the accepted deliverable exactly when the terminal says deliverableAccepted: true; on a failed run it is when the last LOSING candidate settled, so pair it with the acceptance verdict and never read it as a win on an error terminal.packages/core/src/stores/critical-path.ts:137
postFanIn?JournaledPostFanInThe window itemization a journal CAN answer (RV3404); present exactly when postFanInMs is.packages/core/src/stores/critical-path.ts:151
postFanInMs?numberLast worker settle to the end of the run; same condition.packages/core/src/stores/critical-path.ts:64
postFanInShare?numberpostFanInMs / runWallMs, the RV2210 target's own quantity.packages/core/src/stores/critical-path.ts:66
runWallMs?numberFirst stamp to last, absent unless the journal holds ONE segment.packages/core/src/stores/critical-path.ts:62
segmentsnumberHow many segments the journal holds; the wall figures need one.packages/core/src/stores/critical-path.ts:60
semanticJudgeMs?numberSynthesis that IS the claim judge; same all-or-nothing condition.packages/core/src/stores/critical-path.ts:80
synthesisMsnumberSummed wall of settled 'synthesize' spans.packages/core/src/stores/critical-path.ts:51
synthesisShare?numbersynthesisMs / runWallMs, under the same conditions.packages/core/src/stores/critical-path.ts:68
unclassifiedSpansnumberSettled agent spans whose entry records no role, so this fold could not classify them (a journal older than the attribution facts). Nonzero means the counts above are a floor, and saying so is the whole point of the field.packages/core/src/stores/critical-path.ts:58
unclassifiedSynthesisMs?numberSynthesis whose label this fold's classifier does not know (RV4206); same condition. Nonzero means the split beside it is a floor, never silently "composition".packages/core/src/stores/critical-path.ts:95
unclassifiedSynthesisSpans?numberSettled unclassified synthesize spans, counted; same condition.packages/core/src/stores/critical-path.ts:97
workerSpansnumberSettled agent spans that were neither coordination nor synthesis: the fan-out this run actually paid for.packages/core/src/stores/critical-path.ts:49