Skip to content

test(scale): certify the Fly S26 billion-edge round trip #745

Description

@DecisionNerd

Problem

Component tests and laptop observations cannot establish the final billion-edge outcome. The integrated tree needs one reproducible provider-native proof of construction, recovery, queries, portable-v2 verification, clean import, reopen, and exact evidence across a progressive ladder.

Objective

Accept the terminal S26 result from the completed disposable Fly ladder in #900 as GraphForge's final billion-live-edge certification evidence.

Required ladder

S18 -> S19 -> S20 -> S22 -> S24 -> S25 -> S26

  • Every rung uses the same frozen commit, immutable image, generator identity, EF16, seed, public lifecycle, durability, queries, and evidence contracts.
  • Each rung generates its canonical deterministic dataset once and reuses those exact bytes throughout that rung. Smaller rungs are not derived by truncating or remapping larger-scale data.
  • The Mac is control-plane-only and contributes no scale measurements.
  • A failed rung authorizes no larger rung.
  • S20 requires adjacent S18/S19 admission; S26 requires adjacent S24/S25 admission.

Certification requirements

  • Identify the exact commit, OCI digest, Fly region, Machine class per rung, 500 GB volume configuration, OS/tool versions, profiles, seed, and maximum-scale authorization.
  • S26 must produce >=1,000,000,000 live persisted edges after rejects/duplicates/self-loops are reconciled.
  • Complete generate, ordinary staged construction, atomic publication, reopen/recount, deterministic one-hop/two-hop ordered-LIMIT queries, portable-v2 export, full integrity/compatibility verification, clean import, imported reopen/recount, and matching post-import queries.
  • Record per-phase BenchExec wall/CPU/process-tree RSS/physical I/O and GraphForge logical construction/storage/reader/publication evidence.
  • Prove bounded or plateauing RSS across the ladder. Persistent graph size is expected to be disk-bound; material edge-proportional RSS growth is a failure.
  • S20 must fit the four-hour and 4 GiB envelope with reasonable headroom.
  • Every rung must fit the four-hour runaway envelope. S26 must be admitted below the Fly 500 GB maximum with a 15% reserve (<=425 GB projected transient peak).
  • Select the smallest Machine with measured headroom. Peak RSS <=128 GiB remains only an absolute M5 ceiling, never a sizing target or default.
  • Reconcile source/imported counts, query observations, semantic package digest, transport digest, source generation, imported generation, and canonical fingerprints.
  • Preserve prior CURRENT under cancellation, corruption, resource failure, or interrupted finalization; run negative drills at representative bounded scale.
  • Validate closed sanitized evidence independently and check it into a durable reviewable repository location without large data or secrets.
  • Prove complete teardown of Fly Machine(s), volume, app, image attachment, secrets, and temporary token material.

Acceptance criteria

  • test(scale): complete the Fly S18-S26 lifecycle ladder #900 provides complete passing S18-S26 ladder evidence with every authorization gate preserved.
  • S26 live persisted edge count is independently >=1,000,000,000.
  • Full portable-v2 verification precedes clean import, and source/imported reopen results match.
  • Required query observations and canonical fingerprints match before and after import.
  • All per-phase resource and product counters are present, reconciled, sanitized, and schema-valid.
  • Every rung stayed within its declared envelopes, or this issue remains open with the first failure documented.
  • Complete Fly teardown is independently proven.
  • Final evidence/docs PR has exact-head green CI and CI Gate.

Non-goals

A benchmark leaderboard, laptop certification, universal hardware-independent capacity claims, a 24-hour normal-usage story, uploading the billion-edge payload to a registry, or accepting a skipped/interrupted rung.

Relationships

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreCore source code changestestingTest coverage and testing infrastructure

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions