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.