bumicerts-monorepo · alpha-auth-bumicert-regression
Agentic UI/E2E regression pass against alpha.fund.gainforest.app, focused on email login, handle/password login, Bumicert creation, and cleanup.
No blocking regressions found. Email-code login completed using a sandbox inbox; handle/password login completed for test-d0ca85.climateai.org; the authenticated user created and published a temporary Bumicert; then the Bumicert was deleted through the UI and the PDS confirmed the activity collection was empty.
Cleanup note. Publishing required a temporary site boundary. Deleting the Bumicert removed the org.hypercerts.claim.activity record but left the reusable app.certified.location site record, so I cleaned that up from Manage sites as well. Final PDS checks show both collections empty.
| Flow | Result | Steps performed | Evidence | Notes |
|---|---|---|---|---|
| Email-code login | passed | Opened app, launched sign-in modal, submitted sandbox email, inspected received email code via mail.tm, entered code, approved climateai.org OAuth grant, selected Nature Steward. | modal, code screen, OAuth, signed-in result | First attempted 1secmail API, but that service returned 403 from this environment. mail.tm worked. Verification code is redacted from committed artifacts. |
| Handle/password login | passed | Opened fresh browser session, switched to Handle tab, submitted test-d0ca85.climateai.org, entered password on climateai.org, approved OAuth grant, returned authenticated to app. |
handle tab, PDS password form, OAuth, authenticated explore | Password is not included in report text or committed diagnostics. |
| Bumicert creation | passed | Created a temporary title, story, short description, work type, cover image, contributor, and GeoJSON site boundary; review showed all sections valid; published successfully. | valid review, publish step, success, published detail | PDS saw org.hypercerts.claim.activity/3mlt6lrpfqs2a with title QA Regression Bumicert 2026-05-14 before cleanup. |
| Cleanup/deletion | passed | Deleted the temporary Bumicert through the detail page modal, confirmed no recent Bumicerts, then removed the temporary site boundary from Manage sites. | delete confirmation, delete success, empty recent list, empty sites | Final PDS cleanup check: org.hypercerts.claim.activity and app.certified.location both returned {"records":[]}. |




test-d0ca85.climateai.org.



qa-test-site.geojson as a site boundary, added the test account DID as contributor, selected the site, and accepted permissions.





QA Regression Bumicert 2026-05-14.



Before deletion: com.atproto.repo.listRecords on org.hypercerts.claim.activity returned one temporary record:
uri: at://did:plc:5ite5nunf4zty5rbkz7r5tc4/org.hypercerts.claim.activity/3mlt6lrpfqs2a
cid: bafyreiajhz4fkkfeektpqsxpag5mwdtv7ivlazebdmjy22nkfv2eixlaaq
title: QA Regression Bumicert 2026-05-14
After deletion: getRecord for that rkey returned RecordNotFound; final cleanup checks returned {"records":[]} for both org.hypercerts.claim.activity and app.certified.location.
Both login methods completed end-to-end and the publish action wrote the expected PDS activity record.
Deleting a Bumicert does not delete a site boundary created during the wizard. This may be intended because sites are reusable, but QA cleanup should remove temporary sites from Manage sites after deleting the Bumicert.
The first sandbox provider tried from this environment returned 403 on its inbox API. The test continued with mail.tm and passed. This was a test-infrastructure issue, not an app regression.
assets/*.png (61 captured; selected screenshots embedded above)
Inbox metadataemail-login-message-redacted.json
GeoJSON uploadqa-test-site.geojson
PDS before cleanuppds-listrecords-redacted.txt
PDS after cleanuppds-after-full-cleanup-raw.jsonl
Diagnosticsemail-flow-diagnostics.txt · handle-flow-diagnostics.txt