Skip to content

Persist unit config - OM-395#4579

Merged
rolosp merged 1 commit into
mainfrom
feat/om-395-persist-unit-config
Jun 29, 2026
Merged

Persist unit config - OM-395#4579
rolosp merged 1 commit into
mainfrom
feat/om-395-persist-unit-config

Conversation

@rolosp

@rolosp rolosp commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Overview

Adds a unit_config jsonb column to the shared rate-card Ent mixin (plan + addon
rate cards), ChargeUsageBased, and ChargeUsageBasedOverride, with a value scanner
and migration, and wires the field through every owned write/read path.

Where it's wired

  • Plan & addon rate-card adapters: entity mapping (To/FromDB) and the bulk-create
    Set* chain (the two paths that silently diverge).
  • Charge adapter: create, update, and read mapping — unit_config lives in
    IntentMutableFields alongside price/discounts, so it's mutable and set on create
  • update for the base charge and the intent override.
  • Round-trip persistence test at each write site (plan, addon, charge base +
    override).

Safety / rollout
Additive and gated: authoring is rejected unless unitConfig.enabled is set, so
with the flag off the column is always NULL and behavior is unchanged. Nothing
reads unit_config in rating yet (separate ticket), so this is a no-op in
production.

Out of scope (own tickets)
Invoice-line snapshot, subscription-sync population of the charge intent and the rating mutator.

Summary by CodeRabbit

  • New Features
    • Added end-to-end support for unit conversion settings (unit_config) across rate cards, usage-based charges, and charge overrides.
    • Usage-based charge intents and overrides now snapshot and validate unit_config, with proper deep-copy behavior.
  • Bug Fixes
    • Fixed missing unit_config mapping on charge and override reads, and ensured create/update flows correctly persist or clear unit_config.
  • Tests
    • Added deterministic round-trip tests covering persistence, updates, and clearing of unit_config across base and override intent layers.

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d4cb6dbd-2819-4c9a-ab83-544d166d1c3e

📥 Commits

Reviewing files that changed from the base of the PR and between 6b30066 and e85ba4b.

