chore: drop Notion from kit — Morgen ↔ Obsidian only (2026-05-04)#3
Merged
Conversation
BREAKING — full rip-out of the Notion side of the three-way sync. The kit is now two-way Obsidian ↔ Morgen. Why: the kit author's own instance (lorecraft-io/obsidian-tasks-sync) dropped Notion the same day after discovering the W1 Notion bearer had been silently 401-ing on every orchestrator tick for an unknown duration. Notion had de-facto been out of the loop; this change makes it explicit and removes the maintenance surface. Removed: - notion/tasks-db-schema.md (entire dir gone) - workflows/W3-notion-done-to-obsidian-sync.json (workflow gone) - W3 step in workflows/W0-orchestrator-sync-sequencer.json (graph: Every 20m → W2 → W1) - All Notion API calls in workflows/W1-obsidian-git-task-sync.json (Code node renamed 'Parse + Upsert Notion DB' → 'Parse + Sync to Morgen'; jsCode replaced with the patched W1 body; notionApi credType branch is now a tripwire) - NOTION_TOKEN / NOTION_DATABASE_ID env-var checks in scripts/install-workflows.sh - W3 import + W3_ID handling in the installer Updated: - README.md: tagline + workflow table + project tree are 2-way; top-of-readme NOTE banner explains the cutover - CHANGELOG.md: documented under Unreleased — 2026-05-04 - docs/ARCHITECTURE.md, SETUP.md, DESIGN-RATIONALE.md, TROUBLESHOOTING.md, workflows/README.md: top-of-file IMPORTANT banners flag the cutover. Full doc rewrite is queued; until then, mentally substitute 'two-way' for every 'three-way' reference and skip the Notion sections. - examples/sample-.env.example: NOTION_TOKEN / NOTION_DATABASE_ID commented as deprecated; left in place as no-ops for backward-compat with pre-cutover .env files - examples/sample-sync-state.json: every notionPageId now null (kept as nullable field on each entry for backward-compat with pre-cutover entries) Net diff: 14 files changed, 92 insertions, 322 deletions.
…roject tree, prereqs Polishes the body of the README to match the 2026-05-04 cutover banner. The top NOTE banner already stated Obsidian ↔ Morgen two-way, but several deeper sections still described the legacy three-way pipeline. This commit brings them in line: - ASCII architecture diagram redrawn for two workflows (W1, W2) instead of three (W1, W2, W3); the Notion node is gone. - "Why not just..." section rewrites the SaaS-comparison list and the "missing piece is two-way sync" thesis paragraph. - Workflow glossary drops the W3 row; W0 description updated to W2 → W1. - Quickstart steps 6 + 7 reference W1/W2 only, not W1/W2/W3. - Project tree's W0 description now says "Sequences W2 → W1 every 15 min". - Prerequisites no longer asks for a Notion workspace + integration. - Status target audience drops "want Notion as a shareable UI". - Known quirks: removed the Notion ops budget mention. - "Using these tools outside the sync" drops the Notion MCP block. - The maxxing series + Credits sections now say "two-way", not "three-way". - Quick Navigation table updated so anchor + descriptions match the body. References to Notion remain inside the cutover banner itself by design.
…1/W2 placeholders PR #3 review surfaced 3 P0 install-script bugs that brick fresh installs: 1. scripts/install-workflows.sh lines 130-131 — multi-line sed had '\<space>-e' continuations glued onto a single physical line, causing sed to interpret the string as a filename and exit with 'No such file or directory'. Split each -e onto its own line. 2. Same shape at lines 200-202 (orchestrator-render sed). Same fix. 3. workflows/W1-obsidian-git-task-sync.json had the patched jsCode using '${GITHUB_TOKEN}' / '${MORGEN_API_KEY}' (template-literal style) but the installer substitutes '{{GITHUB_TOKEN}}' / '{{MORGEN_KEY}}' (handlebars). Mismatch shipped a 401-ing W1 on every fresh install. Aligned W1's jsCode to handlebars; added a {{MORGEN_API_KEY}} substitution to the installer so both naming conventions resolve. 4. workflows/W2-morgen-task-completion-sync.json had stranded '{{NOTION_TOKEN}}' / '{{NOTION_DATABASE_ID}}' placeholders that the installer no longer substitutes after the cutover (would trip the installer's '{{[A-Z_]+}}' validator and exit 1). Replaced with inline '/* notion dropped 2026-05-04 */' comments so W2 imports cleanly. Verified: 'grep -oE "\{\{[A-Z_]+\}\}" workflows/*.json' now shows only GITHUB_TOKEN, MORGEN_API_KEY, MORGEN_KEY, GITHUB_OWNER, GITHUB_REPO_NAME — all of which the installer's sed handles.
Live W0 orchestrator schedule on n8n WJig0XZ7NV1pCa8e is minutesInterval=20.
Pre-cutover artifacts in this kit said 15 min in 4 places + the W0 JSON file:
- README.md L125: 'Schedule (every 15 min)' → 'Schedule (every 20 min)'
- README.md L193: comment '...every 15 min' → '...every 20 min'
- README.md L229: project-tree comment 'every 15 min' → 'every 20 min'
- README.md L262: 'every 15-min tick' → 'every 20-min tick' + 'cumulative per-15-min' → 'cumulative per-20-min'
(the Morgen 300-points/15-min API rate-limit window stays — that's a Morgen budget, not our poll cadence)
- workflows/W0-orchestrator-sync-sequencer.json: minutesInterval 15 → 20, scheduleTrigger node
renamed 'Every 15 Minutes' → 'Every 20 Minutes', connections rewired
Verified live state via mcp__n8n__get_workflow_details({workflowId: 'WJig0XZ7NV1pCa8e'}):
activeVersionId 0d2e510a, schedule rule { minutes: { interval: [{minutesInterval: 20}] }}.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
BREAKING — full rip-out of the Notion side of the three-way sync. The kit is now two-way Obsidian ↔ Morgen.
The kit author's own instance (lorecraft-io/obsidian-tasks-sync) dropped Notion on the same date after discovering W1's Notion bearer had been silently 401-ing on every orchestrator tick for an unknown duration. Notion had de-facto been out of the loop; this change makes it explicit and removes the maintenance surface.
Removed
notion/tasks-db-schema.md(entire dir gone)workflows/W3-notion-done-to-obsidian-sync.json(workflow gone)workflows/W0-orchestrator-sync-sequencer.json(graph:Every 20m → W2 → W1)workflows/W1-obsidian-git-task-sync.json(Code node renamed Parse + Upsert Notion DB → Parse + Sync to Morgen;notionApicredType branch is now a tripwire that throws if reached)NOTION_TOKEN/NOTION_DATABASE_IDenv-var checks inscripts/install-workflows.shW3_IDhandling in the installerUpdated
README.md: tagline + workflow table + project tree are 2-way; top-of-readme NOTE banner explains the cutoverCHANGELOG.md: documented underUnreleased— 2026-05-04docs/ARCHITECTURE.md,docs/SETUP.md,docs/DESIGN-RATIONALE.md,docs/TROUBLESHOOTING.md,workflows/README.md: top-of-file IMPORTANT banners flag the cutover. Full doc rewrite is queued — until then, mentally substitute 'two-way' for every 'three-way' reference and skip the Notion sections.examples/sample-.env.example:NOTION_TOKEN/NOTION_DATABASE_IDcommented as deprecated; left as no-ops for backward-compatexamples/sample-sync-state.json: everynotionPageIdnownull(kept as nullable field on each entry for backward-compat)Net diff
14 files changed, 92 insertions(+), 322 deletions(-).
Test plan
scripts/install-workflows.shruns end-to-end on a fresh n8n instance with onlyGITHUB_TOKENandMORGEN_API_KEYset (noNOTION_*vars).Every 20m → W2 → W1(no W3 step).api.notion.comreferences.sample-sync-state.jsonhas everynotionPageIdasnull.