Idea: LIST/GLOB — enumerate guest files without shelling out
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start by reading the existing message set and follow-up issue #72 before deciding whether this belongs in a new RPC or an optional surface. The work would include the proto, guest implementation, and an e2e test; done means single-directory listing supports optional globbing, deterministic name ordering, pagination, and the specified file metadata.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
There is no primitive for directory enumeration on the guest filesystem. Clients that need to discover files must either exec a shell (ls/find), which couples clients to guest shell semantics and bypasses structured errors and accounting, or maintain client-side ledgers that drift from actual filesystem state.
Follow-up from #72: append makes segmented, append-only logs viable inside guests; enumeration is the complementary half of that workload. Our concrete case: agents write rotating segment files (seg.0.jsonl, seg.1.jsonl, …), and a host-side poller needs to enumerate segments it hasn't read. This generalizes to checkpoint discovery, temp-file cleanup passes, and any "what exists in this directory" query.
Proposal
Additive RPC (or an optional surface on the existing message set), single-directory scope for v1:
message ListFilesRequest {
string path = 1; // directory to list
string pattern = 2; // optional glob, e.g. "seg.*.jsonl"
int32 limit = 3; // page size
string page_token = 4;
}
message ListFilesResponse {
repeated FileEntry entries = 1;
string next_page_token = 2;
}
message FileEntry {
string name = 1;
int64 size = 2;
google.protobuf.Timestamp modified = 3;
uint32 mode = 4;
}
- Deterministic ordering: entries sorted by name.
- Pagination (
limit/page_token) keeps large directories bounded. - Out of scope for v1: recursive walks; streaming/watch semantics — the fuller long-term answer for tailing workloads, but a substantially larger surface, worth discussing separately.
Alternatives considered
- Exec
find/lsin the guest — rejected: shell coupling, unstructured output and errors, no accounting. - Client-side segment ledgers — rejected: duplicate directory state, drifts from the filesystem, and must be reimplemented in every client.
ReadFileon directories — not meaningful under current read semantics; would overload the read path.
If this fits the project's direction, I'm glad to draft the PR — proto + guest implementation + e2e test, same shape as #72.
- Lenguaje dominante
- Go
- Estrellas
- 71
- Forks
- 17
- Merge medio
- 21 h 36 min
- PR fusionados (30 d)
- 19
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de agent-substrate/env
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
agent-substrate/env#123 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
agent-substrate/env#121 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
agent-substrate/env#119 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
agent-substrate/env#118 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 57/100
agent-substrate/env#117 ·
Los mantenedores suelen responder en 1 día
Todos los issues de agent-substrate/env
Issues similares
-
WriterSetTimes: the UTIME_NOW check fails when the kernel uses its coarse clockPosiblemente ocupada @JakeChampion la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
JakeChampion/lang#14224 ·
Los mantenedores suelen responder en 1 día
-
docs(reference): pi stream-filter bullet says tool_execution_update passes through unchangedAbiertoagent-butler-finding bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
jordansmall/spindrift#6391 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
SAP/crossplane-provider-btp#1175 ·
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
adk: stream concatenation errors bypass retry and failoverPosiblemente ocupada @OUAO-FRANK la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día