Claude Project Tracker

refreshed 2026-10-09 00:26:43Z

What's pending across every project

4 open · sorted by priority then due-date
priority all urgent high low
decision high
Phase 1 launches WITHOUT SMS — LED-only confirmation, SMS in Phase 1.5
DLT registration is 2–4 weeks. Rather than delay walk-in launch, Phase 1 will ship with LED-based confirmation only: - Customer knows charging started when the green LED on the gun activates (Q5 confirmed). - No SMS on session start, low balance, or session end for Phase 1 walk-ins. - App users still get all their existing notifications (unaffected). - After DLT approval + template registration, Phase 1.5 patches SMS in as a config flip — no schema change needed. Trade-off: walk-in session-end UX is worse. If a customer left their car and walked away, they won't know when charging finished. Mitigation: - Set the 2-hour hard cap (Q6) so guns don't stay locked forever. - Print the phone number on the QR sticker so customers can call to check status. - Auto-stop threshold of ₹50 remaining (Q7) reduces the "session died silently" scenario for underpayers. If DLT lands earlier than expected we'll enable SMS immediately.</body>
Vajra Volt Mobile App · vajra-mobile-app · by saravanan@scrumclaw.ai
67d ago
08-02 11:45
decision high
Decide on 58dd2aaf2 before promoting dev to QA — it hides why a tool failed
Commit 58dd2aaf2 adds taxonomyGatePublicErrorNote, collapsing any note starting "Tool failure" or "Tool execution failed" to the bare string "Tool failed", in both the on-screen display and the downloaded HTML export. Hiding internal tool names from a customer-facing report is defensible. The problem is that it is applied to the only artifact QA uses for diagnosis. Every root cause in the consolidated fix plan was read out of that exact string: jscpd-cs tool_not_ready:MISSING_BINARY, semgrep tool_not_ready:FAILED_STARTUP_CHECK:VERSION_MISMATCH, dotnet_restore_failed:, lizard VERSION_MISMATCH. It also cuts against fix-plan items 4.1 and 4.2, which ask for MORE provenance per row (tool name, artifact path, raw value), not less. Recommendation: keep the detail behind an internal or admin view, or export an internal variant alongside the customer one. Do not let the only artifact lose it. This is a product decision, not an engineering one — make it deliberately rather than shipping it by default.
58dd2aafrontend/web-console/src/lib/confidence-engine/taxonomy-gate-display.ts:379-406frontend/web-console/src/lib/confidence-engine/taxonomy-gate-html-export.ts:107,247
Testable (Pramora) · testable-platform · by saravanan@scrumclaw.ai
9d ago
09-29 16:26
decision
Extend the tracker plugin itself for GitHub integration (not a separate MCP)
Three approaches were considered: (a) install the generic github/github-mcp-server, (b) extend this plugin, (c) build a custom MCP between the two. Chose (b) because the plugin already runs git commit/push at session_end — adding "comment on linked PR when a todo completes" and "auto-close items when PR with `Closes #<item_id>` merges" sits naturally there. Phased rollout: install GitHub MCP for ad-hoc access first, then plugin frontend badges, then webhook handler, then optional issue mirror.
claude-project-tracker · claude-project-tracker · by saravanan@scrumclaw.ai
from the conversationsaravanan: can we build [a GitHub integration] so it is useful for project tracker? saravanan: [chose] Extend the tracker plugin itself to call GitHub APIs. The plugin already runs on commit/push during tracker_session_end. Adding hooks like "stamp the commit SHA on the latest update" (already exists), "comment on linked PR when a todo completes", "auto-close items when a PR with Closes #<item_id> merges" lives more naturally there than in a separate MCP.
119d ago
06-11 11:26
decision
Walk-in QR runs in-process in cmd/api, not as a separate walkin-service
Chose to mount walkin's routes on the main API router instead of deploying cmd/walkin-service on port 8082. Reason: Saravanan did not want two processes to supervise on a 2GB VM, and the "microservice" boundary was not real — same DB, same .env, same host, same webhook secret. Commit c17a33a, merged to app as 3f826d7. cmd/walkin-service deleted in b3b0fa7 with docs updated. Trade-off accepted: forwardWalkinQRCredit in wallet_handler.go still makes an HTTP round-trip to this same process (WALKIN_SERVICE_URL and API_BASE_URL both = http://127.0.0.1:8080). Both are deliberately loopback, NOT https://api.vajraev.com — routing back out through nginx during webhook handling can tie up nginx workers waiting on a process that is waiting on nginx. Cleanup owed: collapse the self-call into a direct service-method call and drop both env vars. Deferred because it touches the payment path. Whoever wrote cmd/walkin-service has NOT been told it was removed — worth asking whether there was a reason for the split that the docs never recorded.
internal/routes/routes.gointernal/handlers/wallet_handler.go::forwardWalkinQRCreditc17a33a3f826d7b3b0fa7
Vajra Volt Mobile App · vajra-mobile-app · by saravanan@scrumclaw.ai
from the conversationsaravanan: No lets merge it together - i dont want two different things claude: Merging is ~6 lines — mount walkin's internal endpoint and health route on the main API router, and point WALKIN_SERVICE_URL at 127.0.0.1:8080. Honest tradeoff: it keeps a pointless HTTP round-trip to itself; the fully clean version deletes forwardWalkinQRCredit, which touches the payment path.
31d ago
09-07 22:19

Add an item