Skip to content

Retire the narrow per-file tsconfig.typetests.json projects in packages that have graduated out of TEST_DEBT #4291

Description

@yinlianghui

Follow-up from #4040 tranche 1, filed per the PM acceptance there (2026-08-11). Unassigned — queued, not started.

Fact

The repo carries ~10 narrow tsconfig.typetests.json projects that each compile ONE guard file (e.g. auth's auth-spec-parity, plugin-chatbot's spec-symbol-batch6). Their own header describes them as the rescue hatch for a package "still in TEST_DEBT" — a way to compile the load-bearing guard while the rest of the package's tests stay unchecked.

As #4040's tranches land full tsconfig.test.json projects, each graduated package's narrow project becomes redundant: the full project compiles the same file (verified for auth and plugin-chatbot in tranche 1 — both were left chained deliberately, since deleting a governance artifact was not that tranche's mandate).

The ask

One PR that, for each package which has left TEST_DEBT: verifies the full test project compiles the guard file the narrow project names, then removes the narrow project and its type-check chain entry. Packages still in TEST_DEBT keep theirs. The check-type-check-coverage.mjs ratchet must stay green throughout, and the PR body lists each removed project with the proof its file is covered by the full project (a tsc --listFiles grep or equivalent).

Do this AFTER the #4040 burn-down has landed most packages, so it's one sweep rather than trickling — but the card exists now so it isn't lost.

Cost of not doing it

Each redundant project is one extra tsc invocation per type-check run and, worse, a second project that must be kept consistent with the full one (the "two spellings of what gets compiled" shape #3009/#4040 exist to remove).

Refs #4040, #3032, objectstack-ai/objectstack#4118.

Activity

  1. yinlianghui commented on Aug 11, 2026

    @yinlianghui
    CollaboratorAuthor

    CLAIM — session session_017Qqyix2QcnpUC9XeYVDzx3,dispatching now。Branch: claude/issue-4291-retire-narrow-typetests。启动条件已达:TEST_DEBT 从 27 包烧到 5 项声明(35/40 包已编译其测试),"烧减大半"成立。范围按卡片:仅退役已毕业包的窄 typetests project(逐个用 tsc --listFiles(或等价)证明全量测试 project 覆盖其点名文件后,删 project + type-check 链条目);仍在 TEST_DEBT 的包(core/react/app-shell/components + 余项)保留其窄 project;coverage 棘轮全程绿。互斥:不碰 #4032 在飞的 plugin-dashboard src、#4307 的 locales——两者均不涉 tsconfig,预期零碰撞。


    Generated by Claude Code

  2. self-assigned this
    on Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions