Files
logpile/bible-local/07-exporters.md
2026-03-15 16:35:16 +03:00

1.9 KiB

07 — Exporters

Export surfaces

Endpoint Output Purpose
GET /api/export/csv CSV Serial-number export
GET /api/export/json raw-export ZIP bundle Reopen and re-analyze later
GET /api/export/reanimator JSON Reanimator hardware payload
POST /api/convert async ZIP artifact Batch archive-to-Reanimator conversion

Raw export

Raw export is not a final report dump. It is a replayable artifact that preserves enough source data for future parser improvements.

Current bundle contents:

  • raw_export.json
  • collect.log
  • parser_fields.json

Design rules:

  • raw source is authoritative
  • uploads of raw export must replay from raw source
  • parsed snapshots inside the bundle are diagnostic only

Reanimator export

Implementation files:

  • internal/exporter/reanimator_models.go
  • internal/exporter/reanimator_converter.go
  • internal/server/handlers.go

Conversion rules:

  • canonical source is hardware.devices
  • timestamps are RFC3339
  • status is normalized to Reanimator-friendly values
  • missing PCIe serials may be generated from board serial + slot
  • NULL-style board manufacturer/product values are treated as absent

Inclusion rules

Included:

  • empty memory slots (present=false) for topology visibility
  • PCIe-class devices even when serial must be synthesized

Excluded:

  • storage without serial_number
  • power supplies without serial_number
  • non-present network adapters
  • device-bound firmware duplicated at top-level firmware list

Batch convert

POST /api/convert accepts multiple supported files and produces a ZIP with:

  • one *.reanimator.json file per successful input
  • convert-summary.txt

Behavior:

  • unsupported filenames are skipped
  • each file is parsed independently
  • one bad file must not fail the whole batch if at least one conversion succeeds
  • result artifact is temporary and deleted after download