Roadmap & Task List¶
Completed¶
- Core rewrite (pure Python, zero AWS imports)
- 6 Protocol interfaces (PricingService, ProductLookupService, ControlledProductService, ShippingPriceService, CouponService, VoucherService)
- 7 adapter implementations (DynamoDB pricing, DynamoDB product, HTTP controlled products, HTTP regular price, Lambda nationwide, Lambda coupon, Lambda voucher)
- Cross-account access via STS AssumeRole
- SAM template updated for calculatecost4
- Custom domain: api.villaecommerce.com/calculatecost4
- 200 unit tests passing
- 27 integration tests passing (10 real production paid orders)
- Documentation site at docs.villaecommerce.com
- Test UI at test.villaecommerce.com
- Docs repo as Gas Town rig (villaEcommerceDocs)
- Old code removed (calculatecost3, src/calculateCost2, pipeThrough, resolve-coupon-master)
In Progress¶
- Increase unit test coverage to strict 100% (currently 97%)
- Add structured error codes (HTTP 400/422 for validation, 502 for downstream failures)
Planned (Phase 2)¶
- Internalize coupon logic (replace Lambda call with LocalCouponService) -- see coupon-rewrite-spec.md
- Add API key authentication
- Add request validation with clear error messages
- Performance profiling and cold start optimization
- Add rate limiting
- CI/CD pipeline (GitHub Actions for test + deploy)
Planned (Phase 3 -- CLI & TUI Tools)¶
-
vccCLI tool for local order calculation testing - TUI dashboard for monitoring calculatecost4 health
- Admin TUI for viewing order calculation logs
- Batch calculation mode for processing multiple orders
See the CLI & TUI Tools page for detailed specifications.
Planned (Phase 4 -- Observability)¶
- Structured logging with correlation IDs
- CloudWatch metrics (latency, error rate per adapter)
- X-Ray tracing for cross-account calls
- Alerting on downstream service failures
Bead Tracking¶
Tasks are tracked in the Gas Town beads system:
| Property | Value |
|---|---|
| Rig | villaCalculateCost4 (prefix: vcc) |
| Docs rig | villaEcommerceDocs (prefix: ved) |
Common commands: