Summary
Two macOS transcript.md blocks remain unimplemented on Windows after WIN-011 / #995 because
Windows has no data source for them. They were deliberately not faked.
Evidence
macOS Sources/BugNarrator/Models/TranscriptSession.swift markdownContent emits:
## Transcript Sections — one ### <title> per section with a - Time: <range> line and body
text. Windows CompletedSession
(windows/src/BugNarrator.Core/Models/CompletedSession.cs) has no transcript-sections field,
and nothing in the Windows pipeline segments a transcript into sections.
- Screenshot → marker linkage: macOS renders
linked to **<marker title>** using
SessionScreenshot.associatedMarkerID. Windows ScreenshotArtifact
(windows/src/BugNarrator.Core/Models/ScreenshotArtifact.cs) has no associated-marker id. The
relationship exists only in the opposite direction — SessionTimelineMoment.RelatedScreenshotId.
Adding either field today would produce an always-empty model field (speculative churn), which is
why #995 scoped them out. This ticket tracks doing it properly.
Scope
NEW:
- transcript-section shaping in
BugNarrator.Core once a segmentation source exists
EDIT:
windows/src/BugNarrator.Core/Models/CompletedSession.cs
windows/src/BugNarrator.Core/Models/ScreenshotArtifact.cs
windows/src/BugNarrator.Core/Workflow/CompletedSessionMarkdownBuilder.cs
Non-goals: changing macOS Swift behavior; re-opening the summary.md split settled in #995.
done_when
- Windows either produces real transcript sections and renders
## Transcript Sections matching the
macOS shape, or this ticket records an explicit decision that Windows will not segment transcripts
and the parity matrix says so.
- Screenshot→marker linkage is derived from real recorded data (e.g. by inverting
SessionTimelineMoment.RelatedScreenshotId) and rendered like macOS, or explicitly declined in
the parity matrix.
- No model field is added that nothing populates.
validation
dotnet build windows/BugNarrator.Windows.sln -c Debug
dotnet test windows/tests/BugNarrator.Core.Tests/BugNarrator.Core.Tests.csproj -c Debug
dotnet test windows/tests/BugNarrator.Windows.Tests/BugNarrator.Windows.Tests.csproj -c Debug
evidence
- Golden-string test output for the extended transcript contract.
Split out of #995. Related drift context: #965.
Summary
Two macOS
transcript.mdblocks remain unimplemented on Windows afterWIN-011/ #995 becauseWindows has no data source for them. They were deliberately not faked.
Evidence
macOS
Sources/BugNarrator/Models/TranscriptSession.swiftmarkdownContentemits:## Transcript Sections— one### <title>per section with a- Time: <range>line and bodytext. Windows
CompletedSession(
windows/src/BugNarrator.Core/Models/CompletedSession.cs) has no transcript-sections field,and nothing in the Windows pipeline segments a transcript into sections.
linked to **<marker title>**usingSessionScreenshot.associatedMarkerID. WindowsScreenshotArtifact(
windows/src/BugNarrator.Core/Models/ScreenshotArtifact.cs) has no associated-marker id. Therelationship exists only in the opposite direction —
SessionTimelineMoment.RelatedScreenshotId.Adding either field today would produce an always-empty model field (speculative churn), which is
why #995 scoped them out. This ticket tracks doing it properly.
Scope
NEW:
BugNarrator.Coreonce a segmentation source existsEDIT:
windows/src/BugNarrator.Core/Models/CompletedSession.cswindows/src/BugNarrator.Core/Models/ScreenshotArtifact.cswindows/src/BugNarrator.Core/Workflow/CompletedSessionMarkdownBuilder.csNon-goals: changing macOS Swift behavior; re-opening the
summary.mdsplit settled in #995.done_when
## Transcript Sectionsmatching themacOS shape, or this ticket records an explicit decision that Windows will not segment transcripts
and the parity matrix says so.
SessionTimelineMoment.RelatedScreenshotId) and rendered like macOS, or explicitly declined inthe parity matrix.
validation
dotnet build windows/BugNarrator.Windows.sln -c Debugdotnet test windows/tests/BugNarrator.Core.Tests/BugNarrator.Core.Tests.csproj -c Debugdotnet test windows/tests/BugNarrator.Windows.Tests/BugNarrator.Windows.Tests.csproj -c Debugevidence
Split out of #995. Related drift context: #965.