Repository navigation
test(cli): temporary Windows diagnostic, do not merge - #888
Closed
blafourcade wants to merge 9 commits into
Closed
blafourcade wants to merge 9 commits into
blafourcade wants to merge 9 commits into
Conversation
Project cleanup could delete machine-owned plugin files or native refs that another project still uses. Record canonical ownership and refuse uncertain machine cleanup. Refs #829 AIDD-Session-Id: 01a080fc-b4fe-78d3-9317-8d5ea071ca46
Codex task environments expose CODEX_THREAD_ID ahead of the simulated Claude anchor. Clear it only in the two Claude-anchored checks so the test reads the intended session. AIDD-Session-Id: 01a080fc-b4fe-78d3-9317-8d5ea071ca46
Project install and clean must not take over pre-existing user-scope plugins, native catalogue sources, or foreign host refs. Preserve project claims until local cleanup succeeds, and require current source/ref proof before host mutation. This is a partial draft candidate: the framework mutation floor remains pending. Refs #829 AIDD-Session-Id: 01a080fc-b4fe-78d3-9317-8d5ea071ca46
Prove ownership boundaries and refusal preservation through public behavior rather than weakening the mutation gate. Framework mutation: 93.5837% against the unchanged 93% floor. Functional suite: 6700 passing tests. Refs #829 AIDD-Session-Id: 01a080fc-b4fe-78d3-9317-8d5ea071ca46
Resolve symlink and realpath fault keys consistently on Windows. Check the correct Copilot removal contract when its binary is absent and preserve native refusal witnesses when present. Reject malformed Codex source listings without inferring absence and retain actionable diagnostics. Mutation floors and production behavior remain unchanged. Refs #829 AIDD-Session-Id: 01a080fc-b4fe-78d3-9317-8d5ea071ca46
Resolve only symlink lookup keys, retaining virtual project and target identities. Reproduce the drive-qualified lookup and identity-preservation contracts without changing production code. Codex mutation consolidation passes at 95.4248% with zero timeouts; 274 focused tests pass. Refs #829 AIDD-Session-Id: 01a080fc-b4fe-78d3-9317-8d5ea071ca46
The three Windows failures were in the assertions, not in the code they cover. Two cache-warning expectations spelled a path POSIX while the source builds it with `join`, so they only ever matched on a platform whose separator is a slash — one `it.each` line, played twice. The neighbour-list expectation compared `listAll()`, whose keys the in-memory adapter normalizes to a single spelling by design, against a key built with `join`. Both sides now use the same builder, so they agree on either platform by construction rather than by luck. No production behaviour changed and no refusal assertion was relaxed. Refs #829 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FPREgkoNtK4PYh2YyZbztq AIDD-Session-Id: 2261efcd-a873-4e60-9893-2217f702bde2
Not for merge. #870's Windows failures reproduce on rerun, and the managed settings rebuild never runs there. No local simulation reaches it: aliasing `node:path` to win32 breaks the test helpers before the code under test. One deliberately failing case dumps what the failing assertions depend on — the separator, the roots, the resolved settings path, every in-memory key, and what a read returns through both spellings — so the CI Windows job answers what no developer machine can. Delete this branch once read. AIDD-Session-Id: 2261efcd-a873-4e60-9893-2217f702bde2
On Windows resolve() prefixes the current drive, so the source writes the rebuilt settings to D:/project/... while the test seeded and read /project/... — two different files in the in-memory double. The rebuild was happening all along; the assertions were looking elsewhere. Diagnostic removed: the CI Windows job answered it. Refs #829 AIDD-Session-Id: 2261efcd-a873-4e60-9893-2217f702bde2
Contributor
Author
|
Diagnostic lu, question tranchée : sur Windows |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jetable. À supprimer dès lecture.
#870 échoue sur Windows de façon reproductible (relance identique). La réécriture des managed settings ne s%s exécute pas là-bas, et aucune simulation locale n%s atteint : aliaser
node:pathsur win32 casse les helpers du harnais avant le code testé.Ce commit ajoute un seul cas volontairement rouge qui imprime, depuis le job Windows, ce dont dépendent les assertions en échec : le séparateur, les racines, le chemin de settings résolu, toutes les clés du système de fichiers en mémoire, et ce que rend une lecture par les deux orthographes.
Seul le job
cli / Windowscompte ici. Le reste est rouge par construction.