⛔ Files ignored due to path filters (25)
  • openmeter/ent/db/addonratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard/addonratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased/chargeusagebased.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride/chargeusagebasedoverride.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/migrate/schema.go is excluded by !**/ent/db/**
  • openmeter/ent/db/mutation.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard/planratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/runtime.go is excluded by !**/ent/db/**
  • openmeter/ent/db/setorclear.go is excluded by !**/ent/db/**
  • tools/migrate/migrations/atlas.sum is excluded by !**/*.sum, !**/*.sum
📒 Files selected for processing (19)
  • openmeter/billing/charges/usagebased/adapter/charge.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride_test.go
  • openmeter/billing/charges/usagebased/adapter/mapper.go
  • openmeter/billing/charges/usagebased/charge.go
  • openmeter/billing/worker/subscriptionsync/service/reconciler/patchchargeusagebased.go
  • openmeter/ent/schema/chargesusagebased.go
  • openmeter/ent/schema/productcatalog.go
  • openmeter/ent/schema/ratecard.go
  • openmeter/productcatalog/addon/adapter/adapter_test.go
  • openmeter/productcatalog/addon/adapter/addon.go
  • openmeter/productcatalog/addon/adapter/mapping.go
  • openmeter/productcatalog/addon/assert.go
  • openmeter/productcatalog/plan/adapter/adapter_test.go
  • openmeter/productcatalog/plan/adapter/mapping.go
  • openmeter/productcatalog/plan/adapter/phase.go
  • openmeter/productcatalog/plan/assert.go
  • tools/migrate/migrations/20260625202530_add_unit_config.down.sql
  • tools/migrate/migrations/20260625202530_add_unit_config.up.sql
✅ Files skipped from review due to trivial changes (2)
  • openmeter/billing/worker/subscriptionsync/service/reconciler/patchchargeusagebased.go
  • openmeter/productcatalog/addon/adapter/adapter_test.go
🚧 Files skipped from review as they are similar to previous changes (17)
  • openmeter/billing/charges/usagebased/adapter/mapper.go
  • tools/migrate/migrations/20260625202530_add_unit_config.up.sql
  • tools/migrate/migrations/20260625202530_add_unit_config.down.sql
  • openmeter/productcatalog/addon/assert.go
  • openmeter/billing/charges/usagebased/adapter/charge.go
  • openmeter/productcatalog/addon/adapter/addon.go
  • openmeter/ent/schema/productcatalog.go
  • openmeter/productcatalog/plan/assert.go
  • openmeter/productcatalog/plan/adapter/phase.go
  • openmeter/ent/schema/chargesusagebased.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride_test.go
  • openmeter/productcatalog/plan/adapter/adapter_test.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride.go
  • openmeter/productcatalog/addon/adapter/mapping.go
  • openmeter/productcatalog/plan/adapter/mapping.go
  • openmeter/ent/schema/ratecard.go
  • openmeter/billing/charges/usagebased/charge.go

📝 Walkthrough

Walkthrough

Adds UnitConfig storage and round-trip handling for usage-based charges and rate cards. The Ent schemas, generated builders/models, adapters, migrations, and tests now read, write, validate, and compare the new field.

Changes

UnitConfig persistence

Layer / File(s) Summary
Shared contract and schema
openmeter/ent/schema/productcatalog.go, openmeter/ent/schema/ratecard.go, openmeter/ent/schema/chargesusagebased.go, tools/migrate/migrations/20260625202530_add_unit_config.up.sql, tools/migrate/migrations/20260625202530_add_unit_config.down.sql
UnitConfig is added to the shared scanner, Ent schemas, and add/drop migrations.
Addon and usage-based charge storage
openmeter/ent/db/addonratecard*, openmeter/ent/db/chargeusagebased*, openmeter/ent/db/mutation.go, openmeter/ent/db/runtime.go, openmeter/ent/db/setorclear.go, openmeter/ent/db/migrate/schema.go
UnitConfig is added to generated models, query metadata, mutation state, create/update/upsert flows, runtime scanners, and schema index/column offsets for addon and usage-based charge tables.
Override and plan rate card storage
openmeter/ent/db/chargeusagebasedoverride*, openmeter/ent/db/planratecard*, openmeter/ent/db/mutation.go, openmeter/ent/db/runtime.go, openmeter/ent/db/setorclear.go, openmeter/ent/db/migrate/schema.go
UnitConfig is added to generated models, query metadata, mutation state, create/update/upsert flows, runtime scanners, and schema index/column offsets for override and plan rate card tables.
Adapters and round-trip tests
openmeter/billing/charges/usagebased/adapter/*, openmeter/productcatalog/addon/adapter/*, openmeter/productcatalog/plan/adapter/*, openmeter/billing/worker/subscriptionsync/service/reconciler/patchchargeusagebased.go
UnitConfig is mapped through usage-based billing and product catalog rate-card adapters, with round-trip coverage and fixture updates.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

release-note/feature, area/billing, area/product-catalog

Suggested reviewers

  • tothandras
  • chrisgacsal
  • GAlexIHU
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 69.77% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: persisting unit config across the billing and product catalog paths.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/om-395-persist-unit-config

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rolosp rolosp added the release-note/misc Miscellaneous changes label Jun 26, 2026
@greptile-apps

greptile-apps Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds unit_config persistence for rate cards and usage-based charges. The main changes are:

  • Adds nullable unit_config columns and Ent schema support.
  • Maps unit_config through direct plan and add-on rate-card reads and writes.
  • Persists unit_config on usage-based charge base and override intents.
  • Adds round-trip tests for direct rate-card and charge persistence paths.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
openmeter/productcatalog/plan/adapter/mapping.go Direct plan rate-card mapping now carries UnitConfig between DB rows and domain values.
openmeter/productcatalog/addon/adapter/mapping.go Direct add-on rate-card mapping now carries UnitConfig between DB rows and domain values.
openmeter/billing/charges/usagebased/adapter/charge.go Usage-based charge create and update paths now persist or clear the base intent UnitConfig.
openmeter/billing/charges/usagebased/adapter/intentoverride.go Usage-based charge override create, update, and read paths now include UnitConfig.
openmeter/ent/schema/ratecard.go The shared rate-card schema now includes nullable JSON unit_config storage.
openmeter/ent/schema/chargesusagebased.go Usage-based charge and override schemas now include nullable JSON unit_config storage.
tools/migrate/migrations/20260625202530_add_unit_config.up.sql The migration adds nullable unit_config columns to plan, add-on, charge, and override tables.

Reviews (8): Last reviewed commit: "feat: persist unit config" | Re-trigger Greptile

Comment thread openmeter/billing/charges/usagebased/adapter/charge.go Outdated
@rolosp rolosp force-pushed the feat/om-395-persist-unit-config branch from 8fd62c5 to 26e55a9 Compare June 26, 2026 10:50
Comment thread openmeter/billing/charges/usagebased/adapter/charge.go Outdated
@rolosp rolosp force-pushed the feat/om-395-persist-unit-config branch from 26e55a9 to 25c3d14 Compare June 26, 2026 11:31
@rolosp rolosp marked this pull request as ready for review June 26, 2026 11:40
@rolosp rolosp requested a review from a team as a code owner June 26, 2026 11:40
@rolosp rolosp force-pushed the feat/om-395-persist-unit-config branch from 25c3d14 to afbbecd Compare June 26, 2026 11:43

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@openmeter/ent/schema/productcatalog.go`:
- Line 206: The package-level scanner identifier UnitConfigValueScanner is
declared twice in openmeter/ent/schema, once in productcatalog.go and once in
ratecard.go, causing a redeclaration error. Remove the duplicate declaration
from one schema and have both ProductCatalog and RateCard reuse the single
shared UnitConfigValueScanner symbol defined in the package so the ent schema
package compiles cleanly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5a124512-a7f0-4f25-91f9-4b9242cfc8c3

📥 Commits

Reviewing files that changed from the base of the PR and between f7eb03a and afbbecd.

⛔ Files ignored due to path filters (25)
  • openmeter/ent/db/addonratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard/addonratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/addonratecard_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased/chargeusagebased.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebased_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride/chargeusagebasedoverride.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/chargeusagebasedoverride_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/migrate/schema.go is excluded by !**/ent/db/**
  • openmeter/ent/db/mutation.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard/planratecard.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard/where.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard_create.go is excluded by !**/ent/db/**
  • openmeter/ent/db/planratecard_update.go is excluded by !**/ent/db/**
  • openmeter/ent/db/runtime.go is excluded by !**/ent/db/**
  • openmeter/ent/db/setorclear.go is excluded by !**/ent/db/**
  • tools/migrate/migrations/atlas.sum is excluded by !**/*.sum, !**/*.sum
📒 Files selected for processing (19)
  • openmeter/billing/charges/usagebased/adapter/charge.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride_test.go
  • openmeter/billing/charges/usagebased/adapter/mapper.go
  • openmeter/billing/charges/usagebased/charge.go
  • openmeter/billing/worker/subscriptionsync/service/reconciler/patchchargeusagebased.go
  • openmeter/ent/schema/chargesusagebased.go
  • openmeter/ent/schema/productcatalog.go
  • openmeter/ent/schema/ratecard.go
  • openmeter/productcatalog/addon/adapter/adapter_test.go
  • openmeter/productcatalog/addon/adapter/addon.go
  • openmeter/productcatalog/addon/adapter/mapping.go
  • openmeter/productcatalog/addon/assert.go
  • openmeter/productcatalog/plan/adapter/adapter_test.go
  • openmeter/productcatalog/plan/adapter/mapping.go
  • openmeter/productcatalog/plan/adapter/phase.go
  • openmeter/productcatalog/plan/assert.go
  • tools/migrate/migrations/20260625202530_add_unit_config.down.sql
  • tools/migrate/migrations/20260625202530_add_unit_config.up.sql

Comment thread openmeter/ent/schema/productcatalog.go
@rolosp rolosp force-pushed the feat/om-395-persist-unit-config branch 2 times, most recently from 4b422b1 to b9eee04 Compare June 26, 2026 12:55

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@openmeter/ent/db/chargeusagebasedoverride_update.go`:
- Around line 346-350: Guard the unit_config validation in
ChargeUsageBasedOverride.update by explicitly checking for a nil inner value
before calling v.Validate(), since SetOrClearUnitConfig can pass a non-nil
pointer wrapper with a nil UnitConfig and currently panic. Update the validation
path in ChargeUsageBasedOverride_update and any matching duplicate block to
return a ValidationError for "unit_config" when v is nil, then only call
Validate() on a non-nil value.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e9ae772f-20a0-417f-a1ef-3f643887fe25

📥 Commits

Reviewing files that changed from the base of the PR and between 4b422b1 and b9eee04.

⛔ Files ignored due to path filters (1)
  • tools/migrate/migrations/atlas.sum is excluded by !**/*.sum
