Pinnable dev host slot for child CI — versioned host bundle URLs or a first-class local-host runner
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
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Start with ADR 0034 and the referenced issues #531, #579, #609, and #610 to understand the pinning and manifest-slot decisions. Then trace the dev:ssr host resolution in everything-dev and compare the two proposed approaches: versioned host bundle URLs or a local-host runner. Done means a design is recorded in an ADR and child CI continues testing the pinned host version across parent redeploys.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
Split out of #531 (closed today) — the evidence review showed the reported 403 mechanism was never a host-injection defect; the amplifier was this design gap, which remains unimplemented:
A child's dev:ssr stack composes the parent's production host from the CDN's "current" slot — overwritten on every parent deploy:
[Config] Could not load local target for \"app.host\", using production
→ https://cdn.everything.dev/bundles/dev.everything.near/everything.dev/host/
- The CDN serves only "current" root files; `versions/*.json` entries are metadata, not addressable bundles.
- The child's `platform` pin does not control the dev host slot (per #531's evidence: the child pinned rc.17 while the host slot had moved).
- Children have no `host` workspace, so `host: { development: "local:…" }` is not an option.
Consequence: child dev:ssr CI breaks whenever the parent redeploys, for reasons invisible in the child's diff. The Oct 20–24 incident (#531) is the case study — the child's suite went red against a parent deploy it could neither see nor pin, then stayed red through three child upgrades before the mitigations landed.
Ask
Per ADR 0034 ("one pin, everything derives"), either:
- Versioned host bundle URLs — serve host bundles at addressable per-release paths, with the child dev stack resolving `app.host` from its pinned platform release manifest; or
- A first-class local-host runner in everything-dev, so `host: { development: "local:…" }` works for children without a host workspace.
Either makes a child's dev:ssr suite test the host version its platform pin names instead of whatever the parent deployed most recently. #531's mitigations (skew gates, #580) closed the observed failure modes; this closes the recurrence class.
Acceptance
- A child dev:ssr stack composes the host version its platform pin names (slot-addressed or local runner).
- A parent redeploy between two child CI runs cannot change what the child's dev stack tests against.
- The design decision is recorded in an ADR amendment (ADR 0034 or a new ADR), covering how the dev host slot interacts with the release-scoped manifest slots (#609/#610).
Relations
- Split from #531 (evidence + timeline there).
- Unblocks #579's gating half to hold: children can't have stable regression gating while their dev host floats.
- Builds on: #609/#610 (immutable manifest slots, slot-first pin resolution).
- Lenguaje dominante
- TypeScript
- Estrellas
- 5
- Forks
- 3
- Merge medio
- 9 h 37 min
- PR fusionados (30 d)
- 157
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 NEARBuilders/everything-dev
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
NEARBuilders/everything-dev#628 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NEARBuilders/everything-dev#400 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NEARBuilders/everything-dev#664 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 1-2 días Aptitud para principiantes 52/100
NEARBuilders/everything-dev#663 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NEARBuilders/everything-dev#661 ·
Los mantenedores suelen responder en 1 día
Todos los issues de NEARBuilders/everything-dev
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:web p3
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Lets-Parley/Parley#912 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
wealthfolio/wealthfolio#2376 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
be-BOP-io-SA/be-BOP#2817 ·
Los mantenedores suelen responder en 5 días
-
documentation good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
sno-ai/sno-station#149 · 1 comentario ·
Los mantenedores suelen responder en 1 día