Skip to content

Retire vNext transition vocabulary - #1198

Merged
sungjunlee merged 1 commit into
mainfrom
codex/relay-runtime-slimming
Aug 9, 2026
Merged

Retire vNext transition vocabulary#1198
sungjunlee merged 1 commit into
mainfrom
codex/relay-runtime-slimming

Conversation

@sungjunlee

@sungjunlee sungjunlee commented Aug 9, 2026

Copy link
Copy Markdown
Owner

What changed

  • made Relay runtime/run the canonical current vocabulary across installed skills, current docs, comments, and operator errors
  • removed the zero-consumer allowMissingVerificationForLegacyProjection option and run-preflight --manifest selector
  • replaced stale mutable-manifest capability text with immutable run.json, append-only facts, derived actions, and the sole recovery writer
  • reconciled the completed core-reset sprint and admitted the ordered slimming sprint under epic Epic: retire vNext transition residue and finish Relay runtime slimming #1197

Why

The reset runtime is now the only runtime. Keeping vNext as a current product concept and retaining dead transition selectors made the system look dual-path and obscured real deletion opportunities.

Impact

Runtime baseline decreases from 6,906 to 6,900 LOC and Relay test LOC from 14,848 to 14,838. Dated plans and ADRs remain historical evidence; test/ledger artifact names are intentionally deferred to #1196.

Verification

  • full serialized repository gate: 623 pass, 0 fail, 2 expected live-canary skips
  • ledger generate/check: pass
  • runtime inventory: pass
  • git diff --check: pass
  • independent review: LGTM after two P2 current-doc corrections

Fixes #1193
Parent epic: #1197

Summary by CodeRabbit

  • 변경 사항
    • 제품 및 실행 관련 명칭을 vNext에서 Relay로 통일했습니다.
    • Relay 실행 계약을 불변 실행 기록, 누적 사실, 파생 작업 중심으로 정리했습니다.
    • 레거시 매니페스트와 상태는 더 이상 읽거나 마이그레이션하지 않으며, 새 작업은 Relay 실행으로 시작합니다.
    • 실행 사전 점검에서 --manifest 옵션을 제거했습니다.
    • 검증 기록이 없을 경우 예외 없이 verification_missing 상태를 표시합니다.
    • 관련 운영 문서, 사용 안내, 테스트를 최신 Relay 기준으로 업데이트했습니다.

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

Relay를 유일한 현재 런타임으로 명시했습니다. manifest 기반 lifecycle 설명과 legacy 호환 경로를 제거했습니다. CLI, 검사 로직, capability 계약, 운영 문서 및 스프린트 기록을 Relay 기준으로 갱신했습니다.

Changes

Relay 런타임 리셋

