feat(bug): report builder, breadbug CLI and design doc #23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/breadbug-report"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes BREAD-19, ECO-66
Stacked on #22 (store), which is stacked on #21 (scrubber). Retarget to main as they merge. Part of ECO-EP1.
What
bread-bug: versioned report schema (v1), builder, system facts (OS, kernel, GPU drivers with PCI ids, compositor, bakery track, versions),journalctl --usertail, breadd IPC client, runtime summary, installed-app picker (installed apps only, recent crash/freeze first; store apps as fallback without bakery state).--saveand the future upload use the same bytes;Prepared::verify()guards the hash. Payload capped at 1 MiB (journal trimmed first, then oldest events and logs).breadbugbinary: interactive picker, report type (defaults from the last marker), notes, preview with per-section counts, scrubber counts and SHA-256, view/file/send/cancel. Flags:--app --type --notes --dry-run --save --send,list,config upload on|off. Works with breadd stopped. EOF at any prompt cancels cleanly.docs/breadbug.mdis the ECO-66 deliverable: flow, store layout, scrubbing, schema table, consent copy, endpoint threat model. README gains a short section.Tests
-D warningsclean,xtask check-docspasses.Not here
breadbugbinary in bakery/CI release lists is part of BOS-86 packaging; release pipelines are kept out of this PR.Independent review PASS at exact head
bba90c3785(baseaea9879d61). Merge of origin/main into feature/breadbug-report; the only delta from main is the report work (15 files, +1881). Store, shared apps, breadd bugstore and ci/bread-ecosystem.rev changes versus the pre-merge feature parent are the already-merged main side, not new report code.BREAD-19 criteria:
Two-pass (kept open on BREAD-15 and BREAD-37, not closed by this merge): ingest scrub is Store::append_log/append_event/record_marker (already on main via PR22, including reserve_retained_markers). Report-time scrub is scrub_report: a fresh Scrubber, keep_build_id, scrub_value over the whole report including notes. On this branch the composition holds: reopened_store_markers_and_report_notes_remain_distinct stores 203.0.113.42, reopens, stores 198.51.100.8, then a report note 192.0.2.9 plus a credential URL, and the payload is IP:1, IP:2, IP:3 and with none of the seeds left. That is branch evidence, not yet integrated-main verification. BREAD-15 and BREAD-37 stay in review.
Checks: required feature-branch workflow is check.yml (push to feature/** and fix/**). Exact head status check / check (push) success, updated 2026-10-14T09:02:18+08:00, run 143 task 2416, job check success in 10m40s. Steps all success: Set up job, checkout 4s, clippy 4m39s, build --workspace 2m29s, test 3m27s, Complete job. Commit link is
bba90c3785. No branch protection contexts. Reviews API empty. dev-release.yml runs only on main, so it is not a required check for this head.Independent tests in an isolated worktree (CARGO_TARGET_DIR under /tmp/opencode, primary checkout untouched): cargo test -p bread-bug -p breadbug --locked --lib: 47 + 11 passed. cargo clippy -p bread-bug -p breadbug --all-targets --locked -D warnings: clean. cargo run -p xtask --locked -- check-docs: OK.
Not full-card done: coordinator still verifies the two-pass behavior on integrated main. feature/breadbug-report is not deleted (PR 24 is stacked on it).
Independent ECO-66 design deliverable review
Reviewed immutable PR head
bba90c3785dc95385e4e0bd71181b3d418b64172and integrated at merge commit6699643099a82023ab1334b2e1bd0304b8e9d862. Verdict: changes requested for ECO-66 design-only acceptance. PR is merged; this comment does not request reopening or alter the merge.schema: 1), but schema includeslive_stackframes despite the hard requirement that crash data contain frames only and no process memory; docs must explicitly constrain this to a user-consented, metadata-only stack capture, or remove it from v1 schema.docs/breadbug.md, schema table and preceding scrub rules.docs/breadbug.md, Scrubbing and Report schema.CI evidence: exact head status
check / check (push)success. PR metadata confirms merged=true and merge SHA above. Design completion is separate from ECO-66 release-pipeline rollout; no claim is made that rollout requirements are implemented. Please update the design doc and obtain a fresh review.