Learn kapi › Add languages
Review moves the edge
A review in the morning is why a language is offered in the afternoon.
Review is a change set: a decide operation per unit, bound to the wording a person read. This lab approves the Dutch a person wrote, watches the loop unpark the language, establishes the rest of Norwegian, and reads the manifest the picker follows at each step.
- The review queue
kapi status --review --lang nl | head -14The queue names each unit's document, block and language, which is what a decision addresses. Dutch holds twenty units a person wrote and eighteen the stub drafted. - Approve what a person wrote
kapi status --review --json --jq '.pending[]|select(.locale=="nl" and (.target|startswith("⟦")|not))|{op:"decide",at:{doc:.relative,block:.key,edition:.locale},if_match:"*",outcome:"establish"}' > dutch.jsonA reviewer who read each unit approves it with a decide operation. This filter takes the Dutch a person wrote and leaves what the stub drafted, one operation per unit, written to dutch.json. - Twenty decisions
grep -c '"decide"' dutch.jsonTwenty approvals, waiting to be applied. - On the record
kapi apply dutch.jsonEach approval lands in the record as it is made, attributable, and bound to the wording that stood when it landed. - The context log
kapi context log | head -8What was recorded, by whom, and when: the record a team shares. - Run the loop again
kapi upA decision unparks the language. The drafts the loop already made are recycled, so the provider is asked for nothing a second time. - Dutch is offered
kapi status --shipDutch is offered now, in the translated state, because not every string in it is established. - Establish the rest of Norwegian
kapi status --review --json --jq '.pending[]|select(.locale=="nb")|{op:"decide",at:{doc:.relative,block:.key,edition:.locale},if_match:"*",outcome:"establish"}' > norwegian.jsonFour units remain in Norwegian: the Tide window strings. Approve them. - Four more decisions
kapi apply norwegian.jsonThey land the same way. - No marker on Norwegian
kapi status --shipThe same file moves Norwegian to established, so the picker offers it without the marker. Three languages, two states, none of them configured by hand. - The bar passes
kapi check --ship --gate voiceThe pre-release bar that failed before the review passes after it.