惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Vercel News
Vercel News
F
Fortinet All Blogs
月光博客
月光博客
G
Google Developers Blog
博客园 - Franky
GbyAI
GbyAI
The Cloudflare Blog
I
InfoQ
雷峰网
雷峰网
WordPress大学
WordPress大学
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
小众软件
小众软件
腾讯CDC
B
Blog
量子位
V
V2EX
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News

Hacker News: Front Page

SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Ancient DNA reveals pervasive directional selection across West Eurasia [pdf] AI cybersecurity is not proof of work Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. A Better Ludum Dare; Or, How to Ruin a Legacy GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent Codex Hacked a Samsung TV
GitHub - harihkk/Debug-Brief: Local-first CLI that turns ...
itshkrishna · 2026-06-22 · via Hacker News: Front Page

DebugBrief

CI PyPI

Record what you do while debugging and turn it into an evidence-backed Markdown report for a pull request, a handoff, or an incident note.

A failing test streams live, the fix lands, redo passes, and the generated report appears

DebugBrief captures the notes you write and the commands you run, then builds a report from what actually happened: what you tried, what failed, what passed, and which files changed in between. It does not use AI and does not infer a root cause or report a test result you did not get.

Install

pipx install debugbrief
# or
uv tool install debugbrief

Plain pip install debugbrief works too. DebugBrief needs Python 3.9 or newer. Native Git is used when available to capture repository metadata and changed files. The project you debug does not need to be Python; only DebugBrief runs on Python.

Quickstart

debugbrief start "Fix add() returning wrong result"
debugbrief note "add() subtracts instead of adds; the test expects 5."
debugbrief run -- python -m pytest -q test_calc.py   # fails
# make your fix
debugbrief redo                                      # same test, now passes
debugbrief end                                       # writes the PR report

Everything after -- runs exactly as you typed it, with its output streaming live to your terminal. DebugBrief flags (--timeout, --shell, --no-redact, --verify) go before the --. redo re-runs the last captured command, and end defaults to the pr report mode.

Tip: a one-line alias makes the capture prefix disappear in daily use.

alias db="debugbrief run --"
db pytest -q

What you get

A report built only from recorded evidence. A short excerpt from a real run:

## Summary

Failing check `python -m pytest -q test_calc.py` passed after 2 attempts over 2s, changes touched calc.py.

## Red to green

A check failed at 12:02:09 and `python -m pytest -q test_calc.py` passed at 12:02:10 (window 1s).

Between the failing and passing checks, these files changed (correlation, not proven cause):
- `calc.py`

Full samples: PR, handoff, incident.

How it works

  • run executes a command under a pseudo-terminal so its output streams live, then records the real exit code, a bounded output preview, the duration, and a per-command git snapshot.
  • Pass or fail comes only from the exit code. A command counts as verified only when a recognized test, build, lint, or typecheck runner actually exits 0.
  • It works with any language. A recognized runner (pytest, jest, vitest, go test, cargo test, dotnet test, make check, and more) is classified automatically. Any other command is still captured, and you mark it a check with --verify.
  • end derives the report from those events: the red-to-green window, the reproduce and verify commands, a timeline, the observed error, and the failed attempts. Empty sections are omitted.
  • Secrets are redacted before anything is written to disk. Redaction is best effort; --no-redact opts out for a single command.

Full command reference and the complete recognized-runner list: docs/COMMANDS.md. Security model and redaction details: SECURITY.md.

Post a report straight to a pull request (GitHub CLI optional):

debugbrief end --stdout | gh pr comment --body-file -

Commands

The five you use most:

Command What it does
start "<title>" Start a session
note <text> Record an observation
run -- <command> Run and capture a command
redo Re-run the last captured command
end [--mode pr|handoff|incident] Finalize and write a report (default pr)

The rest:

Command What it does
init Set up the project and show the workflow
status Show the active session
preview [--mode ...] Print the report without ending the session
cancel [--yes] Discard the active session, no report
doctor [--fix] Health-check the project and state
recover Repair a broken session pointer after a crash
last Show the most recent report path
open Open the most recent report
list List recorded sessions
show <id> Show a recorded session

Full flags and behavior for each: docs/COMMANDS.md.

Dependencies

DebugBrief uses the Python standard library and native git. On Python 3.11 and newer it needs nothing else. On Python 3.9 and 3.10 it uses the small tomli package to read an optional .debugbrief.toml. DebugBrief itself makes no network requests, uses no AI, and collects no telemetry.

Supported platforms

Linux and macOS are tested in CI across Python 3.9 through 3.14. Other Unix-like systems may work but are not currently tested. Native Windows and PowerShell are not supported.

Limitations

  • Capture is explicit through debugbrief run. Output streams live while a bounded preview is stored for the report, so there is no full transcript.
  • Full-screen TUIs (a vim session, htop) are not meaningfully captured. Run those directly and record the outcome with note.
  • Redaction is conservative and best effort; it does not catch every secret.
  • Git sections need native git; outside a repository they are omitted.

Development

pip install -e ".[dev]"
pytest

See CONTRIBUTING.md for the full setup and contribution guidelines.

License

MIT. See LICENSE.