docs: publish IntelIP pricing recommendation#41
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Testing
Greptile Summary
This PR fixes a validator bug where
pricing.mode: mixplans were incorrectly rejected when they carriedlimitsfields, and ships an Apr 2026 pricing recommendation memo based on the six IntelIP benchmark scenario outputs.The validator change removes the limits-rejection guard from
validateMixPricingso thatlimits.usersis preserved as reference metadata;calculateMixRevenuein the pricing engine already ignoresLimitsentirely and allocates users only by share, so there is no behavioral change to simulations. New tests cover both the parser round-trip and the updated validation rule. All six referenced benchmark scenario files exist in the repo and their pass/fail results are consistent with the documented covenant thresholds.Confidence Score: 5/5
Safe to merge — the validator fix is narrow, well-tested, and the engine was already ignoring limits in mix mode.
All findings are P2 or lower. The core change (removing the limits-rejection guard in validateMixPricing) is confirmed safe because calculateMixRevenue never reads Limits. New tests cover both the parser and validator behavior. Documentation is consistent with actual scenario outputs.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[ValidateConfig] --> B{pricing.Mode?} B -->|tiered / empty| C[validateTieredPricing\nLimits required + ascending order] B -->|mix| D[validateMixPricing\nShares required, sum to 1.0\nLimits accepted as reference metadata ✅] B -->|hybrid| E[validateHybridPricing\nContract required, no Plans] B -->|workspace_hybrid| F[validateWorkspaceHybridPricing\nShares required, Limits rejected ❌] D --> G[calculateMixRevenue\nallocateUsersByShare\nLimits field never read] C --> H[calculateTieredRevenue\nLimits.Users used for tier caps]Comments Outside Diff (1)
internal/config/validator.go, line 213-245 (link)validateMixPricingnow silently acceptsLimitson plans, but there is no code comment explaining that they carry reference metadata only and are not enforced at simulation time. Without this context, a future contributor may add ordering/presence validation for limits here (matching the pattern invalidateTieredPricing) or may wonder whyworkspace_hybridrejects limits whilemixdoes not.Prompt To Fix With AI
Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "docs: publish IntelIP pricing recommenda..." | Re-trigger Greptile
Context used: