Samle tester som hovedregel, men behold Go tester i pakken når de må undersøke ikke eksporterte medlemmer. Skill mellom prosjektets gjeldende spesifikasjoner, globale arbeidsregler og ADR er som dokumenterer viktige beslutninger.
Publisert avBilder generert med GPT Image 2
Research answer
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/L2Q8zxg7UqZZOsMb8CmQKOfK9IR2/thumbnails/C41117380AEDA3F50B7E/70B0757779861287C9BD-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"这套布局可以作为收敛方向,但需要纠正三个等同关系:所有测试不能无条件迁出业务包,规范不是全部 ADR 的摘要,冻结也不是完成归档。以下是六项建议的明确边界;涉及的新路径均为候选,尚未创建或迁移。\n\n 1.. Topic tags: general web, openai, automation, workflow, code. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, a
En ryddig mappestruktur kan gjøre et kodeprosjekt lettere å forstå og vedlikeholde. Men det er fort gjort å gjøre struktur til et mål i seg selv: Tester flyttes dit de ikke lenger kan undersøke det de skal, beslutningslogger gjentas i spesifikasjonene, eller uferdige planer arkiveres som om arbeidet var ferdig.
Et godt utgangspunkt er å samle materialet der det passer, samtidig som man er tydelig på unntakene. Her er et forslag til hvordan tester, spesifikasjoner, arkitekturbeslutninger, planer og midlertidige filer kan organiseres.
En felles tests/-mappe kan være et godt standardvalg, særlig i Python-prosjekter. Ved en flytting bør man kontrollere at import, testoppdagelse, testfiksturer og CI-oppsett fortsatt fungerer. I dette prosjektet bruker CI-oppsettet allerede en samlet testbane.
Go har et viktig unntak. Tester som må undersøke ikke-eksporterte medlemmer, kan ligge i samme pakke som koden de tester. Go støtter både tester i samme pakke og tester i en separat pakke med suffikset _test. 14
16 Derfor bør tester som trenger tilgang til pakkens interne detaljer, som regel bli liggende ved koden. Tester av offentlig oppførsel, flere komponenter eller hele systemet kan gjerne samles sentralt.
Det er også verdt å skille mellom pakkens grenser og Go-regelen for internal-kataloger. Sistnevnte begrenser hvilke andre pakker som kan importere innholdet, basert på katalogstrukturen. Det betyr ikke at en test alltid må ligge i samme katalog for å importere pakken. 10
16
Konsekvensen er enkel: Ikke gjør «alle tester ut av kildekatalogene» til et krav dersom det går på bekostning av innsyn, innkapsling eller nyttige tester. Det samme gjelder ønsket om å unngå mange små testfiler. Unngå unødvendig oppdeling og dobbeltarbeid, men behold regresjonstester som skal kjøres igjen. Engangsskript og midlertidige sonderinger hører bedre hjemme i et midlertidig område.
Disse dokumenttypene utfyller hverandre, men gjør ulike jobber. En ADR, eller Architecture Decision Record, er en kort beslutningslogg som forklarer hvorfor en viktig teknisk retning ble valgt, og hvilke alternativer som ble vurdert.
| Dokumentasjon | Spørsmålet den besvarer | Typisk innhold |
|---|---|---|
| Globale arbeidsregler | Hvordan skal analyse, verifisering og leveranse foregå? | Metoder og prinsipper som gjelder på tvers av prosjekter |
Prosjektets AGENTS.md |
Hvordan arbeider man i akkurat dette prosjektet? | Bekreftede prosjektkrav og praktiske innganger |
Prosjektspesifikasjoner i specs/ |
Hvilken oppførsel eller kontrakt skal prosjektet oppfylle nå? | Krav, gjeldende beslutninger og godkjente endringer |
ADR-er i docs/adr/ |
Hvorfor ble denne viktige løsningen valgt? | Begrunnelser, avveininger og alternativer |
Spesifikasjoner bør altså ikke være et sammendrag av alle ADR-ene. De beskriver hva som gjelder nå; ADR-ene gir bakgrunnen for viktige valg. Tester er på sin side kjørbare kontroller av utvalgte krav – ikke en erstatning for noen av dokumenttypene.
Cline dokumenterer regler som en måte å bevare instrukser på tvers av samtaler. 4 Det er likevel ikke grunnlag for å si at Cline automatisk skriver bestemte typer filer inn i prosjektets
specs/-mappe. Behandle det som en lokal prosjektpraksis, ikke som en garantert egenskap ved verktøyet.
Spesifikasjoner trenger heller ikke å være fullstendig håndskrevne eller vente på at et problem oppstår. Ved oppstart kan en assistent foreslå prosjektspesifikasjoner basert på brukerbehov og det som faktisk finnes i kodelageret. Usikkerhet bør stå som usikkerhet. Når en oppgave begynner, les de relevante kravene og beslutningene, og gjør akseptkriterier og verifisering tydelige.
Opprett en ny ADR når det oppstår en viktig ny avveining – ikke for hver plan. Når en eksisterende beslutning fortsatt gjelder, kan den vises til direkte. Testresultater kan si noe om implementasjonen oppfyller kravene, eller avdekke at en spesifikasjon bør vurderes på nytt. De avgjør ikke automatisk hvilke behov prosjektet skal ha, eller om en beslutning er godkjent.
docs/adr/ kan være standardstedet for nye beslutningslogger. Det er en nyttig prosjektkonvensjon, ikke en påstand om at dette er den eneste riktige bransjestandarden.
En ADR kan dokumentere en foreslått, godtatt, avvist eller senere erstattet beslutning. Når et nytt arbeid bygger på en gjeldende beslutning, vis til den i stedet for å lage en kopi. Hvis beslutningen erstattes, dokumenter sammenhengen uten å skrive om begrunnelsen slik den lød den gangen.
En bestått test er ikke i seg selv en godkjenning av en ADR. Ved flytting av ADR-er må man dessuten oppdatere faktiske lenker, regler, ruting og tilgangsbegrensninger – ikke bare endre filenes plassering.
En enkel plans/-mappe trenger ikke nødvendigvis underkataloger. Et mulig oppsett er:
| Bruk | Eksempel på fil | Betydning |
|---|---|---|
| Aktiv plan | plans/pending_implementation_plan.md |
Standardinngang for arbeid som pågår |
| Fullført plan | plans/plan-20261022-example-id.md |
Ferdig, med nødvendige godkjenninger for arkivering |
| Frosset plan | plans/plan-20261022-example-id-frozen.md |
Uferdig arbeid som ikke lenger er aktivt |
En frosset plan er ikke en fullført plan. Den skal beholde det som gjenstår, hvorfor arbeidet er satt på pause og hva som må skje før det kan tas opp igjen. Hvis det finnes en eksisterende status for pauset arbeid, kan den brukes i stedet for å innføre en ny status bare for frysing.
Fullført arkivering bør bety at nødvendige akseptkriterier er oppfylt og at arkivering er godkjent. Frysing betyr at planen tas ut av den aktive inngangen, men ikke at uferdige krav er levert. Hvis arbeidet skal oppgis permanent, bør det komme tydelig fram – det er noe annet enn en midlertidig pause.
Les som hovedregel bare den aktive planen, ikke alle gamle planer i mappen. Hvis en frosset plan gjenopptas, bør arbeidet få en ny, sporbar utførelsesinstans og vurderes på nytt. Tidligere testresultater er ikke automatisk et grønt lys for nytt arbeid. Dette samsvarer med de gjeldende livssyklusreglene.
En fil som får nytt navn, er heller ikke dermed godkjent. Pass på at åpne oppgaver ikke går tapt, at eksisterende referanser håndteres, og at nye filer ikke overskriver noe. Det er heller ingen grunn til å opprette en tom plan bare for å fylle en fast plass.
Det er sjelden nyttig å kreve én testfil for hver kildefil. Én test kan dekke flere komponenter, og én komponent kan trenge både enhetstester, egenskapstester og integrasjonskontroller.
Start heller med å organisere tests/ etter modul eller ansvar. La spesifikasjonene peke til viktige invariants, relevante testinnganger og avgrensede kommandoer for verifisering. Hvis det faktisk er vanskelig å finne sammenhengen, kan en egen testoversikt, for eksempel tests/test-map.yaml, være nyttig.
En slik oversikt bør bare inneholde det man trenger: identifikator for modul eller krav, relevante kilde- og testområder og hvordan kontrollene kjøres. Den bør ikke kopiere hele katalogstrukturen eller late som at en oppført test dokumenterer full dekning eller bestått resultat. Hold oversikten oppdatert når stier eller kommandoer endres, men unngå å skape en ny manuell logg som raskt blir utdatert.
Engangsskript, utkast og utforskende rapporter kan samles i .scratch/. Men plasseringen alene avgjør verken hvor troverdig materialet er, eller om det kan slettes.
Et sammendrag fra modellbasert research er en andrehåndskilde og bør ikke behandles som et faktum uten støtte. Samtidig kan et rått testresultat eller en diagnostikklogg være førstehåndsbevis selv om filen ligger i en midlertidig mappe. Vurder kilden, miljøet, tidspunktet og om materialet er komplett.
Før sletting bør du sjekke om en aktiv plan, beslutning eller akseptvurdering viser til filen. Ikke slett det eneste beviset en konklusjon bygger på uten å bevare det nødvendige originalmaterialet eller trekke tilbake konklusjonen. Når funn kondenseres, bør sporbarhet, gyldighetsområde og usikkerhet følge med. En antakelse blir ikke et faktum av å bli skrevet inn i en oppsummering.
Gamle rapporter og arkitekturdiagrammer i docs/ bør vurderes etter relevans, ikke bare alder. Merk gjeldende dokumenter med bruksområde og gå gjennom dem når relevante krav endres. Merk eldre diagrammer som historiske, utdaterte eller erstattet, slik at de ikke forveksles med prosjektets nåværende utgangspunkt. Prosessmateriale uten varig verdi eller aktive referanser kan flyttes eller slettes når det er godkjent.
Å ta vare på historikk betyr ikke at alt må lastes inn hver gang. Bruk målrettet lesing og tydelige gyldighetsmarkører for å redusere støy, samtidig som nødvendig dokumentasjon og bevis beholdes.
En god prosjektstruktur samler tester og dokumentasjon der det er praktisk, men gjør rom for språkspesifikke testbehov. Spesifikasjonene beskriver gjeldende krav; ADR-ene forklarer viktige beslutninger. En frosset plan skal fortsatt vise at arbeidet er uferdig, og opprydding må ikke slette det eneste grunnlaget for en konklusjon.
I dette prosjektet er standardbaner for planer og godkjente stier fortsatt knyttet til eldre struktur i validatoren, og redigeringsområdet for analysemodus er fortsatt definert i modusoppsettet. En eventuell omlegging må derfor også oppdatere regler, maler, referanser, validering og tilpasninger til verktøyene. Det holder ikke å gi mapper nye navn.
Forslagene her er en analyse, ikke en gjennomført migrering: Ingen filer er skrevet, flyttet, frosset eller ryddet bort.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
Samle tester som hovedregel, men behold Go tester i pakken når de må undersøke ikke eksporterte medlemmer.
Samle tester som hovedregel, men behold Go tester i pakken når de må undersøke ikke eksporterte medlemmer. Skill mellom prosjektets gjeldende spesifikasjoner, globale arbeidsregler og ADR er som dokumenterer viktige beslutninger.
En frosset plan er ikke en ferdig plan; den må beholde åpne oppgaver og vilkår for eventuell gjenopptakelse.
Samle tester som hovedregel, men behold Go tester i pakken når de må undersøke ikke eksporterte medlemmer. Skill mellom prosjektets gjeldende spesifikasjoner, globale arbeidsregler og ADR er som dokumenterer viktige beslutninger.
Publisert avBilder generert med GPT Image 2
Research answer
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/L2Q8zxg7UqZZOsMb8CmQKOfK9IR2/thumbnails/C41117380AEDA3F50B7E/70B0757779861287C9BD-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"这套布局可以作为收敛方向,但需要纠正三个等同关系:所有测试不能无条件迁出业务包,规范不是全部 ADR 的摘要,冻结也不是完成归档。以下是六项建议的明确边界;涉及的新路径均为候选,尚未创建或迁移。\n\n 1.. Topic tags: general web, openai, automation, workflow, code. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fake numbers, clickbait thumbnails, icons, a
En ryddig mappestruktur kan gjøre et kodeprosjekt lettere å forstå og vedlikeholde. Men det er fort gjort å gjøre struktur til et mål i seg selv: Tester flyttes dit de ikke lenger kan undersøke det de skal, beslutningslogger gjentas i spesifikasjonene, eller uferdige planer arkiveres som om arbeidet var ferdig.
Et godt utgangspunkt er å samle materialet der det passer, samtidig som man er tydelig på unntakene. Her er et forslag til hvordan tester, spesifikasjoner, arkitekturbeslutninger, planer og midlertidige filer kan organiseres.
En felles tests/-mappe kan være et godt standardvalg, særlig i Python-prosjekter. Ved en flytting bør man kontrollere at import, testoppdagelse, testfiksturer og CI-oppsett fortsatt fungerer. I dette prosjektet bruker CI-oppsettet allerede en samlet testbane.
Go har et viktig unntak. Tester som må undersøke ikke-eksporterte medlemmer, kan ligge i samme pakke som koden de tester. Go støtter både tester i samme pakke og tester i en separat pakke med suffikset _test. 14
16 Derfor bør tester som trenger tilgang til pakkens interne detaljer, som regel bli liggende ved koden. Tester av offentlig oppførsel, flere komponenter eller hele systemet kan gjerne samles sentralt.
Det er også verdt å skille mellom pakkens grenser og Go-regelen for internal-kataloger. Sistnevnte begrenser hvilke andre pakker som kan importere innholdet, basert på katalogstrukturen. Det betyr ikke at en test alltid må ligge i samme katalog for å importere pakken. 10
16
Konsekvensen er enkel: Ikke gjør «alle tester ut av kildekatalogene» til et krav dersom det går på bekostning av innsyn, innkapsling eller nyttige tester. Det samme gjelder ønsket om å unngå mange små testfiler. Unngå unødvendig oppdeling og dobbeltarbeid, men behold regresjonstester som skal kjøres igjen. Engangsskript og midlertidige sonderinger hører bedre hjemme i et midlertidig område.
Disse dokumenttypene utfyller hverandre, men gjør ulike jobber. En ADR, eller Architecture Decision Record, er en kort beslutningslogg som forklarer hvorfor en viktig teknisk retning ble valgt, og hvilke alternativer som ble vurdert.
| Dokumentasjon | Spørsmålet den besvarer | Typisk innhold |
|---|---|---|
| Globale arbeidsregler | Hvordan skal analyse, verifisering og leveranse foregå? | Metoder og prinsipper som gjelder på tvers av prosjekter |
Prosjektets AGENTS.md |
Hvordan arbeider man i akkurat dette prosjektet? | Bekreftede prosjektkrav og praktiske innganger |
Prosjektspesifikasjoner i specs/ |
Hvilken oppførsel eller kontrakt skal prosjektet oppfylle nå? | Krav, gjeldende beslutninger og godkjente endringer |
ADR-er i docs/adr/ |
Hvorfor ble denne viktige løsningen valgt? | Begrunnelser, avveininger og alternativer |
Spesifikasjoner bør altså ikke være et sammendrag av alle ADR-ene. De beskriver hva som gjelder nå; ADR-ene gir bakgrunnen for viktige valg. Tester er på sin side kjørbare kontroller av utvalgte krav – ikke en erstatning for noen av dokumenttypene.
Cline dokumenterer regler som en måte å bevare instrukser på tvers av samtaler. 4 Det er likevel ikke grunnlag for å si at Cline automatisk skriver bestemte typer filer inn i prosjektets
specs/-mappe. Behandle det som en lokal prosjektpraksis, ikke som en garantert egenskap ved verktøyet.
Spesifikasjoner trenger heller ikke å være fullstendig håndskrevne eller vente på at et problem oppstår. Ved oppstart kan en assistent foreslå prosjektspesifikasjoner basert på brukerbehov og det som faktisk finnes i kodelageret. Usikkerhet bør stå som usikkerhet. Når en oppgave begynner, les de relevante kravene og beslutningene, og gjør akseptkriterier og verifisering tydelige.
Opprett en ny ADR når det oppstår en viktig ny avveining – ikke for hver plan. Når en eksisterende beslutning fortsatt gjelder, kan den vises til direkte. Testresultater kan si noe om implementasjonen oppfyller kravene, eller avdekke at en spesifikasjon bør vurderes på nytt. De avgjør ikke automatisk hvilke behov prosjektet skal ha, eller om en beslutning er godkjent.
docs/adr/ kan være standardstedet for nye beslutningslogger. Det er en nyttig prosjektkonvensjon, ikke en påstand om at dette er den eneste riktige bransjestandarden.
En ADR kan dokumentere en foreslått, godtatt, avvist eller senere erstattet beslutning. Når et nytt arbeid bygger på en gjeldende beslutning, vis til den i stedet for å lage en kopi. Hvis beslutningen erstattes, dokumenter sammenhengen uten å skrive om begrunnelsen slik den lød den gangen.
En bestått test er ikke i seg selv en godkjenning av en ADR. Ved flytting av ADR-er må man dessuten oppdatere faktiske lenker, regler, ruting og tilgangsbegrensninger – ikke bare endre filenes plassering.
En enkel plans/-mappe trenger ikke nødvendigvis underkataloger. Et mulig oppsett er:
| Bruk | Eksempel på fil | Betydning |
|---|---|---|
| Aktiv plan | plans/pending_implementation_plan.md |
Standardinngang for arbeid som pågår |
| Fullført plan | plans/plan-20261022-example-id.md |
Ferdig, med nødvendige godkjenninger for arkivering |
| Frosset plan | plans/plan-20261022-example-id-frozen.md |
Uferdig arbeid som ikke lenger er aktivt |
En frosset plan er ikke en fullført plan. Den skal beholde det som gjenstår, hvorfor arbeidet er satt på pause og hva som må skje før det kan tas opp igjen. Hvis det finnes en eksisterende status for pauset arbeid, kan den brukes i stedet for å innføre en ny status bare for frysing.
Fullført arkivering bør bety at nødvendige akseptkriterier er oppfylt og at arkivering er godkjent. Frysing betyr at planen tas ut av den aktive inngangen, men ikke at uferdige krav er levert. Hvis arbeidet skal oppgis permanent, bør det komme tydelig fram – det er noe annet enn en midlertidig pause.
Les som hovedregel bare den aktive planen, ikke alle gamle planer i mappen. Hvis en frosset plan gjenopptas, bør arbeidet få en ny, sporbar utførelsesinstans og vurderes på nytt. Tidligere testresultater er ikke automatisk et grønt lys for nytt arbeid. Dette samsvarer med de gjeldende livssyklusreglene.
En fil som får nytt navn, er heller ikke dermed godkjent. Pass på at åpne oppgaver ikke går tapt, at eksisterende referanser håndteres, og at nye filer ikke overskriver noe. Det er heller ingen grunn til å opprette en tom plan bare for å fylle en fast plass.
Det er sjelden nyttig å kreve én testfil for hver kildefil. Én test kan dekke flere komponenter, og én komponent kan trenge både enhetstester, egenskapstester og integrasjonskontroller.
Start heller med å organisere tests/ etter modul eller ansvar. La spesifikasjonene peke til viktige invariants, relevante testinnganger og avgrensede kommandoer for verifisering. Hvis det faktisk er vanskelig å finne sammenhengen, kan en egen testoversikt, for eksempel tests/test-map.yaml, være nyttig.
En slik oversikt bør bare inneholde det man trenger: identifikator for modul eller krav, relevante kilde- og testområder og hvordan kontrollene kjøres. Den bør ikke kopiere hele katalogstrukturen eller late som at en oppført test dokumenterer full dekning eller bestått resultat. Hold oversikten oppdatert når stier eller kommandoer endres, men unngå å skape en ny manuell logg som raskt blir utdatert.
Engangsskript, utkast og utforskende rapporter kan samles i .scratch/. Men plasseringen alene avgjør verken hvor troverdig materialet er, eller om det kan slettes.
Et sammendrag fra modellbasert research er en andrehåndskilde og bør ikke behandles som et faktum uten støtte. Samtidig kan et rått testresultat eller en diagnostikklogg være førstehåndsbevis selv om filen ligger i en midlertidig mappe. Vurder kilden, miljøet, tidspunktet og om materialet er komplett.
Før sletting bør du sjekke om en aktiv plan, beslutning eller akseptvurdering viser til filen. Ikke slett det eneste beviset en konklusjon bygger på uten å bevare det nødvendige originalmaterialet eller trekke tilbake konklusjonen. Når funn kondenseres, bør sporbarhet, gyldighetsområde og usikkerhet følge med. En antakelse blir ikke et faktum av å bli skrevet inn i en oppsummering.
Gamle rapporter og arkitekturdiagrammer i docs/ bør vurderes etter relevans, ikke bare alder. Merk gjeldende dokumenter med bruksområde og gå gjennom dem når relevante krav endres. Merk eldre diagrammer som historiske, utdaterte eller erstattet, slik at de ikke forveksles med prosjektets nåværende utgangspunkt. Prosessmateriale uten varig verdi eller aktive referanser kan flyttes eller slettes når det er godkjent.
Å ta vare på historikk betyr ikke at alt må lastes inn hver gang. Bruk målrettet lesing og tydelige gyldighetsmarkører for å redusere støy, samtidig som nødvendig dokumentasjon og bevis beholdes.
En god prosjektstruktur samler tester og dokumentasjon der det er praktisk, men gjør rom for språkspesifikke testbehov. Spesifikasjonene beskriver gjeldende krav; ADR-ene forklarer viktige beslutninger. En frosset plan skal fortsatt vise at arbeidet er uferdig, og opprydding må ikke slette det eneste grunnlaget for en konklusjon.
I dette prosjektet er standardbaner for planer og godkjente stier fortsatt knyttet til eldre struktur i validatoren, og redigeringsområdet for analysemodus er fortsatt definert i modusoppsettet. En eventuell omlegging må derfor også oppdatere regler, maler, referanser, validering og tilpasninger til verktøyene. Det holder ikke å gi mapper nye navn.
Forslagene her er en analyse, ikke en gjennomført migrering: Ingen filer er skrevet, flyttet, frosset eller ryddet bort.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
Samle tester som hovedregel, men behold Go tester i pakken når de må undersøke ikke eksporterte medlemmer.
Samle tester som hovedregel, men behold Go tester i pakken når de må undersøke ikke eksporterte medlemmer. Skill mellom prosjektets gjeldende spesifikasjoner, globale arbeidsregler og ADR er som dokumenterer viktige beslutninger.
En frosset plan er ikke en ferdig plan; den må beholde åpne oppgaver og vilkår for eventuell gjenopptakelse.