These issues are intentionally deferred until the beta milestone is complete. Once beta is signed off, convert each item below into a GitHub issue assigned to @jaypatrick under the
rtmmilestone.
- Milestone:
rtm - Labels:
enhancement - Description: Automated E2E tests covering all critical user journeys.
- Tasks:
- Choose E2E framework (Playwright recommended for Angular + Cloudflare Workers)
- Cover: compile a blocklist, view result, download/copy output
- Cover: dashboard/admin flows (if applicable)
- Cover: error states (bad source URL, network failure, DB timeout)
- Run E2E suite in CI on main branch merges (nightly or on release candidates)
- Acceptance Criteria:
- All critical user journeys have passing E2E specs
- E2E suite runs nightly or on release candidates
- Milestone:
rtm - Labels:
enhancement - Description: Integration tests for all Cloudflare Worker API endpoints and DB access paths.
- Tasks:
- Write integration tests for all API endpoints (Cloudflare Worker routes)
- Test all DB access paths (Prisma + D1 + R2) with real data
- Cover error paths: missing input, invalid schema, DB failures
- Run in CI on every PR
- Acceptance Criteria:
- All API endpoints have integration test coverage
- DB error scenarios handled gracefully and tested
- Milestone:
rtm - Labels:
enhancement - Description: Stress test compilation APIs and frontend under realistic load.
- Tasks:
- Define target SLOs: max p95 latency for compilation, max concurrent requests
- Write load test scripts (k6 or similar) simulating realistic traffic
- Test large blocklist compilations (simulate worst-case inputs)
- Document results and any bottlenecks found
- Acceptance Criteria:
- Load test results documented in /docs/performance.md
- No crashes or data loss under simulated peak load
- Milestone:
rtm - Labels:
enhancement - Description: Audit all dependencies for known CVEs and set up ongoing monitoring.
- Tasks:
- Run
deno audit/npm auditon all dependency trees - Resolve all critical and high severity findings
- Set up Dependabot or equivalent for ongoing monitoring
- Document any known acceptable risks
- Run
- Acceptance Criteria:
- Zero unresolved critical/high CVEs at time of RTM tag
- Milestone:
rtm - Labels:
enhancement - Description: Review all API inputs, auth, secrets handling, CORS, and Turnstile validation.
- Tasks:
- Audit all API inputs for sanitization (injection, SSRF risks from blocklist URLs)
- Verify Cloudflare Worker auth/authz for admin endpoints
- Confirm no secrets, tokens, or credentials are logged or exposed
- Review CORS configuration
- Confirm Turnstile (CAPTCHA) integration is correctly validated server-side
- Verify all resource endpoints scope queries to authenticated user (BOLA prevention)
- Run API Shield Vulnerability Scanner against staging before RTM tag
- Acceptance Criteria:
- Security checklist reviewed and signed off
- All findings resolved or documented as accepted risk
- API Shield Vulnerability Scanner shows zero BOLA findings on staging
- Milestone:
rtm - Labels:
documentation - Description: Verify all dependencies are license-compatible with MIT.
- Tasks:
- Audit all dependencies for license compatibility with MIT
- Ensure LICENSE file is accurate and present
- Add license headers to source files if required by fork/upstream policy
- Verify compliance with AdguardTeam/HostlistCompiler upstream requirements
- Acceptance Criteria:
- License compatibility confirmed for all production dependencies
- Milestone:
rtm - Labels:
enhancement - Description: Expand Grafana dashboards to all subsystems and add production alerting.
- Tasks:
- Expand beta dashboards to cover all subsystems
- Add alerting rules for: error rate > threshold, p95 latency spike, DB connection failures
- Document on-call runbook in /docs/ops/runbook.md
- Configure notification channel (email, Slack, PagerDuty, etc.)
- Acceptance Criteria:
- All critical metrics have alerts
- Runbook covers top 5 failure scenarios
- Milestone:
rtm - Labels:
enhancement - Description: Implement structured logging and integrate error capture across all Workers.
- Tasks:
- Implement structured logging (JSON) in Cloudflare Workers
- Integrate Sentry or Cloudflare Tail Workers for error capture
- Ensure source maps are uploaded for meaningful stack traces
- Log all compilation jobs (input, output, duration, errors)
- Acceptance Criteria:
- Errors in production surface with full context within 1 minute
- Milestone:
rtm - Labels:
documentation - Description: Full user-facing and contributor documentation, reviewed and finalized.
- Tasks:
- User guide: how to use the compiler (UI walkthrough)
- Self-hosting guide: how to deploy your own instance
- API reference: all endpoints, request/response schemas, auth
- FAQ and troubleshooting section
- CHANGELOG kept current
- Acceptance Criteria:
- Docs reviewed by someone who has never seen the project before
- All major flows documented with examples
- Milestone:
rtm - Labels:
enhancement - Description: Cut the v1.0.0-rc tag, run final smoke tests, publish release notes, and ship GA.
- Tasks:
- Cut
v1.0.0-rc.1tag and deploy to production - Run full manual smoke test against production
- Confirm automated version-bump and release workflow fires correctly
- Write v1.0.0 release notes (features, breaking changes, migration from beta)
- Update homepage (adblock-compiler.jk-com.workers.dev) with GA announcement
- Merge and lock
v1.0.0tag
- Cut
- Acceptance Criteria:
v1.0.0tag exists- Release notes published on GitHub Releases
- Production deploy healthy post-release
- No sev-1 issues open at time of tag
- All 14 beta milestone issues closed
- Angular frontend has feature parity with legacy HTML/CSS frontend
- All Angular Material 3 component refactors complete
- Database layer (PlanetScale, Hyperdrive, D1, R2, Prisma) fully operational
- Vitest coverage gate passing in CI at ≥ 80%
- Frontend build integrated into CI/CD and blocking merges
- Grafana/observability decision made and documented
- No sev-1 or sev-2 bugs open
Once all items above are checked, promote these items to live GitHub issues under the rtm milestone.