Skip to content

docs: PRICING TRIPWIRE: weekends off-peak; plus vision, Files API, and 57 NUL bytes - #16

Merged
lroolle merged 1 commit into
mainfrom
sync-2026-08-24
Aug 24, 2026
Merged

docs: PRICING TRIPWIRE: weekends off-peak; plus vision, Files API, and 57 NUL bytes#16
lroolle merged 1 commit into
mainfrom
sync-2026-08-24

Conversation

@lroolle

@lroolle lroolle commented Aug 24, 2026

Copy link
Copy Markdown
Member

Sync of both locales, seven days on from the last one. Three things in it, in descending order of how much they cost you if ignored.

1. Pricing: peak is weekdays only

The footnote gained , Monday through Friday in English and 「周一至周五」 in Chinese. Weekends bill off-peak for all 24 hours, from 16:00 UTC on 2026-08-22 (00:00 Beijing, Sunday 23 August), on the Beijing calendar.

Two consequences worth stating plainly:

  • Peak is 35 hours a week, not 49. Anything estimating cost from the hour alone is now wrong by 2× for 14 hours of every week — and wrong in the direction of overstating.
  • The weekend turns over at 16:00 UTC, not midnight UTC, because the rule is written on the vendor's clock. A Friday evening in Europe is already Saturday upstream.

DeepSeek published no changelog entry for this. The announcement sat in the pricing-page footnote for a few days before it took effect, and the live page now carries only the settled rule — so the announcement exists nowhere on api-docs.deepseek.com today. It survives in the Internet Archive:

Effective 00:00 (Beijing Time) on Sunday, August 23, 2026, we will adjust our peak/off-peak billing rules, with off-peak rates applying throughout the day on weekends (Saturdays and Sundays, Beijing Time).

2. New pages: vision and a Files API

deepseek-v4-flash-vision-exp shipped 2026-08-21 — guides/vision.md, news260821, and a third column on the pricing table. It is priced identically to deepseek-v4-flash on every bucket in both currencies, same 1M context and 384K output, and the one capability it drops is FIM completion.

A Files API also appeared, unannounced in the changelog: guides/files_api.md plus create-file, list-files, retrieve-file, delete-file.

14 new files across the two locales. 187 pages each.

3. The mirror was carrying 57 NUL bytes

Several Chinese pages contain a literal \x00 mid-sentence:

responses_api   思维链文本增量 / \x00完整思维链文本
news250120      参\x00\x00考当前行业的通行实践

These are upstream's. They are in DeepSeek's own served HTML — I checked the raw response, not just our output — almost certainly a bad paste into their CMS. The mirror was reproducing them faithfully, and 24 files had accumulated 57 of them.

Reproducing that is not fidelity, it is a hazard, and the reason it went unnoticed is the interesting part: a NUL makes git treat the file as binary, so every diff on an affected page renders as Binary files a/… and b/… differ. The contamination hid in the one place review cannot look. It is also packed into a Go binary and served by ds docs, and nothing in C0 has a meaning in markdown.

fetcher.py now strips C0 (keeping tab, newline, CR) in a named decontrol.

Two details that were not obvious:

  • It has to run on title and description too. Frontmatter is rendered from meta and bypasses the body pass entirely, which is why my first attempt still left one file dirty.
  • news250120 could not be re-fetched at all: upstream currently serves the SPA shell for it, and the fallback-shell guard correctly refused to overwrite a real page with the homepage. Cleaned in place instead — the guard was right, and it is the guard that made the failure legible rather than silent.

Vault is now 0 NULs. Every previously-binary file is a readable text diff again, which is worth more than the byte count suggests.

Note on #15

The open dsh sync PR (#15) is untouched by this and does not conflict — it is confined to en/dsh, which this branch does not enter.

🤖 Generated with Claude Code

…d 57 NUL bytes

Sync of both locales, seven days on from the last one. Three things in it.

PRICING. The peak footnote gained ", Monday through Friday" / 「周一至周五」
in both locales. Weekends now bill off-peak for all 24 hours, from 16:00
UTC on 2026-08-22 (00:00 Beijing, Sun 23 Aug), on the Beijing calendar --
so peak is 35 hours a week, not 49, and the weekend turns over at 16:00
UTC rather than midnight UTC. DeepSeek published no changelog entry for
this: the announcement sat in the footnote for a few days and the live
page now carries only the settled rule.

NEW PAGES. deepseek-v4-flash-vision-exp shipped 2026-08-21 and brings
guides/vision.md, a third pricing column (identical to flash on every
bucket, and no FIM support), and news260821. A Files API also appeared:
guides/files_api.md plus four endpoint pages. 14 new files across the two
locales, 187 pages each.

NUL BYTES. Several Chinese pages carry a literal NUL mid-sentence --
responses_api's "思维链文本增量 / \x00完整思维链文本", news250120's "参\x00\x00考".
They are upstream's, published in their own HTML, almost certainly a bad
paste into their CMS. The mirror was reproducing them faithfully, and 24
files had accumulated 57 of them.

Reproducing that is not fidelity, it is a hazard. A NUL makes git treat
the file as binary, so every diff on an affected page reads "Binary files
differ" -- which is exactly why nobody saw this: the contamination hid in
the one place review cannot look. It also gets packed into a Go binary and
served by `ds docs`, and nothing in C0 has a meaning in markdown.

fetcher.py now strips C0 (keeping tab, newline, CR) in a named `decontrol`,
applied to the body *and* to title/description -- frontmatter is rendered
from meta and bypassed the body pass, which is how the first attempt left
one file dirty. news250120 could not be re-fetched at all (upstream serves
the SPA shell for it and the fallback-shell guard correctly refused to
overwrite the page with the homepage), so it was cleaned in place.

Vault is now 0 NULs.

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