Skip to content

the FAQ was imported once and never fetched again - #20

Open
lroolle wants to merge 1 commit into
mainfrom
fix/wire-faq-refresh
Open

lroolle wants to merge 1 commit into
mainfrom
fix/wire-faq-refresh

Conversation

@lroolle

@lroolle lroolle commented Sep 9, 2026

Copy link
Copy Markdown
Member

A one-shot import inside a 4x-daily mirror

content/*/faq/ was created on 2026-08-05 by feat(faq): mirror the FAQ, which the docs site does not carry and then left out of the workflow. The fetch has run four times a day and been green ever since. The FAQ has not been refreshed once in 35 days.

scripts/faq.py --check exists for exactly this — "exit 1 if the mirror is stale" — and nothing has ever called it:

$ grep -n 'uv run' .github/workflows/fetch-deepseek-docs.yml
29:        run: uv run scripts/dsh.py
32:        run: uv run scripts/fetcher.py

Run today:

$ uv run scripts/faq.py --check
stale: content/en/faq/category-1.md, content/en/faq/category-2.md,
       content/en/faq/category-4.md, content/zh-cn/faq/category-1.md,
       content/zh-cn/faq/category-2.md, content/zh-cn/faq/category-4.md
$ echo $?
1

Six of eight files.

What readers were told wrong

Upstream added a whole answer that is not in our copy:

+## How do I change a phone number that is no longer in service?
+
+- **If the original number can still receive SMS:** Go directly to 「Settings」 --> 「Account settings」.
+- **If the original number is out of service:** You must fill out the 「Account Rebinding/Unbinding Application」 form.
+
+Most reviews are completed within 3 business days.

It also rewrote the verification-code guidance from two bullets into real troubleshooting steps, dropped one User Guide entry, and added an API one. Per locale: 44 questions -> 45, API section 15 -> 16.

Why nothing noticed

The FAQ is on static.deepseek.com, outside the Docusaurus site fetcher.py walks, so it has no entry in content/.metadata.json. The manifest is what every other integrity check reads. An item that is in no manifest cannot go stale, cannot fail, and cannot be reported — the run is green because the FAQ is not part of what the run looks at.

That is the failure shape with no signal: not a job that broke, an item nothing was asking about. The fix is to stop treating it as special. faq.py now runs beside dsh.py and fetcher.py, so Detect changes, Publish and Verify outcome see FAQ drift the same way they see doc drift.

In this PR

  • workflow: Fetch FAQ (static.deepseek.com) after the main fetch
  • content: the 35 days of missed updates, so this is fixed on merge rather than on the next run
  • README: 45/16 rather than 44/15, and it now says the scheduled fetch refreshes the FAQ, plus what happened when it did not

Note on --check

--check stays a manual tool. With faq.py in the workflow, a stale mirror shows up as a normal content diff and goes through triage and publish like anything else, which is more useful than a red run — the point was never to alarm about the FAQ, it was to fetch it.

🤖 Generated with Claude Code

content/*/faq/ was mirrored on 2026-08-05 and left out of the workflow. The
fetch runs four times a day and has been green throughout; the FAQ has not been
refreshed once in 35 days. `scripts/faq.py --check` exits 1 on a stale mirror
and nothing has ever called it.

    $ uv run scripts/faq.py --check
    stale: content/en/faq/category-1.md, content/en/faq/category-2.md,
           content/en/faq/category-4.md, content/zh-cn/faq/category-1.md,
           content/zh-cn/faq/category-2.md, content/zh-cn/faq/category-4.md
    exit 1

Six of eight files. Upstream added a whole answer about rebinding an account
whose phone number is dead -- with the form to file -- rewrote the
verification-code guidance, dropped one User Guide entry and added an API one.
Anyone who read our copy in the last five weeks got the August answers.

The FAQ lives on static.deepseek.com, outside the Docusaurus site the main
fetcher walks, so it has no entry in content/.metadata.json. Nothing tracked it
and nothing could report it missing: a one-shot import sitting inside a mirror
that advertises a 4x-daily cadence, which is the failure shape that emits no
signal at all. It is now fetched like every other source.

README: 45 questions per locale, 16 about the API (was 44/15), and it says who
refreshes the FAQ instead of leaving the reader to assume.

Co-Authored-By: Claude Opus 5 <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