Changelog

What changed

Every user-visible change in Parka, newest first. One sentence each. Changes that touched only tests, CI or internals are left out.

61 entries from 137 merged pull requests.

October 2026

  • Oct 29

    The health snapshot now reports the cursor and the held count from one read.

  • Oct 29

    Binding a partner key to a partner grant became a human gate.

  • Oct 29

    Partner grants, owner-written guardrails and an append-only partner audit log landed.

  • Oct 29

    An agent that calls a human gate over MCP now creates an approval request and runs nothing.

  • Oct 28

    Minting an API key became a human gate.

  • Oct 28

    Every automation-safe capability is now declared on the API, the CLI and MCP.

  • Oct 28

    A partner override or a partner group can now set its own hold period and approval mode.

  • Oct 28

    A rejected commission now leaves the remaining balance alone.

  • Oct 28

    Connecting an outreach adapter became a human gate.

  • Oct 28

    You can reject a commission with a reason, and approve or reject in bulk.

  • Oct 28

    The auto-approve runner refuses a context that names no program.

  • Oct 28

    A rulebook version can approve a commission at creation, and a runner approves matured entries.

  • Oct 27

    A rulebook version now carries its own hold period and approval mode.

  • Oct 26

    Postgres recomputes the API key digest, so a copied key hash is useless.

  • Oct 25

    The runtime refuses to start the approval store unless the database role passes the identity check.

  • Oct 25

    The runtime can now serve the approval request store.

  • Oct 25

    An agent call to a human gate creates an approval request that a person approves or rejects.

  • Oct 24

    Parka records a tax intake form per creator and reads whether it is complete.

  • Oct 24

    An operator lists, approves and rejects approval requests from the command line.

  • Oct 24

    A campaign launch hands off once per campaign, even after a retry.

  • Oct 23

    Discovery records persist in Postgres with row level security.

  • Oct 23

    A discovery gate proves the discovery composition offline.

  • Oct 23

    A campaign waits for approval before it hands off to a connector.

  • Oct 23

    Discovery runs against a recorded adapter, with no network call.

  • Oct 22

    Stripe ingestion accepts the account event label and pins the render version.

  • Oct 22

    Partner groups, partner overrides and partner progress reads landed in the rulebook.

  • Oct 20

    Search and discovery landed behind their own capabilities.

  • Oct 18

    One runtime now serves many workspaces, and an operator creates a workspace from the command line.

  • Oct 18

    The served API maps each refusal to a precise HTTP status.

  • Oct 17

    A customer referral program credits a referrer, and a shadow comparison checks the figures.

  • Oct 17

    A setup script prepares the first live slice and can run again safely.

  • Oct 17

    Parka serves API keys, an HTTP API, an MCP endpoint and a CLI on one listener.

  • Oct 17

    Crispy invites a partner and reads partner earnings after cutover.

  • Oct 16

    Reconciliation runs against an independent contract reference and classifies the Crispy figure.

  • Oct 16

    Parka counts an item discount once and holds a refund that did not succeed.

  • Oct 16

    A held refund resolves once its payment resolves.

  • Oct 16

    An operator records a carried-debt recovery for a paid clawback.

  • Oct 16

    You read a payout statement and record a statement payout.

  • Oct 16

    An operator replays a held event by id, and the health count shows unresolved holds only.

  • Oct 16

    Parka links a refund by its exact Stripe id and commissions a taxed invoice.

  • Oct 16

    A read-only preflight checks a go-live before anything writes.

  • Oct 16

    The rulebook supports a lifetime recurring window and half-up rounding.

  • Oct 16

    The runtime stops with a named code when a commission refusal is deterministic.

  • Oct 16

    Parka records a charge as a claim and holds a refund it cannot link.

  • Oct 16

    The runtime resolves the partner from the subscription referral code.

  • Oct 16

    An undetermined processing fee no longer holds an invoice.

  • Oct 15

    A shadow-mode runtime polls Stripe events into the ledger.

  • Oct 14

    Setting a legacy commission policy became a human gate.

  • Oct 14

    A Stripe invoice customer maps onto the payment record.

  • Oct 14

    Each program now has a versioned rulebook, and a rule can pay a flat amount per paid conversion.

  • Oct 13

    Parka resolves a referral link and records the click.

  • Oct 13

    A cutover authority states whether a workspace is in shadow mode or the system of record.

  • Oct 13

    A deterministic reconciliation engine compares Parka against the source.

  • Oct 13

    A store registry backs shadow mode in production.

  • Oct 12

    Records persist in Postgres with forced row level security per workspace.

  • Oct 06

    Stripe ingestion reads only, and a writer count guards every ledger write.

September 2026

  • Sep 21

    Disputes, corrections, payout receipts and balance reads landed.

  • Sep 21

    Payment ingestion, normalization and pending commissions landed.

  • Sep 21

    Referral links, coupons and attribution precedence landed.

  • Sep 21

    Programs, partner onboarding and terms acceptance landed.

  • Sep 21

    The first capability and the frozen cross-module schemas landed.

Partner programs on Stripe, run by agents. People approve the money.

Get started