Repository navigation
Add support for new data - #211
Conversation
|
Ratatoskr reviewed this pull request. Changes requested on Finished 2026-10-17 16:28 UTC. |
fank
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES — 2 correctness findings, including silent loss of placed-object data.
Review details
Reviewed head 6a64adc251c4e27f413b08f96bcfe3e6a5793076.
-
[P2] Persist the new placed-object fields through the database converter.
internal/model/model.go:624–625: adding the columns is insufficient becauseCoreToPlacedObject(internal/model/convert/to_gorm.go:305–319) never copiesDirectionorMarkerIcon. PostgreSQL calls that converter inAddPlacedObject, and SQLite embeds the same backend. Consequently every trench recorded through either database backend silently loses its heading and custom icon. A conversion repro withDirection:137.5, MarkerIcon:"trench_long"returns0, "". Copy both fields and add a converter regression test. -
[P2] Include the remaining exported timestamps in the new mission-end calculation.
internal/storage/memory/export/v1/frames.go:38–44: this checks top-level hit events but omits hits nested underPlacedObjects, which both exporters separately emit. With the last soldier state at internal frame 10 and a placed-object hit at frame 40,BuildproducesendFrame:9alongside a hit event at frame 39, still outside playback. Projectile hits/trajectory points and marker changes are also absent from this scan. Account for the timestamps emitted by those paths and pin the late nested-event case for both Build and Stream.
Verification
PATH=/tmp/go1272/go/bin:$PATH go test ./internal/...— passed.- Two focused regression tests in an external copy (
/tmp/ocap211-repro), run withgo test ./internal/model/convert ./internal/storage/memory/export/v1 -run TestReview -count=1— failed as expected, reproducing the exact values above. The reviewed checkout was not modified. - Full
go test ./...could not buildcmd/ocap_recorderandpkg/a3interface: this environment hasCGO_ENABLED=0and no GCC. Docker fallback was unavailable because access to its daemon socket is denied. - GitHub
testandbuildchecks passed. The failed coverage-report job ends withResource not accessible by integration (addComment); that is a reporting-permissions failure, not evidence of a code defect. - GraphQL review-thread enumeration returned no threads (
hasNextPage:false); there are no earlier discussions to resolve or continue.
Database backends dropped placed-object direction and icon, and the v1 end frame stopped before placed-object hits, projectile samples and marker moves.
|
Ratatoskr reviewed this pull request. Approved on Finished 2026-10-17 19:58 UTC. |
fank
left a comment
There was a problem hiding this comment.
APPROVE — 0 blocking findings.
Review details
Reviewed head d6ed4dd62ab0ca3036c8aaef3292e9a7241f7239 against the base, including surrounding parser, worker, storage and export code and the addon sender contract.
- Snapshot commands retain the existing general-event storage path; snapshot
diffOfreferences are rebased consistently with exported event frames. - Both exporters include radio transmissions and placed-object icons/headings. Shared frame accounting includes late events, time samples and nested marker/projectile timestamps. Tests cover legacy placed-object calls, snapshot rebasing, late timestamps and exporter equivalence.
- No existing review threads were returned by the GraphQL review-thread query (pagination exhausted); none resolved or skipped.
Verification: With /tmp/go-toolchain/go/bin prepended to PATH, go vet ./internal/... passed. go test ./... passed all internal packages and pkg/core, but failed overall in the CGo-dependent entry-point/interface packages with CGo disabled. Retrying with CGO_ENABLED=1 could not compile because gcc is unavailable. Docker access is also denied, so native DLL/shared-library builds were not run locally. No checkout files were modified.
GitHub test and build jobs passed. The coverage-report job failed while posting its report (Resource not accessible by integration (addComment)), not from a test or coverage assertion failure.
Stores and exports the new recording data from OCAP2/addon#128
Added
Fixed