July 10, 2026
- Proceeded with converting official documentation to JSONL using the Markdown → JSONL Converter, increasing the collection from 1,180 to 1,230 items.
- Found that the multilingual translation pipeline is delayed more than expected, confirming that stabilization may take a long time.
- Tested the multilingual document synchronization pipeline in a private repo, and established the following criteria.
Document structure criteria:
- Use the Korean document as the reference document.
- Multilingual documents are placed in
docs/<lang>/.... - Sub‑paths that were directly under
docs/are considered Korean reference documents and are moved underdocs/ko/.... - Language codes use standard codes such as
ja,zh,pt-BRrather than arbitrary codes likejp,ch. - The root
README.mdremains the root document. - Translated READMEs are also handled relative to the root.
- Ensure that modifications to
README.mddo not incorrectly propagate as file changes insidedocs/. - Existing language folders such as
docs/en,docs/jamust not become nested likedocs/ko/en. - When testing compressed files, only extract and apply changes to
READMEanddocs.
Link and path criteria:
- Update README and internal docs links to match the target language. For example, a Korean README link
docs/ko/...becomesdocs/en/...in the English README. - Relative paths between documents inside
docsare also changed according to the target language. - Keep image paths, sub‑directory links, and relative paths intact during translation/synchronization.
- Language links in the README should be presented so that users feel they are moving to or switching to the document in that language.
Automatic synchronization criteria:
- When a file is added to
docs/ko, create corresponding files in the other languages. - When a file is deleted from
docs/ko, delete the corresponding files in the other languages. - When a specific file in
docs/kois modified, only the corresponding files in other languages are regenerated. - Do not translate the entire set from scratch each time.
- Do not re‑translate languages/files that have already succeeded.
- Do not delete successfully generated outputs even if some translations fail.
- Remove only the failed target files and regenerate them on the next run.
- Skip language folders that already match by comparing file counts or simple version files.
- Use simple version identifiers like
v1or a number rather than complex JSON/hashes.
Translation processing criteria:
- Test translations with the actual API.
- Do not use mock‑success handling.
- Determine chunk size based on the model’s official context/output limits.
- Prioritize truncating output so that the actual translation does not exceed
max_tokensrather than the input context. - Inspect each chunk immediately after translation.
- Queue any failed regions detected during the immediate post‑translation check.
- For queued failures, increase depth, split further, and re‑translate/re‑inspect.
- Avoid a structure where all chunks are combined and inspected only once at the end.
Inspection criteria:
- Verify that no Korean text remains in the translation result.
- Check that whitespace has not been lost.
- Ensure the Markdown structure is preserved.
- Confirm that code fences, links, images, and headings are retained.
- Do not judge languages like Chinese solely by length reduction.
- Read the output to ensure there are no oddities compared with the source.
Failure‑log criteria:
- Distinguish failure causes such as
HTTP 429,504,RemoteDisconnected,finish_reason=length, empty responses, etc. - Log response headers, body, latency, model name, input size, and token usage.
- Prevent a single failure from halting the entire pipeline or deleting outputs.
- If failures repeat, analyze the cause first.
NVIDIA API usage criteria:
- Test the translation pipeline using the NVIDIA API.
gpt-oss-120baccepts up to 128k input context, but NVIDIA API policy caps output at roughly 4,096 tokens.- Even if large inputs can be provided, output limits may cause truncation, so set chunk size based on the 4,096‑token output limit.
- Attempt up to 40 calls per minute; if errors occur, apply back‑off and retry policies.
Hard‑coding criteria:
- Use structural rules such as
docs/<lang>, markers, link regexes, and code‑fence parsing. - Do not arbitrarily change or remove specific words.
- Do not arbitrarily remove
example.com. - Do not register each document file individually by path.
- Do not forcefully replace linguistic expressions or particular sentences/words.
Operational criteria:
- Review both GitHub Actions and Mac self‑hosted runner.
- When running on a Mac, ensure the flow automatically commits/pushes after completion.
- Provide progress visibility similar to GitHub Actions.
- Log which language/file/chunk is being processed.
- Clearly record branch name, run URL, failure cause, and current progress.
Separate from translation, I recently discovered an interesting document.
Checked out Pollinations APIDOCS.md
It appears you can get text responses and even generate images with a
curlrequest without an API key.It seems possible to experiment lightly without worrying about creating an API key or incurring charges.
I’ve already built something fun with it and plan to use it more before releasing it later.
Refactored the version‑separated JSONL slot structure of the
Qwen Validation Debuggerdocs_chunksserves as code‑explanation evidence, so we keep separate slots for Godot 3 code and Godot 4 code explanations/unrelated explanations.- Instead of creating separate JSONL files for
api_mappingandlabel_prototypesfor Godot 3 and Godot 4, we now place both Godot 3 and Godot 4 code together to generate a3 → 4conversion‑evidence JSONL. - The expected validation value for the
3 → 4conversion‑evidence JSONL isYesfor Godot 3 code andNofor Godot 4 code. - The expected validation value for unrelated conversion JSONL is
Nofor both Godot 3 and Godot 4 code.
Retrospective: docs/retrospectives/2026-07-10.md