Skip to content

Release 1.4.1 with updates to Sift page and French localization#5

Merged
coderoast-dev merged 29 commits into
mainfrom
features
Jun 2, 2026
Merged

Release 1.4.1 with updates to Sift page and French localization#5
coderoast-dev merged 29 commits into
mainfrom
features

Conversation

@coderoast-dev

Copy link
Copy Markdown
Collaborator

No description provided.

coderoast-dev and others added 29 commits June 1, 2026 18:13
Coordinated 1.4.0 -> 1.4.1 cut. Verified by the superproject pin-coherence
gate (22 packages uniform; conanfile / packages.yml / matrix / web / CR_PIN
CI-vendoring pins all agree) and the insight-playground integration gate
(78/78 green at 1.4.1, real diff_logs resolution).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 'hot key / throttling' preset claimed a per-account concentration reveal ('one account is hammering one key') the engine does not surface — it ranks a new template by its SHARE of the run, not per-value concentration (a future field-distribution beat). The demo-bar audit flagged it as the weakest preset: partly grep-able and over-claiming.

Reframe to what actually fires: label -> 'Throttling takes over', description/comment -> a new template now owns ~a third of the run, ranked by dominance; drop the false concentration + 'grep can't see' claims. Fixture unchanged (id hot-key stable); no logic, no i18n, no test touched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the stale single-section /sift (rendered only InsightDiffShowcase →
the old "Your CI went red" red-build hero) with the governed 6-section page
per web_copy.md § "Page: Sift": green-vs-green silent-regression hero, PR-comment
showcase, un-grep-able value table, free-forever→/tiers, determinism→/how-we-build,
install funnel. New `sift` i18n namespace; fr.ts carries EN strings verbatim as a
placeholder (Eqya owns the FR pass). Engine-output mocks hardcoded language-neutral.
Removed the now-orphaned InsightDiffShowcase + diffShowcase keys (sole consumer was
the old /sift). tsc + eslint + vitest 114/114 + production build green; exposure
gated to v1 launch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tency

Bundles the founder's ChatGPT recheck (hero / portfolio / roadmap / maker / footer) with Eqya's QA on the new sift block: « gate » standardized to feminine across the site (matching the validated howWeBuild) with adjective agreement, « Pass/échec » -> « Réussite/échec », and the lone vision-lens « précision d'abord » -> « la précision avant tout ». Engine output labels (Disappeared / Frequency shift / Recovery) kept English by design.

Checkpoint — remaining pages still to be reviewed (founder + ChatGPT). Rides 1.4.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Applies the founder's ChatGPT review of the Sift page: keep dev/product terms English (Pass/fail, advisory, the engine label 'Recovery — green: "your fix worked"'), 'bossez', 'sont passés', hero CTAs imperative (Ajoutez/Essayez), footer 'là où il faut'. Two Eqya synthesis calls: title 'disent le contraire' (keeps the say-otherwise opposition the founder flagged), paywall 'au compteur. Jamais.' (keeps meter != limit + the punch).

Founder-ruled consistency, site-wide: motif -> pattern (3), 'au bit près' -> 'bit pour bit' (4, incl. howWeBuild/howWeCompare), hard gate -> 'bloquante'. PR-comment mock stays English by design (the real comment is EN-only).

Checkpoint — logcraft page review next. Rides 1.4.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Applies the founder's review: keep dev terms English per the locked register (On ne ship pas, knobs du monde réel, Core C++20, fluent, Lancez Run, Envoyez en stream), Tester (not stresser), service fictif, on-call 'apprend en se faisant pager', heroSubtitle 'simulateur déterministe …', 'alimenter un moteur', step.1 'et c'est terminé'. Site-wide consistency: astreinte -> on-call (4).

