klarsprak

Projektkontext

Senast verifierad: 2026-09-24

Ansvar

Klarspråk publicerar källbelagda termer där allmänspråklig betydelse jämförs med institutionell eller juridisk användning.

Systemet har två tydligt skilda flöden:

  1. publik läsning av granskade/publicerade termer;
  2. submission → review → explicit publicering.

Runtime

wrangler.jsonc definierar:

Kodansvar

src/index.js

Externa requestpolicyn: canonical host, aliasredirect, adminrouting, SEO/robots och response policy.

src/worker.js

Applikationslogiken: publika termanrop, submissions, review/adminflöden, D1-operationer och asset fallback.

Data och state

Produktionsbindingen DB ska peka på en D1-databas skapad med Cloudflare-jurisdiction eu. Repositoryts Worker-kod använder D1 Sessions API för D1-routes; read replication kan därför vara aktiverad på EU-databasen utan att frångå sequential-consistency-kontraktet.

D1 är canonical applikationsstate för publicerade termer och granskningsflödet.

Frontend eller statiska assets får inte bli en alternativ termdatabas.

Tema

legacy är det äldre uttrycket och fortsatt fallback: mörk bas, cyan/blå/violett/magenta glow och diskret 42 px-rutnät. Därutöver finns forest (med etiketten från SITE_FAMILY) och blackout. Klarspråk behåller sin egen typografi och den semantiska skillnaden mellan allmänspråk och institutionell användning; temana ändrar endast presentationslagrets ytor och färgtokens.

Valet följer det gemensamma presentationskontraktet localStorage["<prefix>.theme"] och cookien <prefix>_theme (prefix och delad domän sätts vid deploy). Temapreferensen är kosmetisk och får aldrig påverka adminauthorization, Turnstile eller publiceringsstate.

Publiceringsmodell

Submission och publicering är separata operationer. Ett inkommet förslag blir inte publikt utan explicit review/publiceringsövergång.

Detta är en funktionell och säkerhetsmässig invariant, inte bara en UI-detalj.

Package/runtime

Projektet använder JavaScript ES modules och Wrangler.

package.json tillhandahåller:

Repositoryt saknar package-lock.json; använd därför npm install, inte npm ci, tills en låst npm-installationsmodell uttryckligen införs.

Dokumentationsgräns

Det här dokumentet beskriver repo-specifik current-state som kan verifieras från repositoryts publika kod och konfiguration. Organisationsgemensam governance eller privata driftuppgifter hör inte hemma här.

Uppdateringskontrakt

Uppdatera denna fil när följande ändras: