Skip to content

docs(drafts): DOU-exclusive Ukrainian adaptation of the missing-layer essay - #671

Open
rejifald wants to merge 7 commits into
mainfrom
claude/dou-missing-layer-uk
Open

docs(drafts): DOU-exclusive Ukrainian adaptation of the missing-layer essay#671
rejifald wants to merge 7 commits into
mainfrom
claude/dou-missing-layer-uk

Conversation

@rejifald

@rejifald rejifald commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Adds content/drafts/the-web-ecosystem-is-missing-a-layer.uk.mdx — the DOU.ua version of the missing-layer essay, following the retire-api-ts.uk.mdx drafts pattern: outside the fumadocs collections (never published on stitchapi.dev), target: dou.ua, twoslash-verified by the drafts gate.

Why an adaptation, not a translation

Checked against DOU's live editorial policy (dou.ua/forum-articles-howto/, fetched 2026-08-06):

  • DOU rejects «теоретичні та рефератні матеріали» and requires first person + own experience — so the impersonal English essay is retold as the author's rebuild-routine story.
  • The uniqueness rule's own-blog exception covers the English original on stitchapi.dev; the frontmatter checklist includes the disclosure line for the moderator-comment field.
  • Per DOU's terms (§3.1) exclusive rights to the posted text transfer to DOU permanently — hence drafts-dir placement, UA text stays DOU-only.
  • New angle vs the already-published «На пенсію api.ts» (api.ts entropy): the layer map, the you-don't-own-the-other-end asymmetry, and naming the category — «зшивання», один стібок на кожен ендпоінт.

Language QA

An independent review against the retire-api-ts.uk.mdx register produced 22 findings; 21 applied (russism calques like «проти якого ви програмуєте», «кінець проводу» → «кінець дроту», malformed «залімічений», terminology alignment: «тротлінг», «конструктор запитів», case agreement). One deliberate keep, noted in frontmatter: «імплементація ↔ декларація» over «реалізація» — the pair carries the thesis.

Verification

  • Drafts twoslash gate: both ts twoslash blocks compile against built core (61 tests, 10/10 files)
  • Prose length ≈9.6k chars — over DOU's 8,000 minimum
  • Prettier canonical; pre-push suite green on push
  • Frontmatter carries the full submission checklist: form URL, moderation flow, no-logo cover warning (gen-cover output carries the logo — DOU prohibits product logos on images), alternate headlines, twoslash-strip command

🤖 Generated with Claude Code

rejifald and others added 7 commits August 6, 2026 11:37
Not a translation: DOU rejects impersonal essays, so the missing-layer
argument is retold first-person around the rebuild-routine story, in
the retire-api-ts.uk drafts pattern — outside fumadocs collections,
target: dou.ua, twoslash checked by the drafts gate. The angle and
headline differ from the already-published api.ts-entropy piece: the
layer map, the foreign-end asymmetry, and naming the category
(зшивання, один стібок на ендпоінт). ~9.6k prose chars, over DOU's 8k
minimum. Frontmatter carries the submission checklist: uniqueness
disclosure for the moderator field, rights-transfer note (UA text
becomes DOU's), no-logo cover warning, alternate headlines.

21 language-review fixes applied (russism calques, terminology
alignment with the precedent draft, case agreement); «імплементація ↔
декларація» kept deliberately over «реалізація» — noted in frontmatter.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… step

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two satori-rendered illustrations (light theme, Ukrainian labels, no
logo per DOU's image rule), generated by the committed
scripts/gen-dou-illus.mjs: the layer map with the one amber cell —
which replaces the markdown table, since DOU's editor renders tables
unreliably and the image carries identical content — and the
hand-written-helpers → one-declaration collapse, placed where the
prose makes that argument. Checklist notes the manual upload step.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The layer map goes back to a markdown table (the image restated it
without adding meaning), and the surviving illustration is rebuilt as
row-by-row correspondence: each hand-rolled artifact points at the
declaration field it collapses into, ending on the punchline row —
`// TODO: причесати` → «вже не потрібен». Generator trimmed to the one
image; checklist updated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The mapping rows implied one-to-one equivalences that aren't exact
(sleep(200) is not throttling; AbortController is not the whole
timeout story). The illustration now shows the article's own
transformation, code to code: the full 18-line hand-rolled listUsers
against the 9-line stitch declaration, with two accuracy notes — the
left side also owns utils/retry.ts and auth/token.ts, and the right
side declares backoff, throttling, and shape validation the left
never implemented.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The asymmetry section's argument drawn literally: your repository
(everything the compiler can see, one-commit fixes) and someone
else's (own release schedule, silent shape changes), joined at a
dashed seam by slanted thread-stitches — one labeled stitch per
endpoint, smaller unlabeled ones implying the rest. Placed right
after the paragraph that coins «зшивання», so the metaphor lands as
it is introduced rather than as a forward reference. Generator now
renders both images; checklist lists both.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… код

The before/after panels are now real highlighted code, tokenized by
the same Shiki theme the docs site renders with (github-light, per
source.config.ts defaults). The before side carries the article's
snippet verbatim — imports, return type, the trailing «заявка, а не
перевірка» comment — at a smaller size so all 19 lines are honestly
present against the declaration's 9; line counters make the ratio
explicit. The seam illustration comes out per review — the code
transformation is the keeper.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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