Commit Graph

7 Commits

Author SHA1 Message Date
Mikhail Chusavitin
3dbd359d4e Canonical component types, Compare config UI
- Rename parser_hardware.go component type keys to canonical values:
  pcie -> pcie_device, psu -> power_supply
- Update normalizeComponentType to map legacy aliases (pci, psu, dimm,
  ram, processor, network_adapter, etc.) to canonical keys; treat
  "null"/"-" as unknown
- componentTypeTitle handles new canonical keys (pcie_device,
  power_supply)
- Assets list: add Compare config action — opens new window with
  slot-diff and model-count-diff tables for selected servers
- Archive Actions section spec in ui-information-architecture.md
- Add tests: normalizeComponentType aliases, componentTypeTitle aliases,
  FlattenHardwareComponents canonical type keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 14:34:22 +03:00
4c284505a8 Async ingest, deferred history, batch delete, vendor normalization, CI identifiers
- history/worker: fix deadlock by moving stale job requeue out of claimNextJob
  into dedicated staleJobRequeuer goroutine (runs every 2 min)
- history/service,tx_apply,cross_entity: add deferred=true mode — write events+
  snapshots but skip projection updates; queue recompute after commit
- ingest/service: IngestHardwareDeferred uses deferred mode; CSV workers up to 8
  (INGEST_CSV_WORKERS env); serial/prefetch lookups use normalize.SerialKey
- api/ingest: JSON /ingest/hardware now async (202 + job_id); new GET
  /ingest/hardware/jobs/{id} endpoint; CSV already async
- history/admin_cancel: replace per-event softDelete loop with batchSoftDeleteEvents
  using IN-clause chunks of 500 to prevent request timeout on large deletes
- normalize: new internal/normalize package with VendorKey, VendorDisplay,
  VendorDisplayPtr, SerialKey, FirmwareKey
- ingest/parser_hardware: vendor fields use normalize.VendorDisplayPtr
- migrations/0021_ci_identifiers: change identifier columns to utf8mb4_unicode_ci
  (case-insensitive) in parts, machines, observations, machine_firmware_states
- bible submodule: update to add identifier-normalization contract

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 22:23:17 +03:00
f9ff0e10ff Improve UI views for assets/components/failures and timeline details 2026-02-15 23:26:12 +03:00
929bf9c524 ingest: add status history support and drop status_at_collection 2026-02-15 22:53:15 +03:00
5518c3b405 feat: update ingest, registry, and UI flows 2026-02-15 21:50:35 +03:00
849235be22 Add PCIe link width and speed fields to hardware ingest
Fixes 400 Bad Request error when ingesting hardware snapshots that include
PCIe link speed information (link_width, link_speed, max_link_width, max_link_speed).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 21:53:44 +03:00
66a3166276 Add hardware ingest flow and UI upload 2026-02-11 21:57:34 +03:00