overengineeringstudio / overengineeringstudio/effect-utils

notion schema diff: under-detects drift (no select/status option changes) + can't parse .annotations()

Open
#896 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:notion system:notion-cli type:bug
Dominant language
TypeScript
Stars
82
Forks
2
Avg merge
1d 8h
Merged PRs (30d)
121

Description

Problem

notion schema diff under-detects drift and can't parse schema annotations, which weakens the drift-gate:

  1. Under-detection: diff only detects property add / remove / type-change. It does NOT detect select / status option-value changes (options added/removed/renamed).
  2. Annotation parsing: the diff parser can't read .annotations({...}) on generated schemas. As a result, generation must use --no-schema-meta, otherwise every annotated property reports as drift.

Expected

  • diff detects select/status option-value drift, not just structural property changes.
  • The parser handles .annotations({...}) so generated schemas can carry meta without every property showing as drift (i.e. --no-schema-meta is not required to get a clean diff).

Package: packages/@overeng/notion-cli (src/diff.ts, src/commands/schema/mod.ts).

Posted on behalf of @schickling
field value
agent_name 💜 cl1-violet
agent_session_id 5ce468e2-a077-44ee-a724-bca1fb992e1c
agent_tool Claude Code
agent_tool_version 2.1.202
agent_runtime Claude Code 2.1.202
agent_model claude-opus-4-8
runtime_profile /nix/store/34v4ljmkjh4sgzax68wwgggmzf69zmfk-coding-agent-runtime-profile/share/coding-agents/profile.json
skills_manifest /nix/store/92pwq9mx1byj8nl9an05dyh4baykvf1d-agent-skills-corpus/share/agent-skills/manifest.json
worktree effect-utils/schickling/2026-07-07-notion-demo
machine mbp2025
tooling_profile dotfiles@unknown

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

Start with packages/@overeng/notion-cli/src/diff.ts and packages/@overeng/notion-cli/src/commands/schema/mod.ts, tracing the existing property and type drift handling and schema parsing. The work is complete when select/status option changes are reported and schemas containing .annotations({...}) produce a clean diff without requiring --no-schema-meta.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.