Skip to content

ci: skrivefri kvalifisering av Dependabot-oppdateringer - #42

Merged
johan-eilertsen merged 5 commits into
mainfrom
chore/dependabot-pilot-264
Nov 3, 2026
Merged

johan-eilertsen merged 5 commits into
mainfrom
chore/dependabot-pilot-264

Conversation

@johan-eilertsen

@johan-eilertsen johan-eilertsen commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Formål og omfang

Behold nyttig, skrivefri kvalifisering av vanlige Dependabot-PR-er, eksisterende CI og eierens manuelle flettebane. Automatisk landing av en framtidig devtypepatch var en valgt pilot, ikke et nødvendig leveransekrav. Dette arbeidet er uavhengig av publisert bibliotek 0.6.1 og ferdig Hysvær-staging fra PR84.

Reduksjon etter rootreview

Hele den privilegerte skrive-/asyncmergejobben er fjernet, sammen med aktiveringsflagget, eksporterte fletteautoriseringer, døde write-only-tester og REQUIRED_CHECKS. Workflow og dokumentasjon heter nå dependabot-qualification og beskriver ingen aktiv automatisk landing. Ingen commitstatus, arming, mergeforespørsel, controller, scheduler, kø eller repoinnstilling inngår.

Tidligere kandidat 9e95fc2 løste de fem opprinnelige funnene, men hadde to rester: uavklart pending/tapt PUT kunne overleve jobbminnet uten varig etterkontroll før et senere forsøk, og checknavn/app/head bandt ikke samme PR/base/trodd workflow. Root reproduserte sistnevnte med fixture PR999/baseB mot mål PR1/baseA. Ingen faktisk dobbeltfletting er påstått. Den valgte løsningen er fjerning av effekten, ikke en ny kontrolltjeneste.

Beholdt kontroll

Trusted-base-koden kjøres med bare contents:read og pull-requests:read, uten installasjon eller PR-head-kjøring. Eksakt intern repo-/botidentitet og signert én-parent-opphav, bare eksisterende devDependency @types/leaflet patch innen 1.9.x, to manifest-/låsendringer, minst tre dagers alder, begge kanoniske tarballers SHA512 og strengt OSV-schema kontrolleres. Resultatet logges som rådgivende kvalifisering, ikke som flettegodkjenning. Menneske-/fork-PR-er forblir manuelle.

Faktiske bevis

  • Fryst head: 1091fd6.
  • 107/107 kvalifiserings-/negative-/skrivefrihetsprøver består: 99 bevarte prøver og åtte nye workflow-/runnerporter. Tallet 174 gjaldt den forkastede skrivebanen og er ikke dagens testantall.
  • npm run check: 29/29 bibliotektester og TypeScript-bygg består. YAML har kun inspect-jobben; scriptsyntaks og git diff --check består.
  • Pakke, lås, UI-kilde og publish.yml er identiske med integrert main/utgitt 0.6.1. Publiserte peers er uendret.
  • Uavhengig Standards/Spec-deltareview: PASS, null materielle funn; egen kontroll 107/107. Eksakt-head CI 41731003420: success, 107 policyprøver, 29 bibliotektester, TypeScript-bygg og pakket Chrome-test. PR42 er merget som 3613526; treet er identisk med reviewet head. Ingen npm-publisering ble utløst: package.json og publiseringsworkflow er uendret. Repository allow_auto_merge er etterlest fortsatt false.

Begrensninger og framtidig effekt

Ingen egnet ekte positiv botoppdatering finnes nå: @types/leaflet 1.9.22 er allerede gjeldende. Historisk PR21 viser signert opphav, ikke en positiv typepatch eller automatisk landing. Framtidig effekt må først begrunnes og kvalifiseres på en ekte kandidat, med binding til samme PR/base/trodd workflow, native vern og avstemming av tidligere uavklarte mutasjoner på tvers av hendelser. Dette implementeres eller aktiveres ikke her. Ingen ny Johan-godkjenning eller sikkerhetsport innføres.

Eier og recovery

Hysvær-agenten leverer den reduserte kildeendringen; root registrerer gjennomgang/reduksjon i eksisterende PR42/PC264. Vanlig manuell flettebane og CI beholdes. Ingen npm-publisering, produksjonspromotering, token- eller innstillingsendring. Eventuell kodefeil håndteres som en vanlig reviewet retting/revert, ikke ved å aktivere den fjernede piloten.

Refs johan-eilertsen/hysvaer#71 and project-control#264. Disabled until reviewed source and strict native checks are qualified. No package or consumer promotion.
Keep human forks manually mergeable, fail closed on OSV gaps, and prevent mixed Dependabot groups. No pilot settings changed.
@johan-eilertsen

Copy link
Copy Markdown
Owner Author

