Skip to content

Commit 6060adb

Browse files
author
Alex J Lennon
committed
docs: backend goal clarity, scaffold module notes, CONTRIBUTING parity
- README: TCP stub model + backend_type reserved for #9; roadmap #10/#11 closed - breakpoints/state/ui: document scaffold status (not wired into proxy) - CONTRIBUTING: align issue-tracking section with README Current vs roadmap Made-with: Cursor
1 parent bbbe4b5 commit 6060adb

5 files changed

Lines changed: 19 additions & 5 deletions

File tree

CONTRIBUTING.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,13 @@ RUN_E2E_ZEPHYR_NATIVE=1 ./scripts/validate_local.sh
107107

108108
Work is tracked in [GitHub issues](https://github.com/DynamicDevices/rsgdb/issues). **Blocked-by** dependencies define order (e.g. Part A **#1#3**; **#2** can run in parallel). Close an issue from a PR with `Closes #N` when it is fully done.
109109

110-
**Status (short):** Part A (**#1#3**), session recording (**#4**), SVD baseline (**#5**), breakpoint/semihosting spike (**#6**), flash orchestration (**#7**), RTOS decode/log (**#8**) are **closed**. **Phase A/B** (RSP matrix + proxy tests, gdbinit, backend thread reply logging) are in-tree; see README. **CI:** main workflow (**CI**) + optional **Zephyr E2E** (`native_sim`, debug `rsgdb`, west venv + `pyelftools`) — both green on `main`.
110+
**Foundation (closed issues):** Part A (**#1#3**), session recording (**#4**), SVD baseline (**#5**), breakpoint/semihosting spike (**#6**), flash (**#7**), RTOS decode/log (**#8**). **Phase A/B** in-tree: RSP matrix + proxy tests, gdbinit example, `rsgdb::rtos` decode logs — see README **Key Features**.
111111

112-
**Next roadmap focus (open):** [#9](https://github.com/DynamicDevices/rsgdb/issues/9) native probe / backend beyond TCP. **In-tree:** session replay ([#10](https://github.com/DynamicDevices/rsgdb/issues/10)`rsgdb replay`), SVD field + enum labels in memory annotations ([#11](https://github.com/DynamicDevices/rsgdb/issues/11) — baseline; correlation with recordings may remain on the issue).
112+
**Current capabilities (same as README “Current”):** RSP codec + TCP proxy, `tracing` logging, TOML/env config, JSONL **record** + **`rsgdb replay`**, SVD register/field/enum-name memory annotations, `rsgdb flash`, RTOS packet summaries, CI + optional GDB/Zephyr E2E scripts.
113+
114+
**Roadmap — open:** [#9](https://github.com/DynamicDevices/rsgdb/issues/9) native / non-TCP backend beyond `connect_tcp_backend`. **Optional follow-ups:** SVD value decode + recording correlation (see [#11](https://github.com/DynamicDevices/rsgdb/issues/11) history); TUI, logging export, proxy-side breakpoint management — open an issue before large changes.
115+
116+
**CI:** Workflow **CI** + optional **Zephyr E2E** — green on `main` (see workflow files).
113117

114118
**CI jobs (overview):** Workflow **CI**: `test` (matrix), `fmt`, `clippy`, `docs`, `e2e-gdb-smoke`, `coverage`, `build` (artifacts; upload may use `continue-on-error` for transient infra). Workflow **Zephyr E2E**: west + SDK + `scripts/e2e_zephyr_native_sim.sh` (path / schedule / `workflow_dispatch`).
115119

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ A Rust GDB **RSP proxy** with structured logging, optional CMSIS-SVD memory labe
1515
- **Advanced Breakpoint Management** (roadmap): Named breakpoints, conditional expressions, and hardware/software optimization — config and parsing exist; the proxy today **forwards** breakpoint RSP unchanged
1616
- **State Inspection** (partial today): Peripheral/register **labels** for memory traffic via CMSIS-SVD in logs; snapshots / deep state are not implemented yet
1717
- **Session Management**: JSONL **recording** and **`rsgdb replay`** mock-backend playback (see below)
18-
- **Backend Flexibility**: Support for multiple debug probes (probe-rs, OpenOCD, pyOCD)
18+
- **Backend Flexibility** (today): The proxy speaks **TCP** to whatever GDB stub you run (OpenOCD, probe-rs GDB port, `gdbserver`, …). `[backend].backend_type` / `--backend` is reserved for **future** native integration ([#9](https://github.com/DynamicDevices/rsgdb/issues/9)); it does not select a transport yet.
1919
- **Modern Architecture**: Built with Rust for safety, performance, and reliability
2020

2121
## ✨ Key Features
@@ -294,8 +294,8 @@ Source of truth for ordering and scope: **[GitHub Issues](https://github.com/Dyn
294294
|------------------|---------------|-------|
295295
| **Foundation + proxy** | RSP codec, TCP proxy, config, logging, CI (incl. GDB + Zephyr E2E), session record (JSONL), SVD labels, flash orchestration, RTOS decode/log | Closed: [#1#8](https://github.com/DynamicDevices/rsgdb/issues?q=is%3Aissue+is%3Aclosed) |
296296
| **Next: native backend** | Probe-facing backend beyond TCP to a stub (see `backends::connect_tcp_backend`) | [#9](https://github.com/DynamicDevices/rsgdb/issues/9) (open) |
297-
| **Replay** | `rsgdb replay` + mock TCP backend from `.jsonl` | [#10](https://github.com/DynamicDevices/rsgdb/issues/10) (implemented; close when shipped) |
298-
| **Richer SVD** | Overlapping fields + enum variant names in annotations; value decode / recording correlation follow-ups | [#11](https://github.com/DynamicDevices/rsgdb/issues/11) (baseline in-tree) |
297+
| **Replay** | `rsgdb replay` + mock TCP backend from `.jsonl` | [#10](https://github.com/DynamicDevices/rsgdb/issues/10) (closed) |
298+
| **Richer SVD** | Overlapping fields + enum variant names in annotations; value decode / recording correlation follow-ups | [#11](https://github.com/DynamicDevices/rsgdb/issues/11) (baseline closed; follow-ups optional) |
299299

300300
Older versioned bullets (v0.2–v0.4) below are **aspirational**; issue titles supersede them.
301301

src/breakpoints/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
//!
33
//! Advanced breakpoint management with support for named, conditional,
44
//! and grouped breakpoints.
5+
//!
6+
//! **Status — scaffold:** types and config exist; the TCP proxy does not run a breakpoint
7+
//! manager on the wire yet (RSP `Z`/`z` packets are forwarded unchanged). Safe to ignore unless
8+
//! you are extending this API.
59
610
/// Breakpoint type
711
#[derive(Debug, Clone, PartialEq)]

src/state/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
//! State module
22
//!
33
//! State tracking and inspection for debugging sessions.
4+
//!
5+
//! **Status — scaffold:** not wired into the proxy; placeholder enum for future session/target
6+
//! state. Safe to ignore unless you are extending this API.
47
58
/// Represents the target state
69
#[derive(Debug, Clone, PartialEq)]

src/ui/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
//! UI module
22
//!
33
//! User interface implementations (TUI, web).
4+
//!
5+
//! **Status — scaffold:** `UiConfig`-style placeholders only; no TUI/web server in the binary yet.
6+
//! Safe to ignore unless you are extending this API.
47
58
/// UI configuration
69
#[derive(Debug, Clone)]

0 commit comments

Comments
 (0)