Component dedupe and page split

commit

2026-02-13 · stayairworthy

Same engine kept showing up twice because one logbook entry wrote the serial as "096745-R" and the next as "096745R". Added a normalize step (strip hyphens and spaces, lowercase) and changed install handling to update the existing component in place when the serial matches, rather than stacking duplicates. Also leaned on Sonnet harder for component_type and for inferring replaced_* fields from the aircraft's installed components, and broke the giant aircraft detail page into separate components and compliance routes. The components page is now over a thousand lines on its own, which is its own kind of problem but at least it's not sharing a file anymore.

5 commits across 1 repo (savvyai: 5). 10 files changed. Diff was truncated for summarization.