Skip to content
View ManoharPaturi's full-sized avatar
  • Amrita Vishwa Vidyapeetham
  • Coimbatore

Highlights

  • Pro

Block or report ManoharPaturi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ManoharPaturi/README.md
Manohar Paturi

Biomechanical & Spatial Intelligence Research Lab // Stereo Mocap & Neural Telemetry

LinkedIn Β  Email Β  Repositories

Ship Log Β β€’Β  Specimens Β β€’Β  Calibration Β β€’Β  Instrument Β β€’Β  Ground Control


Meta Google DeepMind LangChain Mistral AI Microsoft OpenAI AWS Anthropic Hugging Face NVIDIA NeMo vLLM Ollama Keras Weaviate deepset haystack EleutherAI ComfyUI Pydantic json-c nDPI PCRE2



I build systems that meet cameras, electrodes, users, and imperfect inputs as they actually are β€” AI engineering undergrad @ Amrita Vishwa Vidyapeetham.


ch.01 Β· ship log

gh pr list --author @me --state=all

Space telemetry mission control & orbital PR merge pipelines

I contribute upstream where a small, precise change removes a real developer paper-cut β€” then add the regression test or documentation that keeps it fixed.

78 pull requests merged to date β€” 51 upstream across nine labs (tabled below), 5 in peer repos, and 22 shipping a production e-commerce build phase-by-phase through PRs (Sree Vartali Sarees β€” CMS, store, cart, orders, WhatsApp).

live probe β€” latest review, weekly signal, merged count

accepted upstream

lab what shipped pr state
Microsoft · agent-framework handle Literal annotations in is_instance_of #8351 🟣 merged
Microsoft · agent-framework preserve instruction order in prepend_instructions_to_messages dedup #8353 🟣 merged
Microsoft · agent-framework accept int timeouts in the A2A agent #8516 🟣 merged
Microsoft · agent-framework preserve dict subclasses in workflow checkpoints #8519 🟣 merged
Microsoft · agent-framework case-insensitive User-Agent detection prevents duplicate headers #8521 🟣 merged
Microsoft · agent-framework skip empty and whitespace-only instructions in prepend #8524 🟣 merged
Microsoft · agent-framework allow text events when response_format is a json schema dictionary #8604 🟣 merged
Microsoft · agent-framework match empty expected tool call arguments when actual call arguments are None #8609 🟣 merged
Microsoft · agent-framework narrow pytest.raises blocks to wrap only get_response in error tests #8611 🟣 merged
Microsoft · agent-framework ensure add_usage_details returns copies and skips booleans #8613 🟣 merged
Microsoft · agent-framework fix positional invocations in detect_media_type_from_base64 docstrings #8614 🟣 merged
Microsoft · agent-framework route unmarked shell call to registered local executor #8720 🟣 merged
Microsoft · agent-framework send Foundry-Features header on toolbox requests #8722 🟣 merged
Microsoft · agent-framework allow checkpoint deserialization for orchestrations #8723 🟣 merged
Microsoft · agent-framework cross-reference security patterns from getting-started and provider samples #8726 🟣 merged
Microsoft Β· PyRIT Garak exploitation scenario β€” Jinja template injection + SQLi echo, 1.3k-line security feature #2576 🟣 merged
Microsoft · PyRIT keep prompt text after </document> in the PromptShieldTarget parser #2838 🟣 merged
Microsoft · PyRIT restore keyboard focus to launch button on preview dismissal #2686 🟣 merged
Microsoft · PyRIT clamp TemplateSegmentConverter split count for short prompts #2840 🟣 merged
Microsoft · PyRIT stop temp-file leak in the remote dataset loader cache=False path #2842 🟣 merged
Microsoft · PyRIT fix krippendorff_alpha returning NaN for unpairable identical ratings #2844 🟣 merged
Microsoft · PyRIT embed only text pieces in multimodal writes instead of failing them #2848 🟣 merged
Microsoft · PyRIT keep user-authored working text across runtime generation changes #2873 🟣 merged
NVIDIA · Curator treat DocumentSplitter separator as a literal string #2376 🟣 merged
NVIDIA · Curator fix split_large_files RecursionError on single rows larger than target size #2377 🟣 merged
NVIDIA · DataDesigner tolerate literal braces in prompt validation (valid Jinja text) #923 🟣 merged
NVIDIA · Gym normalize native LiteLLM responses before NeMoGymResponse validation #3413 🟣 merged
NVIDIA · Gym distinguish Bird-SQL result mismatches and timeouts from execution failures in the evaluator #3468 🟣 merged
NVIDIA · Gym pass config dict via process environment instead of command line #3472 🟣 merged
NVIDIA · Megatron-Bridge in-process HashStore for temporary_distributed_context rendezvous #5989 🟣 merged
NVIDIA · Megatron-Bridge allow Energon native sequence packing with MTP in the data pipeline #5990 🟣 merged
NVIDIA · Run only treat delimited run/executor/plugins prefixes as overwrites #605 🟣 merged
NVIDIA · Run handle unparameterized list/dict annotations in the CLI value parser #607 🟣 merged
NVIDIA · Run forward entrypoint skip_confirmation to the generated command #609 🟣 merged
NVIDIA · Run remove stray "Configuring global options" debug print #611 🟣 merged
NVIDIA · Run resolve string and future annotations in the CLI parser #613 🟣 merged
NVIDIA · Speech SubsamplingReductionModule pooling computes lengths for a single MaxPool1d pass #16226 🟣 merged
Meta Β· astryx elevation prop for ToggleButton β€” survived Meta's full design-system review loop #6037 🟣 merged
Meta · astryx guard TextInput.onEnter against Japanese-IME conversion commits #6083 🟣 merged
Meta · astryx scope the 16px input font floor to iOS only #6085 🟣 merged
Google DeepMind · mujoco corrected misleading terminology in the physics-engine reference docs #3550 🟣 merged
LangChain · langchain removed stale Args / Raises docstrings from core public APIs #40211 🟣 merged
Mistral AI · mistral-common fixed an error in the experimental usage guide #306 🟣 merged
json-c assert the object type in json_object_array_shrink like every array accessor #978 🟣 merged
json-c propagate printbuf append failures in json_escape_str #979 🟣 merged
json-c printbuf_memset maintains the NUL-termination invariant #980 🟣 merged
nDPI · collectd dissect the hostname from the HOST block, not a fixed offset #3264 🟣 merged
nDPI · collectd guard unsigned length arithmetic in ssh, beckhoff_ads, c1222 and munin dissectors #3265 🟣 merged
nDPI · collectd serializer: reserve worst-case JSON escape space so values are not dropped #3266 🟣 merged
PCRE2 · pcre2grep track the file position in PCRE2_SIZE, not int #1020 🟣 merged
PCRE2 · pcre2posix do not truncate the subject length to int in regexec #1022 🟣 merged

