Automated harness-observability audit found a gap for nemoclaw.
- Harness exposes: The harness onboarding CLI (src/lib/trace.ts) emits OpenTelemetry-shaped trace artifacts when NEMOCLAW_TRACE=1: a TraceArtifact with resource_spans/scope_spans/spans, each span carrying name (e.g. 'nemoclaw.onboard.phase.gateway', 'nemoclaw.onboard.phase.inference'), start/end time, duration_ms, a status.code of OK/ERROR/UNSET (+ message), sanitized attributes (provider, credential_env, curl-probe results from runCurlProbe), child TraceEvents, and a top-level summary with total_duration_ms and slowest_spans. Output path is controlled by NEMOCLAW_TRACE_FILE or NEMOCLAW_TRACE_DIR (default .e2e/traces), confirmed exercised in src/lib/trace.test.ts (onboard trace artifacts, curl-probe sanitization, secret redaction).
- ClawMetry misses: No code path in the OpenClaw/NemoClaw adapter reads NEMOCLAW_TRACE_FILE / the .e2e/traces directory or parses this trace artifact. Per-phase onboarding failures (status=ERROR on the gateway or inference phase, with duration and a redacted-but-informative message) and the curl-probe reachability checks against inference endpoints are invisible to ClawMetry today — the adapter only surfaces sandbox routing config and post-hoc doctor/model-router fingerprint files, never a timeline of what onboarding actually did or where it failed.
- Where (harness):
src/lib/trace.ts (TraceArtifact, TRACE_ENABLED_ENV, TRACE_FILE_ENV, TRACE_DIR_ENV, DEFAULT_TRACE_DIR), src/lib/trace.test.ts (onboard span names, redaction, curl probe)
- Severity: high
- Closest capability: new
Filed by scripts/harness/audit.py. Fingerprint: hgap-e62ba1a084 (used to dedupe — keep it in the body).
Automated harness-observability audit found a gap for nemoclaw.
src/lib/trace.ts (TraceArtifact, TRACE_ENABLED_ENV, TRACE_FILE_ENV, TRACE_DIR_ENV, DEFAULT_TRACE_DIR), src/lib/trace.test.ts (onboard span names, redaction, curl probe)Filed by
scripts/harness/audit.py. Fingerprint: hgap-e62ba1a084 (used to dedupe — keep it in the body).