Skip to content

PRDCT-582: land the last 8 dev pages on help at their original paths - #1120

Open
Iamfle4ka wants to merge 2 commits into
mainfrom
PRDCT-582-identity-landing
Open

PRDCT-582: land the last 8 dev pages on help at their original paths#1120
Iamfle4ka wants to merge 2 commits into
mainfrom
PRDCT-582-identity-landing

Conversation

@Iamfle4ka

Copy link
Copy Markdown
Collaborator

Linear: PRDCT-582, closes the tail units PRDCT-665 · PRDCT-666 · PRDCT-667. Unblocks PRDCT-565 (domain retirement).

What

The last eight developers.keboola.com pages with no home on help land here 1:1 at their dev paths: /overview/api/, /overview/encryption/, /integrate/jobs/, /integrate/artifacts/ (+ /tutorial/), /automate/run-job/, /automate/run-orchestration/, /automate/set-schedule/. Plus the six redirect stubs the contract promised but help never had (/automate/, /integrate/, /integrate/database/, /integrate/orchestrator/, /overview/repositories/, /overview/jobs/).

Why now

These eight are the whole reason the dev domain cannot be retired: measured on main @ 8112714b, all 29 broken internal links on help point at three of them, and a host-swap 301 from the dev domain would land readers on help 404s. Every other dev URL already resolves here.

Why identity paths, not topic homes

