packages/agent/package.json: test invocations use scripts/run-tests.mjs so TMPDIR/TEMP/TMP are scoped before the test runtime starts and cleaned after exit.
- Vitest SSR copies and interrupted fixture writes must not accumulate in the OS temp directory.
- Test-process bootstrap is repository tooling, before runtime extensions load.
- Test command arguments and runtime selection; preserve existing reporters, shards and test filters.
packages/agent/vitest.config.ts:excludeaddsdocs/**, and keeps vitest's defaults throughconfigDefaults.exclude.
docs/mobile-handoff/01-harness/01-delta/delta.test.tsis historical prototype evidence (itsdelta.mdsays so), not production source.- It ran 54 tests in every agent CI run. About 40 of them repeat
packages/chord/test/delta.test.tsword for word, and one contradicts production: the prototype keeps delete-then-set, while chord collapses it. - The file stays on disk, because
delta.bench.tsanddelta.examples.tsimportdelta-impl.ts, and deleting an upstream-owned file would conflict on the next sync.
- Test runner configuration.
- LOW: the
testblock ofpackages/agent/vitest.config.ts.
packages/agent/docs/pico/pico-handoff.mdstays deleted. Upstream commit4819cc877ereplaced the approved implementation handoff withpico-simple-handoff.md,pico-rendering.md, andpico-simple-blockers.md.
The old handoff was deleted upstream after its decisions were incorporated into the newer pico documents; restoring it would revive superseded guidance.
This is repository documentation, outside the runtime extension surface.
- LOW: the retired path if a later upstream merge reintroduces it. Keep the newer pico documents as the source of truth.
packages/agent/package.json: Rootpackage.json: fork scripts kept (build-all.mjsbuild, the forkcheckchain with conflict-marker/bun-lock/install-lock/claude-sdk-platform-lock gates,run-workspaces.mjslaunchers,refresh-lock,preinstall); devDependencies kept (biome 2.5.14, @types/node 26.6.2, typescript 7.0.2, @typescript/typescript6, tsx 4.23.13, vitest + @vitest/coverage-v8 5.0.1). Adopted from upstream:generate:modelsruns generate-models only (thegenerate-image-modelschain dropped for the D-3 image-model unification), andtest:scriptsalso runs the adopted upstreamscripts/model-catalog-protocol.test.ts. Not adopted: codemode/mcp/durable build phases, the tsx removal.packages/agent/package.json:@earendil-works/chordexact 0.85.1 -> 0.99.1 (D-12, chord moves to upstream 0.99.1); adopted upstream./experimental/pico3export andbuild: tsc; bench scripts keep tsx.
- The fork builds through
scripts/build-all.mjsand runs sources with tsx (D-11); upstream's plain-node source execution and TypeScript-7 script rewrites are mechanism changes the fork already covers. - Upstream codemode, MCP, tool-search and durable are excluded (D-2, D-7), so their workspace packages, dependencies, build phases, tsconfig/vitest aliases and smoke checks stay out.
- The
openai6.26.0 hold had no failing check behind it and the adopted upstream OpenAI adapters target 7.19.0 (D-10). - chord follows upstream 0.99.1 with exact pins (D-12, check:pinned-deps).
Workspace manifests, tsconfig and build/check scripts are repository build infrastructure, outside any runtime extension.
Every path listed above conflicts again where upstream edits the hunks named in its line; the fork-kept constructs named there are the anchors to preserve.
packages/agent/package.json:filesexcludesdist/**/*.map.
- The maps point at
src/, which is not published, so they cannot resolve for consumers and only add install size.
- Package publish metadata.
- LOW: the
fileslist inpackage.json.
packages/agent/package.json: Updated the test runner to Vitest 5.0.1 and V8 coverage to @vitest/coverage-v8 5.0.1.packages/agent/benchmark/session/benchmark.ts: Register session timing benchmarks through the Vitest 5 test-context fixture and pass the existing iteration and warmup settings tobench.run.packages/agent/vitest.benchmark.config.ts: Move the benchmark reporter to the top-level test reporter setting.
- Run this workspace on the pinned Vitest 5 release.
packages/agent/benchmark/session/benchmark.tsandpackages/agent/vitest.benchmark.config.tsuse APIs removed by Vitest 5; migrating them keeps the optional session timing command usable.
- The package manager resolves development tools before extensions load.
packages/agent/benchmark/session/benchmark.tsandpackages/agent/vitest.benchmark.config.tsare consumed by the test runner, not by runtime extensions.
- The development dependency pins in
packages/agent/package.json. - Benchmark registration in
packages/agent/benchmark/session/benchmark.tsand reporter configuration inpackages/agent/vitest.benchmark.config.ts.
packages/agent/package.json:typebox1.3.27 -> 1.3.34,ignore7.0.8 -> 7.0.9,yaml2.9.0 -> 2.9.1 and@types/node26.2.0 -> 26.6.2.
- These are the fork's own exact pins, refreshed to the newest release in the same minor that satisfies the repository's
min-release-age=2window. Upstream carries different ranges, so the versions have to be re-asserted here.
- Manifest dependency versions are resolved by the package manager before any extension loads.
- LOW: the dependency version block, on every upstream release bump.
packages/agent/assets/tree-sitter/javascript.wasmandpackages/agent/assets/tree-sitter/web-tree-sitter.wasm: the vendored grammar and runtime artifacts the structural read engine loads, recorded with their upstream package, version, license and SHA-256 inpackages/agent/assets/tree-sitter/provenance.json.packages/agent/package.json: adds the pinnedweb-tree-sitterruntime dependency, the pinned@vscode/tree-sitter-wasmmeasurement dependency, andassetsto the published files.packages/agent/tsconfig.build.json: includessrc/**/*.d.tsso the packaged asset module declaration is part of the build program.
- Only a language the frozen selection binds to
wasmloads a grammar, and that grammar has to exist in both the npm package and the compiled binary. Vendoring exactly the shipped artifacts keeps the binary delta to the measured 0.6 MB instead of installing every grammar the upstream package carries, and the provenance file is whatscripts/prepare-bun-compile-assets.mjsverifies before a compile.
- Package files and dependencies are resolved before any extension loads; an extension cannot add an artifact to the published tarball or to a compiled binary.
- LOW: the dependency and files lists in
packages/agent/package.json.
- packages/agent/package.json:
@earendil-works/chordis pinned to the exact upstream0.85.1it resolves to, instead of a fork CalVer range.
- chord is bundled but kept on upstream's own release identity (issue #1632): the fork does not publish it, so a CalVer range was unresolvable on the registry and broke
bun add @code-yeongyu/senpi. Pinning the exact published0.85.1keeps the declared edge resolvable while the bundled copy shadows it at runtime.
- packages/agent/package.json is static manifest data consumed by the package manager and the release/publish pipeline, never reachable from the runtime extension system.
- The
@earendil-works/chorddependency range in packages/agent/package.json.
- packages/agent/package.json: build uses tsgo for the emitted workspace build.
- The native compiler reduces omob build time without changing runtime JavaScript.
- The package build manifest owns the compiler used by the fork's release pipeline.
- The
buildscript in packages/agent/package.json.
packages/agent/package.json: keeps the fork CalVer version2026.9.12and^2026.9.12ranges for@earendil-works/chord,@earendil-works/pi-aiand@earendil-works/pi-telemetry, the Node>=24.0.0floor,diff 9.0.0,@types/node 26.2.0,typescript 7.0.2,vitest/@vitest/coverage-v8 4.1.11andprivate: true; upstream's new Chord runtime dependency and bench scripts were adopted.
- Every
@earendil-works/pi-*workspace rides the fork's CalVer lockstep so the install lock can treat them as internal packages, and the fork's held tool pins must stay single-instanced across manifests.
- Package version and dependency ranges are resolved by the package manager before any code runs.
- LOW:
version,dependenciesanddevDependencieslines on every upstream release bump.