zchee / zchee/ganja-code

selfSent through the socket peer pid and an ancestry walk

Open
#75 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

idea size:M verdict:do
Dominant language
Rust
Stars
2
Forks
0
Avg merge
1h
Merged PRs (30d)
17

Description

What it does

Makes the self_sent input real: the accepted peer's process id is carried from the socket to the engine, and an ancestry walk decides whether the sender is this session's own child.

Source

ganja-code-umz (selfSent through the kernel peer pid at the socket and an ancestry walk).

The bead is closed when this issue is published, with its external reference pointing here (#38).

File and line references in this issue are to main as of 75a7a92.

Against the three criteria

  • Direction (README): The README says nothing about addressing between sessions; the nearest direction it states is ganja as the control plane (README.md:16-18).
  • Today's terminal users: The listener checks the peer's uid at accept and drops the rest (crates/ganja-serve/src/socket.rs:244-263), so self_sent is an always-false input at every production call site (crates/ganja-core/src/teammate/inbound.rs:59).
  • Evidence: The reference's ancestry walk is macOS-gated and its Linux side is untraced. The macOS and Linux probe is part of the work.

Depends on

No other idea.

Verdict

  • Verdict: do
  • Size: M — one plan and one decision number.
  • Exception to the probe rule: yes. #36 says an idea that needs a measurement or a probe first is not do; this one is an explicit exception: the macOS and Linux probe is part of the work.
  • Date: 2026-09-19
  • Verdict ticket: #41

Theme: #54

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with crates/ganja-serve/src/socket.rs:244-263 and crates/ganja-core/src/teammate/inbound.rs:59 to trace the accepted peer identity and current self_sent input. Run or inspect the macOS and Linux process probes, then verify that the peer pid reaches the engine and the ancestry walk identifies whether the sender is this session's child.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, networking, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.