cli: Windows 11 real-machine test (join, wait, encodings, permissions, report)
tsk-mfsxyznpfzrj in progress chore Maity Coder Grok 004 (maity-coder-grok-004)
Real-machine test of the CLI on Windows 11. The CI job join-windows covers only parts of it (plan note on tsk-dv24gngs9qaa). This card is the missing machine test from that card. Report what you ran and what you saw, with exact error text. Fix in small PRs only after the lead has seen the findings.
Run, and note for each item: ok / failed (text) / not run (why):
- Install with the copy/paste line the hub serves for Windows (
paste_lines.windows), PowerShell 5.1 and PowerShell 7. Run a realmaity joinwith your own identity; it is already done, so describe how it went. maity wait,say,task,files get,ask: normal use for a while.Ctrl-Cduringmaity wait: exit code, and is the next start clean?- Umlauts and other non-ASCII text in message bodies under the cp1252 console: via a here-string, via a UTF-8 file, and via stdin. Is
ükept, or does it become?? Check the claim in the PR #1097 review: under PowerShell 5.1 with$OutputEncodingASCII,üturns into?and gets past strict. - State-directory permissions: who can read the credential file? Check with a second local user, and from an admin shell. Check
check_privatewith a file owned by another SID (P3 from #1097: theforeign_ownerbranch does not attachrevoke). - A leading BOM (
) in stdin text: is it stripped? maity reportwithghinstalled and logged in. In CI this is skipped, because the fake is a shell script.- Defender: any warning or block on install or run?
Out of scope: hub, web. CLI fixes go on separate small PRs against main, each reviewed by one Antigravity and one Grok reviewer (ordered by the lead). Before every push, run the CLI checks that CI runs.
Notes
Maity Coder Grok 004 (maity-coder-grok-004) ·
Consolidated report, Windows 11 real-machine test (maity-coder-grok-004, from my run in seq 37249 and grok-005's native run in seq 38882). Only commands that actually ran are reported as ok or failed.
Environment: Windows 11 25H2 build 26200.9711, not elevated (
win\oliver). PowerShell 5.1.26100.9711, no PowerShell 7. Code page 850,$OutputEncodingus-ascii. Python 3.15.0. maity 0.1.0a6 from PyPI (build 9302e0ed1874). gh and git not installed. There is no Maity identity on the Windows machine yet, because both grok instances are joined from Linux.- Install: failed without pipx (
pipx : The term 'pipx' is not recognized ...); ok afterpython -m pip install --user pipx. New (seq 38882): in a fresh PS 5.1maityis not on PATH (where.exe maityfinds nothing) because%USERPROFILE%\.local\binis not in the user PATH (pipx ensurepathis never run). Without git,maity.exe resumeandmaity.exe messagesexit 1 withmaity: git is not installed; set MAITY_STATE_DIR to a directory, so a Windows join needsMAITY_STATE_DIRset first. PS 7 and a realmaity join: not run. - wait/say/task/files get/ask, Ctrl-C: not run, because there is no Windows identity.
- Non-ASCII: failed, #1097 claim confirmed. A piped here-string under PS 5.1 turns
üinto?and passes strict;Get-Content -Raw -Encoding UTF8 |does too, plus an extra newline. Argument,cmd <and--body-fileUTF-8 are ok; cp1252 and UTF-16 are refused correctly. - Permissions: fresh state dir ACL ok (owner, SYSTEM, Administrators, inheritance protected); Public file refused correctly with a revoke hint. P3 confirmed twice (seq 37249 and 38882): the
foreign_ownerbranch gives... belongs to another user; refusing to use itwith no revoke hint and no others list (Windows and POSIX). Real credential ACL, second user and admin shell: not run. - Leading BOM: failed, not stripped from stdin or
--body-file(only--join-filestrips it). maity reportwith gh: not run (no gh, no git, no identity).- Defender: ok, no detections or blocks.
Fixes: PR A and PR B are with fxzk (tsk-yetyn5sctbdc). New candidate for PR B: run
pipx ensurepathor callmaity.exeby its full path inpaste_lines.windows, and setMAITY_STATE_DIRwhen git is missing.Still open for 1, 2, 4 and 6: a join line for an instance that runs natively on Windows (with
MAITY_STATE_DIRset), PowerShell 7, a second local user and an admin shell from Oliver, and gh plus git installed and logged in.- Install: failed without pipx (
Maity Coder Grok 004 (maity-coder-grok-004) ·
Nachtrag 2026-11-02 ~16:40Z (maity-coder-grok-004), auf `win` gelaufen, ohne Windows-Identität.
- git 2.56.0.windows.4 und gh 2.103.3 sind installiert (Machine-PATH:
C:\Program Files\Git\cmd,C:\Program Files\GitHub CLI\). In einer Shell, die vor der Installation gestartet wurde, findet man sie erst nach PATH-Neuladen; das ist normales Windows-Verhalten. gh auth status: ok, angemeldet bei github.com (keyring), aktives Konto oliver-zehentleitner-aigent.- PATH: weiterhin failed:
where.exe maityfindet nichts,%USERPROFILE%\.local\binsteht nicht im User-PATH. maity.exe resumeaus$HOMEohneMAITY_STATE_DIR, jetzt mit git: exit 1, neue Meldung:maity: C:\Users\Oliver is not inside a Git clone, and maity keeps an agent's credential in its clone. Run maity from the clone the agent works in; without one, give this agent a directory of its own and set it for every maity command, e.g. $env:MAITY_STATE_DIR = "$env:LOCALAPPDATA\maity\<agent-handle>" (one directory per agent identity, never shared). Aus meiner Sicht ok, die Meldung ist klar.- Punkt 4, Admin-Shell: not run.
win\oliverist Mitglied von Administrators, aber mein Token ist gefiltert (BUILTIN\Administrators ... Group used for deny only, Medium Mandatory Level). Eine erhöhte Shell braucht eine UAC-Bestätigung am Bildschirm. Außerdem gibt es aufwinkeinen echten Credential, dessen ACL man prüfen könnte. - 1 (Join), 2, 4 (echter Credential) und 6 (
maity report): not run, weil meine Identität nicht aufwinliegt (siehe Nachricht an @lotse).
- git 2.56.0.windows.4 und gh 2.103.3 sind installiert (Machine-PATH:
Maity Coder Grok 004 (maity-coder-grok-004) ·
Nachtrag 2026-11-02 ~17:25Z (maity-coder-grok-004): PowerShell-7-Teil von 3 und 5, nach Olivers Freigabe (seq 39574/39579).
Installation:
winget install --id Microsoft.PowerShell --source winget --scope user: ok, PowerShell 7.6.9 als MSIX (Alias%LOCALAPPDATA%\Microsoft\WindowsApps\pwsh.exe). Sonst nichts installiert. Umgebung inpwsh -NoProfile:$OutputEncodingutf-8, Konsole In/Out ibm850.Getestet wie unter PS 5.1 über
cli._utf8_streams()+cli._stdin_text()/cli._read_text_file()aus dem pipx-venv von maity 0.1.0a6, Text „Grüe über“ + zweite Zeile, nichts gesendet. Testdateien danach gelöscht.- Non-ASCII unter PS 7: ok, der
?-Verlust aus PS 5.1 tritt nicht auf.
- here-string gepipt (Standard): ok,
'Gr\xfce \xfcber\nzweite Zeile\n'. - als Argument: ok.
Get-Content -Raw -Encoding UTF8 |undGet-Content -Raw |: ü ok, aber wie unter PS 5.1 ein zusätzliches `\n` am Ende (...Zeile\n\n); PowerShell hängt beim Pipen eine Zeile an.- cp1252-Bytes über
cmd <: korrekt abgelehnt (stdin is not UTF-8; ...). --body-filecp1252: korrekt abgelehnt;--body-fileaus PS-7->(UTF-8 ohne BOM): ok; UTF-8: ok.
- Führendes BOM unter PS 7: failed, wird nicht entfernt, wie unter PS 5.1.
- gepipter String mit führendem U+FEFF:
'\ufeffGr\xfce ...'. --body-fileausOut-File -Encoding utf8BOM:'\ufeff...'.cmd <mit utf8BOM-Datei:'\ufeff...'.$OutputEncoding = New-Object Text.UTF8Encoding($true)+ Pipe:'\ufeff...'.Get-Content -Raweiner utf8BOM-Datei gepipt: ok (Get-Content entfernt das BOM selbst), plus zusätzliches\n.
Für PR A (fxzk, tsk-yetyn5sctbdc) heißt das: der BOM-Fix in
_stdin_text/_read_text_fileist unter PS 7 genauso nötig. Für PR B: der Encoding-Hinweis betrifft nur PS 5.1, PS 7 pipt standardmäßig UTF-8 ohne BOM.- Non-ASCII unter PS 7: ok, der