docs(billing): clarify agent hours per harness on the platform credits page - #677
Conversation
…se boundary Follow-up to the agent-hours definition on the platform credits page, incorporating engineering review of the metering behavior: - Describe how much of a run counts per harness. The Warp Agent clock runs while the agent is generating a response and pauses while a command or tool it ran is executing, so a long build or test suite doesn't add to agent hours. Claude Code and Codex bill the whole run, including command execution and time waiting on the model provider. - Drop "pauses for your input" from the stop conditions. It held for the Warp Agent but not for third-party harnesses, which auto-approve in cloud runs. Idle time waiting for a follow-up stays excluded. - Frame agent hours as the meter for platform usage, note that Enterprise contracts set the rate, and say that billing views show credits rather than hours. Verified against warp-server: OpenSegmentForStream/CloseSegmentForStream bound each Warp Agent stream in generate_multi_agent_output.go, while third-party harness runs only close their segment on the terminal transition (task_lifecycle.go, platform.go). Co-Authored-By: Warp <agent@warp.dev>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This PR was generated with Warp. Comment |
…redits-agent-hours-harness
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR updates the platform credits billing page to clarify that platform usage is metered in agent hours and that metering differs between the Warp Agent and third-party harnesses.
Concerns
- The Warp Agent harness bullet conflicts with the preceding setup-window wording by omitting environment setup from the counted time, even though the PR description says setup is billed.
Verdict
Found: 0 critical, 1 important, 0 suggestions
Request changes
Comment /warp-agent-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
|
|
||
| Within that window, how much time counts depends on the [harness](/platform/harnesses/): | ||
|
|
||
| * **Warp Agent** - The clock runs while the agent is generating a response and pauses while a command or tool the agent ran is executing, so a five-minute test suite doesn't add to the run's agent hours. |
There was a problem hiding this comment.
| * **Warp Agent** - The clock runs while the agent is generating a response and pauses while a command or tool the agent ran is executing, so a five-minute test suite doesn't add to the run's agent hours. | |
| * **Warp Agent** - The clock counts environment setup and time spent generating a response, and pauses while a command or tool the agent ran is executing, so a five-minute test suite doesn't add to the run's agent hours. |
Replace the "clock starts/stops/runs/pauses" metaphor and casual
phrasing ("don't count", "how much time counts") with standard billing
vocabulary: a run accrues agent hours, time is or isn't billable,
partial hours are billed proportionally. Same facts and boundaries as
before; only the register changes. Italicize the defined term on first
use, matching the existing convention on the pricing FAQ page.
Co-Authored-By: Warp <agent@warp.dev>
… and register - Use one phrase for the same fact everywhere: "billed by the agent hour" replaces "calculated from agent hours" (credits, pricing FAQ, platform credits description) and "metered in agent hours" (platform credits intro). - Enterprise billing: split the cloud-agent sentence so the agent-hour definition isn't a mid-sentence parenthetical, note the rate is set by contract, and drop the last "Warp's platform infrastructure" on the page. - Platform credits: the third-party CLI exclusion no longer says "outside Warp", which read as if a CLI run in a Warp pane might be billed. It isn't; only cloud runs on those harnesses are. - Credits: replace "when the conversation is framed around cloud agents versus local agents" with the reason for the alias, and fix a non-parallel list in the usage-prediction sentence. Co-Authored-By: Warp <agent@warp.dev>
2f16d0f
into
docs/platform-credits-agent-hours
…ale language (#672) * docs(billing): define agent hours for platform credits and refresh stale language Platform credits are calculated from agent hours; add the definition to the platform credits page (intro, description, and measurement section) and echo it on the credits, pricing FAQs, and enterprise billing pages. De-dupe the intro vs the three-bucket section, cut AI-isms, and update the pricing FAQs preview-period language now that platform-credit billing is live. Co-Authored-By: Warp <agent@warp.dev> * docs(billing): restore run scopes in description and surface Warp Factories in intro The platform credits meta description names both charged scopes again (cloud agent runs and local runs with customer-supplied inference), and the intro now mentions Warp Factories runs up front instead of only in the eligibility bullet. Co-Authored-By: Warp <agent@warp.dev> * docs(billing): remove stale billing-start FAQ for platform credits Platform-credit billing on self-serve plans started July 1, 2026, so the "When do platform credits start being charged" question no longer needs its own FAQ entry. No pages link to its anchor. Co-Authored-By: Warp <agent@warp.dev> * docs(billing): audit fixes across the credits and platform credits pages - Correct the agent-hour boundary: the clock starts when the agent starts in its environment (including environment setup), not after setup. Verified against the sandbox driver, which reports IN_PROGRESS before environment setup and MCP startup. - Add the self-hosted-workers case to the compute credits section: those cloud runs never consume compute credits but still consume platform credits (server rejects compute charges for self-hosted runs). - Replace 'don't consume Warp credits' with 'don't consume AI credits' in the pricing FAQs where the same answer goes on to say platform credits apply; platform credits are Warp credits. - Fix the add-on credits page's inverted claim that add-on credits 'draw from the same pool as platform credits' (add-on credits are a source, platform credits a usage type). - Normalize the credits page heading hierarchy (H2/H3, no bold in headings), replace the versioned model list with a non-drifting statement, fix 'Warp's Agent' terminology, and broaden the integrations list. - Standardize the agent-hour phrasing across all billing pages and trim restated cause-and-effect on the add-on credits page. Co-Authored-By: Warp <agent@warp.dev> * docs(billing): clarify agent hours per harness on the platform credits page (#677) * docs(billing): clarify agent hours per harness and drop the input-pause boundary Follow-up to the agent-hours definition on the platform credits page, incorporating engineering review of the metering behavior: - Describe how much of a run counts per harness. The Warp Agent clock runs while the agent is generating a response and pauses while a command or tool it ran is executing, so a long build or test suite doesn't add to agent hours. Claude Code and Codex bill the whole run, including command execution and time waiting on the model provider. - Drop "pauses for your input" from the stop conditions. It held for the Warp Agent but not for third-party harnesses, which auto-approve in cloud runs. Idle time waiting for a follow-up stays excluded. - Frame agent hours as the meter for platform usage, note that Enterprise contracts set the rate, and say that billing views show credits rather than hours. Verified against warp-server: OpenSegmentForStream/CloseSegmentForStream bound each Warp Agent stream in generate_multi_agent_output.go, while third-party harness runs only close their segment on the terminal transition (task_lifecycle.go, platform.go). Co-Authored-By: Warp <agent@warp.dev> * docs(billing): rewrite agent-hours section in plain billing terms Replace the "clock starts/stops/runs/pauses" metaphor and casual phrasing ("don't count", "how much time counts") with standard billing vocabulary: a run accrues agent hours, time is or isn't billable, partial hours are billed proportionally. Same facts and boundaries as before; only the register changes. Italicize the defined term on first use, matching the existing convention on the pricing FAQ page. Co-Authored-By: Warp <agent@warp.dev> * docs(billing): second pass over the agent-hours pages for consistency and register - Use one phrase for the same fact everywhere: "billed by the agent hour" replaces "calculated from agent hours" (credits, pricing FAQ, platform credits description) and "metered in agent hours" (platform credits intro). - Enterprise billing: split the cloud-agent sentence so the agent-hour definition isn't a mid-sentence parenthetical, note the rate is set by contract, and drop the last "Warp's platform infrastructure" on the page. - Platform credits: the third-party CLI exclusion no longer says "outside Warp", which read as if a CLI run in a Warp pane might be billed. It isn't; only cloud runs on those harnesses are. - Credits: replace "when the conversation is framed around cloud agents versus local agents" with the reason for the alias, and fix a non-parallel list in the usage-prediction sentence. Co-Authored-By: Warp <agent@warp.dev> --------- Co-authored-by: Warp <agent@warp.dev> --------- Co-authored-by: Warp <agent@warp.dev> Co-authored-by: Danny <16809145+dannyneira@users.noreply.github.com>


Summary
Follow-up to #672, targeting its branch. Incorporates the Slack review of the agent-hours definition: keep it high level, but make it accurate across harnesses.
Two things in the current wording needed adjusting:
cargo check, a test suite) isn't billed. With Claude Code and Codex, the whole run is billed, including command execution and time waiting on the model provider. The page now says this in two bullets, without naming internals.Also, per the thread on agent hours being the unit Warp Factories are sold on: the section now leads with agent hours as the meter for platform usage, notes that Enterprise contracts set the rate, and says billing views show credits rather than hours (users don't see hours in-product today).
Changes
Mostly
src/content/docs/support-and-community/plans-and-billing/platform-credits.mdx. A second pass (below) makes small consistency and register fixes oncredits.mdx,pricing-faqs.mdx, andenterprise/support-and-resources/billing.mdx; the sibling pages keep their one-line definition and link here for the full breakdown.How platform credits are measured now reads:
Plus "Usage is shown in credits, not agent hours" in Where platform credits appear.
Second pass over #672
credits.mdx,pricing-faqs.mdx, the platform credits meta description) and "metered in agent hours" (platform credits intro). The other five mentions already used it.billing.mdx): the cloud-agent sentence no longer carries the agent-hour definition as a mid-sentence parenthetical; it's its own sentence and notes the rate is set by contract. Also removed the page's last "Warp's platform infrastructure" (line 46), which the revops-factory review flagged.platform-credits.mdx): "outside Warp" read as ifclaudein a Warp terminal pane might be billed. It isn't: a CLI you run yourself never creates a billable run (CliAgentUserQueryingenerate_multi_agent_output.gois a Warp Agent input, not the CLI harness being metered). Now reads "yourself, whether in a Warp terminal pane or elsewhere."credits.mdx): "when the conversation is framed around cloud agents versus local agents" → "since only cloud agent runs consume them. Both names refer to the same bucket." Also fixed a pre-existing non-parallel list ("experimenting with different prompts, models, and tracking").Not changed, worth a follow-up outside this PR: "for Warp's platform infrastructure" still appears on six pages that #672 didn't touch (
bring-your-own-api-key.mdx,custom-inference-endpoint.mdx×2,bring-your-own-llm.mdx,byollm-gemini-enterprise.mdx,team-managed-keys-and-endpoints.mdx), each with a slightly different gloss of what the platform layer includes. A one-line sweep would align them with "platform layer."Verification against warp-server
router/handlers/generate_multi_agent_output.gocallsOpenSegmentForStreambefore the agent loop starts andCloseSegmentForStreamwhen the stream ends. Each stream handles one input (a user query or a single tool-call result); the client executes the tool between streams, so no segment is open while a command runs.in_progress_sincebetween the driver'sIN_PROGRESSreport and the terminal transition, somaybeChargeForPlatformUsageinlogic/ai/ambient_agents/task_lifecycle.gobills the entire window.warp/app/src/ai/agent_sdk/driver.rs) reportsIN_PROGRESSbefore environment setup, and the first Warp Agent stream'sEnsureInProgressSegmentStartedis a no-op on an already-open segment.IN_PROGRESSand opens a new one.billing/config/tiers/carriesplatform_credits_per_minute_override, read viaGetPlatformCreditsPerMinuteOverrideFromBillingMetadatainbilling/platform.go.ChargeForPlatformUsagemultiplies fractionalduration.Minutes()by the per-minute rate.Validation
style_lint --changed: no findings on any edited line (remaining findings are the same pre-existing ones listed on docs(billing): define agent hours for platform credits and refresh stale language #672).check_for_broken_links --internal-only: 0 broken internal links.npm run build: passes.