📒 Files selected for processing (43)
  • openmeter/billing/charges/usagebased/adapter/charge.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride_test.go
  • openmeter/billing/charges/usagebased/adapter/mapper.go
  • openmeter/billing/charges/usagebased/charge.go
  • openmeter/billing/worker/subscriptionsync/service/reconciler/patchchargeusagebased.go
  • openmeter/ent/db/addonratecard.go
  • openmeter/ent/db/addonratecard/addonratecard.go
  • openmeter/ent/db/addonratecard/where.go
  • openmeter/ent/db/addonratecard_create.go
  • openmeter/ent/db/addonratecard_update.go
  • openmeter/ent/db/chargeusagebased.go
  • openmeter/ent/db/chargeusagebased/chargeusagebased.go
  • openmeter/ent/db/chargeusagebased/where.go
  • openmeter/ent/db/chargeusagebased_create.go
  • openmeter/ent/db/chargeusagebased_update.go
  • openmeter/ent/db/chargeusagebasedoverride.go
  • openmeter/ent/db/chargeusagebasedoverride/chargeusagebasedoverride.go
  • openmeter/ent/db/chargeusagebasedoverride/where.go
  • openmeter/ent/db/chargeusagebasedoverride_create.go
  • openmeter/ent/db/chargeusagebasedoverride_update.go
  • openmeter/ent/db/migrate/schema.go
  • openmeter/ent/db/mutation.go
  • openmeter/ent/db/planratecard.go
  • openmeter/ent/db/planratecard/planratecard.go
  • openmeter/ent/db/planratecard/where.go
  • openmeter/ent/db/planratecard_create.go
  • openmeter/ent/db/planratecard_update.go
  • openmeter/ent/db/runtime.go
  • openmeter/ent/db/setorclear.go
  • openmeter/ent/schema/chargesusagebased.go
  • openmeter/ent/schema/productcatalog.go
  • openmeter/ent/schema/ratecard.go
  • openmeter/productcatalog/addon/adapter/adapter_test.go
  • openmeter/productcatalog/addon/adapter/addon.go
  • openmeter/productcatalog/addon/adapter/mapping.go
  • openmeter/productcatalog/addon/assert.go
  • openmeter/productcatalog/plan/adapter/adapter_test.go
  • openmeter/productcatalog/plan/adapter/mapping.go
  • openmeter/productcatalog/plan/adapter/phase.go
  • openmeter/productcatalog/plan/assert.go
  • tools/migrate/migrations/20260625202530_add_unit_config.down.sql
  • tools/migrate/migrations/20260625202530_add_unit_config.up.sql
