Repository navigation
computer-mcp 0.4.0: work behind your windows, stop every agent at once, and the new site - #9
Merged
Merged
Conversation
…e port - ci/release/udgiv-npm: macos-14 -> macos-15 (SCRecordingOutput mangler i 14-SDK, CI rød på main) - README + vejledning: fjern 'nothing comes to the front'; sig at forgrunden gives tilbage - menu-needs-front: 'may be' i stedet for påstået årsag; peg ikke paa en vej der afvises bagfra - brugsscenarier: skærm taget (selv med tilbagegivning) = 'delvist', ikke 'bevist' (MANDAT) - fremmed-mac: samlende port fejler jobbet hvis suite/mutant/scenarier ikke bestod Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…skets at give Gustav 28/9: modellen skal vide den kan alt et menneske kan, og enten finde vejen eller spørge (computer_ask_user) frem for at stoppe. Login/kodeord, afsendelse til et rigtigt menneske, og forgrund er menneskets; aldrig taste kodeord, aldrig omgå en afvisning. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…laim 45 groen) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fandt af batch-2-hærdningen (29 bekræftede huller): programlaas.js:45 kørte handlingen alligevel ved enhver ikke-EEXIST låsefejl (ENOTDIR/EACCES). To agenter kunne skrive i flæng i samme program - netop det låsen skal forhindre. Nu: kan låsen ikke tages, sker handlingen ikke, med en ærlig grund (infra, ikke contention). Prøve test/laas-fejler-lukket.mjs tvinger ENOTDIR frem; revert af M1 gør den rød. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fandt af batch-2-review'et: givTilbage() gav forgrunden tilbage naar maalprogrammet kom frem UANSET nyligt menneske-input - klikkede mennesket selv over i dét program, rev vi det tilbage. Nu gaelder menneske-tjekket i alle grene, og et forgrunds-skift vi lader staa rapporteres aerligt (took_screen:true, gave_back:false) i stedet for et tavst false. Paa en maskine uden menneske (køreren) er adfaerden uaendret, saa giv-tilbage-mutanten verificerer fortsat. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
M4-ændringen fjernede den linje den gamle mutant patchede (efter.forrestPid==maal || !menneskeRoerteNetop()), saa mutanten kunne ikke anvendes og 'overlevede' falsk. Ny mutant: faa menneske-tjekket til altid at fyre -> forgrunden gives aldrig tilbage -> proeven bliver roed. Beviser M4's invariant paa en maskine uden menneske. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…kert Baggrunds-doeren fra batch-2-spec'en, foerste skive. Modellen giver et intent (open_app/play_track/open_chat) + EN typet parameter, ALDRIG en URL - serveren bygger en fast app-URL og validerer parameteren strengt (kun cifre/bogstaver). Helperen aabner den med NSWorkspace .withoutActivation og dobbelt-tjekker mod en haardkodet scheme-allowlist (spotify/whatsapp/claude). Doeren navngiver sit maal via intent'et, saa porten ikke kalder den 'ukendt maal'. Baerer navigation, ALDRIG et send. test/doer.mjs (8 tjek) beviser: intet url-felt at injicere i, bad id/phone/bundle/intent afvist, praecis app-URL bygget. Swift-open-url + funktionen verificeres paa hhv. koereren og Gustavs Mac. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Tilfoej computer_open til vaerktoejslisterne (README, llms.txt, tools.html, capability-matrix), bump tool-tallet 30->31 (14 laesende, 17 skrivende) paa alle tekstflader + gemini-extension.json. Udvid ORD-ordlisten i baade sync-tal.py og claims.mjs forbi 'thirty' (crashede/parsede undefined ved 31). Ret to test-hygiejne- fund: doer.mjs saetter fake osascript (vagt 26), og open-url's fejltekst hejser join'et ud i en variabel saa lintens streng-udtraekker ikke eksponerer et dansk variabelnavn (vagt 27). claims.mjs groen. Ingen kode-logik roert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ut-bug - main.swift: computer_open's open-url smed sem.wait-resultatet vaek -> en TIMEOUT rapporterede 'aabnet' i stedet for fejl. Nu er timeout en fejl (open-timeout). - tools.js: doeren lovede 'without bringing it to the front' (umaalt) + 'the person confirms it' (ikke haandhaevet). Nu aerligt: aktiverer ikke, men kan komme frem og gives tilbage; send er en separat handling uden indbygget bekraeftelse. - CHANGELOG 0.2.1: fjern 'Only a switch to the target app is counted' (M4 gjorde den falsk; release.sh laver GitHub-noter af dette afsnit), tilfoej doeren + M1-laasen. - README: 'Twenty are offered'->23, 'twelve that only look'->14 (drift claims.mjs ikke fanger). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…owlist + udvid release.sh ord-liste forbi thirty Fable-review: 'claude' var i helperens open-url-allowlist uden at noget intent byggede den (død angrebsflade) - fjernet. release.sh's WORDS stoppede ved 'thirty', saa ved 31 vaerktoejer blev $WORD tom og regex'en matchede alt (samme fejlklasse som sync-tal/claims, allerede rettet der) - udvidet til forty. Ikke-blokerende, defensivt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ny ledende differentiator-bullet: Claude Code/Cursor/VS Code/Codex/Windsurf/Zed/egen agent - samme npx-server overalt, ikke bundet til én leverandørs desktop-app eller plan. Universaliteten stod kun i install-sektionen, ikke i overskriften. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Anthropics mcpb-CLI (v2.1.2). Manifest 0.3 + scripts/build-mcpb.sh bygger en self-contained bundle: server-filer + node_modules + vendor (helper+status-app), node ekstry_point (ikke npx, matcher MCPB-designet). Bygget+valideret+pakket lokalt: computer-mcp-0.2.1.mcpb, 4,3 MB, 2377 filer, mcpb validate grøn. Artefakten gitignored (bygges on demand). Indsendelse til Smithery + notarisering forbliver Gustavs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ikke ikonet/Touch ID dcf361a lovede «computer_ask_user: question waits in the menu bar icon and the person answers with Touch ID». MÅLT: ask_user er i TAGER_SKAERMEN (afvises i baggrund) og dens handler kalder askHumanToDo = en osascript-boks, ikke ikonet, ingen Touch ID. Teksten er nu sand: ask_user er en forgrunds-prompt (afvist i ren baggrund), mennesket taster selv hemmeligheder, og ikon-consent-porten (computer_pending) er en SEPARAT mekanisme for skrivehandlinger. Samme ærligheds-klasse som forgrunds-løfterne i 47c80f2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Panelet 29/9 (Astra + Fable): kun set_value naegtede sikre felter. type faldt tilbage til tastetryk og tastede i kodeordsfeltet, og «bruger<Tab>kode» hoppede ind i feltet midt i teksten. Nu spoerges foer hvert tegn; efter Tab/Enter ventes der paa fokusskiftet. Proeve: skriv-ankommer 3/3k/3b (ingen tekst) + 3c (fokus flytter undervejs, SIGUSR1 i fixturen). Mutationsbevis M5 (opslaget siger aldrig sikkert) og M6 (tjek kun ved start) skal begge give roedt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Panelet 29/9: protokollen klippede teksten ved 200 tegn og Touch ID-arket ved 80, uden at sige det. Et ja daekkede noget mennesket aldrig saa. - serveren sender teksten hel (op til 4.000 tegn); en laengere spoerges ikke - ikonet viser den ombrudt i undermenuen lige over «Allow…», i sort - Touch ID-arket siger naar det forkorter, og hvor resten staar - ikonet laeser op til 64 KB (16 KB kunne klippe) Proever: ikon-godkend A14 (hel tekst) + A15 (over loftet: ikke spurgt), ny test/ombryd.mjs (intet tegn falder ud, ingen linje over 64). Mutationer af alle tre vagter giver roedt (koert lokalt). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Panelet 29/9: porten er brugt 3 gange paa ni dage - bevis fejlvejene foer
den udvides. Ny F-blok i ikon-godkend (falsk ikon, ingen skaerm):
F1 ikonet gaar ned midt i spoergsmaalet -> nej · F1b naeste spoergsmaal virker
straks · F2 ulaeseligt svar -> nej · F3 svar i to stykker -> ja · F4 ikonet
vaek -> afvist uden at haenge · F4b nyt ikon -> porten virker igen.
Og en instrumentfejl: «sent-ja» brugte `sock` uden at closuren fik den, saa
det sene ja blev aldrig sendt (ReferenceError slugt af try{}). A13 maalte
kun «intet svar».
Mutationer (lokalt): venter aldrig nulstillet, buffer overskrevet, lukket
forbindelse = ja - alle tre giver roedt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e-ikonet Panelet 29/9 (Fable): vejledningen lovede at ask_user venter i ikonet med Touch ID; i virkeligheden var den skjult i baggrund og en osascript-boks i forgrund. En agent der ramte et kodeord eller en 2FA-kode kunne kun give op. - ny spoergsmaalstype «goer-selv» i ikonet: hele teksten, hvor det lander (skrevet af serveren), «Take me there» (MENNESKETS klik henter frem), «Done — I did it» og «I won't do this» - «Done» er et signal, ikke et samtykke: godtages KUN paa et goer-selv- spoergsmaal, saa det aldrig kan blive et ja til en anden handling - i baggrund kraever den `app`; uden ikon afvises den, aldrig en dialog - 24 af 31 tilbydes nu i baggrund (fra 23); README, site og vejledning rettet (capability-matrix bar ogsaa S1's nu usande «every password field gets keystrokes») Proever: ikon-godkend del E (E1 goer-selv + serverens «hvor» + done:true + ingen dialog · E2 nej · E3 «done» paa et samtykke = nej), baggrund-stille 2b. Mutationer (lokalt): «done» godtaget overalt -> E3 roed; modellen skriver «hvor» -> E1 roed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dommen 28/9 (D4 + trin 7): foer fandtes intet beskedapp-begreb, og Send i WhatsApp gik igennem i allow uden at nogen blev spurgt. - BESKED_APPS (WhatsApp, Messages, Mail, Slack, Telegram, Signal, Discord, Teams, Outlook, Messenger, Spark, Superhuman, FaceTime) - afsendelse = Send trykket (press --dry: samme element som trykket) eller klikket (at: navnet under punktet), Return/Enter med enhver modifikator, Mails cmd+shift+d, et menupunkt der hedder Send/Reply - spoergsmaalet viser modtager og tekst LAEST AF SERVEREN fra skaermen (ny hjaelper-kommando `samtale`), aldrig modellens ord; ulaeseligt siges aabent - linjeskift i computer_type i en beskedapp afvises (det sender) - genkontrol under laasen: aendres modtager/tekst efter ja, sendes intet - kan det ikke afgoeres om noget sender, spoerges der (fejler lukket) Proeve: test/sende-port.mjs (a/a2/b x6/c x3/d/d2/d3/g/u, falsk ikon + falsk hjaelper med scriptede skaerm-svar, ingen skaerm). (e)+(f) = ikon-godkend A7/A13/E3. Mutationer lokalt: ikke spurgt · return ikke send · linjeskift slipper · ingen genkontrol · modellen skriver modtager - alle fem roede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… den tilbage Panelet 29/9 (B2 + B5): forgrund kunne kun slaas til med CMCP_BACKGROUND=0 og en genstart, pr. server - 21 servere kunne vaere uenige om én skaerm, og syv vaerktoejer var uden for raekkevidde for en agent der manglede ét traek. - nyt vaerktoej computer_request_screen (request/release/status): mennesket godkender i menulinje-ikonet med Touch ID, hoejst 15 minutter, én agent ad gangen («optaget» er ikke et menneskes nej) - laanet ER den aabne forbindelse til ikonet: tiden gaar, «Take the screen back now», ikonet doer eller serveren doer -> forbindelsen lukkes -> slut. Intet paa disk en agent kan pille ved. Serverens eget ur gaelder ogsaa. - vaerktoejslisten meldes aendret (tools/list_changed) ved start og slut - B5: under laanet pauser hver skaerm-tagende handling, naar mennesket bruger tastatur/mus; input FOER vores egen sidste handling taeller ikke (ny hjaelper-kommando `idle`). Kan det ikke laeses: intet sker. - CMCP_BACKGROUND sat er et loft: intet laan, ikonet spoerges ikke - ét samtykke-spor: ogsaa i forgrunden spoerges ikonet (Touch ID) foerst; osascript-boksen er kun faldbag naar ikonet ikke koerer - 32 vaerktoejer, 25 tilbudt i baggrund; README, site, llms, gemini rettet Proeve: test/skaerm-laan.mjs (19 tjek, falsk ikon + falsk hjaelper). Mutationer lokalt: laan virker ikke · tilbagetagning ignoreret · menneske ignoreret · loft ignoreret · ikonets ur ignoreret - alle fem roede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Panelet 29/9 (B6, «sikkerhedskontrol uden for agenten»): koden indroemmer selv at porten ikke er et faengsel - en agent med shell under samme bruger kan klikke med osascript, og browser-automation kan sende fra webmail, helt uden om serveren. Intet i pakken kan forhindre det (alt er skrivbart for samme bruger). Kontrollen der ligger uden for agenten, er klientens tilladelser. - computer_permissions laeser Claude Code's settings (kun laesning) og naevner KUN de regler der er omveje: aaben Bash, osascript, browser klik/udfyld/ naviger/eksekver. Andre klienter laeses ikke - og det siges. - SECURITY.md: «What the consent gate is, and is not»; README + CHANGELOG Proeve: test/omveje.mjs (8 tjek, midlertidig indstillingsfil). Mutationer lokalt: osascript overset · alt naevnes (laek) - begge roede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ring MANDAT: hver vagt skal kunne blive roed. De 20 mutanter jeg koerte i haanden for S2, S3, B3, B4, B2/B5 og B6 staar nu i .github/mutanter-porte.json og koeres af .github/mutant-porte.py i «Mutationsbevis»-trinnet. Hver fil gendannes fra en kopi (aldrig fra git) og hash-tjekkes bagefter. Lokalt: 20 af 20 roede, 0 overlevede, 0 gendannelsesfejl. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Goer-selv, skaerm-laanet og den fulde tekst var kun kompileret i ikonet. Undermenuens indhold bygges nu af én ren funktion (spoergsmaalMenu) som baade menuen og `cmcp-status --dump-question` bruger - uden at ikonet vises. Proeve: test/ikon-menu.mjs (samtykke Allow/Deny + hel tekst + tegn-antal + Touch ID-arkets «forkortet»; goer-selv uden Allow; laan med minutter, loft 15, «Take the screen back now»; linjeskift kan ikke tegne knapper). Vaelger den nyeste binaer og draeber efter 10 s: en aeldre ville starte det rigtige ikon. Mutation lokalt: goer-selv faar Allow -> roed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Panelet 30/9 (Astra + Fable, begge IKKE GODKENDT): - R1 (Astra 7, Fable F1): osascript-boksen var faldbag for ALLE «ikke spurgt» - ogsaa efter et nej, over loftet, med et ventende spoergsmaal. Under et laan er serveren i forgrund, saa et nej i ikonet kunne omgaas. Nu kun naar ikonet ikke koerer (`ikkeKoerer`). - R2 (Astra 4): et skaerm-kald der ventede paa laasen, mens laanet sluttede, blev udfoert. Nu genmaales under laasen; og skaerm-tagende hjaelpere der koerer, draebes naar laanet slutter. - R8 (Astra 5, Fable F2): pausen gaelder ALLE skrivende kald under laanet (ogsaa stille med app); menneske = input nyere end vores egen sidste handling. - R9 (Astra 8): en laanegrund over 4.000 tegn spoerges ikke (klippedes tavst). - R12 (Fable F5): intet laan uden at loggen kan skrives. - R13 (Fable F6): udloeb paa eget ur meldte ikke vaerktoejslisten. Proever: ikon-godkend G1-G3; skaerm-laan 5c, 5d, 6b, 7b, 9b - og proeven scripter nu «hvem er forrest» og «hvem ejer punktet», saa den aldrig laeser den rigtige skaerm (6b var groen af forkert grund; 5 koersler i traek groenne). Mutanter lokalt: R1, R2, R8x2, R9, R13 (oprindelig fejl) - alle roede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Panelet 30/9 (Astra + Fable, begge IKKE GODKENDT): - R4 (Astra 2): genkontrollen koerte kun naar foerste dom var «send»; nu doemmes der ALTID igen hvor noget kan sende, og dommen skal vaere identisk - R5 (Astra 3, Fable P4): fingeraftryk af hele aflaesningen (vindue, alle overskrifter, tekst); ulaeselig modtager ELLER tekst -> intet sendes; modtageren laeses i feltets kolonne over feltet (ikke sidebarens oeverste navn) - R6 (Astra 1, Fable F3/P3): send-ord paa 8 sprog (Afsend, Besvar, Envoyer ...); en navnloes KNAP er en mulig send; mellemrum paa en knap; webchat/webmail i en browser genkendt paa vinduets titel; flere apps paa listen - R7 (Fable F8/P6/F4): chat og mail adskilt - i mail er Return en ny linje og en mail med afsnit kan skrives; i chat afvises alle styretegn undtagen tab - R14 (Fable F7): FaceTime ud - et opkald er ikke en besked - R3 (Astra 6): kodeordsvagten fejler LUKKET - ukendt fokus/rolle stopper skrivningen - R10 (Astra 9): mutationsporten kraever rc 1 + en DUMP-linje; alt andet er en instrumentfejl, ikke et bevis; mutanter med flere aendringer understoettes - R11 (Astra 10, Fable P1): README «Twenty-four» -> 25, og claim 42d vogter tallet - R15 (Fable P5): omvejs-listen fanger skaller/fortolkere (bash, zsh, python3, node ...) og hele browser-servere - tre stod i husets egne indstillinger Og to fund undervejs: - et navnloest MENUPUNKT (Apple-menuen i en chat-apps menulinje) er ikke en send-knap - claim 35 blev roed paa Gustavs Mac fordi WhatsApp var forrest - privatliv: den falske hjaelper sendte `samtale` videre til den rigtige, saa en proeve kunne laese en udviklers rigtige chats; uscriptet svarer den nu tomt Proever: sende-port 37 tjek, skaerm-laan, ikon-godkend, omveje 4b/4c, claims 42d, skriv-ankommer 4/4b (kolonne-aflaesning mod proevemaalet - kun paa CI). Mutanter lokalt: 33 af 33 roede, 0 overlevede, 0 instrumentfejl. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Astra R2 (IKKE GODKENDT) + Fable R2 (GODKENDT m. anbefalinger): - Q1 (Astra 1): laanets nummer blev talt op FOER spoergsmaalet, saa en samtidig anmodning gjorde det godkendte laans slut ugyldigt - laanet sluttede aldrig. Nu faar kun et ja et nummer. En skrivning doemt under et laan sker ikke, hvis laanet er slut lige foer udfoerelsen (efter alle opslag). Ved laanets slut draebes ALLE hjaelper-processer der ikke er rene opslag (Fable 3: stille type, paste, launch, vindueskald fortsatte), og svaret siger «took the screen back». Et laan der ikke kan skrives i loggen efter ja'et, gives ikke. - Q5 (Astra 5): kun handlinger der poster input flytter «vores sidste handling». - Q6 (Astra 6): loft, pause og ventende spoergsmaal tjekkes FOER det afgoeres om ikonet koerer - ellers blev et manglende ikon til en boks lige efter et nej. - Fable 9: afvisninger i forgrund havner i computer_pending (koe); release logges én gang. Proever: ikon-godkend G3a/G3b/G3c (G3c i frisk proces), skaerm-laan 6c/6d/6e (falsk hjaelper kan nu «arbejde» i _vent ms; falsk ikon kan svare langsomt). Mutanter lokalt: ingen binding, stille draebes ikke, oprindelig nummerfejl (to aendringer) - alle roede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Q4 Q7 Q8 Q9 Astra R2 (IKKE GODKENDT) + Fable R2 (GODKENDT m. anbefalinger): - Q2 (Astra 2): kodeordsvagten tabte opslagsfejl paa underrollen (`string()`) og AX-indsaettelsen skrev foer tjekket. Ny `sikkerStatus`: «findes ikke» ≠ «fejlede»; ukendt stopper BEGGE skriveveje. `samtale` laeser kun vaerdien af et felt der VIDES ikke at vaere sikkert. - Q3 (Astra 3, Fable 4): uden kolonne (feltets ramme) intet send; et soegefelt er ikke en besked; Send-knappen skal ligge i samtalens vindue (press --dry og at melder nu vinduet); kun foerste overskrift vises som modtager. - Q4 (Astra 4, Fable 7): browser med ulaeselig titel = chat (fejl lukket); chat foer mail («Gmail - Slack»); forankrede navne, signal ude, Google Chat ind; flere browser-id'er. - Q9 (Fable 2): ved et KLIK er et navnloest element kun send hvis knap/billede. - Q8 (Fable 1): omveje fanger sudo, fuld sti, npx playwright, env/xargs, Claude in Chrome, computer-use, remote-devices; README/SECURITY: «the rules it recognises». - Q7 (Astra 7): M5 var brækket af min egen R3 (anker 0 traef - CI ville vaere roed); genankret. Shell-runneren fejler nu ved manglende anker og kraever rc 1 + DUMP. Hver JS-mutant har `forventet`: kun DENS prove taeller som bevis. - To overlevende mutanter afsloerede dublerede vagter (loftet to steder; «laanet sluttede mens kaldet ventede» to steder). Én vagt pr. regel nu. - Svage tjek skaerpet: «spoerger ikke» kraever nu ogsaa at handlingen skete. Proever: sende-port 49 tjek (q3, q4, q9, Cmd+Return i mail, webmail), omveje 4d/4e. Mutanter lokalt: 44 af 44 roede i den forventede prove, 0 overlevede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-kontrollens binding Astra R3 (IKKE GODKENDT, 6) + Fable R3 (IKKE GODKENDT, 1): - Fable R3: `isSecure` (set_value, sloeringen, focused, inspect) tabte stadig en fejl paa underrollen. Rettet i ÉT sted: isSecure = sikkerStatus != false, saa alle syv kaldesteder er fejl-lukkede. skriv-ankommer 3s/3sw: set_value i et kodeordsfelt afvises (M5 daekker nu ogsaa den vej). - Astra R3 1: laanVedDom blev taget 40 linjer efter baggrundsporten; nu i samme synkrone oejeblik. - Astra R3 2: Send-kontrollens vindue SKAL kunne laeses, og kontrollen skal ligge paa beskedfeltets raekke (samtale/at giver nu rammer). - Astra R3 3: en ukendt rolle ved et klik er en mulig send (kun kendt ufarlig rolle som AXGroup er undtaget). - Astra R3 5: en skrivning via tilgaengeligheds-laget flytter ikke «vores sidste input»; computer_space gør. Laanets tekst + README siger aerligt: hvert trin venter mens du bruger tastatur/mus; et trin der koerer, bliver faerdigt - eller stoppes naar du tager skaermen. - Astra R3 4 (browser, ukendt side): IKKE aendret - et produktvalg (se tråden). README siger nu praecis hvilke sider der genkendes. X tilbage paa listen. - Astra R3 6: shell-runneren binder nu ogsaa til den forventede prove. - Smaat: press --dry og paste draebes ikke ved laanets slut (paste ville tabe udklipsholderen); aerlig besked «the screen loan ended»; env bash i omveje; kommentaren i spoerg fortaeller hvorfor venter/pause tjekkes igen efter await. Mutanter lokalt: 47 af 47 roede i den forventede prove, 0 overlevede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… Swift-mutanternes forventede tjek GitHubs Mac, 2485a66: Suiten failure paa «klik rammer ejeren» tjek 6 - sende- porten afviste et almindeligt klik i Chrome, fordi prooevens stub ikke svarede paa `samtale`, og Q4 goer en ulaeselig browsertitel til chat (Fable R3 h forudsagde det). Og hvert klik i en browser koerte hele samtale-aflaesningen (op til 4.000 elementer) bare for titlen. - `samtale --title-only`: kun vinduets titel, billigt; bruges til browserens klasse - klik-ejer-stubben svarer med en almindelig sidetitel - Swift-mutanterne M1-M4 blev roede paa tjek 2b/2/3 (ikke 4b som jeg satte i 9370f0d); FORVENTET rettet efter CI-loggen Lokalt: 9 stub-prover groenne, 47/47 JS-mutanter roede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, AX-stemplet, paste Astra R4 (IKKE GODKENDT, 4) + Fable R4 (IKKE GODKENDT, 1 - = Astra 3): - Astra 1: laanets tilstand tages ved KALDETS START, foer den foerste vagt der afhaenger af det; aendres den undervejs (sluttet, begyndt, skiftet) sker intet. - Astra 2: Send-kontrollen skal ligge VED SIDEN AF beskedfeltet (samme raekke og hoejst 160 pt til hoejre); et opslag der fejler, afviser (erKontrol foer opslaget); i en browser doemmes ogsaa kontrollens vindue - naar det er LAEST (en manglende titel er ikke en chat: klik-ejer 1/9 var roed af det). - Astra 3 / Fable 1: min runde 3-rettelse var DOED KODE - den ledte efter «method» i svarets prosa. Nu et struktureret, ikke-talt felt; stemplet flyttes kun efter en handling der lykkedes og postede input. Prove 5e + mutant. - Astra 4: paste var undtaget fra afbrydelse; nu faar den SIGUSR1 og stopper FOER Cmd+V og laegger personens udklipsholder tilbage. Prove 6f. - Fable 2/3: CHANGELOG og SECURITY siger det samme som README (titel-afgraensning under «Out of scope»); ikonets tekst: «messages in the apps and web chats it recognises». Shell-runnerens match er forankret til DUMP-linjer. - CI b626996: skriv-ankommer 3s ledte efter ROLLEN AXSecureTextField; et native kodeordsfelt har den som UNDERROLLE. Rettet. - Prover: forudsaetninger tjekkes nu (laanet blev givet, flytningen skete); 5d og 6b var TIMING paa en belastet maskine, ikke kodefejl; CMCP_MENNESKE_SEK (standard 1,5) giver proeven brede marginer. Mutanter lokalt: 52 af 52 roede i den forventede prove (en fuld koersel + 5 genkoert efter instrumentfejl under belastning, som runneren korrekt ikke talte som bevis; browser-mutanterne genkoert efter titel-rettelsen). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e-signalets opstart Fable R5: GODKENDT. Astra R5: IKKE GODKENDT (3) - alle tre maalte og rettet: - Astra 1: «intet laan -> laan -> intet laan» under ét kald saa ud som «uaendret» (0 === 0). Nu et generationsnummer der taeller hver aendring (laanOejeblik); enhver aendring under kaldet -> intet sker. Prove 6g + mutant (den gamle nul-binding goer praecis 6g roed). - Astra 2 = Fable 1: en browser-Send-kontrol hvis vindue ikke kan laeses, blev ignoreret foer navnet blev doemt. Nu doemmes et ulaeseligt vindue som ukendt (chat, fejl-lukket). Prove r4d + mutant. klik-ejer-stubben giver nu vinduer som den rigtige hjaelper. - Astra 3: SIG_IGN kom foer signalkilden - et SIGUSR1 i hullet blev tabt. Nu kilden FOERST (et signal foer SIG_IGN draeber processen foer noget er roert), helt oeverst i `paste`; en laas koordinerer «stop» med «tryk Cmd+V». Ny test/paste-stop.mjs maaler den RIGTIGE hjaelper (kun paa en fremmed maskine: et svigtende stop ville indsaette tekst) + Swift-mutanter M7/M8. - Fable smaat: tools.js-teksten om «messages still ask» foelger README; CMCP_MENNESKE_SEK kan kun haeve graensen; shell-runnerens forventede praefiks skal staa forrest paa en DUMP-linje. Lokalt: 14 stub-prover groenne; de 7 beroerte mutanter roede i den forventede prove (fuld liste: 54, koeres paa GitHubs Mac). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…pet daekker alle veje - Spoergsmaal i boksen traekkes tilbage ved stop, ogsaa efter «Waiting»; gemte svar glemmes (godkend.js stopAlleKald) - svar-senere 15a/15b. - Pausen bruger porten egen vaegt: optagestart og usloeret skaermbillede er skrivende - S5. - En koerende optagelse stoppes (SIGINT efter start) - S6. - ask_user: et dialogsvar efter stop taeller ikke (dialogen selv startes i policy.js, som ikke roeres - kendt graense, i CHANGELOG) - S7. - Stopfilen: nyt stop = aendring af indholdet; ts i fremtiden regnes som nu; begge lag - S8a/S8b. - Pausen har et gulv paa 5 s (CMCP_STOP_SEK=0 slog stoppet fra) - S9. - Pausens slut maales paa et monotont ur (+121 s paa uret ophaevede den) - S10. - «Stopped»-tekster i skaermanmodning, ask_user og samtykke; afbrydelses-tilbagekald koerer i eget kalds kontekst; intet dansk klokkeslaet; «do not carry on by yourself when the pause ends». - Boksen: Stop ogsaa i spoergsmaalsboksen mens nogen arbejder (2i); menuens betingelse bundet (S4). - Ikonet: en fejlet stopfil-skrivning er ikke tavs; kommentarer og CHANGELOG sande. - Proever: stop-alle venter paa at trinnet STARTER foer stop, pause 10 s (flakede under last). - Mutanter R45a-j (+ genankrede); fuld gate 346/346 roed; suite 64/64 paa ulaast skaerm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…idste stopveje - Usloeret skaermbillede i gang udleveres ikke efter stop (filen slettes) - S11. - Stop tager ethvert sessions-ja tilbage, ogsaa et ja der kommer efter stoppet (resetSession/glemSessionsProgrammer fra policy.js, som ikke aendres) - S12, S12b. - Optagestart der stoppes under opstarten svarer «Stopped» - S13. - ask_user i baggrunden: stoppet gaar forud for et «Done» lige foer og for «ikke spurgt» - S14a/b. - En ny stopfil kan forlaenge pausen, aldrig forkorte den - S15. - Stopfilens tidsstempel kappes til filens mtime (falsk fremtid gav nye servere en pause) - S16. - CHANGELOG: «within half a second», sessions-ja og billede naevnt; S2 kraever vejledningen. - Mutanter R46a-g (+ genankrede). Gate 353/353 roed; suite 64/64 paa ulaast skaerm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t (Astra + Opus GODKENDT) - Et stoppet kalds sene svar tilbagekalder kun det samtykke, DETTE kalds eget spoergsmaal gav (verdict.allow && verdict.asked; foer/efter-billede) - et nyere sessions-ja beholdes (S12c). - Tilbagekaldelsen ligger lige efter decide, foer logvagten (R48 Opus). - Stopfilens mtime-kap kun ved serverstart (tsVedStart); en skaev mtime kan ikke skjule et aegte stop i en koerende server (S17, skrevet atomisk). - Udfaldslinjen: «stopped» / «cancelled» for et kald stoppet undervejs (S11 kraever 0 billedfiler). - CHANGELOG: stoppet ses inden for et halvt sekund; en optagelse under opstart afsluttes saa snart den er startet. - Mutanter R47a-d. Panel R45-R48: Astra og Opus GODKENDT (R48-ENIG.md). Fuld gate 357/357 (stop-mutanterne 36/36 efter de sidste smaating); suite 64/64 paa ulaast skaerm 18/10 11:13-11:29. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r aldrig knap eller tast nede - Hjaelperen blokerer SIGTERM i click, drag, type og key og ser stoppet mellem haendelserne (samme moenster som paste/SIGUSR1). Et traek slipper knappen hvor den er; et klik eller en tast der er halvt sendt, gores faerdigt; svaret er «screen-taken-back». - Frist og stop draeber blidt: SIGTERM, saa SIGKILL 2 s efter (en hjaelper i staa med SIGTERM blokeret haenger ikke kaldet). - Proevekrog CMCP_HJAELPER_ATTRAP: haendelser skrives i en fil i stedet for at blive sendt. - test/sikker-frigivelse.mjs F1-F6 mod den RIGTIGE hjaelper; F2 kalibreret mod en bygning uden rettelsen (1 ned, 0 op - knappen hang). Mutanter S2b1-8; 53 beroerte mutanter roede. - Suite 65/65 paa ulaast skaerm 18/10 11:45. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… stop lader aldrig et trin begynde - R1 (Opus, MAALT 15/15): et stop under opslagene foer foerste haendelse blev ignoreret, og klikket/tasten/teksten sendt bagefter. Nu tjekkes stoppet lige foer foerste haendelse i click, drag, key og type (ogsaa AX-vejen) - intet sendes, svaret er «screen-taken-back». - R2: en stoppet klikserie svarer «screen-taken-back» med «clicked k of N». - R3: et stoppet traek fores tilbage til start foer knappen slippes (intet drop paa et mellempunkt). - R5: et svar hjaelperen gav efter fristen bevares (koden og det halve). - R8 / Astra: SIGINT og SIGHUP blokeres og ses ogsaa. - Astra: et traek der maa draebes haardt (SIGKILL), faar knappen sluppet af en ny hjaelper (release-mouse). - Astra: proevekrogen skriver kun i en midlertidig mappe, aldrig gennem et symbolsk link. - CHANGELOG og kommentarer sande (R4). - Proever F3/F4b/F7-F10 (F2 og F7 kalibreret); mutanter S2b1-17 + 45 beroerte roede. - Suite 65/65 proeve for proeve paa ulaast skaerm 18/10 13:01-13:47. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e huller i sikker frigivelse - N1 (Opus, MAALT): serverens egen frist meldes som «helper-timeout» (ikke «laanet sluttede/Stop all»); det halve (typed/did) bevares. Et stop via laanet/Stop all bevarer «screen-taken-back». - N2 (Opus) / Astra: en delvis stoppet klikserie koerer menunettet og forgrunds-tilbagegivningen FOER fejlen, og maalingen (took_screen) kommer med. - Astra: den sidste stopkontrol ligger helt op ad handlingen - i key inde i maalingen, i AX-skriv lige foer AXUIElementSetAttributeValue. - N3: release-mouse slipper kun en knap vi holder (session nede, fysisk oppe), ved startpunktet. - N4: et stop i trækkets ophold paa maalet slipper ogsaa tilbage ved start. - N5 + CHANGELOG: praecise loefter («looks for the stop right before the first click, key or text»). - F10: sti i hjemmemappen + harmloest rul paa 0. F4b/F4c. Mutanter S2b18-23. - 96 beroerte mutanter roede; suite 65/65 proeve for proeve paa ulaast skaerm 18/10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…dsnet uden umaalt OS-antagelse, deterministisk proeve - M1 (Opus): release-mouse hvilede paa umaalt semantik (taeller vores tryk uden kilde som «fysiske» i hidSystemState?). Kan ikke maales uden at trykke paa Gustavs skaerm, saa betingelsen er fjernet: nettet slipper naar knappen er nede i sessionen. At et traek mennesket selv er midt i, netop da, ogsaa slippes, staar som kendt graense i CHANGELOG. - M2 (Opus) / Astra: et stop foer FOERSTE klik fejler foer nettene (en menu er da menneskets); maalingen (took_screen) kommer med i svaret. - M5: F10 har en positiv kontrol (en tilladt sti faar haendelsen). - Proeven var ustabil i suiten (~2/30): F2, F3, F8 stopper nu paa en SET haendelse, F4c venter paa attrappens egen «klar»-fil - ingen faste ms. Groen 3/3 under kunstig CPU-last. - S2b-mutanter 24/24 roede (+97 beroerte foer); suite 65/65, alle i foerste forsoeg, 19/10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sande tekster, F4b deterministisk - N1: CHANGELOG siger nu, at nettet foerer knappen tilbage til traekkets start og slipper dér - og at et traek mennesket selv er midt i, netop da, baeres derhen og slippes (kendt graense). - N2: kommentaren og svaret «nothing was held down» paastaar ikke laengere ejerskab; den doede 0-klik-gren i fejlteksten er fjernet. - N3: F4b (flakede 1/8) bruger en node-attrap med klar-fil og 3 s frist - ingen fast margen. - S2b-mutanter 24/24 roede; suite 65/65, alle i foerste forsoeg, 19/10 00:37. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…kaermlaan goer det samme - Statusappen registrerer ⌃⌥⌘. (Carbon RegisterEventHotKey - ingen Input Monitoring) ved start; den kalder samme stopAlleNu som menupunktet (kilde «stop-all-hotkey»), og menuen viser genvejen. - Esc alene er stoptast KUN mens et skaermlaan er aktivt: registreres ved laanets start (laanOpdateret kaldes nu ogsaa dér) og fjernes ved slut (kilde «stop-all-esc-loan»). - Agenten kan ikke selv trykke dem: hjaelperen har intet navn for punktum, og et GLOBALT Esc fra agenten under et laan afvises af serveren (Esc til et programs koe virker stadig). - Proever: stop-alle S18 (gennem den rigtige server med falsk ikon og laan; kalibreret), S19 (kildekontrakt; selve tasterne proeves levende med Gustav). Mutanter S2b25-29. - Fuld gate 386/386 (41 UI-mutanter genkoert paa ulaast skaerm); suite 65/65 19/10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…c kan ikke haenge, ingen agent sender globalt Esc
- Opus (kaploeb): et laan der lukkede mens Touch ID-svaret var paa vej, satte aktivtLaan og
registrerede Esc for altid. Nu: `if a.lukket { tik(); return }`, `genveje.laan(...!lukket)`, og
`afslutLaan` roerer ikke et lukket (maaske genbrugt) fd.
- Opus: Esc naevnes i Touch ID-teksten og i boksens laanelinje (kun hvis Esc blev registreret).
- Opus + Astra: Esc-kombinationen deles som hjaelperen («fn+escape», «+escape», «escape+»,
«++EsC++»), og et GLOBALT Esc afvises ALTID - en anden agents server kender ikke laanet.
- Opus + Astra: eksklusiv registrering; handlerens og Esc's resultat tjekkes; menuen viser kun
genvejen hvis den virker; noterKilde ved fejl. CHANGELOG: virker uden agenter, kontrast-konflikt.
- Proever S18b (varianter), S18c (uden eget laan), S19 udvidet; ikon-boks 5x/5n. Mutanter S2b30-32.
- Fuld gate 389/389; suite 65/65 19/10.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tant-gaten kender prøvens udgangspunkt - Astra: uden en virkende Carbon-handler reserveres ingen taster; samtykketeksten naevner kun Esc, naar handleren virker; `lukket = true` saettes FOER `close(k)`, begge paa hovedtraaden (lukker fd-genbrugsvinduet); CHANGELOG: Computer MCP holder ⌃⌥⌘. (og Esc under laan) for sig selv. - Opus: S18c i forgrundstilstand taeller hjaelperens taster (kalibreret med globalt Tab); ikon-boks 7d proever boksteksten «Esc takes it back» med og uden Esc. - Mutant-gaten koerer hver proeve UMUTERET foerst - en roed proeve gjorde ellers alle dens mutanter «fangede» (S19 var roed; 8 mutanter blev meldt roede uden at vaere proevet). - Mutanter S2b33-36; S2b32 genankret. Gate 393/393 med baseline; suite 65/65 i foerste forsoeg. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0.4-linjen havde allerede 0.2.2's rettelser i 0.3-arbejdets egen form (menuvagt
R28, billedplacering, skala, ryd-op, M9). Konflikterne (9 filer) er loest til
0.4-siden, fordi den er en overmaengde: samme menuvagt + nettet der lukker en ny
menu (Skaerm.lukNyMenu) + valg i rullemenu bagved (0.3, signoff 15/10).
Nyt fra 0.2.2: test/menu-vagt.mjs (menuvagt-proeven) med sin run-all-linje,
mutanterne MV1-MV6, og CHANGELOG's 0.2.2-afsnit ordret som paa main.
Proeve 3 og MV4-MV6 er gen-ankret til 0.4's form (pressMenuVagt/tastMenuVagt/
skrivMenuVagt = args.flag("menu-vagt")), og proeven kraever nu bindingen.
menu-vagt.mjs 7/7 groen paa den flettede kode; MV1-MV6 alle roede
(mport-kun.py, 0 overlevede, 0 fejl).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bundet til koden paa 33801fc (maalt 20/10): - Adgangskode-apps: i baggrund (standard) afvist og kan aldrig godkendes fra menulinjen (policy.js maaIkke); kun med CMCP_BACKGROUND=0 spoerger de hver gang. «Password managers ask every time» stod paa 23 steder i 9 formuleringer, ogsaa i meta/og/ld+json. claims 51 forbyder nu vendingen, udledt af koden, og er kalibreret begge veje (groen paa 46 flader, roed paa plantet saetning). - Stop all / ⌃⌥⌘. / Esc og banner som standard i README og llms.txt; svartider (~45 s, ~10 min, ja i ~2 min) som i CHANGELOG. - readonly beskytter ikke umarkerede hemmeligheder (tager stadig billeder). - Tilstandsmappen, ikonets indstillinger og optagelser i privatliv/afinstallation; FAQ = ld+json; «opdatering bryder ikke tilladelser» maalt (issue #4). - OWASP 11 → 14 read-only + sync-tal-moenster «N in read-only». - codex mcp list i Desktop/Copilot/VS Code-guiderne → klientens egen kontrol; computer_apps beviser ikke tilladelser → computer_permissions. - Laasen mellem agenter findes (programlaas); input uden app afvises i baggrund; CI kan koere suiten paa macOS-runner; stop = kontrol to gange i sekundet. - Version 0.4.0 (package, lock, server, gemini, bundle, HELPER_VERSION); 0.3.0-afsnittet er nu et underafsnit af 0.4.0. sync-tal idempotent. Kendt: tjek-forside giver 2 FEJL ogsaa paa 33801fc - 0.4-linjen har mains gamle forside; den nye kommer med #7 og en ny fletning af main foer 0.4 udgives. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- release.yml: `tag`-inputtet blev aldrig brugt; checkout bygger nu `inputs.tag || github.ref`, og et nyt trin kraever at pakkens version er maerkets (kalibreret: v0.4.0 → 0, v0.4.1 → 1). - build-mcpb.sh: kopierer package-lock.json og bruger `npm ci --omit=dev` i stedet for `npm install` - samme afhaengigheder som npm-pakken (maalt: @modelcontextprotocol/sdk 1.30.0 i lock = installeret). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… alt (B19) R49 Opus R7: CMCP_HJAELPER_ATTRAP saa kun Input.post. Escape i menunettet (Skaerm.lukNyMenu) og i rullemenu-valget, Cmd+V i paste og ctrl+pil i Space-skift blev sendt direkte. Nu sender hjaelperen kun ét sted; uden krogen er adfaerden den samme (postToPid til programmet, ellers den globale tap). - sikker-frigivelse.mjs F11: kildekontrakt - kun Input.post sender. - Mutanter S2b37 (menunettets Escape) og S2b38 (paste Cmd+V) begge roede. - falsk-hjaelper.mjs: den kendte graense skrevet ind (doer paa SIGTERM; stop- vejen bevises af F1-F11 mod den rigtige hjaelper). sikker-frigivelse.mjs alle tjek bestaaet efter genbygning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…noreres (E3) Arbejdskopierne linker mcp-server/node_modules til hovedkopiens moduler; med `node_modules/` var linket usporet, og release.sh's renhedstjek afviste kopien. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oden goer Astra + Opus GODKENDT MED RETTELSER paa 921ec58..4b7d606; begge saet fund lukket: - Adgangskode-apps: «i forgrunden» (laan ELLER CMCP_BACKGROUND=0 - baggrund() er false under et laan); listeformen og «ask for consent on every»/«always asks near» rettet overalt. claims 51 fanger nu alle fem former (kalibreret begge veje). - Svartider: dialog i forgrund (CMCP_ASK_TIMEOUT 60) ≠ spoergsmaal i ikonet (~45 s / ~10 min) ≠ skaermanmodning (5 min) - 6 guider, unattended, README, llms.txt. - issue #4 er maalt (c963e8d): opdatering spoerger ikke igen - 10 flader rettet. - CI: GitHubs macos-15 HAR begge tilladelser (maalt 27/9) - when-not-to-use (meta/og/ld+json/lede/FAQ), CONTRIBUTING, ci.yml-kommentaren. - ⌃⌥⌘. lever kun mens ikonet koerer (afslutter 10 s efter sidste agent / «Hide»). - Esc i boksen og laane-samtykket siger nu at den ogsaa stopper alle agenter (stopAlleNu); ikon-boks 7d, stop-alle S19, S2b33/S2b35 roede. - «cover» er ikke sikkert (billedet kan udelade det daekkende vindue); «no socket» → «no network socket»; uninstall-meta «one folder»; tilstandsmappen 11 ting (claims 49 taeller nu ogsaa dirname(AUDIT_PATH) og cmcp-status, kalibreret). - Laasen: samme identificerede program; klik/skrivning med app i guiderne' FAQ. - release.yml: checkout refs/tags/<tag> eller github.sha; upload KUN ved tag-push. - Input.post: krogens graense (AX-skrivning og udklipsholder) skrevet ind. - sync-tal idempotent; 9 sammenstykkede saetninger («says where …») rettet. IKKE rettet (Gustavs): policy.js:623 «Password apps still always ask.» (policy.js roeres ikke; ugyldiggoer desuden dialogkvitteringen). Proever: ikon-boks 68/0, stop-alle 40/0, sikker-frigivelse 16/0, menu-vagt 7/0, claims-offline 27/0; claims 49 + 51 isoleret groenne og kalibrerede. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sterne siger det koden goer - Adgangskode-apps: afvist i baggrunden og kan ikke godkendes i menulinjen; i forgrunden spoerger hver skrivning, ogsaa med allow (unattended FAQ + JSON-LD, README, llms-install i roden). - Ubesvarede spoergsmaal: intet bliver gjort; loggen viser kaldet som ventende (ikonet) eller afvist (dialog). Spoergsmaalet venter i ikonet ogsaa i forgrunden; dialog kun for det ikonet aldrig maa godkende, eller naar ikonet ikke koerer (6 guider, unattended, README). - Issue #4: maalt for Tilgaengelighed; Skaermoptagelse efter en opgradering er ikke maalt saerskilt (README, npm-README, 6 guider, afinstallation, llms-install, matrixen x2). - Samtykket: «Esc when the box shows it» - Esc registreres foerst ved laanet og kan fejle. S19 og mutant S2b35 fulgt med. - Afinstallation: «its state folder and the other local data it writes», ikke «the one folder». - Eneste sokkel er den lokale til ikonet; privacy naevner kaedeanker og ikonets pid-fil; «Stop all agents now» findes mens ikonet koerer; CONTRIBUTING siger hvornaar fremmed-mac koerer; dubleret «Other clients» fjernet i 3 guider (fandtes ogsaa paa main). - claims 51: Astras rest som ny regel + plantet saetning, og HVER plantet saetning skal fanges (Opus: taelling pr. regel saa ikke at en regel blev svagere). Maalt: claims 49/51 isoleret groen og kalibreret begge veje (3 mutationer roede); S2b33/S2b35 roede; claims-offline groen; build-release groen (0.4.0); sync-tal idempotent; 11 ld+json parser. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ELSER N4/N5) + README-loggen fra 0.4.0 - N5: ask-tilstandens foerste skrivning spoerger i menulinje-ikonet, dialog kun naar ikonet ikke koerer (policy.js:576) - README, npm-README, 6 guider, llms.txt, llms-install, security, unattended, without-taking-over. Forsiden (mains gamle paa 0.4) roeres ikke - B10b. - N4/N6: kun SAMTYKKE-spoergsmaal gaar til ikonet; computer_ask_user i forgrunden er altid en dialog (index.js:1268-1280). CMCP_ASK_TIMEOUT afgraenser ogsaa et samtykke i ikonet (godkend.js:326: <=45 s slutter saa hurtigt, >600 s venter saa laenge). - Astra (lav): «Stop all agents now» staar i menuen mens en agent er tilsluttet eller har skaermen, og ikonet ikke er skjult (cmcp-status main.swift:829). - README-loggen genskabt med scripts/log-uddrag.mjs (versionsloeftet til 0.4.0 sprang det over; readme-log var roed siden 3c60db0). Teksten over uddraget siger nu at koerslen bruger CMCP_ASK_TIMEOUT=1 - derfor «denied», mens standarden logger «waiting». - claims 51: regler for de tre rettede former (README «every single time, in every mode», rodens llms-install «in background mode it waits», «first write opens a dialog» - den sidste udledt af koden: ikonet foerst ogsaa i forgrunden). Maalt: claims 49/51 groen; de tre gamle former plantet i aegte flader -> roed paa netop dem; hver ny regel neutraliseret -> roed med sin saetning; ikonFoerst-ankeret slaaet fra -> roed. readme-log, claims-offline, plugin-manifest, sync-tal-versioner, pakke-filer groenne; sync-tal idempotent; 9 ld+json parser. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… i forgrunden Uden kørende ikon afvises ask-tilstandens foerste skrivning i baggrunden uden spoergsmaal (policy.js:510 ikkeSpurgt -> afvisning; :554 og :622 returnerer foer dialogen). Kun i forgrunden aabnes en dialog. Rettet paa de 11 flader Astra maalte (README, npm-README, 6 guider, docs/llms-install, llms.txt, security) + README's «every other consent question waits in the icon» faar baggrunds-undtagelsen. claims 51: ny regel mod den ubetingede form «or (in) a (macOS) dialog when the icon is not running» + plantet saetning; taerskel 12. Maalt: claims 49/51 groen; reglen neutraliseret -> roed med sin saetning; den gamle form plantet i security.html -> roed paa netop den. readme-log, claims-offline, plugin-manifest groenne; idempotent; 7 ld+json parser. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tede dialog-former - llms.txt: «An unanswered question is a refusal» modsagde README «(not a refusal)»; nu «never an approval: it expires with nothing done» (godkend.js:368, index.js:2006). - claims 51: regler for «adds/want a dialog before the first write» og «puts one consent dialog per session in front of the first write» (rettet i haanden i 2526fdb) + plantede saetninger; taerskel 14. Reglerne rammer ikke mains gamle forside (B10b). Maalt: claims 49/51 groen; hver ny regel neutraliseret -> roed med sin saetning; claims-offline, readme-log, plugin-manifest groenne; idempotent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ets Escape) b2e1808 (B19) sendte al afsendelse gennem Input.post, ogsaa menunettets Escape (Accessibility.swift:1168, Skaerm.swift:309). baggrund-mus 5d og 7c ledte stadig efter den gamle form `CGEvent(...)?.postToPid(pid)` og var roede siden da - fundet af den fulde suite paa 83ac662. Produktet er uaendret; kun proevens ankre. Maalt (statisk): de nye moenstre matcher koden og er falske paa den gamle form. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t fra #7, teksten fra 0.4 19 filer i konflikt (57 steder), loest efter én regel: hvor begge rettede samme paastand (adgangskode-apps, foerste skrivning, soklen, afinstallation, CI), vinder 0.4's tekst - den er panel-proevet mod koden (R59-R63); #7's var skrevet til 0.2.1. Hvor #7 aendrede struktur (ny forside, «On this page», temafarver, ankre, «Related»), vinder #7. ld+json flettet pr. felt. llms.txt's installationslinje fra #7 («ad-hoc signature, not notarized») - mere praecis og sand. hero.py koert igen: when-not-to-use's ankre og indholdsfortegnelse foelger 0.4's overskrift. npm-README udledt igen. Maalt: claims 49/51 groen (46 flader inkl. den nye forside); tjek-forside ALT GROENT; sync-tal idempotent; claims-offline, readme-log, plugin-manifest, sync-tal-versioner, pakke-filer groenne. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… screen» (3x2), «Go deeper»-kortene genskabt fra undersiderne To kort i «Why it is safe to leave running», bundet til README og koden: Stop all agents now (menu + ⌃⌥⌘. naar menuen viser den; to minutter hvor intet der skriver gaar igennem) og skaermlaanet (op til 15 min, Touch ID, pauser mens mennesket bruger mus/tastatur). mere.py koert igen: When NOT to use og Uninstalling citerer nu undersidernes 0.4-tekst (ikke «does not run in CI» / «the one file it ever writes»). Set med egne oejne: 1280 lys/moerk og 400 px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r passer ikke i 90 Koersel 39686798989 (c4a462c): suiten groen paa 17 min (1156 OK, 0 DUMP), mutantporten var i gang (alle roede) da 90-minuttersgraensen klippede jobbet efter 66 min; brugsscenarierne og filmene naaede aldrig at koere. GitHubs macOS-koerere tillader op til 360 min. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mutantporten (401 mutanter) tager ~4,5 t paa GitHubs Mac (koersel 39697547826: 225 roede, 0 overlevede, 0 fejl efter 2 t 40 min). Den laa foer brugsscenarierne, saa 90- og 180-minuttersgraensen klippede jobbet, foer filmene og scenarie-rapporterne blev lavet. Nu koerer scenarierne og de mange agenter foerst, porten sidst; graensen er GitHubs loft (360 min). Upload-trinnene koerer stadig altid. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upload-trinnene laa efter den ~4,5 t lange port, saa artefakterne foerst kom, naar alt var faerdigt. Nu: scenarier → mange agenter → film, kontaktark og beviser uploadet → mutantporten → porten. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fra fremmed-mac-koersel 39958522726 (297d4c0): parallel n=15, 184 forsoegt / 184 verificeret. Jobstatus bag dit vindue er uaendret mod 0.2.2 (7 bevist, 4 delvist, 8 ikke koert) - tavlen (7/9/3) staar. Skrevet af forside-tal.py (stopper hvis en status aendrer sig eller et ord mangler). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…x-brugere faar
npx-brugere faar den nyeste 1.x (^1.0.0 -> 1.32.1), mens CI, suiten og
MCPB-pakken byggede paa laasefilens 1.30.0. Nu er det samme version.
Lukker samtidig tre advarsler i laasefilen (sdk hoej, hono + ip-address moderat);
ingen af dem rammes af serveren (kun Server + StdioServerTransport + types).
Eneste aendring i 1.32 der roerer os: tools/call uden arguments - index.js:1448
og :2322 falder allerede tilbage til {}.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
computer-mcp 0.4.0 and the new computermcp.dev, in one merge. Supersedes #8 (0.2.2), #6 (0.2.1) and #7 (the new site): all three are contained here.
What 0.4 adds
The site
scripts/release.sh 0.4.0publishes.Proof
build-and-testand the full suite on GitHub's macOS runner (fremmed-mac), including the checks that only run on a Mac that isn't ours.🤖 Generated with Claude Code