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
| Property | Type | Description | Defined in |
|---|---|---|---|
citationJudgeMs? | number | Synthesis 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? | number | Settled citation-judge spans, counted; same condition. | packages/core/src/stores/critical-path.ts:89 |
compositionSpans? | number | Settled 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? | number | The 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? | number | Synthesis 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? | number | The post draft half of the split; same condition. | packages/core/src/stores/critical-path.ts:108 |
firstCandidateMs? | number | First 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 |
hostRejectedSpans | number | Settled 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? | number | Settled judge-side synthesize spans, counted; same condition. | packages/core/src/stores/critical-path.ts:117 |
lastCandidateMs? | number | First 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? | JournaledPostFanIn | The window itemization a journal CAN answer (RV3404); present exactly when postFanInMs is. | packages/core/src/stores/critical-path.ts:151 |
postFanInMs? | number | Last worker settle to the end of the run; same condition. | packages/core/src/stores/critical-path.ts:64 |
postFanInShare? | number | postFanInMs / runWallMs, the RV2210 target's own quantity. | packages/core/src/stores/critical-path.ts:66 |
runWallMs? | number | First stamp to last, absent unless the journal holds ONE segment. | packages/core/src/stores/critical-path.ts:62 |
segments | number | How many segments the journal holds; the wall figures need one. | packages/core/src/stores/critical-path.ts:60 |
semanticJudgeMs? | number | Synthesis that IS the claim judge; same all-or-nothing condition. | packages/core/src/stores/critical-path.ts:80 |
synthesisMs | number | Summed wall of settled 'synthesize' spans. | packages/core/src/stores/critical-path.ts:51 |
synthesisShare? | number | synthesisMs / runWallMs, under the same conditions. | packages/core/src/stores/critical-path.ts:68 |
unclassifiedSpans | number | Settled 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? | number | Synthesis 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? | number | Settled unclassified synthesize spans, counted; same condition. | packages/core/src/stores/critical-path.ts:97 |
workerSpans | number | Settled agent spans that were neither coordination nor synthesis: the fan-out this run actually paid for. | packages/core/src/stores/critical-path.ts:49 |