Repository navigation
Open
Labels
manual[source] Opened by a person or an owner-lane session[source] Opened by a person or an owner-lane sessionquality[type] Code or doc quality cleanup candidate[type] Code or doc quality cleanup candidatetriaged[status] Labelled and understood; nobody works on it yet[status] Labelled and understood; nobody works on it yet
Description
A 2026-10-27-i /hypo fix audit nyitott tételei (tulajdonosi kérés, 2026-10-27). A doksi-javítások a PR-ben vannak: #9. Az itt maradt tételek kódot, repo-beállítást vagy tulajdonosi döntést kívánnak.
Minden tételnél: fájl, miért számít egy kontextus nélküli agentnek, és a pontos javaslat. Jelölés: tulajdonosi döntés (needs-human) és kódőr (a prózai szabályt kód vagy teszt rögzíti).
Tulajdonosi döntések (needs-human)
- npm-név (
AGENTS.md,README.md,skills/tarhely-cli/SKILL.md).
Miért: a csomag kiadatlan (npm view tarhely-cli→ E404), a név szabad. Ha egy agentnpx tarhely-cli-t futtat, egy névfoglaló csomag azinit-en át megkapja a jelszót és a TOTP-seedet.
Javaslat:npm publish --provenance(2FA), vagy a név lefoglalása. Ugyanabban a PR-ben az Állapot blokkok és a „közzétételig” megjegyzések törlése (AGENTS.md,README.mdmagyar és angol rész,SKILL.mdtörzs ésdescription). - A letöltés jogi hatása (
skills/tarhely-cli/SKILL.md,README.md,AGENTS.md).
Miért: ha aGET /uzenet/letoltes/beerkezett/{eid}átvételnek számít vagy letöltési igazolást indít, egy agent egy tömegesdownload-dal jogi határidőt indíthat el.
Javaslat: tisztázni. Ha igen:SKILL.mdAranyszabály 6 (csak azt töltsd le, amit a felhasználó kért; előtte mutasd meg alist --jsonkimenetét), egy mondat aREADME.md„Mit csinál, mit nem” részébe, és a „nincs tisztázva” törlése azAGENTS.md-ből. - Nem szintetikus eid a történetben, fixture-őr (
README.mdaz e8a5384-ben,.gitleaks.toml).
Miért: a fixture-szabály ma csak próza. A gitleaks egy valódi érkeztetési számot nem fog meg, és egy agent példának másolhatja.
Javaslat: döntés az1263939602026…előtagról (történet-átírás, vagy elfogadás.gitleaksignoreujjlenyomattal)..gitleaks.toml:[extend] useDefault = trueés egytarhely-erkeztetesi-szamszabály a nem szintetikus 13–24 jegyű számokra ((?:^|[^0-9])([1-9][0-9]{12,23})(?:[^0-9]|$)), allowlist:pnpm-lock.yaml,test/totp.test.ts,1704067200000. -
src/index.tséspackage.json.
Miért: a Kódtérkép nyilvános API-nak hívja, de apackage.json-ban nincsmain/exports, így csomagként nem importálható. AloginToKau/launchBrowserújraexportja megkerülné awithSessiondiagnosztika-szabályát.
Javaslat: vagy"exports": { ".": { "types": "./dist/index.d.ts", "default": "./dist/index.js" } }, vagy a fájl elhagyása. Addig azAGENTS.mdKódtérkép-sora: ma csomagként nem importálható, és aloginToKau/launchBrowserexportja megkerülné awithSession-t. -
main-védelem (repo-beállítás).
Miért: a „Landolás és CI” szabály csak próza. 13 commitból 11 PR nélkül került amain-re.allow_auto_merge=falseés védelem nélkül agh pr merge --autonem élesít, hanem azonnal merge-el, a CI eredményét nem várja meg.
Javaslat: PR kötelező, kötelezőcheckstátusz, force-push tiltva, csak squash merge (allow_merge_commit=false,allow_rebase_merge=false); opcionálisanallow_auto_merge=true. - Kiadás és döntések (opcionális) (
AGENTS.md).
Miért: az első kiadásnak nincs leírt menete, és a „miért így” csak a csapdalistában és kommentekben él.
Javaslat: első kiadáskorv0.1.0tag és GitHub Release. „Kiadás” szakasz:pnpm build+npm pack --dry-run,npm publish --provenance, tag, Állapot-törlés. Opcionálisan „Döntések (miért így)” szakasz az öt kikövetkeztetett döntéssel; azidp.gov.huindoklását csak a tulajdonos adhatja meg. - Hálózati rés (
src/browser.ts:58-68; biztonsági határ, tulajdonosi jóváhagyás kell).
Miért: a doksi szerint a böngésző minden más hostot elutasít, de acontext.routea Service Worker és a WebSocket forgalmát nem látja (Playwright 1.63.0).
Javaslat:newContext({ …, serviceWorkers: "block" })éscontext.routeWebSocket(...), amely a nem engedélyezett hostokat lezárja;// INVARIANT:komment acontext.routefölé. Tesztek atest/browser.test.ts-benvi.mock("playwright")-tal:it("registers a route that aborts non-allowlisted hosts"),it("blocks service workers"). Addig Service Worker-rés megjegyzés azAGENTS.mdHálózat sorába, aREADME.md„Hová beszél?” részébe és aSKILL.mdbevezetőjébe.
Kódőrök (code-guard)
- CLI-tanácsok
npx tarhely-cli-vel (src/errors.ts:37,45,src/store/credentials.ts:62,src/commands/doctor.ts:43,55,src/commands/init.ts:59,75,src/browser.ts:51).
Miért: a hibakimenethint-jét egy agent szó szerint lefuttatja, és az a kiadatlan, foglalható névre fut.
Javaslat: a hívási előtagot a tényleges binárisból képezd (node <process.argv[1]>, kivéve az npx-es futást). A Chromium telepítése a csomagolt Playwrightcli.js-ére mutasson. Unit-teszt: egyik hint sem tartalmaz bedrótozottnpx tarhely-cli-t. - Csak-olvasás kódőr (
src/tarhely/api.ts,apiRequest).
Miért: a „csak olvas” ígéret ma próza és komment. Egy agent egy új hívással írni kezdhet a tárhelyen, és semmi nem állítja meg.
Javaslat:assertReadOnlyEndpointengedélylistával:POST /uzenetek/BEERKEZETT/kereses,GET /uzenet/beerkezett/{eid},GET /uzenet/letoltes/beerkezett/{eid},GET /mailbox/details. Tesztek atest/api.test.ts-ben:it("rejects any endpoint outside the read-only allowlist"),it("issues only allowlisted calls from apiList, apiDetail, downloadLetter and readQuotaPercent"). - Diagnosztika-teszt (
test/session.test.ts).
Miért: a „kitöltött belépőmezőről soha nincs képernyőkép” invariánst teszt nem őrzi. Egy refaktor észrevétlenül képre teheti a jelszót.
Javaslat: abrowser, akau/loginés atarhely/apimockolásával:it("never captures when login fails after the secrets were typed"),it("captures a capturable pre-secret failure"),it("captures a failure after a successful login"). - Elavult komment (
src/session.ts:37-38; az integráció alapállapotra állította).
Miért: a komment szerint a capture csak sikeres belépés után él, a kód a titok előtticapturablehibánál is képet ad. Egy agent a kommentnek hisz.
Javaslat:// INVARIANT: kitöltött belépőmezőről soha nincs képernyőkép vagy aria-snapshot. Capture csak sikeres belépés után, vagy a titkok begépelése előtti, capturable-nek jelölt hibánál (src/kau/login.ts). Lásd AGENTS.md, Invariánsok. - Debug-capture (
src/errors.ts:53,src/report.ts:88-96).
Miért: a 4-es kódhint-je képernyőképes nyilvános issue-t javasol, a kép személyes adatot mutat, és a capture alapjoggal, git-őr nélkül ír.
Javaslat: a hint: nyiss issue-t a hibaüzenettel; képet csak kitakarva csatolj, a debug-mappa legyen repón kívül. A capture előttassertOutDirNotCommittable(debugDir), a mappa0o700, a fájlok0o600joggal. Tesztek:it("refuses a debug dir inside a non-ignored git work tree"),it("writes debug captures with 0o600"). Addig aREADME.md4-es sorához: „, akkor sem, ha a kiírt „Tanács” a képernyőképet javasolja”. - Zip 200 MB teszt (
test/extract.test.ts).
Miért: a 200 MB-os korlátot teszt nem őrzi; egy refaktor csendben kiveheti.
Javaslat:it("rejects a zip whose declared uncompressed size exceeds 200 MB and writes no files"): zipfflatezipSync-kel, a központi jegyzék +24-es eltolású mezője 201 MiB-ra írva. Utána azAGENTS.mdZip sorából „a 200 MB-osat nem” törlése. - Node-tartomány (
package.jsonengines,src/commands/doctor.ts:22-37,src/main.ts:77).
Miért: azengines >=20.16átengedi a 21.x-et és a 22.0–22.3-at. Adoctorcsak a főverziót nézi, ezért ott „ok”-t mond, pedig a--no-extract(allowNegative) elbukik.
Javaslat:"engines": { "node": "^20.16.0 || >=22.4.0" }. Adoctor-banisSupportedNode(20.x ≥ 20.16, 22.x ≥ 22.4, ≥ 23); tesztek: 20.15.1 és 22.3.0 nem ok, 20.16.0 és 22.4.0 ok. Amain.ts-be vissza a komment: „A --no-extract miatt kell; a parseArgs allowNegative Node 20.16-tól és 22.4-től létezik.” - USAGE
--since(src/main.ts:29).
Miért: a súgó szerint a--sincecsak az ettől érkezett leveleket adja. Alistviszont mindet visszaadja, a korábbiakatisNew: false-szal; egy agent hiányos listára számít.
Javaslat:download: csak az ettől érkezettek; list: a korábbiak isNew: false (felső határ nincs). - Határ-teszt (
test/boundaries.test.ts).
Miért: a Kódtérkép rétegszabályait semmi nem kényszeríti.
Javaslat:describe("module boundaries"): aloginToKaués a capture csak asession.ts-ben; achromium.launchés acontext.routecsak abrowser.ts-ben; ascreenshotés azariaSnapshotcsak areport.ts-ben;fetch(csak azapi.ts-ben; és akau/,tarhely/,commands/importtilalmai.
Review: már a main-en lévő hibák (pre-existing)
A PR saját családi review-ja (claude-opus-5.5@high, 1. kör) találta ezeket; nem a PR hozta be őket. Mindegyik átfed egy fenti tétellel, a javaslat ott van.
-
src/errors.tsportalChangedErrorhint („nyiss issue-t a képernyőképpel”): nyilvános issue-ba kér képernyőképet. Ellentmond az újAGENTS.mdszabálynak („Ha ehhez nyúlsz: hint … nem buzdíthat képernyőkép … nyilvános feltöltésére”) és az új 4-es kódú útmutatásnak. A doksi most figyelmezteti az agentet, de a hint szövegét is javítani kell. → Debug-capture. -
src/commands/doctor.ts: aMIN_NODE_MAJOR = 20csak a főverziót nézi, apackage.jsonengines viszont>=20.16. A--no-extract-hoz kellőutil.parseArgsallowNegative20.16+/22.4+ alatt létezik. Így adoctora 20.0–20.15, a 21.x és a 22.0–22.3 ágon „node ok”-t mond. → Node-tartomány. -
src/main.tsUSAGE: a--since„csak az ettől érkezett levelek”, alistviszont minden levelet visszaad, a korábbiakat csakisNew: false-szal jelöli. ASKILL.mdszövege a PR után helyes, a USAGE elavult. → USAGE--since. - A régi
README.mdmappapélda (2026-09-08_1263939602026…; a PR szintetikus eid-re cserélte) valódi érkeztetési szám lehet. A publikus git-történetben megmarad. → Nem szintetikus eid. - Minden CLI-hint, a
doctorrészlete és azinitzáró sora mégnpx tarhely-cli …-t ír (src/errors.ts,src/store/credentials.ts,src/browser.ts,src/commands/doctor.ts,src/commands/init.ts). A csomag kiadatlan (npm view→ E404), így ezek egy foglalható névre mutatnak. A doksi most megkerüli; a kód a valódi hívást írhatná ki. → CLI-tanácsok.
Metadata
Metadata
Assignees
Labels
manual[source] Opened by a person or an owner-lane session[source] Opened by a person or an owner-lane sessionquality[type] Code or doc quality cleanup candidate[type] Code or doc quality cleanup candidatetriaged[status] Labelled and understood; nobody works on it yet[status] Labelled and understood; nobody works on it yet
Activity
docs(cli): a since súgó pontos list és download jelentése (#11)
godavid commentedon Nov 14, 2026
A különálló apró javítás bekerült: #11, head
1da704154ce6bb620804d2c926e7fc40f6567e68, merge855cfa99a1b6875f4ee0c5d1d1a2e7cac4196f9a. Friss Codex GPT 6.1 Sol high review: clean, Important 0 / Nit 0 / Pre-existing 0.Csak az elavult USAGE --since sor a kvalifikált apró residual. A Service Worker/WebSocket boundary, debugcapture0600, Node-range és hint/modulhatár külön nagyobb scoped brief. Ezek nem új ownerkérdések.
A collector nyitva marad. A fennmaradó gyökérokok a meglévő brief/collector alapján haladnak; a korábbi valós holdok érvényesek. A PR Refs hivatkozást használ, nem Closes-t. Ez a bejegyzés source/merge tény, önmagában nem általános production/store-állítás.