Files
anonymous_github/backend/reports/zip-streaming-deployment.json
T

72 lines
2.7 KiB
JSON

{
"implementation": "One commit-pinned GitHub tar stream with bounded download/verification, transformation, and ZIP output stages. Optional provider.Archives capability; per-file fallback for other providers and archive export/LFS exceptions.",
"deployment": {
"hostname": "beta.durieux.me",
"image": "sha256:bc8d7ce53a706f7ac8d755015455542494acd1cfc8acb538d509586a1d539da9",
"healthy": true,
"checksPassed": 133,
"temporaryKeyRevoked": true,
"testRepositoryRemoved": true
},
"sameCommitOutputParity": {
"zipEntries": 5,
"zipManifestSHA256": "e6fdc1385a4d0b50e3deea32ab2fcf34de88d1147ed5001b81cbd0968dcf5a81",
"zipSourceCommit": "912f3c897c5ac1bbc225f65cfd1387579fb3385e"
},
"validation": [
"Client receives first ZIP payload while test upstream is paused before second file",
"Exactly one archive request and zero individual blob requests for normal streamed fixture",
"Cancellation closes upstream and removes temporary files",
"Corrupt gzip, changed repository revision, duplicate paths and anonymized-name collisions abort without finalizing ZIP",
"Git export-ignore/export-subst fallback preserves original blobs",
"GitHub global PAX header, path validation, symlink-as-blob handling and redirect credential stripping",
"Race-enabled multi-batch ZIP and second-provider lifecycle tests passed",
"Race-enabled final streaming integration tests passed",
"Empty files and size limits for archive providers without verifiers tested",
"go vet passed"
],
"limits": [
"Text regex transformation still stages one complete file; not arbitrary chunk-by-chunk substitution",
"ZIP central-directory and duplicate-name metadata grow with entry count",
"Every archive download makes a fresh GitHub archive request, including when individual files are cached",
"The initial live validation fixture has 5 files. A subsequent 1,128-file streaming memory measurement is recorded separately in zip-streaming-live-memory.json. The earlier local ZIP benchmark is a different workload."
],
"liveTiming": {
"before": [
{
"bytes": 7176,
"firstBodyByteMs": 67,
"elapsedMs": 508
},
{
"bytes": 7171,
"firstBodyByteMs": 69,
"elapsedMs": 130
},
{
"bytes": 7171,
"firstBodyByteMs": 66,
"elapsedMs": 130
}
],
"after": [
{
"bytes": 7171,
"firstBodyByteMs": 705,
"elapsedMs": 845
},
{
"bytes": 7171,
"firstBodyByteMs": 547,
"elapsedMs": 589
},
{
"bytes": 7171,
"firstBodyByteMs": 524,
"elapsedMs": 571
}
]
},
"memoryMeasurement": "zip-streaming-live-memory.json"
}