Claude Project Tracker

refreshed 2026-10-27 03:31:27Z
12todo 1decision 4note
Shipped #147 and #148: official College Board score-report parsing, and vision extraction for images on gemma4. Closed as done: #150 (BRD23-B vision), #21 (real PDF parser, REQ-19.7 — deferred since June), #136 (web nav), #147 (Firebase deploy blocker, fixed days ago). Why the parser failed on a real PSAT: not a regex that needed loosening — we had modelled the wrong thing. CB reports contain NO per-skill correct/total counts. They give 8 content domains as performance score BANDS on the 160-760 scale plus a question-count range ("Information and Ideas / (26% of section, 12-14 questions) / Performance: 610-670"). The existing patterns hunted for "Skill 7/12", which does not appear anywhere on an official report, so every CB upload fell through to manual entry. The KD College Prep handler worked because that provider does print counts. Now parsed: 8 domains → 9 of our skills, total/RW/Math scores, and the test date. Two traps found: CB hyphenates "Problem-Solving" and our seed data doesn't (silently dropped that whole domain), and a top band over 4-6 questions rounds to 5/5 which reads as "you got everything right" when the report says no such thing — clamped, and the review screen now says CB figures are estimated from bands rather than counted. Saravanan's out-of-order point was a live bug: get_score_report ordered by uploaded_at DESC and compute_score_trend took reports[0]/reports[-1] from upload order, so uploading an older report later made it the "latest" and produced a confident fictitious score drop. Now ordered by coalesce(test_date, uploaded_at). Only fixable because the parser can read the test date. Also: rw_score/math_score/total_score have existed since migration 030 but nothing ever wrote them — Home's report card rendered "—" for every score. Vision (#148) is built around refusing rather than guessing, because extracted numbers land in user_skill_state and drive question selection: the prompt offers {"readable": false} as a correct answer, out-of-range values are dropped not clamped, RW+Math must equal Total or all three are discarded, dates outside 2023-today are rejected, under four readable domains sinks the extraction, temperature=0. Most of the 25 new tests assert it returns nothing. A photographed report and a PDF produce byte-identical rows — both run through cb_domains_to_entries, with a test pinning it. gemma4 chosen: cheapest vision model in Ollama's cloud catalogue ($0.14/$0.40 per 1M) and it does text too, so one model string also switched on rationale generation (#82), which had been wired but off since the 24th. Judge stays on o4-mini — the whole point of per-role config was never moving the quality gate on cost. 202 backend tests pass (45 new); the single failure is the pre-existing test_question_validation one. NOT verified: no call has ever hit the real Ollama provider — every vision test mocks the client, so the first real call is the first image upload. Extraction accuracy is unmeasured (REQ-23.13 wants 90%); one sample report, no labelled set.
activeShipped #147 and #148: official College Board score-report parsing, and vision extraction for images on gemma4. Closed as done: #150 (BRD23-B vision), #21 (real PDF parser, REQ-19.7 — deferred since June), #136 (web nav), #147 (Firebase deploy blocker, fixed days ago). Why the parser failed on a real PSAT: not a regex that needed loosening — we had modelled the wrong thing. CB reports contain NO per-skill correct/total counts. They give 8 content domains as performance score BANDS on the 160-760 scale plus a question-count range ("Information and Ideas / (26% of section, 12-14 questions) / Performance: 610-670"). The existing patterns hunted for "Skill 7/12", which does not appear anywhere on an official report, so every CB upload fell through to manual entry. The KD College Prep handler worked because that provider does print counts. Now parsed: 8 domains → 9 of our skills, total/RW/Math scores, and the test date. Two traps found: CB hyphenates "Problem-Solving" and our seed data doesn't (silently dropped that whole domain), and a top band over 4-6 questions rounds to 5/5 which reads as "you got everything right" when the report says no such thing — clamped, and the review screen now says CB figures are estimated from bands rather than counted. Saravanan's out-of-order point was a live bug: get_score_report ordered by uploaded_at DESC and compute_score_trend took reports[0]/reports[-1] from upload order, so uploading an older report later made it the "latest" and produced a confident fictitious score drop. Now ordered by coalesce(test_date, uploaded_at). Only fixable because the parser can read the test date. Also: rw_score/math_score/total_score have existed since migration 030 but nothing ever wrote them — Home's report card rendered "—" for every score. Vision (#148) is built around refusing rather than guessing, because extracted numbers land in user_skill_state and drive question selection: the prompt offers {"readable": false} as a correct answer, out-of-range values are dropped not clamped, RW+Math must equal Total or all three are discarded, dates outside 2023-today are rejected, under four readable domains sinks the extraction, temperature=0. Most of the 25 new tests assert it returns nothing. A photographed report and a PDF produce byte-identical rows — both run through cb_domains_to_entries, with a test pinning it. gemma4 chosen: cheapest vision model in Ollama's cloud catalogue ($0.14/$0.40 per 1M) and it does text too, so one model string also switched on rationale generation (#82), which had been wired but off since the 24th. Judge stays on o4-mini — the whole point of per-role config was never moving the quality gate on cost. 202 backend tests pass (45 new); the single failure is the pre-existing test_question_validation one. NOT verified: no call has ever hit the real Ollama provider — every vision test mocks the client, so the first real call is the first image upload. Extraction accuracy is unmeasured (REQ-23.13 wants 90%); one sample report, no labelled set. · saravanan@scrumclaw.ai
activeUX review P1+P2 complete in the working tree — STAGED, NOT YET DEPLOYED. Saravanan has to run ./scripts/ship.sh; I have no gh/git credentials in this environment. 16 of 16 review items now done or explicitly parked. New: Home focus view replacing the widget Dashboard (latest report → top weak skills → one-line week strip), with the no-report state turning the whole page into the upload prompt; /upload as a real front door with a mandatory review-and-correct step; nav cut from nine items to four (Home/Practice/Progress/Full Tests) with a new /full-tests hub; Mistakes/Saved/Vocab folded into Practice as tabs and Practice defaulting to weakest-first; "Needs work / Getting there / Solid" replacing bare percentages on web and mobile; practice wrap now shows the mastery move and a "Practice 10 more"; countdown down to days, window toggle hidden until 3+ days of data, Pro badges hidden from subscribers; parent dashboard gets a read-only "where X stands" summary at the top. Two defects found while implementing, both pre-existing: (1) the Planner upload flow auto-saved whenever the parser claimed success, so a mis-read row went silently into user_skill_state and from there into weak-skill detection and question selection — /upload now never writes without confirmation; (2) parse-score-report returned 400 "File must be a .pdf", making BRD #23's own premise (photograph your score report) a dead end — images now accepted and answered with success:false plus a usable message. Verification: web + mobile typecheck clean, 165 backend tests pass (1 pre-existing failure in test_question_validation unrelated to this work), 22 new backend tests, and a link audit confirming every internal to=/href= target resolves to a declared route. vite build unverified — rollup's native binary in node_modules is darwin-only and I run on Linux, so CI is the first real build. Three decisions waiting, all written up in docs/UX_REVIEW_2026_10_24.md: can a parent upload on a student's behalf (from-score-report is require_student, so the parent summary ships read-only); mobile bottom tabs left at five rather than collapsing Exam+Predicted, because that would reverse #77; and when /dashboard gets retired. Mobile parity for Home and upload is still #87. · saravanan@scrumclaw.ai
activeUX review P0 block shipped and verified live on adaptivesat.ai. Six fixes from the 24 Oct UX review: (1) /history 404 now redirects to /exam/history; (2) removed "this will replace your current score report" — migration 030 made reports a history table, copy now says every report is kept; (3) /practice?skill=<id> routes straight into the drill instead of dumping users on the section picker; (4) the "take a full exam to see weak skills" prompt is now gated on getScoreReportStatus() so it hides once a report exists; (5) "Upload score report" buttons added to Dashboard and Progress (upload was previously reachable only via Planner); (6) every skill row on Progress is now a link into /drill/:skillId with a hover "Practice →" affordance. Verified against the deployed bundle assets/index-DAHnVl2K.js — /drill/ x3, "Upload score report" x2, new copy x1, old contradictory copy x0, /exam/history x3. Backlog tracked in docs/UX_REVIEW_2026_10_24.md with all 16 review items and status. Next: P1 is the Home focus view + nav reduction to four items (items 7-11), and one open decision first — "Drill" vs "Practice" as the single verb (item 13), cheap to settle now at one route and two components. · saravanan@scrumclaw.ai
activeMicro-training drill (BRD #23 REQ-23.7/7b/7c) shipped and verified live — api.adaptivesat.ai now serves 119 paths including all four /api/drill endpoints (start, next, answer, end). A drill is a PRACTICE session with session_type='drill' and a preselected blueprint over one weak skill, reusing the existing session/attempt plumbing rather than a parallel one. Each answer returns the four-part feedback block from the sample tutoring session: verdict + running score, key clue quoted from the underline span, per-distractor rationale (student's own wrong choice first), and a gap note. Adaptive length as decided: stops at 3 correct in a row with a floor of 3 questions, caps at 10. Supersedes the fixed 12 from the sample — 10-15 min is the length already failing on mobile, and ending once a student has demonstrably got it is better evidence than making them grind the rest. Gap tracking is DERIVED from the session's attempts, not stored: a subtype opens on a miss, closes on a later correct, reopens on regression. Deliberately not persisted — the attempts table already knows, and a second copy is how the mastery_score defect happened. Two places it refuses to guess: _key_clue returns None when there's no underline span rather than inventing evidence, and a rationale-provider failure degrades to the single explanation rather than breaking the drill. 24 new tests, 127 passing. NOT YET USER-REACHABLE — API only, no UI on web or mobile. Also none of it has run against a real database or a real question; the tests are pure-logic with mocks, so first real call is the actual test. · saravanan@scrumclaw.ai
activePRs #134-#136 shipped: documentation brought back in line with reality. The implementation status doc was materially wrong, not just stale — #8 Subscription said "Not started" when Stripe web billing has been live since 2026-06-16, and #5 iOS said "Active focus, EAS Build is the gating step" when it has actually been rejected twice and sitting unsubmitted for three months. Both corrected. Added BRD #23 to the status doc with shipped-vs-remaining. Backfilled the commit log, which had stopped at 2026-04-30 — 82 commits from May through October restored from git, now 133 total. BRD_V3_TRACKER REQ-19.5/19.7 annotated as partly superseded by migration 030. BRD23 doc now carries a per-REQ build status table. Headline risk, now written down in the status doc: #5 is the only thing in this project that has not moved. Build 7 was produced 2026-09-08 and never submitted; it now predates four merged PRs (#124 nav, #126 exam exit, #132/#133 score history), so a fresh build is required regardless. The App Review notes on the version also still quote $0.99/$9.99, which will contradict the live price once the pricing change is configured — a rejection risk on its own. d05ff09 · saravanan@scrumclaw.ai
cointrends
active
7 urgent
36todo 1blocker 7decision 3note
Monetization/product strategy session: agreed to build additively on the existing platform (no repositioning, same tiers/horizon/architecture). Gap-fill backlog in order: re-enable stopped feeds + recommendations; #123 NaN fix + prediction scorecard; baseline gate in ml-training; alerts; paper trading; Genie retrieval over own data; API keys after Locked Door; affiliate + newsletter; Open Markets pilot. Revenue = make Standard/Premium worth paying for + API + affiliate/newsletter. SOM est. $200-600k ARR on current architecture before Open Markets.
activeMonetization/product strategy session: agreed to build additively on the existing platform (no repositioning, same tiers/horizon/architecture). Gap-fill backlog in order: re-enable stopped feeds + recommendations; #123 NaN fix + prediction scorecard; baseline gate in ml-training; alerts; paper trading; Genie retrieval over own data; API keys after Locked Door; affiliate + newsletter; Open Markets pilot. Revenue = make Standard/Premium worth paying for + API + affiliate/newsletter. SOM est. $200-600k ARR on current architecture before Open Markets. · saravanan@scrumclaw.ai
activeml-training on GCP Batch. Done: - New private repo HopewellPartners/ml-training (447a734) with HISTORY.md. - Batch API enabled in prod. - Service account ml-training@ created with 6 scoped roles. - Job files set to DB user postgres + secret db_password (fingerprint matches live). Pending: PR with those job-file and doc changes (user runs ship.sh). NEXT: step 4, build and push the GPU image (cloudbuild-gpu.yaml), then step 6, test run batch-test.json to staging only. · saravanan@scrumclaw.ai
idlePaused at Saravanan's request. Done: ml-training/trainer.py built (one program, separate create_model / train_model methods), offline tests pass, verified against a live BTC model. In flight when paused: Cloud Build 7d835ecf (us-central1) building ml-training:test-cpu and :test-gpu images for the CPU-vs-GPU test — images only, no Cloud Run jobs created, nothing published. NEXT when resumed: re-auth gcloud (token expired), check build status, then run the 10-epoch CPU vs L4 GPU comparison on one coin/minute to staging. · saravanan@scrumclaw.ai
activeFull review of the 6 repos, live site, GCP and both DB schemas done. Logged 25 items: 6 urgent (coin-page 404, Cloud SQL open to internet, committed DB password / SA keys / API keys, unauthenticated core service), 7 high (stale news & widgets, models last trained Oct 2025 + training to cloud, training bugs, least-privilege DB roles, log.Fatalf crashes, per-asset hard-coding blocking stocks/commodities), plus normal/low cleanup, 2 decisions, 2 notes. Razorpay deprecation merged (PR #70). NEXT: Saravanan's step-by-step plan; quickest win is the one-line coin-page fix. · saravanan@scrumclaw.ai
idleProject initialized: CoinTrends.ai · saravanan@scrumclaw.ai
3todo 1decision 1note
Consolidated 12 analysis docs covering 12 taxonomy runs across 5 repos into a 22-item fix plan in 4 buckets (could not run / stopped abruptly / ran without evidence / numbers do not match). Verified 9 items directly in origin/qa source; excluded 3 claims from the source docs as false (there is no Dockerfile.csharp; no Dockerfile uses mcr.microsoft.com/dotnet/sdk:8.0; coverlet_runner.py:159-162 DOES run dotnet test, so "platform cannot execute tests" is wrong). Root-caused the C# SAST outage: catalog_master.py registered semgrep twice at two versions (csharp 1.50.0, python 1.70.0) against one binary, and the readiness probe compares by substring. Reviewed 21 commits now on origin/dev (not yet in QA): 1.1 semgrep versions FIXED and better than prescribed (both entries + image pin all to 1.176.0, from three versions in play); 1.2 borrowed C# tools worked around by reassigning to node/python families (Dockerfile.dotnet still never reads INSTALL_MANIFEST); 1.3 stale readiness snapshot FIXED in tool_readiness_policy.py plus image-digest staleness; 2.2 ESLint FIXED (real cause was npx resolving the repo's ESLint 9, not the --eslintrc flag — my original diagnosis was wrong). Team also found two causes I missed: semgrep-core was being OOM-killed (4 commits), and an empty pytest collection was reported as a tool failure. NEXT: (1) decide on commit 58dd2aaf2, which collapses taxonomy failure detail to the bare string "Tool failed" — every root cause above was read out of that string, so QA loses its diagnostic input; (2) smoke-test a Python repo after promotion, because the version pin moved on both languages at once; (3) diagnose why coverage/mutation tasks never dispatch — 22-26 metrics dark per run, cause still unknown.
activeConsolidated 12 analysis docs covering 12 taxonomy runs across 5 repos into a 22-item fix plan in 4 buckets (could not run / stopped abruptly / ran without evidence / numbers do not match). Verified 9 items directly in origin/qa source; excluded 3 claims from the source docs as false (there is no Dockerfile.csharp; no Dockerfile uses mcr.microsoft.com/dotnet/sdk:8.0; coverlet_runner.py:159-162 DOES run dotnet test, so "platform cannot execute tests" is wrong). Root-caused the C# SAST outage: catalog_master.py registered semgrep twice at two versions (csharp 1.50.0, python 1.70.0) against one binary, and the readiness probe compares by substring. Reviewed 21 commits now on origin/dev (not yet in QA): 1.1 semgrep versions FIXED and better than prescribed (both entries + image pin all to 1.176.0, from three versions in play); 1.2 borrowed C# tools worked around by reassigning to node/python families (Dockerfile.dotnet still never reads INSTALL_MANIFEST); 1.3 stale readiness snapshot FIXED in tool_readiness_policy.py plus image-digest staleness; 2.2 ESLint FIXED (real cause was npx resolving the repo's ESLint 9, not the --eslintrc flag — my original diagnosis was wrong). Team also found two causes I missed: semgrep-core was being OOM-killed (4 commits), and an empty pytest collection was reported as a tool failure. NEXT: (1) decide on commit 58dd2aaf2, which collapses taxonomy failure detail to the bare string "Tool failed" — every root cause above was read out of that string, so QA loses its diagnostic input; (2) smoke-test a Python repo after promotion, because the version pin moved on both languages at once; (3) diagnose why coverage/mutation tasks never dispatch — 22-26 metrics dark per run, cause still unknown. cf654db · saravanan@scrumclaw.ai
idleProject initialized: Testable (Pramora) · saravanan@scrumclaw.ai
claude-project-tracker
blocked
1 overdue
5todo 1blocker 1decision 1note
Bug found: the global activity log (tracker_get_log without project_id) returns nothing newer than #20 (2026-07-23), though #21–#27 are stored and show correctly per project. The dashboard feed looks stale as a result. Also, vajra-mobile-app #22–#24 contain stray '</note></invoke>' text. NEXT: connect the tracker server repo, fix the cross-project log query, sanitize notes on write.
blockedBug found: the global activity log (tracker_get_log without project_id) returns nothing newer than #20 (2026-07-23), though #21–#27 are stored and show correctly per project. The dashboard feed looks stale as a result. Also, vajra-mobile-app #22–#24 contain stray '</note></invoke>' text. NEXT: connect the tracker server repo, fix the cross-project log query, sanitize notes on write. · saravanan@scrumclaw.ai
activeBackfilling repo_url so /join works from a fresh clone. v3.6 plugin shipped (tracker_join_project + /join command). · saravanan@scrumclaw.ai
agent-production-support
active
Re-scoped: AgentProductionSupport is an enterprise production-support monitoring agent (not startup bug-fixing). Requirements doc rewritten: 97 FRs across 16 modules (monitoring intake, correlation, ServiceNow ITSM/CMDB, RCA, runbook automation, change mgmt, autonomy guardrails, MIM comms, PIR/problem, on-call, analytics, knowledge, admin), enterprise integrations, NFRs (JIT creds, PII/PHI redaction, VPC/on-prem, SOC2/HIPAA), 10-state lifecycle, pilot-led pricing and roadmap. NEXT: pick first vertical and design-partner tool stack (open questions, section 8).
activeRe-scoped: AgentProductionSupport is an enterprise production-support monitoring agent (not startup bug-fixing). Requirements doc rewritten: 97 FRs across 16 modules (monitoring intake, correlation, ServiceNow ITSM/CMDB, RCA, runbook automation, change mgmt, autonomy guardrails, MIM comms, PIR/problem, on-call, analytics, knowledge, admin), enterprise integrations, NFRs (JIT creds, PII/PHI redaction, VPC/on-prem, SOC2/HIPAA), 10-state lifecycle, pilot-led pricing and roadmap. NEXT: pick first vertical and design-partner tool stack (open questions, section 8). · saravanan@scrumclaw.ai
activeProject created. Reverse-engineered tasksmind.com (site, llms.txt, API reference, security, changelog, app bundle) into a requirements doc: 71 functional requirements across 12 modules (P0/P1/P2), integrations, NFRs, incident lifecycle, pricing and phased roadmap. Doc: https://claude.ai/code/artifact/1d3b1e37-38d4-455a-8bc6-b36c865fc1c4. NEXT: decide target market (general startups vs. healthcare vertical) and resolve the open questions in section 8. · saravanan@scrumclaw.ai
1 urgent
15todo 2decision 1note
Big deploy day — walk-in QR is now LIVE in production, and the Razorpay blocker (#52) is cleared. DB: schema_migrations 27→34 applied to vajrasql (0028–0034; three had been hand-applied without recording, so the tracker was behind reality). Backend: walk-in QR merged INTO cmd/api rather than a separate cmd/walkin-service (that binary deleted); bind failures now exit non-zero; JWT_SECRET was UNSET so tokens were signed with an empty key and forgeable — fixed and verified (all users logged out as a result). VM: single systemd unit (ocpp.service), boot disk 10→50GB, scripted deploy at /opt/ocpp/src/scripts/redeploy.sh with verify + auto-rollback. PWA: rebuilt on the VM (scripts/deploy-web-on-vm.sh), now calls the same-origin /api proxy — it had been calling api.vajraev.com cross-origin and every request 403'd on CORS; battery start→end SoC now shows in session history; ISO timestamp fix backend-side. CMS: first ever deploy — VajraCMS on Cloud Run at cms.vajravolt.com + cms-api.vajravolt.com, shipped from GitHub Actions via Workload Identity Federation (no stored keys), secrets in Secret Manager, Cloud SQL over unix socket. Merge to main is now the whole deploy. First Razorpay walk-in QR generated on VAJRA0001 gun 1 (qr_TZEWiBhZggntL0). NEXT: no real UPI payment has flowed through walk-in yet — that pilot test (#67) is the last gate before it can be trusted with customer money.
activeBig deploy day — walk-in QR is now LIVE in production, and the Razorpay blocker (#52) is cleared. DB: schema_migrations 27→34 applied to vajrasql (0028–0034; three had been hand-applied without recording, so the tracker was behind reality). Backend: walk-in QR merged INTO cmd/api rather than a separate cmd/walkin-service (that binary deleted); bind failures now exit non-zero; JWT_SECRET was UNSET so tokens were signed with an empty key and forgeable — fixed and verified (all users logged out as a result). VM: single systemd unit (ocpp.service), boot disk 10→50GB, scripted deploy at /opt/ocpp/src/scripts/redeploy.sh with verify + auto-rollback. PWA: rebuilt on the VM (scripts/deploy-web-on-vm.sh), now calls the same-origin /api proxy — it had been calling api.vajraev.com cross-origin and every request 403'd on CORS; battery start→end SoC now shows in session history; ISO timestamp fix backend-side. CMS: first ever deploy — VajraCMS on Cloud Run at cms.vajravolt.com + cms-api.vajravolt.com, shipped from GitHub Actions via Workload Identity Federation (no stored keys), secrets in Secret Manager, Cloud SQL over unix socket. Merge to main is now the whole deploy. First Razorpay walk-in QR generated on VAJRA0001 gun 1 (qr_TZEWiBhZggntL0). NEXT: no real UPI payment has flowed through walk-in yet — that pilot test (#67) is the last gate before it can be trusted with customer money. · saravanan@scrumclaw.ai
activeWalk-in QR: BRD v1 + design-review delta + TDD v0 all drafted and staged in the backend repo (docs/BRD-walkin-qr-v1.md, docs/DESIGN-REVIEW-walkin-qr.md, docs/TDD-walkin-qr-v0.md). Backlog now has 22 items (#40-#68) covering the 7 razorpay code-review items, 5 walk-in planning items, 6 walk-in-specific dependencies + decisions, and 12 implementation items blocked on TDD. TDD estimates ~3 weeks backend + 1 week frontend parallel to Phase 1 launch-ready. All blocked on Razorpay QR API enablement (#52) — should ping Razorpay support today.</note> </invoke> · saravanan@scrumclaw.ai
activeWalk-in QR BRD: all 20 open questions locked via Q&amp;A. Key decisions: open-amount UX, either-plug-order supported, keep wallet indefinitely, merchant regulatory model, 2h max session, ₹100 min payment, ₹50 auto-stop buffer, existing reservation logic. Blockers surfaced: Razorpay QR API needs enablement (urgent, 24-48h) and DLT SMS not registered (2-4w, parallel track). Phase 1 will launch WITHOUT SMS (LED-only confirmation) to avoid the DLT wait. Also chose: minimal admin web page for ops, A5 English signage from existing vendor. Cutting BRD v1 next; then design-review delta against WIP schema; then TDD.</note> </invoke> · saravanan@scrumclaw.ai
activeBRD v0 for walk-in UPI QR pay drafted and staged at VajraBackendGo/docs/BRD-walkin-qr-v0.md (uncommitted — needs saravanan to git add/commit/push from Mac; sandbox can't touch .git/index). 20 open questions capture the design gaps we identified in review (amount UX, plug/pay order, session termination, refund policy, PPI stance, etc.). BRD lives at scrumclaw #48 and blocks design-review (#49) → TDD (#50) → implementation. Also logged 7 razorpay-related todos (#40-46) from the code review earlier.</note> <conversation_excerpt>saravanan: push all to project tracker and upload the brd part of git vajrago backend claude: BRD file staged in the backend repo docs folder; sandbox can't commit due to git index lock, so handing commit + push commands back.</conversation_excerpt> </invoke> · saravanan@scrumclaw.ai
idleProject initialized: Vajra Volt Mobile App · saravanan@scrumclaw.ai
1 urgent
3todo 1blocker
Project initialized: RoadIntelix
idleProject initialized: RoadIntelix · Prajith
Added Go hello world program (main.go, go.mod, README.md) and pushed to GitHub main.
activeAdded Go hello world program (main.go, go.mod, README.md) and pushed to GitHub main. · saravanan@scrumclaw.ai
idleProject initialized: TestClaude · saravanan@scrumclaw.ai
idleProject initialized: TestClaude · saravanan@scrumclaw.ai
claude-collab
idle
Project initialized: Claude Collab
idleProject initialized: Claude Collab · saravanan@scrumclaw.ai
first
active
prefix migration done
activeprefix migration done · saravanan