Skip to content

chore: sync II spec to release-2026-06-15 with robust link rewriting#295

Open
marc0olo wants to merge 2 commits into
mainfrom
infra/ii-spec-sync-2026-06-15
Open

chore: sync II spec to release-2026-06-15 with robust link rewriting#295
marc0olo wants to merge 2 commits into
mainfrom
infra/ii-spec-sync-2026-06-15

Conversation

@marc0olo

@marc0olo marc0olo commented Jun 16, 2026

Copy link
Copy Markdown
Member

Summary

Human-owned replacement for the blocked bot sync PRs. Syncs the Internet Identity spec from dfinity/internet-identity release-2026-06-15 (pinned 181306891f4104b5) and hardens the sync script's link handling.

Content:

  • Regenerated docs/references/internet-identity-spec.md and docs/references/verifiable-credentials-spec.md
  • Updated public/references/internet-identity.did (+92 lines): SSO credential migration types, DoH email-recovery additions, message_id correlation, typed DoH failure reasons
  • Bumped .sources/VERSIONS and the submodule pin

Script fix (scripts/sync-ii-spec.mjs):
Upstream serves the same internal-page destinations under multiple URL forms (internetcomputer.org/docs/current/... and docs.internetcomputer.org/...), and the two source specs are not migrated in lockstep. The old hardcoded full-URL map silently stopped matching when vc-spec.md switched to the docs subdomain, and the validation regex only knew the path form, so the unrewritten absolute links would have shipped.

  • Normalize the volatile domain/prefix to a canonical path#fragment, then look up a shared PATH_MAP (encodes only the irregular split-doc anchors that can't be inferred)
  • Validation now catches both URL forms, failing the build on any unmapped link instead of passing silently
  • Replace the verbose per-link adaptation log in the generated specs with a concise generated-by / do-not-edit marker plus the <!-- Upstream: --> attribution

Reader-facing markdown is unchanged vs main: the spec links render as the same relative internal links as before; only the trailing sync-metadata comments differ. The substantive content change is the .did interface.

Supersedes

Verified

  • npm run sync:ii-spec passes all checks; output is idempotent (two consecutive runs are byte-identical)
  • npm run build succeeds
  • No absolute docs links remain in either output; all rewritten anchors resolve to real headings

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown

🤖 Preview build failed.

Syncs the Internet Identity spec from dfinity/internet-identity
release-2026-06-15 (pinned 18130689 → 1f4104b5): regenerates the two
reference specs and the internet-identity.did interface (adds SSO
credential migration types, DoH email-recovery additions, and message_id
correlation).

Also hardens the sync script's link rewriting. Upstream serves the same
internal-page destinations under multiple URL forms
(internetcomputer.org/docs/current/... and docs.internetcomputer.org/...),
and the two source specs are not migrated in lockstep. The old hardcoded
full-URL map silently stopped matching when vc-spec.md switched to the
docs subdomain, and the validation regex only knew the path form, so the
unrewritten absolute links would have shipped:

- Normalize the volatile domain/prefix to a canonical path#fragment, then
  look up a shared PATH_MAP (encodes only the irregular split-doc anchors)
- Validation now catches both URL forms, failing the build on any unmapped
  link instead of passing silently
- Replace the verbose per-link adaptation log in the generated specs with a
  concise generated-by / do-not-edit marker plus the Upstream attribution

Supersedes #294 (same release, blocked by the bot-PR policy after a human
fix commit) and #290 (release-2026-06-05-hotfix; its content is a subset
of 06-15).
@marc0olo marc0olo force-pushed the infra/ii-spec-sync-2026-06-15 branch from 697992a to a83c59b Compare June 16, 2026 14:48
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.

2 participants