You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.6 KiB
1.6 KiB
| title | status | type | priority | created_at | updated_at | parent |
|---|---|---|---|---|---|---|
| Scaffold worker crate (hello world builds) | completed | task | normal | 2026-07-13T02:07:52Z | 2026-07-13T02:18:40Z | pages-77lk |
Create the pages crate skeleton per design doc §4.5 and quotesdb patterns: Cargo.toml (cdylib+rlib, worker 0.7 with d1+http features, axum 0.8 no-default-features json+query, tower-service, http, serde/serde_json, thiserror, zip no-default-features deflate, getrandom wasm_js — mirror ../quotesdb/Cargo.toml target-gating), src/lib.rs with wasm-only #[worker::event(fetch)] returning a placeholder response via an axum Router, wrangler.toml (name=pages, worker-build, D1 binding DB, R2 binding PAGES, vars BASE_URL/GITHUB_CLIENT_ID/ADMIN_GITHUB_LOGIN), .dev.vars.example, release profile size opts.
- Cargo.toml with target-gated deps and release profile
- src/lib.rs hello-world axum router behind cfg(wasm32)
- wrangler.toml + .dev.vars.example
- cargo check --target wasm32-unknown-unknown passes
- cargo check + clippy (both targets) + test pass
Summary of Changes
Crate skeleton implemented by a Sonnet agent, reviewed by an Opus agent (verdict: APPROVE).
- Cargo.toml (target-gated deps mirroring quotesdb), src/lib.rs wasm-only axum fetch glue, src/tests.rs, wrangler.toml (DB/PAGES bindings, vars), .dev.vars.example.
- Review fixes applied: dropped dead duplicate getrandom 0.3 dep and corrected its comment; added commented routes placeholder for pages.elijah.run to wrangler.toml.
- Validation green on both targets (fmt, check, clippy -D warnings, test).