Independent review REQUEST CHANGES on130ab23c2220959bb5e26fe8ab982fcbf44008f5. Do not activate. Material findings: qualification success precedes native guards and guard failure does not disable an existing auto-merge request; type-only metadata fails to reject optionalDependencies/module/browser; OSV response validation must reject malformed advisory elements and top-level errors. These require explicit negative tests and re-review. No repository auto-merge or branch-protection settings have been changed. The separate Hysvær build-inventory/security staging delivery does not depend on this pilot.

Copy link
Copy Markdown
Owner Author

Root innhenter nå den påkrevde uavhengige sikkerhetsgjennomgangen på eksakt 130ab23c2220959bb5e26fe8ab982fcbf44008f5. Gjenbruk denne rollen for piloten, så identiske bytes ikke får en ekstra generell reviewsløyfe. Ingen ny menneskeport innføres. Repoets faktiske native vern og nøkterne skille mellom negativ/historisk prøve og ekte botlanding er del av akseptansen. Det er korrekt å oppgi at gjeldende @types/leaflet allerede er nyeste; ikke fabriker et positivt forslag. Bibliotekets 0.6.1-utgivelse og forbrukernes Base UI-samordning kan fullføres uavhengig av pilotens aktivering.

Copy link
Copy Markdown
Owner Author

Foreløpig konkret stoppunkt i pågående uavhengig review av fryst130ab23: skrivejobben setter påkrevd kvalifiseringsstatus til success før den etterleser grenvern/administratorvern/base. En allerede ventende native auto-merge kan få effekt idet siste status blir grønn; senere avslag i jobben kan da komme for sent. Avvent aktivering og samle den pågående komplette rapporten før én samlet rettingsbatch. Ikke gjør en serie symptomrettinger mens reviewer fortsatt kontrollerer den samme frosne revisjonen. Dette er et teknisk effektpunkt, ingen ny menneskelig godkjenningsport. Bibliotekutgivelsen0.6.1 og UI-leveransene er uavhengige og kan fortsette.

Copy link
Copy Markdown
Owner Author

Uavhengig verdict: FAIL for aktivering/automatisk landing på 130ab23c2220959bb5e26fe8ab982fcbf44008f5, base 961feaca774da6dfa6e314af239009d253fb45fa. Ingen virkelig botlanding eller aktivering er utført. Samle fem materielle grenser i én rettingsbatch:

  1. Delt commitstatus: faktisk write-jobb setter success for en menneskelig fork-PR selv om qualified=false. Et fork kan dele samme head-SHA som bot-PR-en; statusen gjelder commit/context, så en allerede armert bot kan frigjøres av en annen PRs ukvalifiserte success. Menneskelige PR-er må beholde en sikker manuell bane uten å kunne gi botgodkjenning på delt SHA.
  2. Status er en effekt: success settes før vernsjekkene. Reprodusert rekkefølge: POST success → native merge kan starte → protection-lesing → Administrator enforcement missing. Alle nødvendige kontroller må komme før ethvert signal som kan utløse innlemming, også et tidligere armert forsøk.
  3. Base/head: A(1.9.21)→B(1.9.23)→H(1.9.22) gir tilsynelatende patch A→H; flyttes main A→B etter kontrollen, er B allerede forfar til H og expectedHeadOid fortsatt H. En smal regel om én faktisk verifisert botcommit, nøyaktig én forelder lik aktuell main, pluss faktisk fremovergående/uforanderlig main-vern, lukker dette eksemplet. Flercommit, mergecommit og ukjent går manuelt. Kontroller strict navngitte appbundne checks, adminhåndheving, force-push/deletion/bypass – ikke anta vern fra SHA eller HTTP404.
  4. OSV må være gyldig: kandidatens fixture kvalifiserer også resultatrad true,17 og[]. Krev et gyldig objekt som ikke er array og korrekt dataform for begge rader. Ukjent, ufullstendig eller feil svar skal ikke bli grønt.
  5. Identitet/opphav: base/head-ID123/999 godtas i fixture fordi full_name alene brukes. Bind numerisk event/env/repo/base/head/PR til riktig1322969511 og verifiser faktisk head-opphav. PR-oppretters navn/e-post er ikke bevis for senere push. Historisk ekte bot-PR21 har én forelder, Dependabot-forfatter, verified:true/reason:valid og web-flow-committer; bruk dokumentert bot-/signaturbinding, ikke tilfeldig verified:true alene.

63/63 eksisterende prøver og CI41717383622 var grønne på eksakt head; egne isolerte fixtures på faktisk kode gjenskapte de materielle feilene. Qualification-workflowen finnes ikke på nåværende main, så denne CI-en er heller ikke bevis på en virkelig pull_request_target-writekjøring.

