Files
zkldi_Tachi/old-docs/docs/codebase/import/conv-failures.md
T
zk e363bd2532 docs: migrate from mkdocs to mdbook (#1558)
* docs: migrate from mkdocs to mdbook

- Rename old mkdocs docs/ to old-docs/ for reference
- Set up new docs/ with mdbook (book.toml + src/ tree)
- Mirror full nav structure from mkdocs.yml into SUMMARY.md
- Add Justfile-docs with docs-serve, docs-build, docs-check, docs-install recipes
- Import Justfile-docs from root Justfile
- Rewrite .github/workflows/docs.yml: build step uses taiki-e/install-action
  to install mdbook, split into separate build + deploy jobs, PR builds
  run the check step too

* ci(docs): pin actions to SHAs, install mdbook via release binary

* ci(docs): install mdbook from apt instead of curling a release binary

* dev: replace mkdocs python stack with mdbook in dev image

* ci(docs): apt only works on Debian; restore release binary install for Ubuntu CI

* docs: fix duplicate file entries in SUMMARY.md

* docs: remove docs-install recipe

* docs: remove site-url from book.toml to fix asset loading

* dev: install mdbook from upstream release binary, not Debian apt

The Debian package (0.4.x+ds) strips bundled font assets, leaving the
built site without fonts/fonts.css. Use the upstream tarball (same as CI)
so the theme is complete. Handles x86_64 and aarch64.

* docs: vendor mdbook tarballs in dev/mdbook/, install from there

Dockerfile.dev uses COPY + tar to install the right arch at build time.
CI extracts the x86_64 tarball directly from the checkout.
No network access required for either — and no stripped-fonts Debian package.

* fix: unwritten
2026-05-22 20:43:07 +01:00

1.7 KiB

Converter Failures

This page contains the list of possible converter fail states that can be thrown. All of them can be found in src/lib/score-import/common/converter-failures.ts.


SkipScoreFailure

This is a special case of a failure, in that it isn't logged or marked as an error in the import. This call just means we should skip the score.

An example case of this would be something like the eamusement IIDX CSV format, which can pass 'empty' scores for a chart. We would want to skip over those, and they aren't an error.

When this is thrown, the score is skipped, and nothing is imported.

SongOrChartNotFoundFailure

!!! bug KTData means 'Kamaitachi Data', but this applies to Bokutachi just as much, it is just a legacy name holdover.

This failure means that the score could not match with anything in the database, such as giving a chartID that Tachi does not have in its database.

This failure also takes the current data, importType and parser context. This is so we can create Orphan Scores.

Invalid Score Failure

This score provided invalid data that we cannot process.

An example of this would be an IIDX score with -1 EX Score.

Internal Failure

This is an internal failure, and thrown when something bad has occurred on our end.

The most common case for throwing this is the "Song-Chart" desync. This occurs when a chart has no parent song (and a chart must have a parent song.)

!!! info This is generally used for states that should never happen, but we want to handle them nicely anyway.

Any Exception

If any exception is thrown from a converter that is NOT an instanceof ConverterFailure, it is treated as an InternalFailure.