- 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>
Project Bible
The Bible is the single source of truth for this project's architecture.
Documentation Rules
- All architecture decisions must be recorded in this Bible.
- The documentation language is English only.
- If a decision is superseded, update the Bible immediately and remove or mark obsolete content.
- Do not duplicate architecture documentation in
README.md,claude.md, or other files.
Structure
governance/documentation-policy.md- mandatory rules for maintaining architecture docs.architecture/system-overview.md- current scope, boundaries, and high-level system composition.architecture/api-surface.md- HTTP API and UI route contracts.architecture/runtime-flows.md- ingest, timeline, status, and failure invariants.architecture/ui-information-architecture.md- required UI structure and semantics.architecture/data-model.md- domain language, core tables, and migration boundaries.docs/- migrated operational and implementation documentation (formerly/docs).decisions/README.md- how to capture new and updated architecture decisions.