next-id: optional reservation so concurrent callers do not receive the same id
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
Línea de trabajo
Start by locating the next-id command and MCP next_id entry points, then read how IDs are currently selected and written. The proposal also calls for a reservation sidecar and validate reporting, so check those entry points before scoping the change. Done means concurrent reserve calls return distinct IDs and a reserved ID is not offered again until release or expiry.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
next-id <prefix> prints the next free id, but nothing records that it was handed out. Two scripts, CI jobs or LLM clients that call it before either has written its element get the same id and collide on write.
Proposal
next-id <prefix> --reserve [--count N] [--by <who>]: atomically allocate the next N ids and record them in a small sidecar (e.g..syscribe/reserved-ids.json, with owner and timestamp), so laternext-idcalls skip them.- Reservations are released when the element exists, or by
next-id --release <id>, or expire after a configurable time. - Writes use an exclusive file lock; MCP
next_idgets areserveargument. validatereports a reservation that has no element after the expiry (info level).
Acceptance
- Two concurrent
next-id --reserveruns never return the same id. - A reserved id is not offered again until released or expired.
- Lenguaje dominante
- Rust
- Estrellas
- 8
- Forks
- 1
- Merge medio
- 4 h 44 min
- PR fusionados (30 d)
- 51
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 sjames/syscribe
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
sjames/syscribe#411 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Format-preserving writes for structural frontmatter (features, connections, layout, shapes, edges)Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
sjames/syscribe#405 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de sjames/syscribe
Issues similares
-
ci javascript tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
jonathanong/no-mistakes#3258 ·
Los mantenedores suelen responder en 1 día
-
area: cpu-engines area: fuzzer good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 91/100
hffgzktbcc-blip/ounce-core#402 ·
Los mantenedores suelen responder en 1 día
-
compiler
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
HerringtonDarkholme/hd-lang#1699 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
swc-project/swc-ai-issues#432 ·
-
SPLADE `/embed_sparse` output depends on the other inputs in the batch (candle BertModel / DistilBertModel)Posiblemente ocupada @0z5a la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
huggingface/text-embeddings-inference#979 ·
Los mantenedores suelen responder en 1 día