Files
logpile/bible-local
Mikhail ChusavitinandClaude Sonnet 5 3311bafd8e feat(inspur_legacy): new parser for pre-Kaytus Inspur onekeylog
Older AMI-BMC Inspur onekeylog archives (NF5466M5 / NF5280M5 generation)
opened to an empty result: they carry none of the files the inspur parser
keys on (no asset.json, devicefrusdr.log, selelist.csv or component.log).

New package internal/parser/vendors/inspur_legacy (vendor id inspur_legacy),
separate from inspur:
- binary IPMI FRU decode (FRU.bin) -> board identity
- Inspur_AssetInfoInventory.log -> CPU / memory / PCIe / PSU inventory
- events from Inspur_<model>_<serial>_IDL, sel.log, blackbox.log,
  MegaRAID raid0.log, and the flat AMI <severity>.log files
- no live sensors in this archive class -> recorded as a collection error
- BMC clock timestamps before 2010 dropped as un-set (1970 / ~2005 RTC)

Registry: add optional PrioritizedParser { DetectPriority() int } so a
confidence tie is broken by specificity. inspur_legacy returns 10 and also
declines (Detect 0) when modern Kaytus markers are present, so the two
Inspur parsers never fight over a newer dump.

Docs: ADL-065, 06-parsers.md, releases/v1.32.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017VL8wLGD6Lnp6hZCpqT6cZ
2026-09-02 12:51:53 +03:00
..

LOGPile Bible

bible-local/ is the project-specific source of truth for LOGPile. Keep top-level docs minimal and put maintained architecture/API contracts here.

Rules

  • Documentation language: English only
  • Update relevant bible files in the same change as the code
  • Record significant architectural decisions in 10-decisions.md
  • Do not duplicate shared rules from bible/

Read order

File Purpose
01-overview.md Product scope, modes, non-goals
02-architecture.md Runtime structure, state, main flows
04-data-models.md Stable data contracts and canonical inventory
03-api.md HTTP endpoints and response contracts
05-collectors.md Live collection behavior
06-parsers.md Archive parser framework and vendor coverage
07-exporters.md Raw export, Reanimator export, batch convert
docs/hardware-ingest-contract.md Reanimator ingest schema mirrored locally
08-build-release.md Build and release workflow
09-testing.md Test expectations and regression rules
10-decisions.md Architectural Decision Log

Fast orientation

  • Entry point: cmd/logpile/main.go
  • HTTP layer: internal/server/
  • Core contracts: internal/models/models.go
  • Live collection: internal/collector/
  • Archive parsing: internal/parser/
  • Export conversion: internal/exporter/
  • Frontend consumer: web/static/js/app.js

Maintenance rule

If a document becomes stale, either fix it immediately or delete it. Stale docs are worse than missing docs.