overengineeringstudio / overengineeringstudio/effect-utils

notion-react/markdown: centralize block spellings with pull-side renderer when second consumer lands

Open
#1,098 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
82
Forks
2
Avg merge
1d 8h
Merged PRs (30d)
121

Description

Follow-up from #1097 (decision 0001, option Q1-C).

The new renderToNotionMarkdown projector (@overeng/notion-react/markdown) owns a dedicated JSX→Markdown spelling table that deliberately aligns with — but does not share code with — the pull-side wire renderer (NotionMarkdown.treeToMarkdown in @overeng/notion-effect-client). Delegation was rejected because the pull-side renderer lacks a diagnostics channel and modifying it for review-artifact needs risks .nmd wire-format drift.

Trigger to revisit: a second real consumer of the Markdown projection, or a stable compatibility requirement, per the #1097 demand gate.

Then: evaluate extracting shared spelling constants (or a dialect module) consumed by both serializers, with golden tests on both sides preventing drift.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Revisit this only after a second Markdown projection consumer or stable compatibility requirement exists. Compare renderToNotionMarkdown with NotionMarkdown.treeToMarkdown in @overeng/notion-effect-client, then evaluate shared spelling constants or a dialect module; done means both serializers use the agreed spellings and golden tests prevent drift.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.