✅ Files skipped from review due to trivial changes (25)
  • openmeter/ent/db/planratecard/where.go
  • openmeter/ent/db/chargeusagebasedoverride/where.go
  • openmeter/ent/db/addonratecard/where.go
  • openmeter/productcatalog/addon/adapter/addon.go
  • openmeter/ent/schema/ratecard.go
  • openmeter/ent/db/chargeusagebased.go
  • openmeter/billing/worker/subscriptionsync/service/reconciler/patchchargeusagebased.go
  • tools/migrate/migrations/20260625202530_add_unit_config.up.sql
  • openmeter/ent/db/chargeusagebased/chargeusagebased.go
  • openmeter/ent/db/addonratecard/addonratecard.go
  • openmeter/ent/db/runtime.go
  • openmeter/productcatalog/plan/adapter/adapter_test.go
  • openmeter/ent/db/setorclear.go
  • openmeter/ent/db/planratecard/planratecard.go
  • openmeter/ent/db/chargeusagebasedoverride.go
  • openmeter/ent/db/planratecard_update.go
  • openmeter/ent/db/chargeusagebasedoverride/chargeusagebasedoverride.go
  • openmeter/ent/db/addonratecard_update.go
  • openmeter/productcatalog/addon/adapter/mapping.go
  • openmeter/ent/db/chargeusagebased_update.go
  • openmeter/ent/db/addonratecard.go
  • openmeter/ent/db/chargeusagebased/where.go
  • openmeter/ent/db/chargeusagebasedoverride_create.go
  • openmeter/ent/db/chargeusagebased_create.go
  • openmeter/ent/db/migrate/schema.go
🚧 Files skipped from review as they are similar to previous changes (13)
  • tools/migrate/migrations/20260625202530_add_unit_config.down.sql
  • openmeter/productcatalog/plan/assert.go
  • openmeter/productcatalog/addon/adapter/adapter_test.go
  • openmeter/productcatalog/plan/adapter/mapping.go
  • openmeter/ent/schema/productcatalog.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride.go
  • openmeter/productcatalog/plan/adapter/phase.go
  • openmeter/productcatalog/addon/assert.go
  • openmeter/ent/schema/chargesusagebased.go
  • openmeter/billing/charges/usagebased/adapter/charge.go
  • openmeter/billing/charges/usagebased/adapter/intentoverride_test.go
  • openmeter/billing/charges/usagebased/charge.go
  • openmeter/billing/charges/usagebased/adapter/mapper.go

Comment thread openmeter/ent/db/chargeusagebasedoverride_update.go

@borosr borosr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@rolosp rolosp force-pushed the feat/om-395-persist-unit-config branch from b9eee04 to 6b30066 Compare June 29, 2026 08:33
@greptile-apps

greptile-apps Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Want your agent to iterate on Greptile's feedback? Try greploops.

Comment thread openmeter/productcatalog/plan/adapter/mapping.go
Comment thread openmeter/productcatalog/addon/adapter/mapping.go

@turip turip left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, great work!

@rolosp rolosp force-pushed the feat/om-395-persist-unit-config branch from 6b30066 to e85ba4b Compare June 29, 2026 11:22
@rolosp rolosp enabled auto-merge (squash) June 29, 2026 11:23
@rolosp rolosp merged commit 5ecf671 into main Jun 29, 2026
26 checks passed
@rolosp rolosp deleted the feat/om-395-persist-unit-config branch June 29, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note/misc Miscellaneous changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants