Skip to content

📝 docs: ADR-023 S5-4 soak close-out — Decision 6 (iii) discharged - #1686

Merged
tyabu12 merged 2 commits into
mainfrom
docs/s5-4-soak-closeout
Sep 6, 2026
Merged

📝 docs: ADR-023 S5-4 soak close-out — Decision 6 (iii) discharged#1686
tyabu12 merged 2 commits into
mainfrom
docs/s5-4-soak-closeout

Conversation

@tyabu12

@tyabu12 tyabu12 commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

ADR-023 Stage 5 の S5-4(flag-gated Kotlin engine switch)を締めるドキュメント専用 PR。オペレーターが docs/qa/kmp-soak-qa.md の soak を TestFlight v1.3+888(iPhone 16e、端末言語 ja)で実施し PASS、証跡は #501 のコメント。これで ADR-023 Decision 6 の (iii) が消化され、三条件すべてが揃った。

ただし既定はまだ Swift エンジンのまま。 S5-4 のスイッチは opt-in(FeatureFlags.sharedEngineEnabled、既定 off)であり、既定をフリップするのは S5-5。三条件の消化は「切り替えを許可する」ことであって「切り替える」ことではない、という区別を ADR 本文に明記した。

変更点:

  • ADR-023(Stage 5 未出荷 → in-place): D1 の (i) と (iii) に消化注記。S5-4 バレットに soak 結果と、受入 3 条件がすべて充足したこと、✨ feat: ADR-023 Stage 5 prep — localize Kotlin message render() via expect/actual leaf #1632 残課題(appleMain localizedFormat の ja actual)の消化を追記。Stage-5 rulings の "Until S5-4 fires" は事実として陳腐化していたので "Until S5-5 flips the default" に訂正。
  • ADR-004(出荷済み → 新節): ## 12. Amendment 2026-09-06 を新設。§11 は 2026-09-05 時点の履歴なので書き換えず、Decision 6 (i) を S5-4 の宿題として (iii) と束ねていた誤りだけを事実訂正として in-place で直した。
  • INDEX.md / ROADMAP.md / kmp-migration-status.md: soak 済み・次は S5-5 に更新。
  • docs/qa/kmp-soak-qa.md: 実施済みバナー(h7 runbook と同型)。

S5-5 のクローズアウトは #1685 に起票済み。

Test plan

ドキュメント専用の変更のため、ユニットスイートと SwiftLint は実行していない。git diff --name-only | scripts/precommit-gate-classify.shbuild / lint トークンを返さず、pre-commit フックも両方をスキップした(CI の PR path-gating も同じスクリプトを使う)。kmp-status ゲートは通過(14 handlers, board reconcile 両方向)。

内容面の検証:

Review

レビュアー: Opusdocs/decisions/ は sensitive base)。初回 FAIL、Warning 4 件。

指摘 対応
「4 プリセット全部」が 6 プリセット中 4 という事実を取りこぼす 適用。3 ファイルとも「runbook が挙げる 4 つ(全 6 中)」に書き換え、選定理由を実測で裏付け
S5-4 のランディング日が 2026-09-05 表記だがマージは 09-06 適用。ADR-023 と ROADMAP を訂正マーカー付きで修正
Decision 6 (i) の引用が #1633 になっている 適用。#1629 に訂正
ADR-004 の INDEX 行が §12 を持たない(§11 は反映済み) 適用。INDEX 行と Status 行の両方に §12 を追記

Suggestion 4 件(runbook の未来形、"three runs" の off-by-one、§12 のストリーミング行の記載漏れ、Status 行のポインタ)もすべて適用。却下した指摘はない。

Device QA

実機QA不要 — ドキュメントのみの変更で、ビルド成果物に影響しない。この PR が記録している実機 QA そのものは既に完了済み(v1.3+888#501 の証跡コメント)。

Part of #501

🤖 Generated with Claude Code

https://claude.ai/code/session_01KSRtePjA4a99FTUxDtMt3v

tyabu12 and others added 2 commits September 6, 2026 23:17
The S5-4 shared-engine soak passed on TestFlight v1.3+888 (iPhone 16e, ja),
evidence recorded on #501. All three Decision 6 sub-conditions are now
discharged, so Decision 6 fires at S5-5 — which is opened as #1685.

- ADR-023: date-stamp D1 (i) and (iii), record the soak outcome and the #1632
  residual's discharge on the S5-4 bullet, and correct the Stage-5 rulings
  clause that said the Swift Engine's tenure ends at S5-4 (the switch shipped
  opt-in, so it ends at S5-5).
- ADR-004: new §12 for the (iii) discharge (§11 is a shipped amendment, so it
  is not rewritten), plus an in-place correction of §11's bullet, which
  bundled (i) with (iii) as S5-4's when Stage 4 had already closed it.
- Status doc, ROADMAP, and the soak runbook's executed banner.

Part of #501

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KSRtePjA4a99FTUxDtMt3v
Review findings on the S5-4 close-out docs.

- "all four bundled presets" over-reported: six presets ship, the runbook
  deliberately names four for phase-type coverage. Reworded in all three
  files; the two omitted presets are a strict subset of the four's phase
  types (verified against the YAML), so the selection is stated as such.
- S5-4's switch landed 2026-09-06, not 2026-09-05 — bb80783's merge date.
  Corrected in ADR-023 and ROADMAP with a marker.
- Decision 6 (i)'s discharge cited #1633, the Stage-5 rulings issue. Stage 4
  closed on its S6 residue, #1629 (ADR-023 §15).
- ADR-004's INDEX row and Status line now name §12, matching what §11 set.
- Soak runbook: past tense for the discharged cycle, and drop a stale
  "three runs" that predated the fourth preset.

Part of #501

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KSRtePjA4a99FTUxDtMt3v
@tyabu12 tyabu12 added the documentation Improvements or additions to documentation label Sep 6, 2026
@tyabu12 tyabu12 self-assigned this Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

CI Report

One or more CI jobs were skipped.

Lint

SwiftLint: did not run

Release Build (ADR-005 §8 guard)

Release-iphoneos symbol guard: did not run

Demo Replay Drift Guard

Demo replay drift guard: passed

Test Results

  • Unit: > did not run
  • UI: > did not run

Coverage

Coverage measurement failed. See CI logs for details.


View full CI run

@tyabu12
tyabu12 merged commit 5fb5755 into main Sep 6, 2026
20 checks passed
@tyabu12
tyabu12 deleted the docs/s5-4-soak-closeout branch September 6, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant