Log fleet_k_q48/fleet_conserved; K holds exactly, 775/775 ticks (FABRIC-3.md §XVIII)
doe_log.c's per-heartbeat-tick CSV gains two columns: fleet_k_q48 (vm_physics_fleet_heat_sum() over ALL live VMs -- the genuine fleet-wide conservation invariant K, not reconstructable from the 3 named-Tripod- member heat columns already logged, which omit every identity VM's own heat) and fleet_conserved (vm_physics_conserved() as 0/1). Requested explicitly after the first heartbeat-telemetry analysis pass (analysis-20260912/) omitted K entirely. Kernel rebuilt on all three architectures, full 3x9x3 campaign rerun (results-20260912-with-k/). K = 1.0000000000 (Q48.16 raw 65536) on every one of 775 heartbeat-tick observations, sd(K) = 0, 100% fleet_conserved, across amd64/aarch64/riscv64, nine identities, three replicates -- zero deviation. Also a free regression check on both recent Stadium fixes (§XVI/§XVII): neither disturbed the reservoir-transfer accounting K depends on. Found and fixed a tooling wrinkle along the way: fleet_conserved, being the CSV row's very last field with nothing after it to bound a regex match, can have a resumed trial digit merge into it with zero separator on the wire -- combine.py now derives it from fleet_k_q48 directly (same epsilon vm_physics_conserved() uses) instead of trusting the raw field. fleet_k_q48 itself is unaffected either way. Full analysis, discussion, and light/dark SVG->PDF figures written up as a proper LaTeX report (report-20260912/report/std79_doe_report.pdf), following experiments/bare_metal/analysis/report/bare_metal_doe_report.tex's established style -- supersedes analysis-20260912/'s markdown-only first pass as the primary deliverable for this dataset (kept, not discarded). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EXieurDfDSsDFdnSyusuWo
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6573a6d1d5
commit
66ba21adb4
@@ -69,14 +69,29 @@ tooling that wants an exact reconstruction of the trial-output stream from these
|
||||
needs to account for that (strip `[HADES][DOE ] ...` fragments and rejoin) rather than assume
|
||||
one physical line is one logical print.
|
||||
|
||||
`analysis-20260912/` builds exactly that reconstruction and turns it into a real 3×9 factorial
|
||||
`analysis-20260912/` builds exactly that reconstruction and turns it into a 3×9 factorial
|
||||
analysis: `correlate_doe.py` labels every heartbeat-tick row with the trial that was active when
|
||||
it printed, `combine.py` merges all three architectures into `combined.csv` (768 rows, Q48.16
|
||||
fields decoded to floats), and `analysis.R` computes per-cell (architecture × identity) means/SD
|
||||
and a two-way ANOVA for each of 12 telemetry metrics, rendering one boxplot SVG per metric. See
|
||||
`analysis-20260912/README.md` for the pipeline and `analysis-20260912/ANALYSIS.md` for the
|
||||
report itself — key findings: identity significantly affects word-heat/window-sizing metrics
|
||||
(expected — different identities execute different word sets), architecture significantly
|
||||
affects timing metrics (APIC ticks/tick, timing variance, fleet heat — expected, different QEMU
|
||||
targets), and **zero architecture × identity interaction on any metric** — the two factors'
|
||||
effects are clean and separable, not confounded.
|
||||
and a two-way ANOVA for each of 12 telemetry metrics, rendering one boxplot SVG per metric.
|
||||
**Superseded by `report-20260912/` below as the primary deliverable** — this first pass never
|
||||
captured K (the fleet conservation invariant) and reported results as plain markdown rather than
|
||||
this project's established LaTeX report style; kept as-is (never discard data), still useful for
|
||||
the 12 secondary metrics' own writeup.
|
||||
|
||||
`results-20260912-with-k/` — `doe_log.c`'s per-tick CSV gained two more columns,
|
||||
`fleet_k_q48`/`fleet_conserved` (`vm_physics_fleet_heat_sum()` over ALL live VMs — the genuine
|
||||
fleet-wide conservation invariant, not reconstructable from the 3 named-Tripod-member heat
|
||||
columns already present), requiring a kernel rebuild + fresh campaign rerun on all three
|
||||
architectures. Same raw-log/heartbeat-CSV pairing as `results-20260912-with-heartbeat-csv/`.
|
||||
|
||||
`report-20260912/` — **the primary deliverable for the heartbeat/K dataset.** Same
|
||||
correlate/combine/R pipeline as `analysis-20260912/`, extended for K, feeding a hand-authored
|
||||
LaTeX report (`report-20260912/report/std79_doe_report.pdf`) built in the same style as
|
||||
`experiments/bare_metal/analysis/report/bare_metal_doe_report.tex` (abstract-first with headline
|
||||
numbers, TOC, light/dark figure pairs, ANOVA tables, discussion, limitations). **Headline
|
||||
result: K = 1.0000000000 (Q48.16 raw 65536) on every one of 775 heartbeat-tick observations,
|
||||
sd(K) = 0, 100% conserved, across all three architectures, nine identities, and three
|
||||
replicates — zero deviation.** See `report-20260912/README.md` for the full pipeline and the
|
||||
report itself for the complete analysis and discussion, including why this also serves as a
|
||||
free regression check on the two Stadium fixes (§XVI–XVII) that landed the same week.
|
||||
|
||||
Reference in New Issue
Block a user