Out-of-scope finding from the #7759 landing lap (PR #7759, SECRET_MASK hoist — the lap ran consumer-package verification and hit this). Filed unassigned per the #4949 discipline.
What was measured (2026-08-12, on the #7759 lap worktree @ merge of origin/main)
Why this is an issue and not a lap fix
A landing lap makes no source-logic edits; and the fix has two halves that deserve one deliberate PR: (a) add the typecheck script (one line), (b) clear the accumulated type errors it immediately surfaces — which requires reading whether each error is a stale test or a real contract drift. The precedent shape is #4855 (qa/dogfood's unexecuted tsconfig hiding 14 errors) and #5475 (spec/scripts outside every tsconfig include): both were graded and fixed as restore-invariant cards.
Suggested acceptance
turbo run typecheck --filter=@objectstack/service-settings actually executes a typecheck task and it is green; the five files' errors are resolved or individually justified. Worth a quick sweep for OTHER packages missing the script in the same pass (jq over all workspace package.jsons) — the silent no-op applies to every one of them.
Out-of-scope finding from the #7759 landing lap (PR #7759,
SECRET_MASKhoist — the lap ran consumer-package verification and hit this). Filed unassigned per the #4949 discipline.What was measured (2026-08-12, on the #7759 lap worktree @ merge of
origin/main)packages/services/service-settings/package.jsondefines onlybuildandtest— notypecheckscript. Its siblingservice-messaginghas one.turbo run typecheck --filter=@objectstack/service-settingsexits 0 while never running aservice-settings:typechecktask: turbo silently no-ops packages missing the script. So "typecheck green" for this package is a claim nothing enforces — the declared-but-unexecuted-gate shape.tsc --noEmitin the package directory DOES surface real type errors, inai.manifest.test.ts,sms.manifest.test.ts,storage.manifest.test.ts,settings-service.test.ts,settings-translation-coverage.test.ts. Git history shows these files last touched by old, unrelated commits (fix(service-settings): complete zh-CN coverage for auth/sms/ai settings (objectui#2851 P1) #3598–fix(service-settings): refuse a save whosevisiblepredicate cannot be evaluated (#7169) #7310 range) — the errors are pre-existing, not introduced by fix(spec): declare the eight-bullet credential read mask once, in spec (#7572) #7759 or the last 24h of main.Why this is an issue and not a lap fix
A landing lap makes no source-logic edits; and the fix has two halves that deserve one deliberate PR: (a) add the
typecheckscript (one line), (b) clear the accumulated type errors it immediately surfaces — which requires reading whether each error is a stale test or a real contract drift. The precedent shape is #4855 (qa/dogfood's unexecuted tsconfig hiding 14 errors) and #5475 (spec/scriptsoutside every tsconfig include): both were graded and fixed as restore-invariant cards.Suggested acceptance
turbo run typecheck --filter=@objectstack/service-settingsactually executes a typecheck task and it is green; the five files' errors are resolved or individually justified. Worth a quick sweep for OTHER packages missing the script in the same pass (jqover all workspacepackage.jsons) — the silent no-op applies to every one of them.