Add transcript line workflow rules
PR and Push Build/Test / build-and-test (push) Failing after 13m27s

This commit is contained in:
2026-06-03 11:24:11 +02:00
parent 50daa88389
commit 40853115c5
20 changed files with 627 additions and 70 deletions
@@ -35,14 +35,14 @@ public sealed class VaultTranscriptStore : ITranscriptStore
return new TranscriptSession(path);
}
public Task AppendAsync(TranscriptSession session, TranscriptionSegment segment, CancellationToken cancellationToken)
public Task AppendLineAsync(TranscriptSession session, string line, CancellationToken cancellationToken)
{
return AppendToBodyAsync(session.TranscriptPath, FormatSegment(segment), cancellationToken);
return AppendToBodyAsync(session.TranscriptPath, line + Environment.NewLine, cancellationToken);
}
public Task ReplaceAsync(
public Task ReplaceLinesAsync(
TranscriptSession session,
IReadOnlyList<TranscriptionSegment> replacementSegments,
IReadOnlyList<string> replacementLines,
CancellationToken cancellationToken)
{
var existing = File.Exists(session.TranscriptPath)
@@ -52,7 +52,7 @@ public sealed class VaultTranscriptStore : ITranscriptStore
var body = "# Meeting Transcript"
+ Environment.NewLine
+ Environment.NewLine
+ string.Concat(replacementSegments.Select(FormatSegment));
+ string.Concat(replacementLines.Select(line => line + Environment.NewLine));
var content = string.IsNullOrWhiteSpace(frontmatter)
? body
: "---" + Environment.NewLine + frontmatter + Environment.NewLine + "---" + Environment.NewLine + Environment.NewLine + body;
@@ -80,12 +80,6 @@ public sealed class VaultTranscriptStore : ITranscriptStore
cancellationToken);
}
private static string FormatSegment(TranscriptionSegment segment)
{
var speaker = string.IsNullOrWhiteSpace(segment.Speaker) ? "Unknown" : segment.Speaker;
return $"[{segment.Start:hh\\:mm\\:ss}] {speaker}: {segment.Text}{Environment.NewLine}";
}
private static async Task AppendToBodyAsync(
string path,
string text,