Skip to content

docs(chat): point the unwired transcript options at the reason, not a closed issue - #3422

Merged
bolichen97 merged 1 commit into
mainfrom
docs/transcript-renderer-option-refs
Aug 14, 2026
Merged

docs(chat): point the unwired transcript options at the reason, not a closed issue#3422
bolichen97 merged 1 commit into
mainfrom
docs/transcript-renderer-option-refs

Conversation

@chenmingwei23

Copy link
Copy Markdown
Contributor

1. What is the problem?

Comments in website/src/pages/chat/transcriptRenderers.tsx and its test point readers at #3332, which is now closed as not-planned. Three option groups say "tracked in #3332" for why they have no pane consumer, and the drift guard's comment tells the next reader to retire it "when ChatPage consumes these entries directly" — the migration that issue proposed and that was rejected.

2. Why this issue matters to the user

No runtime effect; this is a maintenance trap. A reader chasing #3332 lands on a closed issue and learns nothing about why the option is unwired, and the guard's comment actively invites someone to delete a check that is now permanent — which would re-open the exact regression #3302 fixed (a pane silently falling behind the single-chat row set).

3. How our fix solves it

Replace the pointers with the reason, so nothing has to be chased:

  • appInPanel / onOpenApp — repointed to Files are not openable from a split view pane: the dock is activeSlot-keyed but pane focus is not #3300, which is genuinely the same root cause (the dock is activeSlot-keyed while pane focus is not).
  • activeNudgeLoopId / onOpenNudgeLoop and the continuable / interrupted / continuing / onContinue group — no issue invented for them; the comment now states the precondition inline (a pane's composer cannot reach the auto-nudge popover; selectContinuable / selectTurnInterrupted read the active slot, so a pane cannot ask whether ITS turn was interrupted).
  • The drift guard's comment now says it is permanent, records that convergence was considered and rejected, and names the asymmetry that makes a guard sufficient: ChatPage owns the row policy, so drift can only degrade a downstream surface, never that one. If a row both sides draw ever diverges in component or props, the cheap answer is to strengthen this into a static comparison — not to migrate the healthy surface.

Comments only; no behaviour, no exported API, no test assertions changed.

4. What tests we did

tsc --noEmit 0 errors · eslint 0 errors · vitest src/test/transcriptRenderers.test.tsx 18/18 pass. No i18n gates needed — no strings and no JSX touched.

5. Any other suggestions on the work

The rejected direction is worth stating once here so it does not get re-proposed: converging the two row sets means editing a 7000-line surface that has no user-visible defect, and the failure mode it would prevent is one-directional and already guarded. Let a second real consumer of the rich row set drive convergence if one ever appears.

… closed issue

Three option groups in transcriptRenderers.tsx cited #3332 for why they have
no pane consumer, and the drift guard's comment told the next reader to retire
it once ChatPage consumed the registry. #3332 is closed not-planned: migrating
the single-chat surface is risk without payoff, so that retirement never comes.

Repoint appInPanel/onOpenApp at #3300, which is the same activeSlot-keyed dock
root cause, and state the precondition inline for the auto-nudge and
turn-recovery options rather than inventing issues for them. Record that the
drift guard is permanent, and why a guard is sufficient: ChatPage owns the row
policy, so drift can only degrade a downstream surface, never that one.

Comments only.
@chenmingwei23
chenmingwei23 requested a review from a team August 13, 2026 23:38
@chenmingwei23
chenmingwei23 requested a review from a team as a code owner August 13, 2026 23:38
@github-actions github-actions Bot added the readiness: checking Automated validation is still running label Aug 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

GPT 5.6 Review — ✅ no blocking findings

GPT 5.6 completed its review of c9da5740ee89638d9484b37d9f6bd99e6d7a1f83 and found no blocking issues.

This comment is updated in place on each push.

Review details

No findings.
[GPT-REVIEWED] c9da574

False positive or not applicable? A repository writer can comment:
/ai-review override gpt c9da5740ee89638d9484b37d9f6bd99e6d7a1f83: <one-sentence reason>

@github-actions

Copy link
Copy Markdown
Contributor

Opus 4.8 Review — ✅ no blocking findings

Reviewed c9da5740ee89638d9484b37d9f6bd99e6d7a1f83 — this comment is updated in place on each push.

Review details

No findings.

[OPUS-REVIEWED] c9da574

Verdict parsed from the review's SHA-scoped output markers for commit c9da5740ee89638d9484b37d9f6bd99e6d7a1f83.

False positive or not applicable? A repository writer can comment:
/ai-review override fable c9da5740ee89638d9484b37d9f6bd99e6d7a1f83: <one-sentence reason>

@github-actions

Copy link
Copy Markdown
Contributor

UX Review (Fable 5) — ✅ PASS

Advisory UX-level review of c9da5740ee89638d9484b37d9f6bd99e6d7a1f83 — updated in place on each push; does not block merge.

UX-Verdict: PASS

Comments-only change — no user-facing strings, UI, states, or rendered pixels touched; nothing a user can experience differs.

[UX-REVIEWED] c9da574

@github-actions

Copy link
Copy Markdown
Contributor

Design Review (Fable 5) — ✅ PASS

Advisory design-level review of c9da5740ee89638d9484b37d9f6bd99e6d7a1f83 — updated in place on each push; does not block merge.

Design-Verdict: PASS

Comment-only change that replaces dead pointers with inline rationale and pins the drift guard's permanence; proportionate, no behavior or contract touched.

[DESIGN-REVIEWED] c9da574

@github-actions github-actions Bot added readiness: passed Eligible automated validation passed for the current revision and removed readiness: checking Automated validation is still running labels Aug 13, 2026

@bolichen97 bolichen97 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Tier 1 auto-approve: small-fix (2 files). Criteria: no conflict, no requested changes, no security surface, AI reviewers green. Category: small-fix — corrects transcript options reference from closed issue to actual reason.

@bolichen97
bolichen97 merged commit 11851a6 into main Aug 14, 2026
56 of 57 checks passed
@bolichen97
bolichen97 deleted the docs/transcript-renderer-option-refs branch August 14, 2026 00:02
@github-actions github-actions Bot removed the readiness: passed Eligible automated validation passed for the current revision label Aug 14, 2026
encomjp pushed a commit to encomjp/kirocrew-customapi that referenced this pull request Aug 22, 2026
… closed issue (kirodotdev#3422)

Three option groups in transcriptRenderers.tsx cited kirodotdev#3332 for why they have
no pane consumer, and the drift guard's comment told the next reader to retire
it once ChatPage consumed the registry. kirodotdev#3332 is closed not-planned: migrating
the single-chat surface is risk without payoff, so that retirement never comes.

Repoint appInPanel/onOpenApp at kirodotdev#3300, which is the same activeSlot-keyed dock
root cause, and state the precondition inline for the auto-nudge and
turn-recovery options rather than inventing issues for them. Record that the
drift guard is permanent, and why a guard is sufficient: ChatPage owns the row
policy, so drift can only degrade a downstream surface, never that one.

Comments only.
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.

2 participants