overengineeringstudio / overengineeringstudio/effect-utils
Epic: otel-scrape exact process-tree observation + trace-quality residuals
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 82
- Forks
- 2
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 121
Description
Context
Split off from #866, which shipped the honest degraded-merged + trust-gated + semconv-aligned otel-scrape substrate. A SOTA OTel-best-practices re-critique deemed exact process-tree observation valuable but deferrable — trace quality was gated by cheap semantic-convention gaps (now resolved), not by process-tree exactness. This epic captures the deferred work so #866 can close on M25.3 (deploy).
Exact process trees (was #866 M23 / M24)
- Linux cgroup-scoped run-boundary helper (exact-by-default needs cgroup-scoped evidence, not PID ancestry).
- macOS signed/entitled Endpoint Security helper — the unprivileged path is rejected by
ES_NEW_CLIENT_RESULT_ERR_NOT_PRIVILEGED, so this needs its own install / approval / lifecycle work. - Helper-stream health / loss / downgrade signalling.
- Cross-platform contract-test reuse across both helpers.
- Richer process-span model (per-process cpu / mem, cwd) — exact mode only pays off once spans carry this.
Exact-path polish (only relevant once exact ships)
- FU1 — root-span dedup: the exact ptrace path re-emits the direct-child root as a redundant span sharing the command span's
argv_hash. - ptrace-backend span timing is still ms-quantized (the command path is ns).
Minor trace-quality residuals
- Full Rust
displayVersionrenderer for--version(relative-time formatting). - vitest adapter OTLP metric events (currently summary-only).
- Disconnected genie-internal trace: genie's own deep spans don't inherit the task traceparent — a genie instrumentation quirk, not
otel-scrape.
References
- Split from #866.
- VRS:
context/otel-scrape/.
Posted on behalf of @schickling
| field | value |
|---|---|
agent_name |
🔥 cl1-flint |
agent_session_id |
c7469e76-e532-457f-a0ab-891cf18049f1 |
agent_tool |
Claude Code |
agent_tool_version |
2.1.183 |
agent_runtime |
Claude Code 2.1.183 |
agent_model |
claude-opus-4-8 |
runtime_profile |
/nix/store/1fbncx3wwgsrjnlb4nq2i60bhj6jcj2f-coding-agent-runtime-profile/share/coding-agents/profile.json |
skills_manifest |
/nix/store/yzjic15ij9icn4rc9ihl46jhsri45988-agent-skills-corpus/share/agent-skills/manifest.json |
worktree |
effect-utils/schickling/2026-06-29-otel-scraper |
machine |
dev3 |
tooling_profile |
dotfiles@5e83233 |
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the VRS material in context/otel-scrape/ and the work split from issue #866. The checklist spans Linux and macOS helpers, cross-platform tests, span modeling, ptrace behavior, Rust version rendering, vitest metrics, and trace propagation; completion requires resolving the selected residuals and exact-path items rather than one isolated edit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, typescript
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100