Typst: tytanic (`tt run`), the standard package test runner, is unknown; typstyle via its action + git diff is not a formatting gate

Open Beginner friendly
#263 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
ci-cd, tooling

Research direction

Start with the Typst profile in ecosystems/typst.py at lines 28-34, which lists only typst compile and typst c as recognised commands, and see how the tests-run fact consumes that list. Add tt run as a recognised test command, with a test that uses tests/a/test.typ and a workflow step run: tt run. Done when that repro reports tests-run PASS naming tytanic. Check facts/formatting.py as well for the typstyle-action apply-then-diff case, but treat it as a separate change.

Written by the indexing model from the issue text.

Description

cetz, fletcher and touying run tt run (compiles every tests/**/test.typ against references) → tests-run FAIL/WARN "no CI runs typst compile"; ecosystems/typst.py knows only typst compile/typst c. touying's typstyle job formats with typstyle-rs/typstyle-action and fails on git diff --exit-code, the apply-then-diff pattern facts/formatting.py accepts, but the action is unknown → code-formatting FAIL.

Evidence from the corpus audit

cetz-package/cetz, Jollywatt/typst-fletcher, touying-typ/touying / tests-run
  • kind: UNSUPPORTED (FALSE_NEGATIVE for cetz and fletcher)
  • actual: cetz FAIL: Typst: tests found in 171 file(s), but no CI configuration runs typst compile main.typ; fletcher WARN: tests found in 82 file(s), but no CI configuration runs typst compile main.typ; touying PASS only because it also compiles two regression documents directly.
  • expected: PASS: all three run the Typst test runner tytanic (tt run), which compiles every tests/**/test.typ and compares against references; it is the standard Typst package test tool (also in fletcher's pixi.toml), and the profile (ecosystems/typst.py:28-34) knows only typst compile/typst c.
  • evidence: fletcher .github/workflows/ci.yaml:24: crate: tytanic, :28: run: tt run; touying .github/workflows/test.yml:28: run: tt run; cetz justfile:19: tt run {{filter}} (via just test, see next finding); fletcher pixi.toml:12: test = "tt run".
  • repro: tests/a/test.typ + workflow step run: tt run; expect tests-run PASS naming tytanic.
  • confidence: high

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

Dominant language
Python
Stars
4
Forks
1
Avg merge
10h 41m
Merged PRs (30d)
79

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cpp-best-practices/project_validator

All issues in cpp-best-practices/project_validator

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.