* fix(build): keep declaration inputs inside their checkout
Keep tsdown declaration resolution pinned to the declared checkout in nested
worktrees, including explicit and automatic type references, resolved dts
options, independent CommonJS emission, and relative compiler filesystem calls.
Preserve complete actual Program receipts, CompilerInputSnapshot mutation
checks, joined compilation, and staged publication. In-checkout pnpm links
remain supported; shared external declaration inputs fail explicitly.
Add real nested-checkout, lifecycle, override, cwd, mutation, and publication
regressions. Native tsgo declaration ownership remains a separate follow-up.
Fixes#138408
* fix(build): preserve native checkout identity in declarations
Normalize only the declared checkout prefix so Windows short and long path
spellings share one input owner without admitting ambient ancestor links.
Validate original Program members before projecting complete receipts.
Keep CompilerInputSnapshot and staged publication unchanged.
Cover real directory and Windows 8.3 aliases, preserve rejection of ancestor
symlinks pointing inside, and register the resolution suite in Windows CI.
Follow-up to the Windows failure in the declaration containment repair:
https://github.com/openclaw/openclaw/pull/138440https://github.com/openclaw/openclaw/issues/138408
* fix(build): recognize symlink-resolved checkout prefixes
Map both the declared checkout and its symlink-resolved spelling onto one
native root, without canonicalizing arbitrary outside candidates into scope.
This covers junctions whose targets retain Windows short names.
Use native fixture roots for physical-path assertions and preserve explicit
three-spelling regressions with junction-to-8.3 and case-alias targets. Let
cmd.exe own its quotes in the controlled short-name query.
Keep CompilerInputSnapshot, complete receipts, and publication fences intact.
The real three-spelling regression fails before the owner correction and
passes after it; the full local resolution matrix passes 17 cases with two
Windows-only cases awaiting native CI.
https://github.com/openclaw/openclaw/pull/138440
* fix(ci): accept valid zero-RSS scanner samples
Linux can release a task's memory before its zombie state becomes visible.
Treat zero as a measured value instead of poisoning the scanner's failure
category. Keep negative/invalid samples fail-closed, and preserve all limits,
process-group accounting, cleanup, and exact report identities.
Add a real-CLI, readiness-coordinated regression for zero and four invalid
sample classes. The zero case fails before the comparison repair. All 23
scanner tests pass on Linux Node 24.19; 20 baseline and 20 fixed natural OOM
probes pass, but do not reproduce the original race, whose row was not logged.
Bounded CI repair discovered while landing declaration containment:
https://github.com/openclaw/openclaw/pull/138440
* ci: scope declaration caches to generator inputs
Resolve the selected declaration writer and build configuration dependency graph instead of hashing every CI script. Keep explicit schema and metadata inputs, compiler receipts, and fail-closed module resolution in the existing cache owner.
* test(ci): complete declaration ownership fixtures