You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
build(id): two test failures at main — stale shell-contract v1.3 expectation + sqlx-sqlite back in the lock (blocks code#3720 fold) #4015
Third distinct id breakage today, found by the #3720 fold switch at main e860d3a9f (2026-11-01, switch log on the laptop ~/switch-20261101-145031.log). The package now compiles and the suite runs: 1957 passed, 2 failed (-p id --lib):
assertion `left == right` failed
left: "3 frames conform to shell contract v1.4"
right: "3 frames conform to shell contract v1.3"
The report string is formatted from the live contract version (now v1.4); the test's expected string at world.rs:2105 still says v1.3. Looks like a one-line expectation update — but the contract owner should confirm v1.4 is the intended current version rather than an accidental bump.
2. Dependency guard tripped: sqlx-sqlite is back in the lock
sqlx-sqlite depends on libsqlite3-sys: SQLite is back in the shipped build (see vendor/README.md)
grep -c sqlx-sqlite pkgs/id/Cargo.lock = 3 at main bdc66c7c8. This guard exists to force a decision: either the new dependency that pulled sqlx-sqlite in is unintended (remove / feature-gate it) or the wiring changed deliberately (update the guard with the reasoning recorded). Not fixing this one from the fold side — it needs the dependency owner's call.
Context
Today's sequence for the record: #3787 (voiding_scenarios runtime; fixed by #3871) → #3951 (vt100 dev-dep; fixed on main by d488f321c) → this issue. Each fix revealed the next failure behind it because the suite could not run to completion until now. The fold itself (#3720) is fully merged and staged; a green id suite is the only remaining gate for nixos-rebuild switch on the laptop.
Contract expectation — stale test confirmed: d488f321 deliberately bumped the contract revision 3 → 4 with new ScreenPatch frame fields and updated the contract's own tests; only the world.rs expectation was missed. Test now expects v1.4 (the code was right).
sqlx-sqlite — accidental creep, removed at the owning configuration; NOT an intentional adoption, so the guard stands unamended. Root cause: the vendored p2panda crates were automatic workspace members, and member p2panda-sync's test_utils feature chain (→ p2panda-store/test_utils → sqlite) swept sqlx into the lock at the pkgs/id: split the monolith crate into sub-crates along module seams (prioritized by Drew 2026-11-01) #3447 workspace conversion. Fix = [workspace] exclude for both vendored crates + cargo update -w (removals only, zero version changes).
Verification so far (laptop): cargo test -p id --lib 1514 passed / 0 failed at the fix tip; id-core lib 238/0; both named tests ok; nix build .#id-web in progress on the final tip — its predecessor run showed the in-sandbox suite at 1987 passed / 0 failed with only the then-unfixed doc tests failing (see #4073).
Merged: PR #4027 → merge commit ee75087f, verified per the day's protocol (object exists, branch tip is an ancestor of origin/main, content greps in the tree: v1.4 expectation, workspace exclude line, Cargo.lock sqlx-sqlite count = 0).
Final verification: nix build .#id-web on the PR tip EXIT=0 (in-sandbox suite + doc tests green). The id gate for the #3720 fold switch is clear; the switch run follows.
Activity
fix(id): shell contract v1.4 expectation + exclude vendored crates fr…
fix(id): re-resolve the lock without the vendored member graph (#4015)
Merge origin/main into fix/id-4015 (base refresh before landing; no o…
dezren39 commentedon Nov 1, 2026
Fixed in PR #4027 (branch
fix/id-4015):d488f321deliberately bumped the contract revision 3 → 4 with new ScreenPatch frame fields and updated the contract's own tests; only the world.rs expectation was missed. Test now expects v1.4 (the code was right).p2panda-sync'stest_utilsfeature chain (→p2panda-store/test_utils→sqlite) swept sqlx into the lock at the pkgs/id: split the monolith crate into sub-crates along module seams (prioritized by Drew 2026-11-01) #3447 workspace conversion. Fix =[workspace] excludefor both vendored crates +cargo update -w(removals only, zero version changes).Verification so far (laptop):
cargo test -p id --lib1514 passed / 0 failed at the fix tip;id-corelib 238/0; both named tests ok;nix build .#id-webin progress on the final tip — its predecessor run showed the in-sandbox suite at 1987 passed / 0 failed with only the then-unfixed doc tests failing (see #4073).Merge pull request #4027 from developing-today/fix/id-4015
dezren39 commentedon Nov 2, 2026
Merged: PR #4027 → merge commit
ee75087f, verified per the day's protocol (object exists, branch tip is an ancestor of origin/main, content greps in the tree: v1.4 expectation, workspace exclude line, Cargo.lock sqlx-sqlite count = 0).Final verification:
nix build .#id-webon the PR tip EXIT=0 (in-sandbox suite + doc tests green). The id gate for the #3720 fold switch is clear; the switch run follows.