Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion planning/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ under five minutes.
| [audit.md](audit.md) | Snapshot of the codebase: what's built, what's tested, what's drifted from docs, what's stubbed |
| [roadmap.md](roadmap.md) | Strategic shaping — themes, v0.3 / v0.4 release framing, design-pending items |
| [backlog.md](backlog.md) | Prioritised tickets (NUG-001…NUG-014) with acceptance criteria, effort, P-priority, labels |
| [next-sprint.md](next-sprint.md) | The 4 highest-priority tickets (NUG-001, 002, 003, 010), fully scoped for immediate pickup — the v0.3 sprint plan |
| [next-sprint.md](next-sprint.md) | The 4 highest-priority tickets (NUG-008, 011, 009, 004), fully scoped for immediate pickup — the v0.4 sprint plan |
| [sprint-v0.3.md](sprint-v0.3.md) | Archived v0.3 sprint plan (NUG-001, 002, 003, 010) |
| [issue-1.md](issue-1.md) | Standalone issue: `filebrowser` `cat` op only takes a single path — model must fan out to N tool calls to read N files, which burns the 16-iteration loop budget and looks like flakiness |

## How the IDs map to ROADMAP.md
Expand All @@ -37,6 +38,8 @@ under five minutes.
| NUG-013 | #17 | Bench: flakiness report |
| NUG-014 | #15 | Semantic search over memory + sessions |

| NUG-015 | — | `filebrowser cat` multi-path support |

Items #4 (full hooks framework), #6 (MCP), #12–14 (agent configs / skills /
subagents) are not ticketed yet — they need a design-doc round before they
can be sliced into actionable work. See [roadmap.md](roadmap.md) for the
Expand Down
31 changes: 31 additions & 0 deletions planning/backlog.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,37 @@ Vector index over `memory.db` rows and session message bodies. Surfaced as a new

---

## Tool ergonomics (parallel track)

### NUG-015 · `filebrowser cat` multi-path support · P2 · S · feature
**Roadmap #:** —
**Promoted from:** `planning/issue-1.md`

Today `filebrowser`'s `cat` op takes a single `path: string`. Reading N files
requires N separate tool calls, burning the 16-iteration loop budget and
producing apparent flakiness when the model drops to partial reads.

**Acceptance criteria:**
- `cat` with `path: "a.txt"` returns the existing `{path, content, size}`
shape (back-compat).
- `cat` with `path: ["a.txt", "b.txt"]` returns
`{results: {"a.txt": {content, size}, "b.txt": {content, size}}}` with
per-file errors slotted under their key as `{"error": "..."}`.
- Schema's `path` field description updated to document both forms.
- Total response capped at a configurable byte budget (default 256 KiB)
with truncation marked per-file; prevents one large file from blowing
the context window.
- Tests in `tests/tools/test_filebrowser.py` covering: single-string
back-compat, list of two existing files, list with one missing file,
list exceeding byte budget.

**Files likely touched:** `src/nugget/tools/filebrowser.py`,
`tests/tools/test_filebrowser.py`.

**Out of scope:** glob expansion (`*.py`), streaming or chunked reads.

---

## Bench enhancements (parallel track)

### NUG-012 · Bench: prompt-variant sweeping · P3 · M · feature
Expand Down
Loading