Kept 'pas de carte bleue' (= no credit card — the no-payment-to-try signal; 'setup' would be a contresens), founder-confirmed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Founder review: 'cause racine' -> 'root cause' (×2, dev term kept English per the locked register); 'seed' standardized feminine ('une/la seed', 'la même seed', 'de la seed' — ties to 'la graine'). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
InsightDiff.tsx hardcoded its English chrome; wire it through useTranslation via a
new `diff:` namespace. fr.ts gets the keys with EN strings verbatim as placeholders
(Eqya's FR pass comes after — not machine-translated).

- Keyed: hero (eyebrow/title/subtitle), the preset picker intro + per-preset
  label/tooltip, baseline/changed input labels + counters, compare/swap buttons,
  the trust line, result swap-sides/new-comparison, log-pane titles, section
  header, clear-pinned, the interaction hint, empty-result + suppressed sentences,
  the "Want this in CI?" callout, error fallbacks, and the severity/kind display
  labels (the UI's labels for the engine enums).
- Left English by design (engine emits English regardless of locale): the
  diffPresets.ts log fixtures, the engine report rows (change.summary/evidence),
  and the result stat line ("N changes, M structurally significant · stability ·
  lines") — same convention as the Sift-page mocks.
- diffPresets.ts is now fixtures-only (id + baseline + changed); its picker label
  + tooltip moved to t.diff.presets[id] (keyed by id). Header comment updated.

tsc + eslint + vitest 114/114 + production build green. Held to v1 launch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
/diff (the CRITICAL gap): full French for the new diff: namespace — titles, buttons, hints, quota/error messages, preset labels + tooltips. Register held: CLI / Action / CI / grep / run / push / build / handler / flag / WARN / p99 kept English; severity + kind badges localized (CRITIQUE / SUSPECT / NOTABLE / FAIBLE / RÉTABLI ; erreur apparue / disparu / décalage / branchage / …). Mirrors committed en.ts diff: (8f43591); tsc green.

sift comment.body: 'au besoin', 'épinglé à votre PR, mis à jour à chaque push, déterministe', and the de-literalized 'Même avec une coche verte rassurante, Sift voit le problème là où tout semble validé :'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… (founder)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…défauts->valeurs par défaut (calque fix)

Proactive de-calque of the un-reviewed surfaces (logcraft concepts, lab, auth/tiers/cookiePrefs): register + faux-ami sweeps came back clean; only 3 real fixes — 2x 'records'->'enregistrements' and the registry faux-ami 'défauts sensés' (=flaws) -> 'valeurs par défaut sensées' (=defaults).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… at the core, web at the edge.' (EN+FR)

Drops the 'indie engineering shop' / 'where it should' glib filler for a conviction-led brand signature (no-tech-debt ethos), keeping the C++-core/web-edge rigor signal. FR: « Indépendant, et sans compromis. Le C++ au cœur, le web en surface. »

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…wnstream' line (founder)

« LogCraft est l'entrée qui manque à tout votre aval » -> « LogCraft génère les signaux réalistes qui manquent à tous les outils qui suivent » — natural FR; EN master unchanged (reads fine).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… + 2 reframes

FR-only: « cascade » reads as waterfall/stunt in French, so every DISPLAYED standalone « cascade(s) » -> « panne(s) en cascade » (~17: marketing prose, titles, the Lab button + its 'lancez/cliquez' references, tips, onboarding). LEFT on purpose (not ambiguous / would break refs): the auto_cascade YAML key, the cascades:/cascadeTip i18n keys, the Auto-cascade(s) feature name.

Reframes (founder): problem.points 'Sans bac à sable… Il y a mieux.' -> 'Sans sandbox, les vraies pannes deviennent votre seul terrain d'entraînement. Il existe une meilleure solution.'; 'enregistrements parasites' -> 'record parasite'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…wide (founder)

Aligns with the locked keep-dev-terms-English register (run/diff/pattern/seed/gate/on-call/sandbox…); 'enregistrement' read strange. 10 spots reverted (lab tooltips, drain, concepts, useCases, features). The verb 'le moteur enregistre' (logs/records) is kept — only the noun flips.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…modélise'

FR: 'apprend en se faisant pager' -> 'apprend au rythme des alertes en pleine nuit'; deepDiveSubtitle 'stresser tout l'aval' -> 'stresser tout le reste de la chaîne' (kept the 'se place avant votre stack' positioning clause); features 'modélise la forme du trafic… comme la prod' -> 'reproduit le comportement du trafic… comme en production'. EN: on-call title aligned 'by getting paged' -> 'by getting paged at 3 a.m.' (kept 'paged' — idiomatic EN; the franglais issue was FR-only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…inute/database

FR: features Lab item 'Ouvrez l'URL… cliquez Run' -> 'Ouvrez le Lab… Run'; 'un simple portable' -> 'un simple ordi portable' (portable alone = cellphone in FR); conceptsTitle 'fluent' -> 'opérationnel' (revert); incidents example 'à la minute 5, la base' -> 'À la 5e minute, la database'. EN: features Lab item aligned 'Open the URL' -> 'Open the Lab' (keeps 'hit Run').

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e-wide, EN+FR (founder)

Hero badge + tagline + portfolio subtitle, both languages. The noise->signal dichotomy is punchier, iconic, and on-thesis (it's what the MetaLog distils) vs the abstract 'comprehension'. ('signal exploitable' available if more explicitness wanted on a given surface.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…m (EN+FR)

Hero EN now mirrors the founder's tighter FR: 'compresses your log noise into deterministic, relevance-ranked structure — precision, not gigabytes of unusable logs' (on-prem stays in the trust badge, CTA is the button, LLM angle on /vision). Roadmap explain-demo item reframed EN+FR to the benefit + the anti-hallucination angle ('no hallucinated interpretation' / 'sans aucune interprétation hallucinée'); FR kept infinitive to match the other roadmap items.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…l intro (founder)

Title (+ footer link + /vision CTA) 'Comment on se compare' -> 'Ce qui nous différencie' (flat literal -> natural). Subtitle -> 'on ne fait pas moins cher. On fait autre chose.' (option A). Intro fully rewritten away from the literal EN translation: 'soyons honnêtes', 'fausse la comparaison' (not 'rend étrange'), 'rivalise sur' (not 'se bat sur'), punchy 'Pas un entrepôt moins cher : une autre machine'. EN side unchanged ('How we compare' reads fine in English).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ue sweep, 4 reframes

FR howWeCompare: 'machine' metaphor (badge/intro/vs-Datadog) -> 'une autre mécanique' (literal 'votre machine'=your computer kept untouched); 'leur propre réponse' -> 'leur réponse'; 'Vous achetez un objet différent' -> 'une garantie différente'; 'On part d'où part Honeycomb' -> 'On part du même constat qu'Honeycomb'; 'Un pari vous demande' -> 'Leur pari…'. Site-wide FR: 'bit pour bit' -> 'bit-identique' (5 spots, smoother in FR; matches the existing 'Bit-identique'). EN: only 'One bet'->'Their bet' aligned; EN keeps 'machine' (metaphor works in English) + 'object' + 'bit for bit'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 'different machine' metaphor spine — 'conception' (architectural design, no aesthetic ambiguity unlike 'design') across badge/intro/vs-Datadog.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…under-approved)

Consistency: rateTip 'Enregistrements'->'Records' (record-revert case-miss), 'colonne synthétique'->'colonne vertébrale synthétique', 'fictif'->'factice', 'seedé'->'avec seed' (×4). FR-awkward metaphors: 'lentille'->'vue' (×4), literal 'votre machine'->'votre infra' (×4, cross-machine 'd'une machine à l'autre' kept), 'le fatal solitaire'->'l'erreur fatale isolée' (×2). Calques: 'partir à la verticale'->'s'envoler', 'lossy/lossiness'->'perte/perd de l'information', 're-dérivable/se re-dérive'->'traçable/remonte' (×4), 'trie le grain'->'sépare le bon grain de l'ivraie', cookies 'complété'->'terminé'. EN untouched. ('Run'/'Run Demo' button refs left — founder undecided.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…mo key to EN

Founder: 'Run Demo' reads better in English. The FR marketing copy already uses English 'Run Demo'/'Run' (logcraft ctaSubtitle/ctaTitle). lab.runDemo is an unused key ('Lancer la démo' FR vs 'Run Demo' EN) — aligned FR->EN so it stays English if ever wired. Real launch button is launchAndStart ('Lancer le scénario'), unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…al d'arrêt', drain title, live

Remove the stale 'FR PLACEHOLDER / awaiting Eqya' comment above the (long-translated) sift block; vision.hub canary 'signal de kill' -> 'signal d'arrêt' (matches portfolio.canary); drain.title 'Sink Démo LogCraft' -> 'Sink de démo LogCraft'; lab.live 'En direct' -> 'Live' (consistent with the kept 'live' register).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nal pass)

free.title 'On ne plaisante pas' (read as confrontational in FR) -> 'Sans conditions.'; free.body terse '…de vos builds, non.' -> explicit '…de vos builds ne l'est pas.'. EN ('We mean it' / 'is not') unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…our conditionner un déploiement' (founder)

Replaces the flat 'Un fait sur lequel vous pouvez poser une gate'; keeps 'déterministe' (the moat) + 'signal' (hero) + the deploy-gating framing. EN 'A fact you can gate on.' unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…under, EN+FR)

Drop the 'alors soyons honnêtes' / 'let's do it honestly' clause; 'C'est légitime.' / 'Fair.' is enough.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@netlify

netlify Bot commented Jun 2, 2026

Copy link
Copy Markdown

Deploy Preview for elaborate-malasada-e00aa3 ready!

Name Link
🔨 Latest commit 7dd4653
🔍 Latest deploy log https://app.netlify.com/projects/elaborate-malasada-e00aa3/deploys/6a1ef491bb284a000741629a
😎 Deploy Preview https://deploy-preview-5--elaborate-malasada-e00aa3.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderoast-dev coderoast-dev merged commit 6bb8333 into main Jun 2, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant