Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Pinnable dev host slot for child CI — versioned host bundle URLs or a first-class local-host runner

オープン
#613 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
typescript
領域
ci-cd, devtools

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

enhancement ready-for-agent

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:

  1. 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
  2. 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).
主要言語
TypeScript
スター
5
フォーク
3
平均マージ
9時間 50分
マージ済み PR(30日)
146

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

NEARBuilders/everything-dev のほかの issue

NEARBuilders/everything-dev の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。