npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@raquezha/notrace

v0.2.1

Published

Zero-dependency, local-first interactive HTML Trace Viewer for the Pi Coding Agent

Readme

notrace

Traces in, lessons out.

notrace is a local-first retrospective engine for the Pi Coding Agent. It captures session evidence, writes a versioned notrace.json run record, renders a human-readable HTML report, and supports review/compare flows for workflow R&D.

What notrace owns

When enabled, notrace is the durable retrospective layer for a session. It aggregates:

  • core Pi session telemetry
  • workflow/task context
  • optional dynamic extension telemetry

Today, Pi is the first harness adapter. The canonical run schema is designed so other harness adapters can be added later, but multi-harness support is not implemented in this package yet.

What notrace does not own

notrace is not:

  • the live Pi footer
  • the Pi resume/session-switch UX
  • a scraper of terminal status strings

Live footer output, resume hints, and extension footer badges may appear near notrace output during shutdown, but they are separate producers.

Retrospective spine

  1. Capture evidence: notrace.json
  2. Inspect: notrace.html
  3. Review outcome: notrace.review.json
  4. Compare attempts: compare:notrace

Storage

.notrace/
  index.json
  index.html
  sessions/
    <session-id>/
      notrace.json
      notrace.html
      notrace.review.json

Canonical run model

Generated notrace.json is the source of truth for runtime output, HTML rendering, and downstream tooling. The record is versioned and centers on:

  • kind
  • schemaVersion
  • traceId
  • repository
  • session
  • task
  • captureMode
  • conditions
  • activity
  • telemetry
  • events

Key rule:

  • consumed tokens and saved tokens are separate metric families
  • optimization telemetry belongs under telemetry.extensions.*
  • presentation-only UI strings are not canonical evidence

Dynamic extension telemetry

notrace can include optional structured telemetry from dynamic extensions. Current first target is noheadroom.

If an extension is absent, notrace should still succeed. If an extension is present, it can contribute a structured summary such as:

  • loaded / enabled / active state
  • optimization attempts
  • tokens saved
  • last applied compression summary

Capture modes

Default capture mode is redacted.

pi --extension ./packages/notrace

Optional modes:

NOTRACE_CAPTURE=redacted pi --extension ./packages/notrace
NOTRACE_CAPTURE=metadata pi --extension ./packages/notrace
NOTRACE_CAPTURE=full pi --extension ./packages/notrace

Mode meanings:

  • redacted: captured payloads with common secret-like values redacted; default
  • metadata: minimal capture, no prompt/tool bodies
  • full: full captured payloads; best for local debugging; highest sensitivity

Security warning: full reports can contain prompts, tool arguments, tool outputs, local paths, model payloads, and secrets returned by tools. redacted mode removes common secret-shaped values and sensitive keys, but redaction is best-effort and can miss project-specific secrets. metadata mode is safest for sharing because prompt/tool bodies are omitted, but reports can still reveal repository names, paths, timing, models, providers, and workflow metadata. Do not publish generated reports without review.

Review

From this monorepo:

npm run review:notrace -- \
  .notrace/sessions/<id>/notrace.json \
  --outcome partial \
  --friction high \
  --lesson "Headroom reduced tokens but needed manual steering." \
  --next-change "Try same task with RepoScry enabled."

From an installed package:

npx -p @raquezha/notrace notrace-review \
  .notrace/sessions/<id>/notrace.json \
  --outcome partial \
  --friction high \
  --lesson "Headroom reduced tokens but needed manual steering." \
  --next-change "Try same task with RepoScry enabled."

Review fields:

  • outcome: success, partial, failed, abandoned, inconclusive
  • friction: low, medium, high
  • lesson
  • nextChange

Compare

From this monorepo:

npm run compare:notrace -- \
  .notrace/sessions/<baseline-id>/notrace.json \
  .notrace/sessions/<candidate-id>/notrace.json

From an installed package:

npx -p @raquezha/notrace notrace-compare \
  .notrace/sessions/<baseline-id>/notrace.json \
  .notrace/sessions/<candidate-id>/notrace.json

Templates

HTML source-of-truth lives in templates/:

  • dashboard.sample.json
  • session.sample.json
  • dashboard.sample.html
  • session.sample.html

Refresh previews after renderer changes:

cd packages/notrace
npm run render:samples

Build

cd packages/notrace
npm install
npm run build

Output lands in dist/.