apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/bifrost.git lighthouse.jenkins-x.io/job: release creationTimestamp: "2026-08-29T20:05:24Z" generation: 7 labels: branch: main build: "212" context: release created-by-lighthouse: "true" event-GUID: f3e9a5ec-a3e4-11f1-8a30-02a9c64e3476 lighthouse.jenkins-x.io/baseSHA: 688ebfb177ac2d2a0af15adf3acd4baeb84c1525 lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1788033924053" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: apitaltrade-bifrost-main-release-bj5dr lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 688ebfb177ac2d2a0af15adf3acd4baeb84c1525 lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: bifrost lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: apitaltrade-bifrost-main-release-thcch-from-build-pack-pod provider: github repository: bifrost tekton.dev/pipeline: apitaltrade-bifrost-main-release managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.29 operation: Update time: "2026-08-29T20:10:25Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:completedTimestamp: {} manager: jx-promote-0.6.45 operation: Update time: "2026-08-29T20:11:57Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:status: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-08-29T20:12:53Z" name: greencapitaltrade-bifrost-main-212 namespace: jx resourceVersion: "308156988" uid: ad86adad-0b84-4a00-a53f-f64ad9e2ccfd spec: baseSHA: 688ebfb177ac2d2a0af15adf3acd4baeb84c1525 batchPipelineActivity: {} build: "212" completedTimestamp: "2026-08-29T20:11:24Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: bifrost gitUrl: https://github.com/greencapitaltrade/bifrost.git lastCommitMessage: | fix(asset): drive trips from motion, and stop counting GPS noise as distance Trip detection was producing artefacts rather than trips. For five Piaggio assets on 2026-08-29, `asset_trip` held 6,695 rows of which 2,607 had `gps_points_count <= 1`, 74 began and ended at the same instant, and 5,623 had no distance at all while *zero* rows had a distance of 0. Four causes, each measured before it was changed: * **Ignition steered the state machine.** Asset 345 reported `ignition = false` on 3,506 of 7,692 samples while moving, so every flap closed and reopened the trip — 1,093 trips in one day averaging 18 seconds. Asset 350 reported false on 7,411 of 7,411, which suppressed its trips entirely. Ignition is now recorded and never consulted; motion alone opens and closes a trip. Done in `process_gps_data` too, so the two detectors cannot disagree about what a trip is. * **The minimum-trip guard was never wired in.** `min_trip_distance` and `min_trip_duration` were documented in the module docstring, defined as constants and returned by `get_detection_config` — and read nowhere. A closed trip that clears neither is now discarded rather than stored. * **Distance summed GPS noise.** The old per-segment cap was 2 km, so a parked asset whose fixes wobble booked kilometres. Segments below `position_change_threshold` are dropped, as are those whose implied speed contradicts what both endpoints reported — trip 103515 jumped ~330 m between fixes 13 s apart, 91 km/h, while both reported speed 0. * **`odometer = 0` was stored as a reading.** 16,698 of 37,974 GPS samples carried 0 and none carried NULL, which is what left `start_odometer = 0` on 5,853 trips. Zero now persists as absent. Note the key must be omitted from the create vals, not set to None: `fields.Float.convert_to_column` coerces None to 0.0, which is the same mechanism behind the NULL `distance_km` rows. Also: the window-end closing path hardcoded `distance = 0` instead of measuring like the other two, and a discarded trip could leave the following stop linked to an unrelated earlier trip. Backfill of existing rows is deliberately not in this change. Co-Authored-By: Claude Opus 5 (1M context) lastCommitSHA: 76f567d2c060d87f64c1b245b911427ca9d817e2 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/bifrost/main releaseNotesURL: https://github.com/greencapitaltrade/bifrost/releases/tag/v6.95.8 startedTimestamp: "2026-08-29T20:05:24Z" status: Running steps: - kind: Stage stage: completedTimestamp: "2026-08-29T20:11:24Z" name: Release startedTimestamp: "2026-08-29T20:10:24Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-08-29T20:12:51Z" name: from build pack startedTimestamp: "2026-08-29T20:05:30Z" status: Succeeded steps: - completedTimestamp: "2026-08-29T20:05:51Z" name: Git Clone startedTimestamp: "2026-08-29T20:05:30Z" status: Succeeded - completedTimestamp: "2026-08-29T20:05:57Z" name: Next Version startedTimestamp: "2026-08-29T20:05:51Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:01Z" name: Jx Variables startedTimestamp: "2026-08-29T20:05:57Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:04Z" name: Setup Pip Cache startedTimestamp: "2026-08-29T20:06:02Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:06Z" name: Process Config Templates startedTimestamp: "2026-08-29T20:06:05Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:06Z" name: Update Asset Management Version startedTimestamp: "2026-08-29T20:06:06Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:09Z" name: Check Registry startedTimestamp: "2026-08-29T20:06:06Z" status: Succeeded - completedTimestamp: "2026-08-29T20:10:14Z" name: Build Container Build startedTimestamp: "2026-08-29T20:06:10Z" status: Succeeded - completedTimestamp: "2026-08-29T20:10:25Z" name: Promote Changelog startedTimestamp: "2026-08-29T20:10:15Z" status: Succeeded - completedTimestamp: "2026-08-29T20:10:29Z" name: Promote Helm Release startedTimestamp: "2026-08-29T20:10:25Z" status: Succeeded - completedTimestamp: "2026-08-29T20:12:00Z" name: Promote Jx Promote startedTimestamp: "2026-08-29T20:10:29Z" status: Succeeded - completedTimestamp: "2026-08-29T20:12:51Z" name: Publish Org Kb startedTimestamp: "2026-08-29T20:12:00Z" status: Succeeded - kind: Stage stage: name: from build pack startedTimestamp: "2026-08-29T20:05:30Z" status: Running steps: - completedTimestamp: "2026-08-29T20:05:51Z" name: Git Clone startedTimestamp: "2026-08-29T20:05:30Z" status: Succeeded - completedTimestamp: "2026-08-29T20:05:57Z" name: Next Version startedTimestamp: "2026-08-29T20:05:51Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:01Z" name: Jx Variables startedTimestamp: "2026-08-29T20:05:57Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:04Z" name: Setup Pip Cache startedTimestamp: "2026-08-29T20:06:02Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:06Z" name: Process Config Templates startedTimestamp: "2026-08-29T20:06:05Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:06Z" name: Update Asset Management Version startedTimestamp: "2026-08-29T20:06:06Z" status: Succeeded - completedTimestamp: "2026-08-29T20:06:09Z" name: Check Registry startedTimestamp: "2026-08-29T20:06:06Z" status: Succeeded - completedTimestamp: "2026-08-29T20:10:14Z" name: Build Container Build startedTimestamp: "2026-08-29T20:06:10Z" status: Succeeded - completedTimestamp: "2026-08-29T20:10:25Z" name: Promote Changelog startedTimestamp: "2026-08-29T20:10:15Z" status: Succeeded - completedTimestamp: "2026-08-29T20:10:29Z" name: Promote Helm Release startedTimestamp: "2026-08-29T20:10:25Z" status: Succeeded - name: Promote Jx Promote startedTimestamp: "2026-08-29T20:05:35Z" status: Running - name: Publish Org Kb status: Pending - kind: Promote promote: environment: production pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/5599 startedTimestamp: "2026-08-29T20:11:57Z" status: Succeeded startedTimestamp: "2026-08-29T20:11:57Z" status: Succeeded version: 6.95.8 status: {}