From 6b86673af48ae20b46af197b6f0911404dc07168 Mon Sep 17 00:00:00 2001 From: npeter83 Date: Mon, 21 Sep 2026 23:59:59 +0200 Subject: [PATCH] chore: untrack tsconfig.tsbuildinfo, and hold the CI baseline the way the local gate does MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `frontend/tsconfig.tsbuildinfo` was swept into the previous commit by a `git add -A`. It is a machine-local incremental artifact carrying absolute Windows paths, no lane reads or regenerates it, and it was already stale in the commit that added it — it does not list the contract test that same commit created. Untracked, and `*.tsbuildinfo` ignored, because the day anything does start rewriting it a green gate would leave a tracked file dirty: the exact hazard the basedpyright baseline just got a guard for. And CI ran bare basedpyright while the local lane gained that guard, so a burn-down would have been green on the server and red on the developer's machine over the same tree. Two gates, one tree, one answer. --- .gitea/workflows/check.yml | 11 ++++++++++- .gitignore | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/check.yml b/.gitea/workflows/check.yml index e42ea2b5..017d6393 100644 --- a/.gitea/workflows/check.yml +++ b/.gitea/workflows/check.yml @@ -96,10 +96,19 @@ jobs: # The ninth lane (E27 S3). Run from backend/ so it resolves exactly as the local lane does — # pyrightconfig.json's include/extraPaths are relative to the config, but the baseline is # found relative to the working directory. New errors fail; the ~200 pre-existing ones are in - # .basedpyright/baseline.json and burn down epic by epic. + # .basedpyright/baseline.json and burn down epic by epic. Matching is per (file, rule, column + # span) plus a count, so a new error of the SAME shape in a file where a sibling was just + # fixed is absorbed — burn the hot files down first. + # + # The second step is not redundant. basedpyright TIGHTENS the baseline in place when the count + # drops, with no --writebaseline, and CI throws its workspace away — so without this a + # burn-down is green here and red on the developer's `siftlode check`, which has the same + # guard. Two gates over one tree must not answer differently. - name: basedpyright run: python -m basedpyright --project pyrightconfig.json working-directory: backend + - name: basedpyright baseline is committed + run: git diff --exit-code -- backend/.basedpyright/baseline.json - name: pytest run: python -m pytest working-directory: backend diff --git a/.gitignore b/.gitignore index 4d92360b..d5349a1d 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,7 @@ backups/ Thumbs.db .idea/ .vscode/ + +# TypeScript incremental build artifacts — machine-local, absolute-path-bearing, and no gate lane +# reads or regenerates them, so a committed one is stale from the commit that adds it. +*.tsbuildinfo