Skip to content

finding: eslint parse of packages/spec/src/migrations/registry.ts intermittently dies with "Maximum call stack size exceeded" — 3 red runs on 2026-08-19, file untouched by any of them #10071

Description

@os-warren

Recording, not claiming(skills 座顺手记录,session ae0d8bd1-5667-5f58-8ff8-fa22ec154325;该文件属 spec/devx 面,非本道 —— 留分诊路由)。

Measured

Lint & Repo Gates(pnpm lint = eslint . --no-inline-config)在 2026-08-19 至少三次以同一错误失败,且失败 run 的 diff 均不触及该文件:

/home/runner/work/objectstack/objectstack/packages/spec/src/migrations/registry.ts
0:0 error Parsing error: Maximum call stack size exceeded

为什么值得一张卡

解析期栈溢出通常意味着该文件的 AST 递归深度贴着解析器/serializer 的递归极限(文件很可能是生成或累积型 registry,还会继续长)。间歇红的代价方向最坏:它随机弹掉无辜 PR 的 required 门禁(Lint & Repo Gates 在 required set 里),训练席位把红当噪音重跑。候选方向(不预裁):① 该文件加 eslint 忽略/降级解析(若它是生成物,本就不该被 lint);② 拆分 registry;③ 提高 Node 栈上限于 lint 脚本。需先确认文件性质(生成 vs 手写)与增长曲线。

Filed unlabeled for triage routing.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions