Skip to content

feat(challenge): add the six challenge pages in French and English (#118) - #119

Merged
wab merged 9 commits into
mainfrom
feat/118-fr-challenges
Nov 6, 2026
Merged

wab merged 9 commits into
mainfrom
feat/118-fr-challenges

Conversation

@wab

@wab wab commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #118

What is added

  • Six challenge pages in French and English in challenges/fr/ and challenges/en/: sales-experience, customer-experience, revenue-performance, sales-compensation, revenue-systems, revenue-ai. The French copy comes from the current prototype. The English copy is a machine translation of it, with every non-text field identical to the French file and every string within the schema caps.
  • Twelve team members in team/ now carry challenge, contribution {fr, en} and tools, so the challenge pages can list their experts.
  • Sixteen new tools in tools/ referenced by those experts: apollo, chargebee, claap, claude, clay, dust, full-enrich, looker, make, metabase, n8n, oneflow, pandadoc, segment, storylane, stripe. Name and category only.
  • Three raised caps in scripts/schemas/challenge.schema.js (commit c7efeb8), because the current prototype copy exceeds them. Recomputed with the spec rule, longest value plus 20%: workstreams.title 71, method.subtitle 91, diagnostic.subtitle 155. Spec Spec: challenge content type and Team member expert fields #91 (challenge content type) is already updated.

pnpm validate passes. pnpm vitest run passes (1394 tests).

Before merge

  • Replace the bracketed placeholders in the case section of all six challenge files, in both languages (headline, summary, metrics). In revenue-ai.md only the summary and metrics are placeholders.

  • Replace the bracketed placeholder in revenue-systems.md method.note (FR "Badges partenaires officiels à intégrer : HubSpot, Notion", EN "Official partner badges to add: HubSpot, Notion").

  • EN copy is a machine translation, to be reviewed by Benjamin after launch.

  • Add team previousCompanies: left out because the prototype only shows "[entreprise]".

  • Review the EN contribution texts on the twelve team files: they are drafts.

  • Add iconUrl to the sixteen new tools.

  • Validate the partner block in sales-compensation.md with Qobra: the sentence and the Doctolib and Pennylane metrics. The prototype marks it "[Bloc à valider avec Qobra]" (spec Spec: challenge content type and Team member expert fields #91, assumption A2).

  • Merge fix(challenges): raise three caps to fit the current prototype copy (posts#118) website#304 first. It mirrors the three raised caps in the website schema; without it, three pages return 404.

Known gaps

  • Expert tools on the team page. equipe.html gives most experts a longer tool list than their challenge card. This PR stores the challenge card list (2 to 4 tools), so the team page will show only those. The lists cannot always be merged: Benjamin's team page list has neither Claude nor Dust, and some unions exceed the cap of 8.
  • Revenue AI copy with no schema field. Spec Spec: challenge content type and Team member expert fields #91 leaves shared labels to the website, so these three strings are not in revenue-ai.md: the case eyebrow "Nous l'avons fait chez nous d'abord" (instead of "Cas client"), the experts subtitle "Les experts Ocobo de l'IA appliquée au revenu.", and the hero badge "Enjeu 2026". The website ticket for the challenge page must carry them.

Open question for the website

On three pages the prototype shows a different expert first than displayOrder gives: Sales Experience shows Jeanne (15) before Hugo (14), Revenue Performance shows Domitille (6) before Corentin (3), Sales Compensation shows Mariette (10) before Aude (2). If the website sorts experts by displayOrder, these three pages show them in the other order. Either accept that, or add an order field per challenge.

Review follow-ups (in this PR)

  • Golden fixtures in scripts/__tests__/fixtures/challenges/ now match challenges/fr/.
  • Blank line before the closing fence removed, contribution strings unquoted, FullEnrich spelled as the brand, two EN contributions reworded.
  • Spec Spec: challenge content type and Team member expert fields #91 now lists method.tools up to 9 and case.headline up to 120, so the schema comments about the mismatch are gone.

wab added 4 commits November 4, 2026 13:58
The prototype copy now exceeds three caps: workstreams.title (59 for 50),
method.subtitle (76 for 75) and diagnostic.subtitle (129 for 125).
Recompute them with the spec rule, longest value plus 20%: 71, 91, 155.

Refs #118
Add the tools the prototype lists on expert cards and that the repo
did not have yet: apollo, chargebee, claap, claude, clay, dust,
full-enrich, looker, make, metabase, n8n, oneflow, pandadoc, segment,
storylane, stripe. Name and category only, iconUrl to come.

Refs #118
Add challenge, contribution {fr, en} and tools to the twelve members
shown as experts on the challenge pages, copied from the prototype.
The EN contribution texts are drafts to review. previousCompanies is
left out because the prototype only shows a placeholder.

Refs #118
Add challenges/fr for sales-experience, customer-experience,
revenue-performance, sales-compensation, revenue-systems and
revenue-ai, with copy from the current prototype. Bracketed
placeholders remain in the case sections and in the revenue-systems
method note.

Refs #118
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

🔍 Preview: https://website-6wxnrzvm0-ocobo-22231b32.vercel.app

Built from website main with content from this PR's branch.

wab added 3 commits November 5, 2026 14:49
Drop the blank line before the closing frontmatter fence in the six
challenge files, unquote the expert contribution strings, spell the
FullEnrich brand as the prototype does and reword two English
contributions.
The six fixtures held the copy from before the prototype update. They
now match challenges/fr, so the tests run on the content that ships.
…icts

Spec #91 now lists method.tools up to 9 and case.headline up to 120.
wab added a commit to ocobo-revops/website that referenced this pull request Nov 5, 2026
The six fixtures predated the current prototype copy, so no committed
test proved the raised caps accept the real content. They now match
challenges/fr in ocobo-revops/posts#119.
wab added a commit to ocobo-revops/website that referenced this pull request Nov 5, 2026
The current prototype copy exceeds three caps: workstreams.title (59 for 50),
method.subtitle (76 for 75) and diagnostic.subtitle (129 for 125). The posts
schema raised them to 71, 91 and 155 (longest value plus 20%, spec
ocobo-revops/posts#91). Without the same values here, the revenue-ai,
sales-experience and customer-experience pages return 404 once
ocobo-revops/posts#119 is merged.
wab added a commit to ocobo-revops/website that referenced this pull request Nov 5, 2026
The six fixtures predated the current prototype copy, so no committed
test proved the raised caps accept the real content. They now match
challenges/fr in ocobo-revops/posts#119.
Add challenges/en for the six slugs, machine-translated from
challenges/fr so both languages ship together. Every non-text field
matches the French file. Bracketed placeholders stay placeholders,
translated inside the brackets. Copy to be reviewed after launch.

Refs #118
@wab wab changed the title feat(challenge): add the six French challenge pages (#118) feat(challenge): add the six challenge pages in French and English (#118) Nov 6, 2026
@wab
wab marked this pull request as ready for review November 6, 2026 14:25
@wab
wab merged commit a869aab into main Nov 6, 2026
3 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.

Add the six French challenge files from the prototype

1 participant