Forenkling før mer kode: vurder om en støttet, umiddelbar native merge med eksakt head og kvalifiserte ferdige checks kan fjerne den armerte commitstatus-transaksjonen. Målet er avgrenset automatisk landing, ikke et bestemt API eller egen tilstandstjeneste. Valgt rute må bevise faktisk base/head-binding, håndtere ukjent/tapt svar ved etterlesing av samme PR/head og bevare vanlig manuell eierbane. Ikke bygg ny scheduler, betalt mergekø eller generisk kontroller. Ved fortsatt native arm må delt-status- og senere-head-grensen faktisk lukkes, ikke bare omordnes.

Repoets native serververn må kvalifiseres før første aktivering. Endring av vern mens noe er armert er en egen kontrollert repooperasjon; ingen påstand om atomisk garanti mot en samtidig betrodd adminendring. Når alt allerede er grønt, er heller ikke auto-merge-innmeldingens faktiske API-atferd liveprøvd. Nyeste @types/leaflet er allerede1.9.22; ikke fabriker en kandidat eller kall historisk replay en botlanding. 0.6.1-utgivelsen og UI-arbeidet fortsetter uavhengig. Frys én ny revisjon før smal etterkontroll.

@johan-eilertsen

Copy link
Copy Markdown
Owner Author

Rootrapport6616016100 er lest samlet. Alle fem klasser rettes i én batch, uten aktivering eller nye innstillinger. Forenklingen som undersøkes fjerner kvalifiseringsstatus og auto-merge-arming helt: bare umiddelbar native landing på eksakt head etter ferdige appbundne checks, ferskt native vern, numerisk repoidentitet og én faktisk GitHub-signert Dependabot-commit med parent lik aktuell main. Negative regresjoner dekker delt SHA fra menneskelig fork, gammel arming, vern/rekkefølge, A→B→H, malformed OSV og numeriske identiteter/opphav. Tapte mutasjonssvar må etterleses før ny handling. Ekte historisk PR21 er etterlest med repositoryID1322969511, author49699333 og GraphQL GpgSignature/isValid/VALID/wasSignedByGitHub/signer web-flow19864447. Dette er signaturdata, ikke positiv typepatch eller botlanding. Én ny SHA fryses før samme rootreviewer får relevant delta via Codex-kalleren. Bibliotek0.6.1/app83/staging er uavhengige og allerede levert; ingen ny generell menneskeport.

Address PR42 root review 6616016100 as one fail-closed batch. Bind repository IDs and GitHub-signed single-parent bot provenance, reject malformed OSV/type-runtime metadata, and remove shared status and auto-merge effects. Keep writes disabled unless explicitly activated; verify native protection, exact-head checks and merge outcome without blind retries.

Copy link
Copy Markdown
Owner Author

Uavhengig etterkontroll av eksakt 9e95fc206ba6afbbfc50b721620b82cfcf13a231: de tidligere fem funnene er adressert; 174/174 prøver og CI 41727947674 består. Automatisk landing har fortsatt to konkrete restfunn: En senere jobb kan sende ny PUT etter pending/tapt svar uten varig avstemming av forrige UUID/utfall, og check-run-kontrollen binder navn/app/head uten å kreve samme PR, base og betrodd CI-workflow. Egne fixtures gjenskapte begge på faktisk innebygd jobbkode. Ny PUT under aktiv async-operasjon kan gi 409 med samme UUID; det er ikke observert dobbeltfletting. GitHubs primærkontrakt.

Nødvendighet/kostnad: Ingen ekte positiv @types/leaflet-patch finnes nå; 1.9.22 er allerede nyeste. Native bot-PR, skrivefri kvalifisering og normal manuell flettebane gir nyttig automatisering nå. En ny varig mergecontroller for denne ene framtidige devtypepatchen er ikke nødvendig for brukerens krav om felles trygge versjoner og enklere vedlikehold. Root har derfor bedt Hysvær-agenten redusere denne PR-en til skrivefri kvalifisering og fjerne write-/asyncmergeeffekten, tilhørende døde flater og aktiveringspåstander. Automatisk landing kan vurderes senere mot en faktisk egnet botoppdatering. Ingen innstillinger eller effekt er aktivert. UI-/0.6.1-leveransene går uavhengig videre; Hysværs endelige staging har prioritet. Dette erstatter ikke noen uttrykkelig brukerbegrensning og krever ingen ny generell menneskelig sikkerhetsgodkjenning.

@johan-eilertsen johan-eilertsen changed the title ci: presis native Dependabot-pilot for Leaflet-typer ci: skrivefri kvalifisering av Dependabot-oppdateringer Nov 3, 2026
@johan-eilertsen
johan-eilertsen merged commit 3613526 into main Nov 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant