Skip to content

build(deps): re-pin cloud-commitments-go past #151 and migrate PurchaseResult.Cost (*float64) #446

Closed

Description

@cristim

cloud-commitments-go#151 changed PurchaseResult.Cost from float64 to *float64 (nil = unknown upfront cost), so re-pinning past it is a compile break here. Migration per the #151 review: internal/purchase/execution.go ~941 UpfrontCost: result.Cost needs UpfrontCost made nullable (a *float64 column mapping), and decide how analytics SUM treats NULL; execution.go ~1142 logs cost=%.2f with result.Cost, which compiles but prints a pointer, so dereference it or format explicitly. Do the re-pin and the migration in one PR.

Activity

  1. cristim commented on Sep 29, 2026

    @cristim
    MemberAuthor

    Merged and locally verified: PR #450, merge commit 9cbd6347ad65e31689a6e7512ae2e80091e525c4. The merged tree exactly matches the independently reviewed 83fc56372d2998da9081d018d969158fef12d132 tree.

    Post-merge checks ran against the actual merge commit:

    • Focused API/config race tests passed, including unknown-cost aggregation, valid custom marketplace rejection and preservation of known recurring monthly cost.
    • Fresh local PostgreSQL 17 migration/store/query test passed: NULL, zero and positive upfront remain distinct; monthly cost40 survives by-ID reads; snapshot COPY(NULL), complete-or-unknown totals, explicit JSON null and rollback refusal work.
    • Chromium history/inventory amortization regression passed using the production bundle from the identical frontend tree and fixture API responses. This is local browser proof, not a deployed-cloud purchase test.

    Deployment status is separate from merge verification. The merge automatically triggered development deployment workflows. AWS, Azure and GCP all failed at authentication; Terraform apply was skipped. No manual deployment or production migration was performed, and no production rollout is claimed.

    Rollout requirement: apply and verify migration 000101 before nullable writers, deploy matching frontend/backend, and avoid old readers after NULL rows exist. Development enables automatic migration, but startup intentionally continues on migration failure (internal/server/app.go), so that setting alone does not prove the schema is ready. Production configurations disable automatic migration. Do not retry deployment as a substitute for verifying migration success. The down migration refuses NULL data; it does not convert unknown costs to zero.

    The implementation is verified and this issue is already closed by the merge. Deployment readiness remains conditional on the migration-first rollout above. Main-branch CI is being monitored separately.

  2. cristim commented on Sep 29, 2026

    @cristim
    MemberAuthor

    Final verification update for merge commit 9cbd6347ad65e31689a6e7512ae2e80091e525c4: CI - Build & Test, pre-commit, frontend-build-sentinel and Frontend E2E all passed. The actual-merge local API/config, PostgreSQL and Chromium checks recorded above passed as well.

    The automatic AWS, Azure and GCP deployment workflows failed. Existing public issue #2 tracks the deployment setup work, so no duplicate issue was filed. The implementation is merged and verified; a successful deployment is not claimed. The migration-first rollout requirement above still applies: verify migration 000101 before using nullable writers. No manual production deployment or migration was performed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions