# Current Knomee integration

Reconciled 17 October 2026. [GoodTakes protocol](../PROTOCOL.md) owns the product;
[Knomee protocol](https://kno-foundation-dao.web.app/specs/) owns identity and spending.

## Shared contract

GoodTakes consumes `@knomee/review-react` 0.2.30. Current inputs support text,
one exact emoji, or both. Bundle v3 binds `originalReaction`; request/draft/approval
v4 and public index/manifest v2 preserve it. Old write formats are not upgraded.

The composer uses a single simple submit path. Advanced retains individual meaning,
direction, quantity and optional QUALIA. Emoji-only reviews skip AI and keep their
deterministic expression. Targets need no minting or activation.
The compact composer shows one account/title readiness status. Failed reads offer
a retry instead of an indefinite loading message; retrying retains prose, emoji
and budget. Account setup remains separate from permission to rate a target.
Simple mode keeps balance, amount, refresh and fee details behind a small Spending
options icon. Accepted account terms disappear from compose and publication;
first-use account acceptance remains required. No spending check is removed.

## Identity and routing

All title types use stable `film:tt...` subject keys. Series and episode targets
are separate. Knomee SSO owns provider selection. Persistent Firebase sessions
renew silently while valid. Terms acceptance is stored against the account.

## Pending and public records

Save the exact intent before navigation. Show the owner's pending card at the
title, then reconcile the original job through publication and finality. Do not
show pending content as public or create another spend when a status call fails.
The confirmed public record replaces the pending card without duplicate display.
The home page's People are talking about section reads current-generation confirmed
public takes, newest finalized block first, grouped by title. Each card links to
the latest public take. Failed reads show recovery rather than a fabricated empty
feed; pending jobs and old snapshot counts do not populate this section.
Catalog badges, comparison summaries and take sorting share the same complete,
bounded current-format public projection. Snapshot reviews, summaries and claim
histories are excluded from the runtime catalog, while original files are preserved.
Unknown counts remain unknown after a failed read; drafts and old versions never
imply current public takes. Most discussed replaces the unsupported settled-VIBE sort.

Simple Submit waits for a registered spending account and resolved author. Loading,
missing setup, pending account finality and revocation retain the draft and disable
submission. Backend checks remain authoritative. An existing registration awaiting
finality gets bounded retries on the same queued intent inside its original grant.
Saved account failures link back to setup; setup and review consent remain separate.
Expired grants require continuation from the original authenticated account.

Current public views omit old schema generations. Original signed history remains
unchanged; do not manufacture historical emoji or resend an old review. The
[session recovery guide](SIMPLE_TAKE_SESSION_RECOVERY.md) retains operational detail.

## Delivery evidence

Use the current compact-title and reaction-compose Kotlin harnesses for anonymous
390/1440 browser evidence. A successful synthetic journey or build is not a new
participant transaction. Firebase is the current promotion scope. Preserve both
release artifacts and their SHA-256 manifests.

`tools/accept-review-readiness.main.kts` renders the vendored SDK in an anonymous
local fixture and intercepts all external requests. It checks one failed-account
status, retry, and exact text/emoji/budget retention in Simple and Advanced. Set
`GOODTAKES_ESBUILD` to an installed esbuild executable if it is not available in
this repository's `node_modules/.bin`. This fixture is never part of the site.
`tools/accept-first-touch-connections.main.kts <origin>` reads the published graph
and simulates admission interruption/retry without queuing metadata jobs.

The previous running status log is preserved in
[the archive](archive/2026-10-12/docs-CURRENT_KNOMEE_TAKES.md).
