mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 16:02:32 +00:00
* fix(omp): fence pane status to the root session manager * test(omp): preserve root preview and recovery through child hooks * test(omp): exercise status ownership through actual runtime runner * fix(omp): honor runtime subagent provenance when available * test(omp): avoid writes to the read-only hook status view * fix(omp): preserve child status ownership provenance * fix(omp): normalize child transcript paths across platforms * fix(omp): clean status handler rebase * fix(omp): keep prefill inside session ownership fence
24 lines
1.3 KiB
Markdown
24 lines
1.3 KiB
Markdown
# OMP runtime session provenance
|
|
|
|
OMP computes whether a runtime session is a task child, but the released
|
|
`ExtensionContext` does not expose that value. The status extension therefore uses
|
|
the session manager's parent header and nested task transcript path only when a
|
|
root owner is already known. A nested transcript with no known owner remains
|
|
eligible because it may have been resumed directly as the pane's main session.
|
|
|
|
The remaining child-first case is inherently ambiguous to Orca: task children and
|
|
resumed child transcripts have the same public session-manager shape. A complete
|
|
child-first fence requires OMP to expose its computed `agentKind` through
|
|
`ExtensionRunner.createContext`; until then the conservative fallback avoids
|
|
silencing valid resumed sessions.
|
|
|
|
Older runtimes retain the manager-identity guard. That guard assumes the main
|
|
session reaches Orca's callback before any child. An earlier user extension can
|
|
initialize a child during session_start and violate that assumption. Keep the
|
|
ownership merge assessment conditional until the runtime API is available and the
|
|
combined flow is validated. Neither callback timeouts, UI presence, nor transcript
|
|
paths establish runtime ownership.
|
|
|
|
The guard remains scoped to one pane and launch token. It does not define how
|
|
several independent SDK/ACP roots sharing one process and pane should be attributed.
|