Roadmap
P1 backlog for backtrader-skills. Status and current-limit statements are sourced from the
README "Security and current limits" section, IMPLEMENTATION_REPORT.md "Honest P0 limits",
and the CI workflow definitions — nothing here is speculative.
| Item | Status | Current limit (sourced) | Rough plan |
|---|---|---|---|
| Container / network-namespace sandbox for execution | Not started | README: "python -I child isolation is not a complete OS sandbox. P0 has no network namespace, container, seccomp, or resource cgroup." IMPLEMENTATION_REPORT: "Child-process isolation plus AST/path/import gates is not a complete OS sandbox. There is no container, network namespace, seccomp, or cgroup." |
Wrap runonce/runnext child execution in a container or network namespace with seccomp and resource limits; keep the existing python -I path as fallback; record sandbox metadata in run evidence; gate with acceptance tests. |
| HTML report rendering | Not started | IMPLEMENTATION_REPORT: "JSON and Markdown reports are implemented. HTML rendering and container execution remain P1." | Add an HTML renderer alongside the JSON/Markdown writers in reports.py; emit self-contained HTML for validation and run reports; keep JSON as the canonical machine format. |
| Per-target CLI serialization (general same-target concurrency) | Not started | README: "General concurrent CLI invocations against the same --target remain unsupported. State files outside approval tokens are not globally serialized; run one command at a time per target." |
Generalize the per-token filelock pattern from iteration 19 into a per-target lock covering all state writes; keep approval-token semantics unchanged; add a concurrency test proving cross-command serialization. |
| OpenClaw live discovery verification | Partially verified (static tests pass; live discovery unchecked) | README: "OpenClaw was not installed in the environment used for the current acceptance snapshot. Its layout, metadata, forwarders, conflict handling, and protected uninstall are statically tested; live discovery must remain unchecked until an installed OpenClaw agent completes the smoke above." IMPLEMENTATION_REPORT: "Tests verify four native host layouts and skill metadata; actual client UI discovery needs the corresponding host binary and is not simulated." | Install OpenClaw, register a workspace, run the read-only first-request smoke, and retain the transcript as discovery evidence under evidence/. |
| Windows CI | Not started | Both workflows run on ubuntu-latest only (.github/workflows/ci.yml, .github/workflows/acceptance.yml); no Windows runner job exists. |
Add a Windows job to the CI matrix (quality job first, then the test matrix); audit path handling, python -I subprocess behavior, and filelock semantics for Windows. |
| Embedding-based catalog search | Not started | IMPLEMENTATION_REPORT: "The catalog snapshot is complete metadata with deterministic lexical search. It does not bundle all corpus source or provide embedding search." | Add an embedding index over the shipped catalog metadata with a similarity-search catalog command; keep deterministic lexical search as the default and keep the CLI offline. |