ReviewOS

home-lang/home

Resolve pinned DuckDB clean-install compilation deadline

#725
Open chris opened this 9 days ago ·
9 days ago

Parent #66; legacy dependency and clean-install reliability follow-up for #724.

Current status: the new native install processes pass their original deadlines, but optional legacy DuckDB is absent. The unchanged N-API DuckDB file passes 18 cases; the legacy ABI-gated exit earns no implementation credit. This issue remains open. See the latest checkpoint below.

After restoring the original pinned root graph (14 development dependencies, two complete workspaces, 47 Git-object-verified setup files), native Home installs the root's 234 packages in 12.9 seconds. The subsequent clean test/ install reaches its original 180,000 ms deadline while the original DuckDB lifecycle is compiling C++ through node-pre-gyp / node-gyp / make. The install is a retained failure, and the remap/service prerequisite gate does not run.

An isolated diagnostic of duckdb@1.3.1 reports HTTP 404 for https://npm.duckdb.org/duckdb/duckdb-v1.3.1-node-v147-darwin-arm64.tar.gz; the unmodified package then takes its declared source-build fallback. Python detection and Node header setup succeed and the compiler is actively compiling DuckDB translation units. Home and the pinned Bun executable report identical Node 26.3.0, modules ABI 147, N-API 10, and release/header URLs.

The original failed root/test batch uses native Home SHA256 19e41223c7fc2d2dcda763470fcc84570900db08b4d547340bdae5286d42bc98 and Bun source pin 4982b91e3702094330f3be3883354c52b8c01323. All 50 original root/workspace/test-setup inputs remain unchanged; no lockfile or test source was edited by installation. All bun, node, and home aliases identify the same Home executable. The isolated pinned Bun control reproduces the same HTTP 404 and C++ source compilation and also times out: Home 180.009 seconds, Bun 180.013 seconds. Both controls use fresh owned source copies/header directories and preserve the same package metadata. This is a shared prerequisite failure, not evidence of a Home-only ABI/version mismatch. Complete failed output, source snapshots, and the runtime comparison are retained with the publication checkpoint.

Completion requires resolving the actual clean-install prerequisite and verifying the original root/test graph within its original deadlines, then running the full applicable primary suite. Do not suppress lifecycle scripts, spoof runtime ABI versions, change the pinned dependency, extend deadlines, use an incomplete dependency tree, or count a warmed retry as a clean setup pass. Any required external prebuilt availability and remaining runtime work must be stated explicitly. This issue does not reduce the scope of #66.

Published graph 47976822e and evidence 764208102, as Chris Breuer without coauthors on origin/main. Full evidence manifest: 81 committed compressed artifacts with verified original hashes. The preceding Elysia pass is separate; this failure still prevents complete primary setup.

Native setup runner checkpoint

The new home test --bun-corpus-setup command now owns both original installs and durable process outcomes. Source 8607e68dd and checkpoint 478cdf5c2 are on origin/main as Chris Breuer without coauthors. On Home 65c97173d344a4a2cebe5f2db98c2929b34f94492a4f5929e904475f5444dc6e, its first clean original run exits 0 for both installs within their original 180-second deadlines (234 root packages reported in 3.0 seconds; 2,898 test packages in 169.2 seconds). All 50 pinned inputs remain unchanged, both captures reach verified EOF and temporary storage is removed.

This is not a resolution of legacy DuckDB. The package is an original optional dependency and is absent after the compilation attempt despite successful overall installation. The binding-presence diagnostic fails. The original legacy fixture exits before registering cases on ABI 147; its successful process-exit record earns zero implementation credit. The separate unchanged @duckdb/node-api file passes all 18 registered cases with the N-API binding and both original file hashes unchanged. No original declaration, ABI gate, source, or deadline was edited. The original install process gate is now clear for subsequent coordinator work, while legacy dependency availability, the earlier deadline failures and full logical feature parity remain unresolved.

The setup launcher explicitly aliases node, bun and home to the same Home executable after its native regression caught a missing node alias. Complete evidence retains the successful process gate and the missing optional dependency separately. See #724 and parent #66.

Sign in to comment on this issue.