You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: analysis/text.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -496,7 +496,7 @@ Compact fairness view for the shared-broker families. Column guide: Min and Max
496
496
497
497
@table routing_fitness_stale_repair_summary
498
498
499
-
Compact stale-information repair view. Column guide: Persist is the mean bad-route persistence after the first disruptive topology change, Recov. is recovery success, Unrec. is mean unrecovered-after-loss count, Loss is the first-loss round, and Churn is mean route churn.
499
+
Compact stale-information repair view. Column guide: Persist is the mean bad-route persistence after the first disruptive topology change, Route is total-window route presence, Unrec. is mean unrecovered-after-loss count, Loss is the first-loss round, and Churn is mean route churn. Recovery-event success is still exported in the CSV, but it is not used as the headline because many stale scenarios never enter a loss/recovery event path.
500
500
501
501
### Routing-Fitness Figure Context
502
502
@@ -519,15 +519,15 @@ The broker detail labels summarize how much of the visible route activity still
519
519
520
520
@figure routing_fitness_stale_repair
521
521
522
-
Bad-route persistence after delayed or asymmetric observations. Shorter bars are better because they mean the engine stops trusting stale routing state quickly after disruption. The labels show recovery success and unrecovered counts so the figure separates fast cleanup from cleanup that still fails to recover.
522
+
Bad-route persistence after delayed or asymmetric observations. Shorter bars are better because they mean the engine stops trusting stale routing state quickly after disruption. The labels show total-window route presence and unrecovered counts so the figure separates fast cleanup from cleanup that still leaves the objective unavailable.
523
523
524
524
### Routing-Fitness Takeaways
525
525
526
526
- In the high search-burden crossover band, {search_high_engines} lead at {search_high_route} permille total-window route presence with {search_high_recovery} permille recovery success.
527
527
- In the high maintenance-benefit crossover band, {maintenance_high_engines} lead at {maintenance_high_route} permille total-window route presence with {maintenance_high_recovery} permille recovery success.
528
528
- Under shared-broker contention, `Shared corridor` is best handled by {shared_corridor_engines} at {shared_corridor_min_route} permille minimum per-flow route presence, while `Detour choice` is best handled by {detour_choice_engines} at {detour_choice_min_route} permille.
529
529
- The harshest fairness tail is currently `{worst_starvation_family}`, where `{worst_starvation_engine}` still records {worst_starvation_value} starved objectives on average.
530
-
- In the stale-repair surface, `Recovery window` is best handled by {stale_best_engines} at {stale_best_persistence} rounds of stale persistence and {stale_best_recovery} permille recovery success, while the worst stale overcommit is `{worst_stale_family}` under `{worst_stale_engine}` at {worst_stale_persistence} rounds and only {worst_stale_recovery} permille recovery success.
530
+
- In the stale-repair surface, `Recovery window` is best handled by {stale_best_engines} at {stale_best_persistence} rounds of stale persistence and {stale_best_route} permille route presence, while the worst stale overcommit is `{worst_stale_family}` under `{worst_stale_engine}` at {worst_stale_persistence} rounds and only {worst_stale_route} permille route presence.
531
531
- Taken together, the new evidence says the candidate direction is {routing_fitness_envelope}.
Copy file name to clipboardExpand all lines: docs/305_profile_reference.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,4 +48,4 @@ graph LR
48
48
49
49
The reference end-to-end examples are the split `reference-client` tests in [`crates/reference-client/tests/client_builder.rs`](../crates/reference-client/tests/client_builder.rs), [`crates/reference-client/tests/e2e_pathway_shared_network.rs`](../crates/reference-client/tests/e2e_pathway_shared_network.rs), [`crates/reference-client/tests/e2e_batman_pathway_handoff.rs`](../crates/reference-client/tests/e2e_batman_pathway_handoff.rs), [`crates/reference-client/tests/e2e_olsrv2_shared_network.rs`](../crates/reference-client/tests/e2e_olsrv2_shared_network.rs), and [`crates/reference-client/tests/e2e_olsrv2_pathway_handoff.rs`](../crates/reference-client/tests/e2e_olsrv2_pathway_handoff.rs), plus the shared scenarios in [`crates/testkit/src/reference_client_scenarios.rs`](../crates/testkit/src/reference_client_scenarios.rs). They show how to add a new client runtime to the same in-memory network without bypassing the bridge-owned ingress path or the router-owned canonical path.
50
50
51
-
For walkthroughs on implementing a custom link or a custom node profile, see [Custom Transport](505_custom_transport.md) and [Custom Device](506_custom_device.md). For the full dependency graph and ownership rules the profile crates fit into, see[Crate Architecture](999_crate_architecture.md).
51
+
For custom link or node profile work, start from the in-tree builders in `jacquard-mem-link-profile` and `jacquard-mem-node-profile`, then validate the ownership boundaries against[Crate Architecture](999_crate_architecture.md).
Copy file name to clipboardExpand all lines: docs/307_experimental_methodology.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ The same discipline applies to policy parameters when a comparison covers polici
38
38
39
39
## The Pipeline From Experiment To Report
40
40
41
-
A simulator run produces `runs.jsonl`, `aggregate_summary.json`, and `breakdown_summary.json`under the run directory. Diffusion runs add `diffusion_runs.jsonl` plus the diffusion aggregate and boundary summaries. Head-to-head runs add `head_to_head_summary.csv`. Model-lane runs add `model_artifacts.jsonl`as a validation companion rather than a scoring input.
41
+
A simulator run produces a per-run log plus aggregate and breakdown JSON files under the run directory. Diffusion runs add their own per-run log plus diffusion aggregate and boundary summaries. Head-to-head reductions are exported into the generated report directory. Model-lane runs add model artifacts as validation companions rather than scoring inputs.
42
42
43
43
The `analysis/` Python package reads those artifacts. `data.py` loads them into Polars frames. `scoring.py` derives per-run metrics. `tables.py` produces CSV tables. `plots.py` produces vector plots. `sections.py` composes report sections. `report.py` is the entry that assembles the PDF.
Copy file name to clipboardExpand all lines: docs/505_custom_transport.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,4 +104,4 @@ The composed profile plugs into the reference client's `ClientBuilder` or into a
104
104
105
105
The minimum composition wires three things together. First, a router that owns canonical route publication. Second, one or more engines registered on that router, each holding a queue-backed `TransportSenderEffects` handle. Third, a host bridge that owns the `TransportDriver`, drains ingress, stamps `Tick`, and advances the router through synchronous rounds.
106
106
107
-
For the full capstone that composes a custom transport, a custom engine, and a custom device profile end to end, see [Bringing It Together](507_bringing_it_together.md).
107
+
For end-to-end host composition patterns, see [Client Assembly](503_client_assembly.md) and [Crate Architecture](999_crate_architecture.md).
Copy file name to clipboardExpand all lines: docs/506_custom_device.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ let node = NodePreset::route_capable(options, &PATHWAY_ENGINE_ID).build();
51
51
52
52
Engine eligibility is encoded through the node's service descriptors. Only engines whose `RoutingEngineId` appears in the node's service surface are eligible to produce route candidates toward that node. A custom device that implements a custom engine tags the engine id in its service descriptor; see [Custom Engine](504_custom_engine.md).
53
53
54
-
For a device profile to advertise multiple services or multi-engine eligibility, compose the descriptors manually through `SimulatedServiceDescriptor` builders. `ServiceKind` distinguishes `Discover`, `Move`, `Hold`, and other service classes.
54
+
For a device profile to advertise multiple services or multi-engine eligibility, compose the descriptors manually through `SimulatedServiceDescriptor` builders. `RouteServiceKind` distinguishes `Discover`, `Move`, `Hold`, and other service classes.
0 commit comments