in review β€” 89 signals awaiting a verdict

lab what i shipped pr state
anthropics/claude-code-action fix: skip malformed buffered inline comment lines instead of failing the post step #1797 🟒 open
anthropics/claude-code-action fix: only extract the user request from word-boundary trigger occurrences #1799 🟒 open
anthropics/claude-code-action fix(mcp): support symbolic links with mode 120000 and target path content #1837 🟒 open
anthropics/claude-code-action fix: keep "=" in PR link query values and encode path spaces #1840 🟒 open
anthropics/claude-code-action fix: render actual text of failing MCP tool results in step summary #1842 🟒 open
anthropics/claude-code-action fix: use job url origin for branch link so GitHub Enterprise Server works #1844 🟒 open
AOMediaCodec/libavif Gain map: handle non-finite samples and zero denominators safely #3385 🟒 open
AOMediaCodec/libavif avifFindMinMaxWithoutOutliers: reject empty input instead of reading gainMapF[0] #3387 🟒 open
AOMediaCodec/libavif Sample table timing: accumulate stts sample counts in uint64 to avoid wrapping #3388 🟒 open
AOMediaCodec/libavif JPEG MPF: validate marker boundaries and reject wrapping absolute offsets #3389 🟒 open
AOMediaCodec/libavif avifRGBImageSetViewRect: validate the crop rect instead of trusting it #3390 🟒 open
aws/aws-cdk docs(core): drop stale sep reference from ArnComponents.arnFormat default docs #38775 🟒 open
c-ares/c-ares select event backend: refuse descriptors >= FD_SETSIZE instead of overflowing fd_set #1312 🟒 open
c-ares/c-ares Clamp DNS record TTLs into the signed int used by public APIs #1313 🟒 open
c-ares/c-ares ares_dns_write: reject RDATA and option values that do not fit their 16-bit length prefixes #1314 🟒 open
c-ares/c-ares resolv.conf options: ignore absurd retry/attempts values #1315 🟒 open
c-ares/c-ares hosts file cache: invalidate when the file is replaced with an older mtime #1316 🟒 open
cisco/openh264 Engage the dynamic-slicing slice-count cap that was never set #4038 🟒 open
cisco/openh264 Fix element-size typos in ExtendLayerBuffer allocations #4039 🟒 open
cisco/openh264 Guard CalculateNewSliceNum against empty partitions #4040 🟒 open
data-privacy-stack/presidio fix(analyzer): keep Stanza multi-word tokens as surface tokens to preserve text and entity offsets #2253 🟒 open
EleutherAI/lm-evaluation-harness Fix typos in task documentation (16 files) #4102 🟒 open
facebook/astryx fix(core): render plain Link anchors inline so an ancestor Text clamp can truncate them #6038 🟒 open
facebook/astryx fix(core): floor SegmentedControlItem to a 44px touch target on coarse pointers #6084 🟒 open
facebook/astryx fix(Markdown): link destinations follow navigation contract, image sources reject every data: URL #6355 🟒 open
facebook/astryx fix(Calendar): compute ISO week numbers without local DST offset leaking in #6365 🟒 open
facebook/astryx fix(Tokenizer): suppress Create when the typed label matches a selected token #6367 🟒 open
facebook/astryx fix(ChatComposerInput): anchor programmatic carets into trailing text nodes for IME composition (#6411) #6423 🟒 open
facebook/astryx fix(Markdown): preserve list structure for mixed task and bullet lists (#6330) #6424 🟒 open
facebook/astryx fix(TextInput): dispatch changeAction and update optimistic value on clear #6425 🟒 open
facebook/astryx fix(FileInput): dispatch changeAction and update optimistic value on clear and selection #6427 🟒 open
facebook/astryx docs(input fields): align statusVariant documentation and test coverage #6428 🟒 open
facebook/astryx perf(HoverCard): keep trigger refs stable across rerenders #6606 🟒 open
facebook/astryx fix(Dialog): capture the opener before descendant autofocus effects #6607 🟒 open
facebook/astryx fix(Markdown): prose follows the chat surface's published content width #6608 🟒 open
facebook/astryx test(Timer): complete hardening audit layers 1-2 (#6483) #6609 🟒 open
facebook/astryx fix(SegmentedControl): hold 4.5:1 label contrast over the translucent surface #6610 🟒 open
google/flatbuffers [TS] enforce read bounds in ByteBuffer #9280 🟒 open
google/flatbuffers [Python] enforce read bounds in Table #9281 🟒 open
google/flatbuffers [Python] fix Buf.setitem writing the key instead of the value #9282 🟒 open
google/flatbuffers [Python] reject flexbuffers maps whose key/value counts disagree #9283 🟒 open
google/nsjail [cgroup] fix uint32 overflow in CPU quota computation #348 🟒 open
google/nsjail [net] close the listening socket on setup failure and open sockets CLOEXEC #349 🟒 open
google/nsjail [logs] finish writing log messages on short writes #350 🟒 open
google/nsjail subproc: mark supervisor fds CLOEXEC before helper exec #351 🟒 open
google-deepmind/mujoco Fix inconsistent axis labels in solimp documentation figures #3548 🟒 open
google-gemini/gemini-cli fix(core): contain legacy checkpoint paths to the checkpoint directory #29521 🟒 open
google-gemini/gemini-cli fix(core): keep glob tool matches inside the validated search directory #29522 🟒 open
google-gemini/gemini-cli fix(core): minimal env and capped output for external safety checkers #29523 🟒 open
huggingface/datasets Fix typo in guide template #8567 🟒 open
libjxl/libjxl Guard the Huffman-RLE LZ77 fast path against wrapped run lengths #4991 🟒 open
libjxl/libjxl PerformBlending: return early for empty segments #4992 🟒 open
libjxl/libjxl Patch dictionary: form foreground pointers without unsigned wrap #4993 🟒 open
libjxl/libjxl jxl_from_tree: catch numeric conversion exceptions instead of aborting #4994 🟒 open
libjxl/libjxl Implicit palette encoding: clamp quantized color indices to prevent int overflow #4995 🟒 open
Mbed-TLS/TF-PSA-Crypto PKCS#5 PBES2: reject iteration counts below 1 and mismatching keyLength #918 🟒 open
Mbed-TLS/TF-PSA-Crypto PEM: validate PKCS padding in constant time #919 🟒 open
microsoft/agent-framework Python: fix(core): prevent path collisions between files and directories in InMemoryAgentFileStore #8687 🟒 open
microsoft/agent-framework Python: filter non-assistant messages from workflow agent responses #8729 🟒 open
microsoft/autogen fix(ext): reject stale hunks in TextCanvas.apply_patch with context validation #8195 🟒 open
microsoft/autogen docs: fix typos across documentation (16 files) #8196 🟒 open
microsoft/autogen fix(autogen-ext): fix __unknown_models set difference and outdated docstrings (#8243) #8246 🟒 open
microsoft/markitdown fix(html): keep head metadata out of markdown without dropping stray content #2483 🟒 open
microsoft/markitdown fix(xlsx): keep integer rendering when a blank cell promotes a column to float #2485 🟒 open
microsoft/markitdown fix(rss): emit item and entry links as heading anchors #2525 🟒 open
microsoft/markitdown fix(pptx): render missing chart data points as empty cells #2527 🟒 open
microsoft/markitdown fix: keep whitespace inside fenced code blocks when normalizing results #2529 🟒 open
microsoft/markitdown fix(xlsx): render float values faithfully instead of 6-digit scientific notation #2533 🟒 open
microsoft/markitdown feat(ipynb): render code cell outputs (streams, errors, text results) #2534 🟒 open
microsoft/PyRIT FIX: refetch server default labels when the runtime generation changes #2874 🟒 open
microsoft/semantic-kernel Python: fix kernel_function decorator mutating shared Annotated metadata dicts #14442 🟒 open
microsoft/semantic-kernel Python: use field description over pydantic constraint objects in schema builder #14444 🟒 open
microsoft/semantic-kernel Python: apply input_variables defaults when rendering prompt templates #14459 🟒 open
microsoft/semantic-kernel Python: keep quoted named-arg values as single tokens in CodeTokenizer #14461 🟒 open
NVIDIA-NeMo/DataDesigner fix(compiler): support columns_added and columns_removed in processor config (#394) #943 🟒 open
NVIDIA-NeMo/Megatron-Bridge fix(ckpt): pass requested revision to snapshot_download in SafeTensorsStateSource #6109 🟒 open
NVIDIA-NeMo/Megatron-Bridge fix(tokenizer): respect offline mode and local_files_only in _resolve_hf_tokenizer_revision #6111 🟒 open
NVIDIA-NeMo/Speech fix(asr): repair ConvSubsampling forward paths missed by the MaskedConvSequential refactor #16225 🟒 open
NVIDIA-NeMo/Speech fix(speechlm2): preserve relocated EOS token during early interruption augmentation #16268 🟒 open
ollama/ollama fix: normalize escaped pattern literals in tool/format schemas passed to llama-server #18248 🟒 open
ollama/ollama log: report the source of the loaded context length #18249 🟒 open
tpm2-software/tpm2-tss FAPI IMA eventlog: bound the event name read by the template size #3156 🟒 open
tpm2-software/tpm2-tss FAPI IMA eventlog: verify the digest window fits the template buffer #3157 🟒 open
tpm2-software/tpm2-tss FAPI IMA eventlog: reject events with an empty template value #3158 🟒 open
vllm-project/vllm [Bugfix] Install numactl in ROCm images so --numa-bind is not a silent no-op #55433 🟒 open
weaviate/weaviate docs: add rq-4 to ALLOWED_COMPRESSION_TYPES valid entries #12950 🟒 open
weaviate/weaviate Fix object_count metric Help text (copy-pasted from async_operations_running) #12951 🟒 open
weaviate/weaviate fix(groupBy): correct minDistance and maxDistance in multi-shard merge and hybrid search (#13108) #13131 🟒 open

ch.02 Β· specimens

ls ~/lab/specimens

Cyber-laboratory specimen archive: motion capture, reinforcement learning, EEG biosignals, on-device vision, and POSIX systems
case friction approach proof stack
SPX-01 Β· MOTION
markerless motion capture
useful mocap lives in laboratories β€” special suits, special cameras, special rooms two ordinary camera views β†’ MediaPipe landmarks β†’ stereo DLT triangulation β†’ filtering β†’ joint kinematics offline-first pipeline, live 3D inspection, real mocap export formats Python FastAPI React Three.js OpenCV
SPX-02 Β· DECISIONS
self-play reinforcement learning
"the agent learned something" isn't evidence until tested against a known-optimal opponent Double/Dueling DQN + NoisyNet + prioritized replay, pressured by self-play and a minimax baseline ships both the learned policy and the sanity check β€” not just the score Python PyTorch RL
SPX-03 Β· BIOSIGNALS
EEG artifact recovery
real EEG is eye movement, muscle noise, electrode drift β€” and somewhere in there, the signal SVD separates low-rank artifact structure from 14-channel Emotiv EPOC X recordings denoising as signal recovery, with the assumptions visible MATLAB SVD signal processing
SPX-04 Β· ON-DEVICE VISION
projX OMR grading
document evaluation usually becomes "upload everything and wait" capture, bubble detection, key comparison and export all stay on the phone a complete grading workflow with zero server round trips Flutter Dart OpenCV
SPX-05 Β· SYSTEMS
POSIX file manager
abstractions hide what the machine actually does built directly on raw POSIX system calls β€” every operation mapped to its syscall boundary know what's underneath your abstractions C POSIX system calls

ch.03 Β· calibration notes

cat calibration.md

Precision engineering calibration bench β€” phosphor oscilloscope, optical laser prism, tuning fork, and spirit level

Build it from scratch at least once β€” the magic disappears, the understanding stays.

If you can't reproduce it, you don't understand it yet.

Real data over clean examples β€” messy input teaches what tutorials hide.

Know what's underneath your abstractions. They all leak eventually.


ch.04 Β· instrument bench

./bench --readings

Modular telemetry instrument bench β€” spectrum analyzer, analog VU meters, and phosphor CRT oscilloscopes

instrument readout β€” stars, repos, commits, PRs Β  signal spectrum β€” language breakdown



52-week signal trace β€” daily contributions as a phosphor strip chart

ch.05 Β· ground control

ping manohar

Deep-space satellite ground station observatory with parabolic dish transmitting into the cosmos

Bring me a signal that refuses to behave.

Email Β Β·Β  LinkedIn Β Β·Β  Repositories


Terminal Footer

a self-updating instrument Β· telemetry regenerated nightly from public GitHub data Β· visual telemetry designed for high-assurance biosignals and spatial systems

Pinned Loading

  1. Chatbot-for-recepies-with-images Chatbot-for-recepies-with-images Public

    Chef Tony β€” desktop recipe chatbot (Python + tkinter) powered by Gemini 2.0 Flash, with automatic dish photos from DuckDuckGo image search

    Python

  2. D9_MFC4_SVD-BASED-NOISE-REDUCTION-IN-EEG-SIGNALS- D9_MFC4_SVD-BASED-NOISE-REDUCTION-IN-EEG-SIGNALS- Public

    SVD-based removal of EOG artifacts from real EEG recordings (Emotiv EPOC X) β€” a linear-algebra approach to biomedical signal enhancement, in MATLAB

  3. File-Management-System-Using-Basic-System-Calls-in-C File-Management-System-Using-Basic-System-Calls-in-C Public

    Dual-pane GTK3 file manager in C β€” listing, mkdir, rename, recursive delete, copy and zip implemented directly on POSIX system calls + libzip

    C 1

  4. mocap_mac mocap_mac Public

    VS7.1 real-time multi-person motion capture with dual-laptop stereo 3D reconstruction β€” DLT triangulation, kinematics engine, validation pipeline, and Plotly reports

    HTML

  5. TIC-TAC-TOE-Player-By-DOUBLE-DQN-MODEL TIC-TAC-TOE-Player-By-DOUBLE-DQN-MODEL Public

    Tic-Tac-Toe RL β€” Double Dueling DQN with NoisyNet exploration and Prioritized Experience Replay trained by self-play, plus an unbeatable minimax (tkinter & raylib)

    Python