Skip to content

docs(post-v1): design notes for #20/#22/#24 (deferred items)#15

Merged
zachgenius merged 1 commit into
masterfrom
docs/post-v1-deferred-notes
May 12, 2026
Merged

docs(post-v1): design notes for #20/#22/#24 (deferred items)#15
zachgenius merged 1 commit into
masterfrom
docs/post-v1-deferred-notes

Conversation

@zachgenius

Copy link
Copy Markdown
Owner

Summary

Three design notes for post-V1 plan items in v1.6's "specialized / opt-in / defer based on real user pull" bucket (docs/17-version-plan.md). Documentation only — no code, no tests touched.

The intent is to pre-pay the design surface so that if/when a concrete user demand signal arrives, the next contributor has phase-1 scope, dependencies, and a failure matrix already mapped out — not to commit us to building any of these.

  • docs/31-own-ptrace.md (Field-report follow-ups: target.open lazy load + §1 CLI + §2 socket daemon + §6 chained-fixups phases 1-3 #20) — Own Linux ptrace driver. Defer while LLDB's NativeProcessLinux is sufficient. Triggers: specific kernel features LLDB doesn't expose (PTRACE_GET_SYSCALL_INFO, seccomp-aware tracing, io_uring observability, pidfd) and measurable performance gaps (per-thread throughput, displaced-step latency, wakeup batching). Phase-1 shape: LinuxPtraceBackend slotted under DebuggerBackend alongside LldbBackend/GdbMiBackend; signalfd + waitpid loop; libunwind for DWARF unwinding.

  • docs/32-hardware-tracing.md (#22) — Intel PT / ARM ETM. Defer; phase-0 (perf script shell-out) is cheap if any user asks. Phase-1 is ~10–12 weeks for x86_64 PT alone. Shape: extend perf.record with intel_pt// events; new trace.decode endpoint with three projections (instructions/calls/summary). Gates behind LDB_ENABLE_HARDWARE_TRACING.

  • docs/33-criu.md (#24) — criu snapshot / fork. Defer indefinitely; build only on concrete demand. Brutal compatibility matrix (eBPF, io_uring, GPU contexts all hard-break). Two user stories that would justify: parallel-hypothesis investigation via session.criu_fork, periodic checkpoints as "poor man's rr." Pre-flight scan (/proc/<pid>/fdinfo + /proc/<pid>/maps) is the load-bearing piece. Gates behind LDB_ENABLE_CRIU.

Format matches docs/23 through docs/30: TL;DR, numbered sections, failure-matrix tables, cross-references. Each note leads with "why deferred" and ends with "recommendation: defer" — these are deferred-design notes, not active plans.

Test plan

  • No code touched; no tests required.
  • docs/15-post-v1-plan.md and docs/17-version-plan.md cross-references resolve.
  • WORKLOG entry present at top of docs/WORKLOG.md.

🤖 Generated with Claude Code

The three "specialized / opt-in / defer based on real user pull"
items from docs/17-version-plan.md's v1.6 bucket now have design
notes so the gates for future implementation are pre-paid. Each
note documents why deferred, what concrete triggering signals
would justify reconsideration, the phase-1 integration shape
when triggered, dependencies, and an anticipated failure matrix.

- docs/31-own-ptrace.md (#20 own Linux ptrace driver): defer
  while LLDB's NativeProcessLinux is sufficient; triggers are
  PTRACE_GET_SYSCALL_INFO / seccomp-aware tracing / io_uring
  observability gaps and measurable per-thread throughput gaps.
- docs/32-hardware-tracing.md (#22 Intel PT / ARM ETM): defer;
  phase-0 (perf script shell-out) is cheap, phase-1 (in-process
  libipt decode) is ~10-12 weeks. Gates behind
  LDB_ENABLE_HARDWARE_TRACING.
- docs/33-criu.md (#24 criu snapshot / fork): defer; brutal
  compatibility matrix (eBPF, io_uring, GPU contexts all break
  dump) makes the audience narrow. Pre-flight check is the
  load-bearing piece. Gates behind LDB_ENABLE_CRIU.

No code touched; no tests run. WORKLOG entry summarizes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zachgenius zachgenius merged commit 086c175 into master May 12, 2026
4 checks passed
@zachgenius zachgenius deleted the docs/post-v1-deferred-notes branch May 12, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant