logicsrc/packages
Anthony Ettinger eaf0a6162b
feat(web): move Hire Us pricing to $400/hour metered billing (PRD 0002) (#102)
* feat(web): move Hire Us pricing to $400/hour metered billing (PRD 0002)

Replaces the $250/week retainer with a $400/hour rate billed against actual
hours, invoiced through CoinPay after the client approves them. A 10-hour
minimum engagement replaces the week as the unit of commitment.

The weekly price lived in 12 places, not the 3 the PRD listed: the front-page
Hire Us section, the Top-Level Pages list, /hire-us metadata, /pricing
(metadata, two FAQ answers, rate bullet), /about, llms.txt, skill.md, and the
Hire Us form success message.

Metered billing rather than a committed weekly block, because the old
"recurring CoinPay invoice" copy documented a mechanic that never existed:
/api/payments/create makes a single one-shot payment, not a subscription.

- coinpay-checkout derives amount_usd from hours x 400 instead of a hardcoded
  250, validates hours as quarter-hour increments at or above the minimum, and
  returns 422 before calling CoinPay on bad input. Payment metadata carries
  billing/hours/rate_usd_per_hour in place of interval.
- project-request returns a rate, billing mode, and minimum; no amount exists
  until hours are approved.
- CoinPay config block documents COINPAY_RATE_USD_PER_HOUR / COINPAY_BILLING /
  COINPAY_MINIMUM_HOURS instead of a weekly amount and interval.
- New real /terms route replacing the SPA stub: what is billable, the
  approve-then-invoice flow, the minimum, cancellation on one week's notice,
  and an explicit clause that existing engagements keep their terms until both
  sides agree in writing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(mcp): advance prd_next_id expectation to 0003 for PRD 0002

The standards test asserts prd_next_id against the live prd/ directory, so
adding prd/0002-hourly-hire-us-rate.md moves the next free id to 0003. This
assertion advances with every PRD added to the repo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 10:34:49 -07:00
..
account-core Handle non-finite policy risk scores (#75) 2026-06-15 01:23:47 -07:00
agentad feat(agentad): AgentAd Marketplace PRD + reference exchange (M5) 2026-07-01 10:29:36 +00:00
agentstack feat(agentstack): add delegation authority checks (#87) 2026-07-01 01:14:40 -07:00
agentswarm chore(agentswarm): make package publishable to npm 2026-06-25 17:57:32 +00:00
ans fix(ans): reject non-hex input in fromHex instead of silently decoding to 0 (#91) 2026-07-02 16:37:39 -07:00
cli feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
logicsrc-mcp feat(web): move Hire Us pricing to $400/hour metered billing (PRD 0002) (#102) 2026-07-28 10:34:49 -07:00
openontology feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
openprd feat(openprd): implement the OpenPRD standard — engine, CLI, conformance bundle (#100) 2026-07-28 04:11:07 -07:00
plugin-core
schemas feat(openprd): implement the OpenPRD standard — engine, CLI, conformance bundle (#100) 2026-07-28 04:11:07 -07:00
sdk Implement OpenSpec artifacts and SDK contracts 2026-06-06 16:44:58 +00:00
tui feat(openontology): Phase 2 + Phase 3 — storage, REST/SSE, MCP, RDF/SHACL, adapters, TUI, explorer (#101) 2026-07-28 05:10:33 -07:00
validators feat(openontology): implement OpenOntology Phase 0 + local engine and CLI (#99) 2026-07-26 02:10:13 -07:00