Skip to content

Commit 2a5d23d

Browse files
committed
chore: changelog and plan update for M1 completion
1 parent 1cc0b62 commit 2a5d23d

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,38 @@
33
All notable changes to Submersion are documented in this file.
44

55

6+
## Unreleased
7+
8+
### Added
9+
10+
- MacDive UDDF imports now capture substantially richer dive data: boat
11+
name and captain, dive operator, surface conditions, weather (stored
12+
in the existing weather description field), plus site water type, body
13+
of water, and difficulty rating.
14+
- Cross-format import deduplication: stable per-dive UUIDs from MacDive,
15+
Shearwater Cloud, Subsurface SSRF, and generic UDDF are now preserved on
16+
the `dive_data_sources` sidecar. Re-importing the same dives in a
17+
different format no longer creates duplicates.
18+
19+
### Fixed
20+
21+
- MacDive UDDF: equipment / gear now imports correctly. The parser
22+
previously only scanned Submersion's private equipment extension,
23+
missing the standard UDDF gear location (`<diver><owner><equipment>`)
24+
where MacDive and other compliant exporters place their inventory.
25+
- MacDive UDDF: `<equipmentused><link ref>` is now captured from both
26+
`<informationbeforedive>` and `<informationafterdive>`.
27+
- MacDive UDDF: `<surfaceintervalbeforedive><infinity/></…>` is now
28+
explicitly handled as "no prior dive" rather than relying on silent
29+
int-parse failure.
30+
31+
### Known limitations (to be addressed in a follow-up)
32+
33+
- Gas switch markers (`<switchmix ref>`) in MacDive dive profiles are
34+
parsed but not yet persisted to the profile samples table. A future
35+
milestone will wire them through, likely via the dive-events table.
36+
37+
638
## 1.4.6 (2026-04-22)
739

840
### Bug Fixes

docs/superpowers/plans/2026-04-21-macdive-uddf-gap-fill.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,27 @@
1212

1313
---
1414

15+
## Milestone 1 Status — COMPLETE
16+
17+
- All 12 tasks landed or explicitly skipped (Task 3 proven non-bug; see Task 3 section).
18+
- Schema bumped v69 → v70 (source_uuid on dive_data_sources) → v71
19+
(7 new dive + site metadata columns: dive_number_of_day, boat_name,
20+
boat_captain, dive_operator, surface_conditions on dives; water_type,
21+
body_of_water on dive_sites).
22+
- Cross-format import dedup now works via `dive_data_sources.source_uuid`.
23+
- Parser-to-DB gap closed for MacDive rich fields. `weather` now lands
24+
on the existing weather_description column. difficulty continues to
25+
flow through the DiveSite entity path.
26+
- Dropped from scope: personalMode, altitudeMode, signature, site flag
27+
(niche / redundant). LinkRefKind/LinkRefIndex (Task 2) also removed
28+
after Task 3 investigation showed the bug they targeted didn't exist.
29+
- Known limitation: profile `gasMixRef` (from `<switchmix ref>`) is
30+
parsed but not yet persisted to the profile samples table — deferred
31+
to a future milestone, likely via dive-events.
32+
- Real-sample regression test passes (gated behind `@Tags(['real-data'])`).
33+
34+
---
35+
1536
## File Structure
1637

1738
| File | Role | New / Modified |

0 commit comments

Comments
 (0)