Commit df862a0
authored
Add 0084 orphan fallback (both observers) (#241)
* Add 0084 orphan fallback (both observers)
Proposal 0084 (nested-fan-out span lineage), second of the Wave 3 PRs;
completes the observer-side work started in #240.
Generalize the observability orphan fallback -- a provider or framework
call with no open calling-node span (a guardrail or middleware side
call) -- in both the OTel and Langfuse observers to resolve the nearest
enclosing wrapper on the calling node's lineage, chain-routed to the
correct inner fan-out instance. A shared resolver backs both the node
parent and the orphan fallback in each observer, and now also backs
FailureIsolatedEvent parenting so the marker resolves consistently
across observers. The Langfuse node-observation key gains the enclosing
lineage chains (mirroring the OTel node-span key from #240) so nested
exact-match works there too.
Un-defer observability fixtures 133 (OTel orphan) and 134 (Langfuse,
exact-match + orphan). The orphan-call primitive calls_llm_from_wrapper
is modeled on NodeSpec so 133 and 134 both parse and run.
Known limitation: a wrapper call issued before the wrapped node body
(pre-phase) inside a nested fan-out resolves to the outer instance in
Langfuse, which creates instance observations lazily, while OTel
resolves to the inner instance -- a cross-observer parity gap the
fixtures do not cover. The conformance.toml 0084 note documents it;
the Langfuse eager-creation fix and the spec question are tracked as
follow-ups.
* Guard 0084 orphan resolution for parallel branches
Add unit-test guards pinning the branch-side of the §5.5 orphan fallback
in both observers -- an orphan provider call inside a parallel branch
parents under the per-branch dispatch span / observation (the nearest
enclosing wrapper), the branch analog of the fan-out orphan tests. The
0084 fixtures cover fan-out nesting only; a spec fixture for the branch
case is flagged for the batched review (release-v0.17.0 coord).
* Comment the 134 case-2 rendezvous timeout fallback (CodeQL)1 parent 348c9d5 commit df862a0
10 files changed
Lines changed: 1270 additions & 202 deletions
File tree
- src/openarmature
- graph
- observability
- langfuse
- otel
- tests
- conformance
- harness
- unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
836 | 836 | | |
837 | 837 | | |
838 | 838 | | |
839 | | - | |
| 839 | + | |
840 | 840 | | |
841 | | - | |
| 841 | + | |
842 | 842 | | |
843 | 843 | | |
844 | 844 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1142 | 1142 | | |
1143 | 1143 | | |
1144 | 1144 | | |
1145 | | - | |
1146 | | - | |
1147 | | - | |
1148 | | - | |
1149 | | - | |
1150 | | - | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
1151 | 1152 | | |
1152 | 1153 | | |
1153 | 1154 | | |
| |||
0 commit comments