Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
e404578
Record the owner's decisions on meetings and transcripts
SychPL Oct 28, 2026
fc631e3
List modules' read tools and allow WAM scope patterns
SychPL Oct 28, 2026
5802273
Add teams_list_meetings and the calendar part of step 0
SychPL Oct 28, 2026
4567b6e
Never let a module tool shadow a core tool or outlive its module
SychPL Oct 28, 2026
d28cfff
Refuse non-text meeting windows and skip VTT comments with arrows
SychPL Oct 28, 2026
57a056a
Document how Teams delivers live captions (static analysis)
SychPL Oct 28, 2026
c46fca7
Mark the open captions questions and list them for live capture
SychPL Oct 28, 2026
ded06a2
List the last open captions facts for live capture
SychPL Oct 28, 2026
add1643
Spec live captions through a medialess second endpoint
SychPL Oct 29, 2026
0b2b0ff
Block module writes while modules are read again
SychPL Oct 29, 2026
b493223
Run module rescans one at a time
SychPL Oct 29, 2026
61091e3
Record the owner's O1 decision on live captions
SychPL Oct 29, 2026
16987dc
Make every module write wait for the owner's approval
SychPL Oct 29, 2026
3836639
Record the owner's O3 decision: read captions, never turn them on
SychPL Oct 29, 2026
e67eec5
Tidy the spec after the O3 decision
SychPL Oct 29, 2026
6085fa4
Document the join, relays and data channel for live captions (step 0a)
SychPL Oct 29, 2026
ca5a45e
Record the call store and relay credential reads (step 0b, reads only)
SychPL Oct 29, 2026
1badd02
Document the Trouter v4c flow and call signaling details (step 0b)
SychPL Oct 29, 2026
800ab63
Record the live transcript download in the owner's organization (step 0)
SychPL Oct 29, 2026
be79fde
Mark the colleague's transcript download as the owner's exception
SychPL Oct 29, 2026
6a4cbef
Record step 0 transcript results in the meetings spec
SychPL Oct 30, 2026
e9169cf
Add teams_get_transcript for recordings in the user's own OneDrive
SychPL Oct 30, 2026
c85deae
Read transcripts of every meeting the user is in
SychPL Oct 30, 2026
1675815
Accept the user's OneDrive URL in any letter case again
SychPL Oct 30, 2026
7bea1c3
Record the live captions step 0b findings of the second day
SychPL Oct 30, 2026
9e75ef5
Record the captured web client join for live captions
SychPL Oct 30, 2026
c7e881f
Record the later live captions join attempts of the day
SychPL Oct 30, 2026
de22dbb
Record the probe's first accepted join of a Teams call
SychPL Oct 30, 2026
9ea3e97
Record that the web client's data section is accepted and the probe's…
SychPL Oct 30, 2026
746f8d1
Record how the client starts the data channel and the renegotiation r…
SychPL Oct 30, 2026
e545af1
Record that the other participants saw nothing of the probe's endpoint
SychPL Oct 30, 2026
e093fc3
Record that the client version does not open the data channel
SychPL Oct 30, 2026
b5bc0df
Record the first live captions received by the probe
SychPL Oct 30, 2026
0ab6a10
Say which offers step 0b did and did not test
SychPL Oct 30, 2026
3b2c742
Update the live captions spec with what step 0b found
SychPL Oct 30, 2026
708dfcd
Resolve the proxy for live captions through WinHTTP
SychPL Oct 30, 2026
69eb728
Record step 0c of the live captions spec
SychPL Nov 2, 2026
a36d82d
Close the live captions spec review after R19
SychPL Nov 2, 2026
b70e9bb
Add the rtc host import for module media connections
SychPL Nov 2, 2026
187e2be
Merge main into the live captions branch
SychPL Nov 2, 2026
1451f19
Reach only the proxy-checked candidates once the answer is in
SychPL Nov 2, 2026
f071865
End module sessions before a module goes, restore after a crash
SychPL Nov 2, 2026
dc9908e
Pin media sockets to the checked candidate ports, not just addresses
SychPL Nov 2, 2026
65d5796
Find a module's predecessor by its approval when it no longer loads
SychPL Nov 2, 2026
3148814
List modules' read tools and allow WAM scope patterns
SychPL Oct 28, 2026
3220c13
Never let a module tool shadow a core tool or outlive its module
SychPL Oct 28, 2026
8e696e1
Show the WAM scope patterns in the window's language
SychPL Nov 3, 2026
ba20900
Record the owner's decisions on meetings and transcripts
SychPL Oct 28, 2026
fe0ec2c
Add teams_list_meetings and the calendar part of step 0
SychPL Oct 28, 2026
ff2d715
Refuse non-text meeting windows and skip VTT comments with arrows
SychPL Oct 28, 2026
06cfc14
Record the live transcript download in the owner's organization (step 0)
SychPL Oct 29, 2026
605f5db
Mark the colleague's transcript download as the owner's exception
SychPL Oct 29, 2026
a7aedf1
Record step 0 transcript results in the meetings spec
SychPL Oct 30, 2026
19bb0ba
Add teams_get_transcript for recordings in the user's own OneDrive
SychPL Oct 30, 2026
1862055
Read transcripts of every meeting the user is in
SychPL Oct 30, 2026
0b4784d
Accept the user's OneDrive URL in any letter case again
SychPL Oct 30, 2026
6793b2a
Decode numeric character references in transcript cues
SychPL Oct 30, 2026
9c4fd35
Document how Teams delivers live captions (static analysis)
SychPL Oct 28, 2026
fa3cd8b
Mark the open captions questions and list them for live capture
SychPL Oct 28, 2026
bca34f8
List the last open captions facts for live capture
SychPL Oct 28, 2026
1b01a66
Spec live captions through a medialess second endpoint
SychPL Oct 29, 2026
7b37b1a
Block module writes while modules are read again
SychPL Oct 29, 2026
0abcce6
Run module rescans one at a time
SychPL Oct 29, 2026
be87b17
Record the owner's O1 decision on live captions
SychPL Oct 29, 2026
3f926f7
Make every module write wait for the owner's approval
SychPL Oct 29, 2026
24beec8
Record the owner's O3 decision: read captions, never turn them on
SychPL Oct 29, 2026
13a76f5
Tidy the spec after the O3 decision
SychPL Oct 29, 2026
df1d4ad
Document the join, relays and data channel for live captions (step 0a)
SychPL Oct 29, 2026
eaac48e
Record the call store and relay credential reads (step 0b, reads only)
SychPL Oct 29, 2026
9dcc0c5
Document the Trouter v4c flow and call signaling details (step 0b)
SychPL Oct 29, 2026
7e9e7e2
Run module write tools as pending actions that always wait for approval
SychPL Nov 3, 2026
bd4d4f7
Record the owner's decision to add the meeting chat to a meeting's co…
SychPL Nov 3, 2026
a8d2993
Refuse a module write that the modules began to change under
SychPL Nov 3, 2026
b15cadc
Add the Trouter v4c connection for live-captions sessions
SychPL Nov 3, 2026
3889d5d
Add the meeting chat to the live-captions meeting context
SychPL Nov 4, 2026
d49e4ac
Name the account in WAM requests and never cut read_messages short
SychPL Nov 4, 2026
96070fd
Add the pure live-captions session, data channel decoder and MS-SDP
SychPL Nov 4, 2026
7385fdd
Join Teams meetings for their live captions
SychPL Nov 4, 2026
263a526
Keep reading the roster while Trouter is down; check captions at 30 s
SychPL Nov 4, 2026
6e2f1f2
Make sure a live-captions leave is never lost
SychPL Nov 4, 2026
54f5d0d
Mark Trouter up after any connect and count captions back during a gap
SychPL Nov 4, 2026
0cff6c1
Inflate compressed Trouter callbacks and take Teams' data-only answer
SychPL Nov 5, 2026
a2bae39
Print only open_mess's own logs under OPEN_MESS_LOG
SychPL Nov 5, 2026
b21b25d
Merge the live captions work onto the reviewed meetings and captions PRs
SychPL Nov 5, 2026
13dcacd
Fail closed when the proxy settings cannot be read
SychPL Nov 5, 2026
7aa2c78
Merge main after the live captions docs landed as one commit
SychPL Nov 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
192 changes: 125 additions & 67 deletions .specs/2026-10-29-live-captions.md

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ The daemon runs all day and holds the user's sessions; a crash drops every accou
- `crates/open-mess-host/src/wam.rs`, function `request_for_window`: the WAM sign-in dialog,
`IWebAuthenticationCoreManagerInterop::RequestTokenForWindowAsync`, an interop call the
`windows` crate exposes only as `unsafe`.
- `crates/open-mess-host/src/proxy.rs`, module `winhttp` (functions `free` and `auto_config`):
the user's proxy settings and `WinHttpGetProxyForUrl` (PAC script and WPAD) for media
connections, and `GlobalFree` for the strings WinHTTP hands back.
- **Errors are `Result<T, E>`** through the crate's error type and `?`. An unfinished feature
returns an error ("not supported yet: ..."); it never panics.
- **Everything from the network is hostile:** server responses, WebSocket events, message
Expand Down Expand Up @@ -75,7 +78,9 @@ The daemon runs all day and holds the user's sessions; a crash drops every accou
- **One tool registry.** Every capability is a tool with the same name, parameters and results
over MCP and the CLI. No MCP-only or CLI-only features.
- **Modules reach the outside world only through host imports** (HTTP, WebSocket, storage,
secrets, sign-in prompts). A module's network access is limited to the hosts in its manifest.
secrets, sign-in prompts, and media connections (`rtc`) for a module whose manifest has
`media`). A module's network access is limited to the hosts in its manifest, and its media
connections to the address ranges in its `media`.
- **One process.** No permanent helper processes and no browser engine running in the
background. The configuration window's WebView exists only while the window is open. The only
exception is `om mcp-stdio` (spec 8.7): a bridge Claude Code starts for a session with channels,
Expand Down
Loading
Loading