Layer / File(s) Summary
불변 실행 계약과 lifecycle 정의
spec/capabilities.md, references/architecture.md, docs/README.md, docs/external-tool-workflow.md, docs/relay-lifecycle-manifest-design.md, docs/contracts/relay-runtime-inventory.v1.json
현재 계약을 immutable run.json, append-only facts, derived actions 및 단일 recovery writer 기준으로 갱신했습니다. Review와 merge는 고정된 Done Criteria와 정확한 SHA를 사용하도록 설명했습니다.
검사 및 preflight 경로 정리
skills/relay-dispatch/scripts/inspect.js, skills/relay-dispatch/scripts/facts.js, skills/relay/scripts/run-preflight.js, skills/relay/scripts/relay-status.js, skills/relay-merge/scripts/*, tests/relay-merge/scripts/gate-check.test.js, tests/relay/scripts/run-preflight.test.js
allowMissingVerificationForLegacyProjection--manifest를 제거했습니다. 검증 기록이 없으면 verification_missing을 반환합니다. 실행 선택은 run ID, branch, PR을 사용합니다.
Relay 명칭과 운영 문서 정리
CLAUDE.md, README.md, docs/*, references/*, skills/*, backlog/sprints/*
vNext 명칭을 Relay 명칭으로 교체했습니다. 런타임 LOC와 legacy 상태 설명을 갱신했습니다. 역사 문서는 현재 계약과 구분하도록 표시했습니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

  • #1197 — 동일한 #1193 계획에 따라 vNext 용어, 현재 Relay 계약 및 관련 문서 표면을 갱신합니다.

Possibly related PRs

Poem

Relay라 부르니 토끼가 깡충,
낡은 manifest는 조용히 퇴장.
run.json은 얼음처럼 굳고,
facts는 차곡차곡 쌓인다.
vNext 꼬리표도 안녕! 🐇

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning backlog/sprints/2026-08-relay-runtime-slimming.md의 새 슬리밍 계획은 연결 이슈의 용어 및 호환성 제거 범위를 벗어납니다. 새 슬리밍 계획을 별도 PR로 분리하거나 이 PR에서 제거하십시오.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Linked Issues check ❓ Inconclusive 주요 요구사항은 충족하지만 생성된 ledger 파일이 필터링되어 생성 artifact 갱신 여부는 확인할 수 없습니다. 제외된 tests/ledger/vnext-baseline.generated.json 및 tests/ledger/vnext-test-sites.generated.json의 생성 결과와 갱신 절차를 확인하십시오.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 vNext 전환 용어 제거라는 PR의 주요 변경을 정확히 요약합니다.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/relay-runtime-slimming

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sungjunlee

Copy link
Copy Markdown
Owner Author

CI note: the first run had one transient relay-ready concurrent-writer timeout (REQUEST_BUNDLE_INCOMPLETE); the same SHA passed the complete rerun. The stronger 20-pair stress case passed in both runs, and the local serialized full gate was 623 pass / 0 fail / 2 expected live-canary skips. No unrelated runtime change was added.

@sungjunlee
sungjunlee marked this pull request as ready for review August 9, 2026 10:57
@sungjunlee
sungjunlee merged commit 8f529ff into main Aug 9, 2026
17 of 19 checks passed
@sungjunlee
sungjunlee deleted the codex/relay-runtime-slimming branch August 9, 2026 11:06

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
tests/relay/scripts/run-preflight.test.js (1)

160-160: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

--manifest 폐기에 대한 회귀 테스트를 유지하세요.

Line 160의 테스트 삭제로 selector 제거 계약을 직접 검증하는 테스트가 사라집니다. skills/relay/scripts/run-preflight.js Line 50의 unknown-flag 경로가 --manifest에 대해 실패하는지 확인하는 대체 테스트를 추가하세요. 기대 오류는 unknown flags: --manifest와 비제로 종료 상태를 포함해야 합니다.

PR 목표의 run-preflight --manifest selector 제거와 변경 범위를 기준으로 판단했습니다.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/relay/scripts/run-preflight.test.js` at line 160, Restore regression
coverage for the removed --manifest selector by adding a test alongside the
run-preflight CLI tests that invokes the unknown-flag path and verifies
--manifest fails with the exact error “unknown flags: --manifest” and a non-zero
exit status. Keep the existing mutation audit-reason test unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@backlog/sprints/2026-07-relay-runtime-core-reset-vnext.md`:
- Line 3: Align the sprint completion status with the 4,000–6,000-line dispatch
runtime target in the sprint document. Update the Progress and completion
entries around the status, overall work, and runtime reset to either document
the revised baseline or exception using the current 6,050/6,900 LOC figures, or
remove the completed designation until the target is satisfied.

In `@skills/relay-merge/references/append-learnings.md`:
- Line 3: Update the documentation around append-learnings.js to remove the
misleading “Manifest/fleet owner object” wording. Describe the supported owner
input using the existing valid alias, without implying that finalize-run.js
reads or passes a legacy manifest; keep the documented post-merge flow
unchanged.

---

Nitpick comments:
In `@tests/relay/scripts/run-preflight.test.js`:
- Line 160: Restore regression coverage for the removed --manifest selector by
adding a test alongside the run-preflight CLI tests that invokes the
unknown-flag path and verifies --manifest fails with the exact error “unknown
flags: --manifest” and a non-zero exit status. Keep the existing mutation
audit-reason test unchanged.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9605ca8b-9bf5-434a-b5e3-4b022f076015

📥 Commits

Reviewing files that changed from the base of the PR and between d2bd3f3 and dce3729.

⛔ Files ignored due to path filters (2)
  • tests/ledger/vnext-baseline.generated.json is excluded by !**/*.generated.*
  • tests/ledger/vnext-test-sites.generated.json is excluded by !**/*.generated.*
📒 Files selected for processing (43)
  • CLAUDE.md
  • README.md
  • backlog/sprints/2026-07-relay-runtime-core-reset-vnext.md
  • backlog/sprints/2026-08-relay-runtime-slimming.md
  • docs/README.md
  • docs/contracts/relay-runtime-inventory.v1.json
  • docs/external-tool-workflow.md
  • docs/relay-lifecycle-manifest-design.md
  • docs/relay-operator-guide.md
  • docs/relay-ready-routing-and-handoff-design.md
  • docs/script-inventory-and-cleanup.md
  • references/architecture.md
  • references/install-graph.md
  • skills/relay-dispatch/references/recovery-playbook.md
  • skills/relay-dispatch/scripts/dispatch.js
  • skills/relay-dispatch/scripts/facts.js
  • skills/relay-dispatch/scripts/inspect.js
  • skills/relay-dispatch/scripts/recover.js
  • skills/relay-fleet/SKILL.md
  • skills/relay-fleet/references/design.md
  • skills/relay-fleet/references/sprint-to-leaves.md
  • skills/relay-fleet/scripts/relay-fleet.js
  • skills/relay-merge/SKILL.md
  • skills/relay-merge/references/append-learnings.md
  • skills/relay-merge/references/legacy-score-reports.md
  • skills/relay-merge/references/operator-emergencies.md
  • skills/relay-merge/scripts/finalize-run.js
  • skills/relay-merge/scripts/gate-check.js
  • skills/relay-merge/scripts/review-gate.js
  • skills/relay-plan/references/rubric-patterns.md
  • skills/relay-plan/references/rubric-simplification.md
  • skills/relay-plan/references/rubric-trust-model.md
  • skills/relay-review/SKILL.md
  • skills/relay-review/references/reviewer-prompt.md
  • skills/relay-review/references/runner-notes.md
  • skills/relay-review/scripts/review-runner.js
  • skills/relay/SKILL.md
  • skills/relay/references/preflight-guards.md
  • skills/relay/scripts/relay-status.js
  • skills/relay/scripts/run-preflight.js
  • spec/capabilities.md
  • tests/relay-merge/scripts/gate-check.test.js
  • tests/relay/scripts/run-preflight.test.js
💤 Files with no reviewable changes (1)
  • skills/relay-dispatch/scripts/inspect.js

---
milestone: relay-runtime-core-reset-vnext
status: active
status: completed

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

완료 상태를 수치 목표와 일치시키세요.

Line 3은 스프린트를 completed로 표시합니다. Line 38과 Line 97-98도 전체 작업과 런타임 리셋의 완료를 기록합니다. 그러나 Line 13의 완료 목표는 4,000–6,000-line dispatch runtime입니다. Line 96은 이미 6,050 LOC를 기록하고, 현재 CLAUDE.md Line 27과 README.md Line 75은 6,900 LOC를 기록합니다. 이 목표가 초기 추정치였다면 변경된 기준 또는 예외를 Progress에 기록하세요. 목표가 완료 조건이면 완료 표기를 수정하거나 수치를 충족해야 합니다.

Also applies to: 38-38, 97-98

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@backlog/sprints/2026-07-relay-runtime-core-reset-vnext.md` at line 3, Align
the sprint completion status with the 4,000–6,000-line dispatch runtime target
in the sprint document. Update the Progress and completion entries around the
status, overall work, and runtime reset to either document the revised baseline
or exception using the current 6,050/6,900 LOC figures, or remove the completed
designation until the target is satisfied.

# append-learnings.js — post-merge learning writer

`append-learnings.js` is an explicit post-merge project update. vNext `finalize-run.js` does not invoke it inside the merge transaction. Run it after finalize returns `status: merged`; it writes a one-line entry into the matching capability's `## Learnings` block in the target repo's `spec/capabilities.md`.
`append-learnings.js` is an explicit post-merge project update. Relay `finalize-run.js` does not invoke it inside the merge transaction. Run it after finalize returns `status: merged`; it writes a one-line entry into the matching capability's `## Learnings` block in the target repo's `spec/capabilities.md`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -HI -t f 'sprint-owner\.js' skills
rg -n -C 4 '\b[Mm]anifest\b|ownership|sprint-owner' \
  skills/relay-merge skills/relay-fleet skills/relay-dispatch

Repository: sungjunlee/dev-relay

Length of output: 50378


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the referenced documentation and scripts around ownership resolution
# without executing repository code.
for f in skills/relay-merge/references/append-learnings.md skills/relay-merge/scripts/sprint-owner.js skills/relay-merge/scripts/append-learnings.js; do
  echo "=== $f ==="
  wc -l "$f"
done

echo "=== append-learnings.md lines 9-15 ==="
sed -n '9,15p' skills/relay-merge/references/append-learnings.md

echo "=== sprint-owner.js lines 1-80, 118-170, 300-370 ==="
sed -n '1,80p' skills/relay-merge/scripts/sprint-owner.js
sed -n '118,170p' skills/relay-merge/scripts/sprint-owner.js
sed -n '300,370p' skills/relay-merge/scripts/sprint-owner.js

echo "=== append-learnings.js lines 350-530 ==="
sed -n '350,530p' skills/relay-merge/scripts/append-learnings.js

echo "=== relevant script usages of readManifestOwnership / resolveSprintOwner ==="
rg -n "readManifestOwnership|resolveSprintOwner|owner:" skills/relay-merge/scripts/sprint-owner.js skills/relay-merge/scripts/append-learnings.js

Repository: sungjunlee/dev-relay

Length of output: 9908


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== sprint-owner.js lines 360-435 ==="
sed -n '360,435p' skills/relay-merge/scripts/sprint-owner.js

echo "=== finalize-run.js append-learnings references ==="
rg -n -C 3 "append-learnings|sprint-owner" skills/relay-merge/scripts/finalize-run.js skills/relay-merge/references/sprint-to-leaves.md 2>/dev/null || true

echo "=== append-learnings.js parseArgs and resolveOwner call ==="
sed -n '240,345p' skills/relay-merge/scripts/append-learnings.js

echo "=== search manifest inputs in relay-merge scripts ==="
rg -n "readFile|readFileSync|manifest|injected|owner:|sprintPath|track|component" skills/relay-merge/scripts/sprint-owner.js skills/relay-merge/scripts/finalize-run.js skills/relay-merge/scripts/append-learnings.js

Repository: sungjunlee/dev-relay

Length of output: 19221


현재 Manifest/fleet owner object 문구를 운영 경로로 제거하세요.

skills/relay-merge/scripts/finalize-run.jsappend-learnings.js를 호출하지 않고 sprint-owner.jsowner 객체를 받을 수 있지만 전후로 manifest 입력을 읽어들이지 않습니다. 이 표시는 오타처럼 보이고 후속 구현자가 legacy manifest를 다시 넣는 계기로 남을 수 있습니다. 2番 문서에서 Manifest를 제거하거나, 기존 manifest의 유효한 alias를 사용한다고 명확히 기술하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/relay-merge/references/append-learnings.md` at line 3, Update the
documentation around append-learnings.js to remove the misleading
“Manifest/fleet owner object” wording. Describe the supported owner input using
the existing valid alias, without implying that finalize-run.js reads or passes
a legacy manifest; keep the documented post-merge flow unchanged.

Source: Learnings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Retire vNext transition vocabulary and dead compatibility selectors

1 participant