# Qualified human newsroom review workflow — v100.0.33

Release: `v100.0.33-qualified-review-idempotency-foundation-wip`  
Immutable baseline: `v100.0.32-multilingual-news-caster-determinism-wip`

## Purpose

The multilingual news-caster library now has a bounded, machine-readable workflow for qualified human review. The workflow is intentionally **empty of trusted review records**. It defines what evidence a future reviewer must supply without converting fixture data, self-declared metadata, or a submitted signature into a publication decision.

The current package contains:

- 12 explicitly selected high-risk language/country fixtures;
- 18 script-specific typography-review tokens;
- strict reviewer, source-attachment, issue-disposition, supersession, decision, and signature fields;
- a state-free validation endpoint at `/api/v1/news-casters/reviews/`;
- zero trusted records, zero verified signatures, and zero accepted publication records.

## Why the cohort is bounded

The cohort emphasizes failure modes that require more than a generic translation check: bidirectional layout, shaping, combining marks, optional diacritics, transliteration ambiguity, line-breaking, ruby/furigana, local legal and political terminology, endangered or under-resourced language context, and source-backed pronunciation. Selection is an editorial test plan, not a claim that these languages or countries are inherently risky.

Every pairing is explicitly authored. Country, script, or language never infers a presenter's citizenship, ethnicity, origin, fluency, belief, politics, gender, orientation, accent, voice, competence, loyalty, temperament, or morality.

## Eight-stage review chain

1. **Scope the fixture and intended use.** Bind the fixture ID, language tag, country context, format, audience, and review date.
2. **Bind reviewer identity and role.** Record an organization-local reviewer ID, professional name or approved pseudonym, organization, role, qualifications, language tags, jurisdiction, conflict declaration, and organization verification state.
3. **Attach pronunciation and terminology evidence.** Each attachment records a digest, source type, rights status, consent status where applicable, language tag, and storage reference. An attachment is evidence, not automatic acceptance.
4. **Resolve issues individually.** Every issue carries category, severity, status, disposition, evidence references, reviewer note, opened time, and resolution time. Blocking issues cannot be hidden in an overall “reviewed” flag.
5. **Review typography tokens.** The reviewer evaluates direction, line height, letter spacing, word breaking, overflow, diacritic handling, and documented exceptions for the actual output.
6. **Record revision and supersession.** A new revision points to the record it replaces and preserves the prior decision and change summary. Silent replacement is prohibited.
7. **Sign and independently verify.** A detached signature must be bound to a canonical payload digest and independently verified outside the public validation endpoint.
8. **Evaluate publication acceptance.** Acceptance requires no unresolved blocking issue, required sources, a verified signature, an explicit decision, any conditions, and placement in the trusted static register.

## Trust model

The public endpoint validates structure only. It performs no persistence and no trust registration. A client can submit a record whose fields say `accepted-for-publication` and whose signature object says `verified`; the endpoint still treats it as untrusted unless the exact record exists in the static trusted register with an independently verified signature.

This prevents a request body from manufacturing its own authority.

## Typography tokens

`/assets/data/news-caster-typography-tokens-v100.0.33.json` contains package-local review guidance for 18 scripts. Tokens use generic system font stacks and include no font files. A token is a starting point for qualified review, not a declaration that typography, RTL rendering, accessibility, translation, pronunciation, or publication has been accepted.

## Machine-readable contracts

- Review register: `/assets/data/news-caster-qualified-review-register-v100.0.33.json`
- Typography tokens: `/assets/data/news-caster-typography-tokens-v100.0.33.json`
- Record schema: `/schemas/news-caster-qualified-review-record-v1.schema.json`
- Request schema: `/schemas/news-caster-qualified-review-request-v1.schema.json`
- API: `/api/v1/news-casters/reviews/`
- Validation evidence: `/docs/news-caster-qualified-review-validation-v100.0.33.json`

## Acceptance boundary

The package does not claim that any human performed linguistic, editorial, pronunciation, typography, accessibility, legal, local-context, or publication review. It also does not claim deployment, live-host acceptance, provider acceptance, activation eligibility, or downstream-runtime acceptance.