Placing a page is an owner call (Jordan, 2026-07-30), and the seven placement calls in PRDCT-550 are still open. Landing 1:1 is the move Jordan already approved for /extend/** in #1046 — it decides nothing about the IA. Each page carries a :::note[Moved from developers.keboola.com] and sits in a temporary Developer Reference (moved) sidebar group (phase 1 used the same device). When a call is made, the page moves and this URL redirects; nothing breaks.

Two commits, deliberately

  1. 4f45e1d0 — verbatim move. Pages and images byte-identical to the phase-1 conversion (docs/devdocs-phase1-migration @ f4e5ecd0). Reviewable as a move, not a rewrite.
  2. HEAD — form + stubs + four proven corrections. Descriptions, banner, nav group, redirect_from on three canonical pages, and:
    • two kramdown-era anchors the dev sources themselves fixed after the phase-1 run (#creating-component, #preparing-data-folder)
    • the encryption page's self-link #regions-and-endpoints named a heading that does not exist; the section is "Stacks and Endpoints"
    • two links into the retired /orchestrator/ pages carried fragments their redirect target lacks; repointed to the sections that actually hold the concept (/flows/flows-legacy/#schedule-and-automate, /flows/#phases-and-tasks)
    • the artifacts tutorial captioned "File Storage" but showed the job-log screenshot twice; artifacts-tutorial-3.png (the Storage Files shot) existed and was unused

Dev-source drift since the phase-1 run was checked: only link form (root-relative → absolute help URLs, done for the retire PRs) and those two anchor ids. No content drift.

Verification

Check main this PR
npm run build 362 pages 370 (+8), 265 redirect pages (+6)
audit-phase2 broken internal links 29 0
audit-phase2 missing images / unclosed fences 0 / 0 0 / 0
fragment links inside the eight pages → id= in dist/ 12/12 resolve
the six stubs → target each dist/<path>/index.html refreshes to the mapped page

scripts/check-redirects.mjs --build (from #1091) still reports these eight as unresolved against this build — by design: their contract rows carry the proposed topic targets, and the checker refuses to count a non-identity row as conserved. #1091 is being updated to record them as identity rows; after that the contract reads 0 lost.

Notes for the reviewer

Nikita and others added 2 commits September 8, 2026 14:25
… verbatim

These are the developers.keboola.com pages that still had no home on help:
/overview/api/, /overview/encryption/, /integrate/jobs/, /integrate/artifacts/
(+ tutorial), /automate/run-job/, /run-orchestration/, /set-schedule/. Every
other dev page already resolves here; these eight were the reason 29 internal
links on help point at 404s and the reason the dev domain cannot be retired.

They land 1:1 at their dev paths, the same move Jordan approved for /extend/
in #1046, so no information-architecture call is made here. Their permanent
topic homes stay an owner decision (PRDCT-550); when made, these URLs redirect.

Content and images are byte-identical to the phase-1 conversion
(docs/devdocs-phase1-migration @ f4e5ecd, from devdocs/main @ 429efb38).
The only drift in the dev sources since then is link form and two anchor ids,
handled in the next commit so this one stays a pure move.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…t stubs

House form on the eight landed pages: a description each, one shared
":::note[Moved from developers.keboola.com]" so a reader knows why the page
sits where it does, and a temporary "Developer Reference (moved)" sidebar
group — the same device phase 1 used — that dissolves as owner calls land.

Redirect stubs the contract promised but help never had: /automate/ and
/integrate/orchestrator/ → /flows/, /integrate/ and /overview/repositories/
→ /overview/, /integrate/database/ → /components/extractors/database/. With
these, every non-CLI dev URL resolves on help.

Four corrections proven against the built site, none editorial:
- two kramdown-era anchors the dev sources also fixed since the phase-1 run
  (#creating-component, #preparing-data-folder)
- the encryption page's self-link #regions-and-endpoints named a heading that
  does not exist; the section is "Stacks and Endpoints"
- two links into the retired /orchestrator/ pages carried fragments their
  redirect target lacks; repointed to the sections that hold the concept
  (/flows/flows-legacy/#schedule-and-automate, /flows/#phases-and-tasks)
- the artifacts tutorial captioned "File Storage" but showed the job log
  twice; artifacts-tutorial-3.png is the Storage Files shot and was unused

Verified: build 370 pages (+8), 265 redirect pages (+6); audit-phase2 broken
internal links 29 → 0, missing images 0, unclosed fences 0; every fragment
link inside the eight pages resolves to an id in dist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
connection-docs Ready Ready Preview Sep 8, 2026 12:34pm UTC

Request Review

@linear-code

linear-code Bot commented Sep 8, 2026

Copy link
Copy Markdown

PRDCT-582

Iamfle4ka pushed a commit that referenced this pull request Sep 8, 2026
…n help

Batch 1 landed the Storage API pages after this branch was cut, so nine
/integrate/storage/** links now have homes: /storage/api/**, with the
#working-with-sliced-files fragment verified against the built id. The dev
home links follow the precedent already on this branch (→ /extend/), the
home-page bullet that advertised developers.keboola.com as a sibling site now
names Extending Keboola, and /extend/docker-runner/processors/ takes its
help alias.

78 → 35 remaining. All 35 are gated: 29 wait for the eight identity-landed
pages (#1120), three SSH-tunnel links are rewritten by #1019, three
#development-project links wait for #1022.

Verified: build 361 pages, audit-phase2 missing images 0, unclosed fences 0,
broken internal links unchanged at the pre-existing 29; every flipped target
exists in dist. Line endings preserved (four of the nine files are CRLF).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Iamfle4ka pushed a commit that referenced this pull request Sep 8, 2026
…ses, add the cutover runbook

The contract had eight rows carrying proposed topic targets that never got an
owner call; #1120 lands those pages 1:1 at their dev paths (the /extend/
precedent), so the rows now record identity and `unsure` drops to zero.
Against a main+#1120 build, --build reports 201/201 reachable.

New in the map: the 26 Jekyll redirect_from aliases the dev site still honours
(/extend/docker/**, /extend/custom-science/**, /integrate/push-data/** …).
Help already resolves each through redirect_from on the canonical page; they
are rows now — status `alias` — so cutover day checks them too.

--live judged the first Location header, which assumed a per-path map at the
edge. The edge rule is a host-swap (help + same path; help's own redirect_from
does the second hop), so --live now follows the chain — HTTP redirects and
help's meta-refresh pages — and compares where a browser actually lands.

--vercel prints the vercel.json `redirects` block (148 rules) that would turn
help's second hop into a real 301; printed, not written — wiring it is a
production routing change for its own PR.

PLACEMENT-MAP.md gains the cutover runbook for PRDCT-565: the CloudFront
Function (host-swap with the /cli/* → repository carve-out, since help's
/cli/ is kbagent), preconditions, cutover-day checks, archive steps, Search
Console, rollback.

Co-Authored-By: Claude Fable 5.1 <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