Parked sketch — asia-VM meaningful-bites-of-insight JSON (2026-06-04)

DARE.CO.UK · PARKED SKETCH · 2026-06-06

Mirrored from ~/.claude/.../memory/parked_sketch_asia_vm_insights_json_2026-06-04.md. This is a design sketch parked for future build — read for context, not as a current deliverable.

Derived digest baker reading transfers-history.jsonl filtered to via=gvr-ingest-singapore; hour-of-day, fastest/slowest sustained, retry-by-hour


Dan said the same turn the rclone_logspeed wrapper shipped:

“I’m thinking a JSON for asia-VM-meaningful-bites-of-insight will be useful later”

Source data: ~/Code/status.gf.cx/data/transfers-history.jsonl, filter via == "gvr-ingest-singapore".

Proposed shape (asia-vm-insights-latest.json):

{
  "ts": "...Z",
  "window": "30d",
  "row_count": N,
  "bytes_total": ...,
  "fastest_sustained_mib_s": { "value": ..., "ts": ..., "src": ..., "dest": ... },
  "slowest_sustained_mib_s": { "value": ..., "ts": ..., "src": ..., "dest": ... },
  "hour_of_day_distribution": {
    "00": { "avg_mib_s": ..., "rows": ... },
    ...
    "23": { "avg_mib_s": ..., "rows": ... }
  },
  "retry_rate_by_hour": { ... },  // share of rows with rc != 0
  "off_peak_recommendation": "..." // narrative pulled from hour distribution
}

Why “meaningful bites”: aligns with user_dashboard_one_two_punch_pattern_2026-06-03 — diagnostics without remediation = trap. The off-peak narrative recommendation turns hour-of-day signal into “schedule next transfer for X:00 EDT” action.

Trigger to build: once we have ≥7 days of VM transfer rows on file (~mid June based on next planned ingest). Bake nightly, surface as a card on status.gf.cx that opens this JSON via /reports.

How to apply: when extending to other hosts (Mac, future ephemeral VMs), parameterize the baker on via so each host gets its own insights JSON. Keep the JSON small enough to read top-to-bottom without scrolling — bites, not feast.

Source: parked_sketch_asia_vm_insights_json_2026-06-04.md · Rendered 2026-06-06 14:45