De globale BMAD regels lijken niet te eisen dat na elke kleine wijziging de volledige containermatrix wordt gedraaid; strengere afspraken staan in een projectplan. Een log toont installatie van 14 pakketten vóór de tests, maar bewijst niet dat die run 198,1 MiB heeft gedownload.
Gepubliceerd doorAfbeeldingen gegenereerd met GPT Image 2
Research answer
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you operate via client side tool execution on the](https://d15bya8fi85z1v.cloudfront.net/chat/QuPfET7ftYd6An8JH1fI8Jq25Ow2/thumbnails/4264E25748C8AF3AAF71/37E559A30B81BD3A5EDF-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 operate via client side tool execution on the. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"建议把 BMAD V4.2 的“物理背压”改成“隔离强度不降级、验证范围分级、环境准备独立、证据按需进入上下文”。当前证据指向的不是“测试太严格”,而是阶段粒度被细化、测试入口携带环境安装、详细输出直接回灌,以及执行记录反复对账共同放大了成本。\n\n本次仅交付只读审计和替换条款:不修改规则文件,不运行测试或部署. Topic tags: general web, workflow, code, data. 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
De testlast in BMAD V4.2 kan mogelijk omlaag zonder de isolatie te verzwakken. De voorgestelde koers: houd de sandbox intact, kies de omvang van de tests op basis van de wijziging, bereid de omgeving los van de tests voor en geef alleen noodzakelijke loginformatie door.
De aangeleverde audit is uitsluitend een analyse. Er zijn geen bestanden gewijzigd, tests of deployments uitgevoerd, of plannen formeel goedgekeurd of gearchiveerd.
De globale BMAD-regels vragen om relevante controles per fase. Ze lijken niet voor te schrijven dat bij elke kleine codewijziging de volledige containermatrix opnieuw moet draaien. De expliciet strengere formulering — fysieke verificatie na elke stap — staat in een projectplan, niet in de globale regelset. De genoemde referenties zijn bmad-suite-v4/roo/rules/02-bmad-core.md, bmad-suite-v4/roo/rules-bmad-engineer/01-bmad-engineer-core.md en docs/logs/aurora_roocodedownload.md.
Een log laat zien dat er vóór de start van een testgebeurtenis 14 pakketten zijn geïnstalleerd. Aan het einde van die installatie meldt het log 31 pakketten met een omvang van 198,1 MiB. Dat bewijst niet dat juist deze test 198,1 MiB heeft gedownload of extra heeft uitgepakt.
De uitvoering begon rond 14.04.04; de testgebeurtenis startte om 14.04.09,330. De voorbereiding duurde daarmee ongeveer 5,3 seconden. De pakkett tests namen ongeveer 2,72 seconden in beslag en de totale operatie ongeveer 8 seconden. Uit de beschikbare tijdstippen valt niet af te leiden welk deel van de voorbereiding bestond uit installatie, opstarten, compileren of controleren van caches.
Ook de logruis komt niet alleen van pakketinstallaties. De installatie beslaat ongeveer 16 regels, terwijl testgebeurtenissen herhaaldelijk als zowel tekst als gestructureerde gebeurtenissen worden weergegeven. De aangeleverde log bevat bovendien ongeveer 76.000 tekens aan weglatingsmarkeringen. Alleen installatietekst onderdrukken lost die uitvoerstroom dus niet op. En uit een chat-export of een interfaceweergave valt niet op te maken of alle logtekst in een modelverzoek terechtkwam, laat staan hoeveel tokens dat kostte.
De export toont afzonderlijke compilatie- en testaanroepen en verschillende containeridentiteiten. Toch gebruikt de testinvoer ook een Go-testcommando dat bouwvoorbereiding kan omvatten. Omdat de inhoud van het isolatiescript ontbreekt, is niet vast te stellen waar de installatie precies plaatsvond of dat elke historische testaanroep opnieuw installeerde. De verdedigbare conclusie is beperkt: één installatie is waargenomen, er zijn meerdere containeraanroepen vastgelegd en herhaalde installatie per aanroep moet nog worden gecontroleerd.
De regels en plannen lopen het risico vier verschillende zaken op één hoop te gooien:
In de projectgeschiedenis staat zowel dat bijgewerkte documentbinding opnieuw moet worden gecontroleerd als dat historische samenvattingen opnieuw worden vastgelegd. Dat kan de integriteit beschermen, maar zonder onderscheid tussen contractinvoer en uitvoerresultaten ontstaat het risico op een bestuurlijke lus: een testresultaat registreren, daardoor documentatie wijzigen, opnieuw testen en opnieuw registreren. De aangeleverde informatie toont dat risico, maar bewijst geen oneindige cyclus.
De belangrijke scheidslijn: een onveranderlijke toolchain hergebruiken is niet hetzelfde als een vervuilde testomgeving hergebruiken. Een tijdelijke testomgeving opnieuw opbouwen betekent evenmin dat de toolchain telkens opnieuw geïnstalleerd moet worden.
Ook veiligheidsclaims moeten toetsbaar zijn. Beschrijf bijvoorbeeld expliciet dat externe netwerktoegang en niet-goedgekeurde blijvende schrijfacties verboden zijn, maar dat begrensde tijdelijke opslag en aangewezen bewijsbestanden wel zijn toegestaan. Een geslaagde race-detectortest dekt alleen de daadwerkelijk uitgevoerde paden; die bewijst niet dat een programma nergens een datarace kan hebben.9
| Laag | Doel | Wanneer uitvoeren? |
|---|---|---|
| L0 — vaste testomgeving | Een vooraf ingerichte toolchain, systeemlibraries en goedgekeurde afhankelijkheden, met vastgelegde omgevingsidentiteit en beveiligingsinstellingen. | Alleen opnieuw voorbereiden als de omgevingsinvoer verandert. Een wijziging in bedrijfslogica mag geen installatie van systeempakketten starten. |
| L1 — ontwikkelronde | Relevante unit- en moduletests, aangevuld met gerichte regressiecontroles waar nodig. | Eenmaal per samenhangende wijzigingsbatch, binnen dezelfde goedgekeurde isolatie. De testselectie kan kleiner zijn; de veiligheidsgrens niet. |
| L2 — fasepoort | De verplichte testmatrix voor een bevroren kandidaat, plus een afzonderlijke RSS-meting zonder instrumentatie en controle van het bewijs. | Bij afronding van een fase of vóór een goedgekeurde oplevering. Niet automatisch na een gewone statusnotitie. |
De testinvoer hoort geen systeempakketten te installeren, images op te halen of afhankelijkheden online op te lossen. Ontbreekt de vereiste omgeving, toolchain of dependency, dan stopt de test en meldt die dat de omgeving niet klaarstaat. Netwerktoegang inschakelen om dit ongemerkt te repareren is geen alternatief.
Voorbereiding krijgt een eigen autorisatie en tijdsbudget. Testen blijft draaien met de afgesproken beperkingen: broncode alleen-lezen, geen extern netwerk, minimale rechten en begrensde tijdelijke opslag. Mount geen inloggegevens, hostcontrolesockets of niet-relevante mappen. Scheid caches per project, toolchain, platform en vertrouwensgrens. Een cachehit is bewijs van hergebruik van berekeningen, niet van een geslaagde test.
De historische toestemming in de aangeleverde projectexport beperkt de verificatie tot offline tests in een geïsoleerde container. Daarom kan een snelle test op de host niet stilzwijgend de standaardroute worden. De aanbevolen standaard is een lichte testcyclus met dezelfde isolatie-eisen. Hosttests kunnen alleen als daar afzonderlijk toestemming voor is en de voorwaarden duidelijk zijn.
Een wijzigingsbatch is een samenhangende gedragswijziging met bijbehorende tests. Die kan meerdere gerichte edits omvatten. Voer de relevante L1-controle uit voordat een volgende wijziging ervan afhankelijk wordt. Zo voorkom je zowel eindeloos wijzigingen opstapelen als tests opdelen op basis van het aantal toolaanroepen.
Koppel de fasecontrole aan een snapshot van broncode en tests, dependencies, uitvoeromgeving, configuratie en testselectie. Leg de RSS-meting vast op een apart, niet-geïnstrumenteerd proces; registreer race- en resourcecontroles afzonderlijk. De bestaande planregel voor een onafhankelijke RSS-meting kan daarmee behouden blijven.
Als relevante invoer na de fasepoort verandert, mag oud bewijs niet zonder meer voor de nieuwe kandidaat gelden. Soms is alleen een deel opnieuw testen voldoende, maar dan moet duidelijk zijn waarom de overige resultaten nog van toepassing zijn. Is dat niet aantoonbaar, vergroot dan de testomvang.
| Gebeurtenis | Nodige actie | Niet automatisch nodig |
|---|---|---|
| Een samenhangende gedragswijziging en de tests zijn klaar | Eén relevante L1-controle | L0 opnieuw opbouwen of L2 volledig draaien |
| Wijzigingen in locks, concurrency, annulering of resourcevrijgave | Gerichte race- en levenscycluscontroles toevoegen | Wachten tot de eindoplevering om races te onderzoeken |
| Wijziging van een module-interface of gedeelde dependency | Testen uitbreiden naar de geraakte aanroepketen | Zonder onderbouwing alleen het gewijzigde bestand testen |
| Wijziging van toolchain, systeemdependency of isolatie-instellingen | L0 opnieuw controleren en bestaand bewijs herbeoordelen | Installeren vanuit de testinvoer |
| Een opleverkandidaat is bevroren | De verplichte L2-matrix uitvoeren | De volledige matrix na elke tussenliggende patch herhalen |
| Alleen een uitvoeringslog of voortgangstekst verandert | Compleetheids- en documentcontrole uitvoeren | Functionele tests en RSS opnieuw draaien |
Vervang de algemene definitie van fysieke verificatie. Leg vast dat fysieke verificatie een controle is die in een goedgekeurde omgeving echt wordt uitgevoerd en een controleerbaar resultaat oplevert — niet dat de basisomgeving bij elke wijziging opnieuw moet worden gebouwd. Definieer vooraf de wijzigingsbatch, fasegrens, relevante controles en voorwaarden om de testomvang op te schalen. Voer L1 per batch en L2 per fase uit. Houd voorbereiding, compilatie, testuitvoering en opruimen apart, elk met eigen invoer, budget en resultaat.
Classificeer bovendien omgevingsproblemen, compileerfouten, assertion failures, time-outs, nul testhits, beschadigd bewijs en mislukte opruiming afzonderlijk. Elke verplichte controle die niet slaagt, blokkeert voortgang. Een mislukte test mag diagnose en herstel binnen de huidige scope niet blokkeren, maar dezelfde mislukte opdracht blijven herhalen, assertions verwijderen of de beveiliging verzwakken levert geen geldig groen resultaat op. Koppel resultaten aan de werkelijke invoer en dekking; hergebruik ze alleen als aantoonbaar is dat die niet zijn veranderd.
Pas de regels voor de engineeringmodus aan. Laat die dezelfde L0/L1/L2-afspraken volgen, zonder elke edit automatisch tot een volledige opleverpoort te verheffen. Noteer per controle de wijzigingsscope, reden voor de testkeuze en eventuele reden om op te schalen. Als compileren en testen strikt gescheiden moeten blijven, moet de testfase een herkenbaar testartefact gebruiken in plaats van ongemerkt opnieuw te bouwen. De totale tijdslimiet moet ook de fases omvatten die er daadwerkelijk onder vallen, inclusief omgevingsvoorbereiding en tijd voor nette beëindiging.
Voeg één centrale afspraak voor loguitvoer toe. Bewaar ruwe diagnoses apart van de samenvatting die een model of lezer standaard ziet. Een voorgestelde startlimiet is maximaal 2 KiB voor een geslaagde test en 8 KiB voor een mislukte test. Dat zijn praktische voorstellen, geen industrienorm of gemeten optimum. Bewaar waar nodig de eerste hoofdoorzaak, relevante stacktrace, exitstatus, ontbrekende controles en vindplaats van het ruwe log. Vermeld duidelijk wanneer uitvoer is afgekapt.
Een samenvatting hoort ook de identiteit en laag van de test, het aantal uitgevoerde en voltooide controles, mislukkingen en overgeslagen tests, de looptijd en het resultaat van opruimen te bevatten. Parseer gestructureerde testgebeurtenissen en groepeer ze; regels simpelweg verwijderen omdat ze foutmeldingen lijken te bevatten is geen verificatie. Ontbreekt een eindgebeurtenis, mislukt het parsen, zijn er nul hits of onverklaarde skips, of is het bewijsbestand niet beschikbaar, dan is alleen een exitcode nul onvoldoende om de test geslaagd te verklaren.
Belangrijk: beperk de uitvoer voordat het resultaat aan de modelgeschiedenis wordt toegevoegd. Een instructie om logs te negeren of een interface die ze inklapt, is daarvoor geen vervanging.
Breid het plansjabloon uit. Laat per controle opnemen: de laag en trigger, verwachte dekking en expliciete beperkingen, toegestane omgeving en autorisatie, beschikbaarheid van voorbereide assets, afzonderlijke budgetten voor voorbereiding, compilatie, tests en opruimen, invoerfingerprint, voorwaarden waaronder bewijs vervalt, toegestane hergebruiksscope en locatie en bewaartermijn van ruwe resultaten. Bewaar contractinvoer los van uitvoerresultaten, zodat het registreren van een resultaat niet vanzelf dezelfde functionele tests opnieuw activeert. Volledige bestandsfingerprints voor bescherming tegen ongewenste wijzigingen blijven nodig.
bmad-suite-v4/skills/bmad/SKILL.md en bmad-suite-v4/rules/bmad-core.md, zodat Roo en de native route niet uiteen gaan lopen.De hoofdles is eenvoudig: verminder eerst dubbele omgevingsvoorbereiding en overbodige loguitvoer; pas daarna, op basis van expliciete triggers, de frequentie en omvang van verificatie aan. Minder isolatie of minder dekking voor belangrijke concurrentietests is geen goede manier om een onnodig dure uitvoering te compenseren.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
De globale BMAD regels lijken niet te eisen dat na elke kleine wijziging de volledige containermatrix wordt gedraaid; strengere afspraken staan in een projectplan.
De globale BMAD regels lijken niet te eisen dat na elke kleine wijziging de volledige containermatrix wordt gedraaid; strengere afspraken staan in een projectplan. Een log toont installatie van 14 pakketten vóór de tests, maar bewijst niet dat die run 198,1 MiB heeft gedownload.
De voorgestelde aanpak scheidt een vaste testomgeving, gerichte controles per wijzigingsbatch en een volledige testpoort voor een bevroren oplevering.
De globale BMAD regels lijken niet te eisen dat na elke kleine wijziging de volledige containermatrix wordt gedraaid; strengere afspraken staan in een projectplan. Een log toont installatie van 14 pakketten vóór de tests, maar bewijst niet dat die run 198,1 MiB heeft gedownload.
Gepubliceerd doorAfbeeldingen gegenereerd met GPT Image 2
Research answer
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you operate via client side tool execution on the](https://d15bya8fi85z1v.cloudfront.net/chat/QuPfET7ftYd6An8JH1fI8Jq25Ow2/thumbnails/4264E25748C8AF3AAF71/37E559A30B81BD3A5EDF-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 operate via client side tool execution on the. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"建议把 BMAD V4.2 的“物理背压”改成“隔离强度不降级、验证范围分级、环境准备独立、证据按需进入上下文”。当前证据指向的不是“测试太严格”,而是阶段粒度被细化、测试入口携带环境安装、详细输出直接回灌,以及执行记录反复对账共同放大了成本。\n\n本次仅交付只读审计和替换条款:不修改规则文件,不运行测试或部署. Topic tags: general web, workflow, code, data. 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
De testlast in BMAD V4.2 kan mogelijk omlaag zonder de isolatie te verzwakken. De voorgestelde koers: houd de sandbox intact, kies de omvang van de tests op basis van de wijziging, bereid de omgeving los van de tests voor en geef alleen noodzakelijke loginformatie door.
De aangeleverde audit is uitsluitend een analyse. Er zijn geen bestanden gewijzigd, tests of deployments uitgevoerd, of plannen formeel goedgekeurd of gearchiveerd.
De globale BMAD-regels vragen om relevante controles per fase. Ze lijken niet voor te schrijven dat bij elke kleine codewijziging de volledige containermatrix opnieuw moet draaien. De expliciet strengere formulering — fysieke verificatie na elke stap — staat in een projectplan, niet in de globale regelset. De genoemde referenties zijn bmad-suite-v4/roo/rules/02-bmad-core.md, bmad-suite-v4/roo/rules-bmad-engineer/01-bmad-engineer-core.md en docs/logs/aurora_roocodedownload.md.
Een log laat zien dat er vóór de start van een testgebeurtenis 14 pakketten zijn geïnstalleerd. Aan het einde van die installatie meldt het log 31 pakketten met een omvang van 198,1 MiB. Dat bewijst niet dat juist deze test 198,1 MiB heeft gedownload of extra heeft uitgepakt.
De uitvoering begon rond 14.04.04; de testgebeurtenis startte om 14.04.09,330. De voorbereiding duurde daarmee ongeveer 5,3 seconden. De pakkett tests namen ongeveer 2,72 seconden in beslag en de totale operatie ongeveer 8 seconden. Uit de beschikbare tijdstippen valt niet af te leiden welk deel van de voorbereiding bestond uit installatie, opstarten, compileren of controleren van caches.
Ook de logruis komt niet alleen van pakketinstallaties. De installatie beslaat ongeveer 16 regels, terwijl testgebeurtenissen herhaaldelijk als zowel tekst als gestructureerde gebeurtenissen worden weergegeven. De aangeleverde log bevat bovendien ongeveer 76.000 tekens aan weglatingsmarkeringen. Alleen installatietekst onderdrukken lost die uitvoerstroom dus niet op. En uit een chat-export of een interfaceweergave valt niet op te maken of alle logtekst in een modelverzoek terechtkwam, laat staan hoeveel tokens dat kostte.
De export toont afzonderlijke compilatie- en testaanroepen en verschillende containeridentiteiten. Toch gebruikt de testinvoer ook een Go-testcommando dat bouwvoorbereiding kan omvatten. Omdat de inhoud van het isolatiescript ontbreekt, is niet vast te stellen waar de installatie precies plaatsvond of dat elke historische testaanroep opnieuw installeerde. De verdedigbare conclusie is beperkt: één installatie is waargenomen, er zijn meerdere containeraanroepen vastgelegd en herhaalde installatie per aanroep moet nog worden gecontroleerd.
De regels en plannen lopen het risico vier verschillende zaken op één hoop te gooien:
In de projectgeschiedenis staat zowel dat bijgewerkte documentbinding opnieuw moet worden gecontroleerd als dat historische samenvattingen opnieuw worden vastgelegd. Dat kan de integriteit beschermen, maar zonder onderscheid tussen contractinvoer en uitvoerresultaten ontstaat het risico op een bestuurlijke lus: een testresultaat registreren, daardoor documentatie wijzigen, opnieuw testen en opnieuw registreren. De aangeleverde informatie toont dat risico, maar bewijst geen oneindige cyclus.
De belangrijke scheidslijn: een onveranderlijke toolchain hergebruiken is niet hetzelfde als een vervuilde testomgeving hergebruiken. Een tijdelijke testomgeving opnieuw opbouwen betekent evenmin dat de toolchain telkens opnieuw geïnstalleerd moet worden.
Ook veiligheidsclaims moeten toetsbaar zijn. Beschrijf bijvoorbeeld expliciet dat externe netwerktoegang en niet-goedgekeurde blijvende schrijfacties verboden zijn, maar dat begrensde tijdelijke opslag en aangewezen bewijsbestanden wel zijn toegestaan. Een geslaagde race-detectortest dekt alleen de daadwerkelijk uitgevoerde paden; die bewijst niet dat een programma nergens een datarace kan hebben.9
| Laag | Doel | Wanneer uitvoeren? |
|---|---|---|
| L0 — vaste testomgeving | Een vooraf ingerichte toolchain, systeemlibraries en goedgekeurde afhankelijkheden, met vastgelegde omgevingsidentiteit en beveiligingsinstellingen. | Alleen opnieuw voorbereiden als de omgevingsinvoer verandert. Een wijziging in bedrijfslogica mag geen installatie van systeempakketten starten. |
| L1 — ontwikkelronde | Relevante unit- en moduletests, aangevuld met gerichte regressiecontroles waar nodig. | Eenmaal per samenhangende wijzigingsbatch, binnen dezelfde goedgekeurde isolatie. De testselectie kan kleiner zijn; de veiligheidsgrens niet. |
| L2 — fasepoort | De verplichte testmatrix voor een bevroren kandidaat, plus een afzonderlijke RSS-meting zonder instrumentatie en controle van het bewijs. | Bij afronding van een fase of vóór een goedgekeurde oplevering. Niet automatisch na een gewone statusnotitie. |
De testinvoer hoort geen systeempakketten te installeren, images op te halen of afhankelijkheden online op te lossen. Ontbreekt de vereiste omgeving, toolchain of dependency, dan stopt de test en meldt die dat de omgeving niet klaarstaat. Netwerktoegang inschakelen om dit ongemerkt te repareren is geen alternatief.
Voorbereiding krijgt een eigen autorisatie en tijdsbudget. Testen blijft draaien met de afgesproken beperkingen: broncode alleen-lezen, geen extern netwerk, minimale rechten en begrensde tijdelijke opslag. Mount geen inloggegevens, hostcontrolesockets of niet-relevante mappen. Scheid caches per project, toolchain, platform en vertrouwensgrens. Een cachehit is bewijs van hergebruik van berekeningen, niet van een geslaagde test.
De historische toestemming in de aangeleverde projectexport beperkt de verificatie tot offline tests in een geïsoleerde container. Daarom kan een snelle test op de host niet stilzwijgend de standaardroute worden. De aanbevolen standaard is een lichte testcyclus met dezelfde isolatie-eisen. Hosttests kunnen alleen als daar afzonderlijk toestemming voor is en de voorwaarden duidelijk zijn.
Een wijzigingsbatch is een samenhangende gedragswijziging met bijbehorende tests. Die kan meerdere gerichte edits omvatten. Voer de relevante L1-controle uit voordat een volgende wijziging ervan afhankelijk wordt. Zo voorkom je zowel eindeloos wijzigingen opstapelen als tests opdelen op basis van het aantal toolaanroepen.
Koppel de fasecontrole aan een snapshot van broncode en tests, dependencies, uitvoeromgeving, configuratie en testselectie. Leg de RSS-meting vast op een apart, niet-geïnstrumenteerd proces; registreer race- en resourcecontroles afzonderlijk. De bestaande planregel voor een onafhankelijke RSS-meting kan daarmee behouden blijven.
Als relevante invoer na de fasepoort verandert, mag oud bewijs niet zonder meer voor de nieuwe kandidaat gelden. Soms is alleen een deel opnieuw testen voldoende, maar dan moet duidelijk zijn waarom de overige resultaten nog van toepassing zijn. Is dat niet aantoonbaar, vergroot dan de testomvang.
| Gebeurtenis | Nodige actie | Niet automatisch nodig |
|---|---|---|
| Een samenhangende gedragswijziging en de tests zijn klaar | Eén relevante L1-controle | L0 opnieuw opbouwen of L2 volledig draaien |
| Wijzigingen in locks, concurrency, annulering of resourcevrijgave | Gerichte race- en levenscycluscontroles toevoegen | Wachten tot de eindoplevering om races te onderzoeken |
| Wijziging van een module-interface of gedeelde dependency | Testen uitbreiden naar de geraakte aanroepketen | Zonder onderbouwing alleen het gewijzigde bestand testen |
| Wijziging van toolchain, systeemdependency of isolatie-instellingen | L0 opnieuw controleren en bestaand bewijs herbeoordelen | Installeren vanuit de testinvoer |
| Een opleverkandidaat is bevroren | De verplichte L2-matrix uitvoeren | De volledige matrix na elke tussenliggende patch herhalen |
| Alleen een uitvoeringslog of voortgangstekst verandert | Compleetheids- en documentcontrole uitvoeren | Functionele tests en RSS opnieuw draaien |
Vervang de algemene definitie van fysieke verificatie. Leg vast dat fysieke verificatie een controle is die in een goedgekeurde omgeving echt wordt uitgevoerd en een controleerbaar resultaat oplevert — niet dat de basisomgeving bij elke wijziging opnieuw moet worden gebouwd. Definieer vooraf de wijzigingsbatch, fasegrens, relevante controles en voorwaarden om de testomvang op te schalen. Voer L1 per batch en L2 per fase uit. Houd voorbereiding, compilatie, testuitvoering en opruimen apart, elk met eigen invoer, budget en resultaat.
Classificeer bovendien omgevingsproblemen, compileerfouten, assertion failures, time-outs, nul testhits, beschadigd bewijs en mislukte opruiming afzonderlijk. Elke verplichte controle die niet slaagt, blokkeert voortgang. Een mislukte test mag diagnose en herstel binnen de huidige scope niet blokkeren, maar dezelfde mislukte opdracht blijven herhalen, assertions verwijderen of de beveiliging verzwakken levert geen geldig groen resultaat op. Koppel resultaten aan de werkelijke invoer en dekking; hergebruik ze alleen als aantoonbaar is dat die niet zijn veranderd.
Pas de regels voor de engineeringmodus aan. Laat die dezelfde L0/L1/L2-afspraken volgen, zonder elke edit automatisch tot een volledige opleverpoort te verheffen. Noteer per controle de wijzigingsscope, reden voor de testkeuze en eventuele reden om op te schalen. Als compileren en testen strikt gescheiden moeten blijven, moet de testfase een herkenbaar testartefact gebruiken in plaats van ongemerkt opnieuw te bouwen. De totale tijdslimiet moet ook de fases omvatten die er daadwerkelijk onder vallen, inclusief omgevingsvoorbereiding en tijd voor nette beëindiging.
Voeg één centrale afspraak voor loguitvoer toe. Bewaar ruwe diagnoses apart van de samenvatting die een model of lezer standaard ziet. Een voorgestelde startlimiet is maximaal 2 KiB voor een geslaagde test en 8 KiB voor een mislukte test. Dat zijn praktische voorstellen, geen industrienorm of gemeten optimum. Bewaar waar nodig de eerste hoofdoorzaak, relevante stacktrace, exitstatus, ontbrekende controles en vindplaats van het ruwe log. Vermeld duidelijk wanneer uitvoer is afgekapt.
Een samenvatting hoort ook de identiteit en laag van de test, het aantal uitgevoerde en voltooide controles, mislukkingen en overgeslagen tests, de looptijd en het resultaat van opruimen te bevatten. Parseer gestructureerde testgebeurtenissen en groepeer ze; regels simpelweg verwijderen omdat ze foutmeldingen lijken te bevatten is geen verificatie. Ontbreekt een eindgebeurtenis, mislukt het parsen, zijn er nul hits of onverklaarde skips, of is het bewijsbestand niet beschikbaar, dan is alleen een exitcode nul onvoldoende om de test geslaagd te verklaren.
Belangrijk: beperk de uitvoer voordat het resultaat aan de modelgeschiedenis wordt toegevoegd. Een instructie om logs te negeren of een interface die ze inklapt, is daarvoor geen vervanging.
Breid het plansjabloon uit. Laat per controle opnemen: de laag en trigger, verwachte dekking en expliciete beperkingen, toegestane omgeving en autorisatie, beschikbaarheid van voorbereide assets, afzonderlijke budgetten voor voorbereiding, compilatie, tests en opruimen, invoerfingerprint, voorwaarden waaronder bewijs vervalt, toegestane hergebruiksscope en locatie en bewaartermijn van ruwe resultaten. Bewaar contractinvoer los van uitvoerresultaten, zodat het registreren van een resultaat niet vanzelf dezelfde functionele tests opnieuw activeert. Volledige bestandsfingerprints voor bescherming tegen ongewenste wijzigingen blijven nodig.
bmad-suite-v4/skills/bmad/SKILL.md en bmad-suite-v4/rules/bmad-core.md, zodat Roo en de native route niet uiteen gaan lopen.De hoofdles is eenvoudig: verminder eerst dubbele omgevingsvoorbereiding en overbodige loguitvoer; pas daarna, op basis van expliciete triggers, de frequentie en omvang van verificatie aan. Minder isolatie of minder dekking voor belangrijke concurrentietests is geen goede manier om een onnodig dure uitvoering te compenseren.
Studio Global AI
This page includes a source-backed answer you can continue inside Studio Global.
De globale BMAD regels lijken niet te eisen dat na elke kleine wijziging de volledige containermatrix wordt gedraaid; strengere afspraken staan in een projectplan.
De globale BMAD regels lijken niet te eisen dat na elke kleine wijziging de volledige containermatrix wordt gedraaid; strengere afspraken staan in een projectplan. Een log toont installatie van 14 pakketten vóór de tests, maar bewijst niet dat die run 198,1 MiB heeft gedownload.
De voorgestelde aanpak scheidt een vaste testomgeving, gerichte controles per wijzigingsbatch en een volledige testpoort voor een bevroren oplevering.