{
  "project": "Groma",
  "checkedOn": "2026-10-03",
  "sourceRevision": "c058543c66e24f42ae377f7cb417719ca7360029",
  "scope": "One offline synthetic API lifecycle test; not browser or production E2E",
  "testSource": "pipeline/tests/service/test_service_e2e.py::test_full_lifecycle_upload_to_download",
  "result": {
    "passed": 1,
    "failed": 0,
    "durationSeconds": 0.76,
    "warnings": 93,
    "warningDetails": "88 FastAPI coroutine deprecations and 5 SWIG import deprecations; one additional SWIG warning at interpreter shutdown"
  },
  "coverage": [
    "Start a run using a synthetic two_room_shared_wall PDF seeded into in-memory storage",
    "Confirm sheet selection and submit scripted answers to missing-source questions through the API",
    "Review quantities, change one space ceiling height from 8 to 9 feet, and queue quantification and pricing",
    "Observe a new quantities revision tied to the expected overrides hash and a changed price",
    "Approve a named bid revision with its hash and reach completed export generation",
    "Retrieve export records and locally resolve their signed download URLs"
  ],
  "fixtureConfiguration": {
    "http": "In-process FastAPI TestClient, not a browser or deployed service",
    "dataAndStorage": "InMemoryDataAdapter and InMemoryStorageAdapter",
    "authentication": "Locally generated ES256 key with StaticKeySource; no remote identity service",
    "model": "Scripted transport responses, not live model calls",
    "scriptedModelRequests": 5,
    "executor": "ThreadExecutor",
    "sheetSelectionAutoConfirm": false,
    "sheetSelectionNote": "The test disables automatic sheet confirmation, unlike the committed default configuration",
    "fixtureGitSha": "deadbeefcafe0123",
    "provenanceNote": "The untouched fixture uses a placeholder ServiceContext.git_sha; sourceRevision above identifies the actual committed code tested"
  },
  "exportObservations": {
    "xlsx": {
      "bytes": 11031,
      "zipSignature": true,
      "validation": "XLSX bytes retrieved with a PK ZIP signature; workbook contents and visual formatting were not independently reviewed"
    },
    "pdf": {
      "bytes": 4359,
      "pdfSignature": false,
      "observedFormat": "HTML fallback",
      "errorNote": "html_render_native_libs_absent",
      "cause": "The native PDF renderer could not load libgobject-2.0-0 in this runtime",
      "validation": "No rendered PDF was validated; the selected test accepts nonempty PDF-kind output and does not require a PDF signature"
    },
    "goldenChecks": "Both export records reported pass under the fixture contract; that result does not establish a valid PDF"
  },
  "isolation": [
    "Committed source extracted with git archive; unrelated worktree changes excluded",
    "Network denied, environment cleared, dotenv loading and live reads disabled; .env file reads denied",
    "Existing Python environment used without dependency installation or source changes",
    "Pytest plugin autoload, bytecode and pytest cache disabled; no external database or storage accessed"
  ],
  "runNote": "The first invocation failed before Python started because the sandbox blocked interpreter realpath metadata. Allowing that metadata traversal, while keeping original-worktree file-content and .env reads denied, enabled the successful test run. Product and test source were unchanged.",
  "limits": [
    "Upload bytes were seeded in storage; no browser upload or browser-to-service workflow was tested",
    "In-memory adapters and locally resolved signed URLs do not verify deployed Postgres, identity or object storage",
    "Scripted answers and model responses do not establish real operator usability or live model quality",
    "No customer plans, production services, adoption, accuracy, reliability or savings measurement",
    "No Groma-to-Minera handoff was verified",
    "PDF-kind output was HTML fallback, not a validated PDF; XLSX inspection was limited to retrieval and its ZIP signature"
  ]
}
