I'm a software developer with a passion for building efficient, scalable solutions. My expertise spans backend engineering, cloud computing, and AI-driven technologies. I enjoy tackling complex problems and continually learning new skills to build impactful software.
Your weekly Claude usage resets on a fixed day, and whatever you haven't used is gone. Moonlight is a Claude Code plugin that spends it on your backlog: on the last night before the reset, a cloud agent works through your task queue while you sleep and leaves draft pull requests for the morning.
| Queue anything | /moonlight:add <task> for code, or research and writing with repo: none |
| Runs in the cloud | Scheduled as cloud routines inside your sleep window, so your laptop can be off |
| Safe by default | Works on its own branches, opens draft PRs only, never merges |
| Loses nothing | Pushes after every step, so hitting the usage limit never loses work |
/plugin marketplace add atty57/moonlight
/plugin install moonlight@moonlight
/moonlight:setup
Microsoft's SDK for building AI agents and multi-agent workflows in Python and .NET. I work where agents meet the real world: the approval loops, protocol adapters and state handoffs where things quietly break.
Note
Focus: human-in-the-loop tool approval Β· AG-UI / A2A protocol interop Β· memory Β· observability
| PR | Stack | What broke β what I fixed |
|---|---|---|
| #7271 | Python | Double execution on approval. After a human approved a tool call, the round-trip ran the function a second time. Now an approved call runs exactly once. |
| #7474 | .NET | Unbounded auto-approval loop. Put a hard bound on the tool-approval auto-approval loop so an agent can't spin without limit. |
| #7635 | Python | Broken memory provider. The Cosmos DB memory provider was still calling a renamed add_cosmos toolkit API; rewired it to the current one. |
| #7655 | Python | Lost attachments over AG-UI. File attachments were silently dropped when the URL arrived in source.value; they now make it through. |
| #7951 | Python | Crash on shutdown. A2AAgent threw an AttributeError on exit when the caller supplied their own http_client; fixed the teardown path. |
| #8265 | .NET | Lost continuation token under telemetry. Background-response continuation tokens were dropped when an agent was wrapped with UseOpenTelemetry, so a resume threw; the token now survives the telemetry pipeline. |
| #9176 | Python | Swallowed formula tail. The declarative evaluator matched Concat / Concatenate / MessageText against the whole formula, so anything after the call's own closing paren β e.g. Concat("a") & Lower("B") β got pulled into its arguments and silently mis-evaluated (or threw a spurious PowerFx error). It now scans for the parenthesis that actually closes the call, so only the call itself is matched. |
| #7920 | .NET | Explicit nulls in AG-UI events. SSE events were serialized with every unset field written as null, bloating the stream and tripping strict AG-UI clients. Null properties are now omitted, so events go out in the shape the protocol expects. |
| PR | Stack | Change |
|---|---|---|
| #8465 | .NET | Fix AG-UI Unknown chat role: reasoning error on follow-up turns |
| #8018 | .NET | Surface the real workflow exception instead of a JSON serialization error |
The same bug-hunting, pointed at other projects I use β Google's fuzzing platform, the Mermaid diagrams-as-code library, and local inference and voice tooling.
| Project | PR | Status | Change |
|---|---|---|---|
| google/clusterfuzz | #5503 | β Merged | Invisible admin action. Non-admins couldn't see the "remove duplicate" button on a testcase at all. It now shows as disabled with a tooltip explaining it's admin-only, and the server still enforces the check. |
| OpenWhispr | #2651 | β Merged | Idle-timeout for streaming replies, so local and self-hosted models get time to respond instead of being cut off |
| mermaid-js/mermaid | #8350 | π In review | Parentheses broke flowchart labels. A[Label (note)] failed to parse unless quoted. Added a dedicated lexer state so square-bracket labels accept them. |
| vLLM | #60512 | π In review | Keep still-prefilling rows out of full CUDA-graph decode, fixing nondeterministic one-token prompts on Mamba-hybrid models |
| SGLang | #42424 | π In review | Reject --speculative-token-map when the target lm_head is vocab-sharded, instead of a device-side assert at init |
π» Languages & Frameworks
βοΈ Cloud & Infrastructure
π§ Machine Learning & AI
π€ GenAI & Agentic Systems
π Familiar with LLMs
- Building scalable backend systems.
- Developing cloud-native applications.
- Exploring Large Language Models (LLMs) and their applications.
Feel free to connect - I'm always excited to collaborate or discuss interesting projects!
Linkedin - https://www.linkedin.com/in/atharva-vichare-68739a213
One building per day of the last year β height and colour track that day's contributions, empty plots are days off. Redrawn nightly by a GitHub Action.
βΎ built by day Β· shipped by night



