You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: BACKLOG.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -344,7 +344,7 @@ Canonical location for the paired skills is `~/GitHub/routeros-skills/` (symlink
344
344
345
345
**Open CLI/UX work:**
346
346
347
-
-[ ][P3]**`quickchr cp <name> <src> <dst>` — file transfer on the CLI.**`ChrInstance.upload()`/`download()` exist (SCP via resolved creds), but there's **no CLI command** for them. Surfaced by the 2026-06-26 examples rework: `examples/file-transfer/` is library-only, and `examples/version-matrix/`'s CLI/Python driver can't upload the sample config (so it compares default exports only). A thin `cp`/`push`/`pull` wrapping the existing SCP plumbing (`src/lib/scp.ts`) would close both gaps and let those examples ship a real `.sh`/`.py` transfer path instead of a "no CLI" note. Direction: `quickchr cp <name>:<remote> <local>` and `quickchr cp <local> <name>:<remote>` (scp-style), or explicit `push`/`pull`.
347
+
-[ ][P3]**`quickchr cp <name> <src> <dst>` — file transfer on the CLI**([#23](https://github.com/tikoci/quickchr/issues/23)). `ChrInstance.upload()`/`download()` exist (SCP via resolved creds), but there's **no CLI command** for them. Surfaced by the 2026-06-26 examples rework: `examples/file-transfer/` is library-only, and `examples/version-matrix/`'s CLI/Python driver can't upload the sample config (so it compares default exports only). A thin `cp`/`push`/`pull` wrapping the existing SCP plumbing (`src/lib/scp.ts`) would close both gaps and let those examples ship a real `.sh`/`.py` transfer path instead of a "no CLI" note. Direction: `quickchr cp <name>:<remote> <local>` and `quickchr cp <local> <name>:<remote>` (scp-style), or explicit `push`/`pull`. **Related:** no `quickchr install <name> <pkg>` for a *running* machine ([#24](https://github.com/tikoci/quickchr/issues/24)) — the library has `installPackage()`, the CLI only installs at first boot via `--add-package`.
348
348
-[x][P1]**`--forward <name>:<host>:<guest>[/tcp|udp]` on `quickchr add`** — Surface `extraPorts` as a repeatable CLI flag. Today forwarding a guest service (SMB/445, Dude/2210) requires constructing the full `extraPorts` array in code. External agent (2026-04-22 tikoci/donny session) had to grep `types.ts` before knowing how to expose SMB. Pairs with the well-known guest-port registry (see library section).
349
349
-[ ][P1]**User-settings framework (narrow scope)** — Framework for settings not tied to a specific machine: wizard defaults, cache size cap, default timeout scale, auth preferences (always-license-at-P1, never-license, etc.). **Out of scope:** post-provisioning machine-config mutations (that was the `set` confusion). Ship with ~5 concrete settings; grow only when a real user-facing choice appears. Don't build a general settings system first.
350
350
-[ ][P2]**`--via=auto` smart routing** — Order: **REST → SSH → QGA (if KVM) → console**. SSH second because it's well-tested on RouterOS and works when REST can't. QGA is least-tested and gated on KVM (RouterOS may require `/dev/kvm` — see QGA investigation below); arm64+KVM is untested on our hardware but believed to work. Depends on SSH transport landing first.
@@ -430,7 +430,7 @@ See `docs/networking.md` for platform internals. Priority: macOS (local) & Linux
430
430
**Rootless topologies (examples):**
431
431
Multi-CHR topologies with `user` + `socket` (rootless, CI-friendly). RouterOS tunneling (VXLAN, PPPoE, GRE, IPSec, VRRP over shared/bridged) documented in MANUAL.md. Examples below.
432
432
433
-
-[ ][P3]**`rootless-l2` / `socket-lan` example — needs a 1-page design first.** Two CHRs linked by a named `socket::<name>` L2 segment (rootless), IP each side, ping across to prove inter-router L2. Deferred from the 2026-06-26 examples rework (the other five new examples shipped). **Do the topology sketch before coding** (per the scope-boundary principle): which CHR listens vs connects for `socket::`, IP plan, what's asserted, expected boot/wall time for 2 parallel CHRs. Then it becomes a normal `examples/rootless-l2/` (`.ts`+`.sh`+`.ps1`+README) closing the `socket::<name>` row in `examples/COVERAGE.md`.
433
+
-[ ][P3]**`rootless-l2` / `socket-lan` example — needs a 1-page design first** ([#25](https://github.com/tikoci/quickchr/issues/25)). Two CHRs linked by a named `socket::<name>` L2 segment (rootless), IP each side, ping across to prove inter-router L2. Deferred from the 2026-06-26 examples rework (the other five new examples shipped). **Do the topology sketch before coding** (per the scope-boundary principle): which CHR listens vs connects for `socket::`, IP plan, what's asserted, expected boot/wall time for 2 parallel CHRs. Then it becomes a normal `examples/rootless-l2/` (`.ts`+`.sh`+`.ps1`+README) closing the `socket::<name>` row in `examples/COVERAGE.md`.
0 commit comments