Skip to content

Dogfood otel-scrape in devenv tasks#880

Draft
schickling-assistant wants to merge 3 commits into
schickling/2026-06-29-otel-scraperfrom
schickling-assistant/2026-06-30-m19-dogfooding
Draft

Dogfood otel-scrape in devenv tasks#880
schickling-assistant wants to merge 3 commits into
schickling/2026-06-29-otel-scraperfrom
schickling-assistant/2026-06-30-m19-dogfooding

Conversation

@schickling-assistant

@schickling-assistant schickling-assistant commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Problem
otel-scrape was implemented and validated as a wrapper, but effect-utils itself was not yet using it across its own build/dev quality gates. That left the dogfooding phase of #866 open and made task-level OTEL gaps easy to reintroduce.

Goal
Route effect-utils devenv task execution through otel-scrape by default while preserving script-visible behavior, local summary fallback, and the existing otel-span task spans.

Decisions

  • Layer otel-scrape outside the existing trace.nix otel-span wrapper, preserving current devenv.task.* spans while adding wrapper-owned command/process evidence.
  • Keep dogfooding transparent and reversible with OTEL_SCRAPE_DOGFOOD=0; missing otel-scrape falls back to the original task body.
  • Write summary evidence to tmp/otel-scrape-dogfood/summaries by default so contributors get local proof without an OTLP backend.
  • Add otel-scrape:dogfood-audit to check:* to fail when active task modules add unwrapped exec/status scripts.
  • Keep future adapters behind the vertical-slice admission gate; candidate adapter names remain rejected until structured-source, privacy, degradation, registry, and consumer evidence exists.
  • Keep ptrace-experimental opt-in; exact-by-default process observation remains helper-gated rather than ptrace- or snapshot-backed.

Verification

  • nix build .#otel-scrape --no-link passed.
  • OTEL_SCRAPE_SUMMARY_DIR=tmp/m19-dogfood-verify devenv tasks run genie:prepare --no-tui passed and produced otel-scrape.summary/v1 direct-child degraded process evidence.
  • OTEL_SCRAPE_SUMMARY_DIR=tmp/m19-dogfood-verify devenv tasks run otel-scrape:dogfood-audit --no-tui passed.
  • CARGO_TARGET_DIR=$PWD/tmp/m20-cargo-target RUSTC_WRAPPER= CI=1 devenv shell cargo test --manifest-path packages/@overeng/otel-scrape/Cargo.toml passed.
  • CI=1 OTEL_SCRAPE_SUMMARY_DIR=tmp/m20-check-all-final devenv tasks run check:all --no-tui passed.

Friction & bottlenecks

  • Dogfooding exposed an undeclared Nix check dependency: the node-cpuprofile package test required Node but the derivation did not declare it.
  • The first full check:all run hit resource-contention timeouts in package tests; the affected lanes passed individually, and the final cached full gate passed after deterministic fixture updates.

Refs #866.

@schickling-assistant schickling-assistant added origin:agent Filed or primarily produced by an AI agent · Set: AI agent or manual area:rust Rust code and tooling · Set: manual type:feature New user-visible or system capability · Set: manual area:devenv devenv tasks, inputs, and environment configuration · Set: manual labels Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:devenv devenv tasks, inputs, and environment configuration · Set: manual area:rust Rust code and tooling · Set: manual origin:agent Filed or primarily produced by an AI agent · Set: AI agent or manual type:feature New user-visible or system capability · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant