feat(compass-agent): surface error/abort content as SessionError trace frames (RIG-2616 T2) - #850
Open
rigel-mintaka wants to merge 1 commit into
Conversation
…e frames (RIG-2616 T2) Rewrite the event mapper's inner-error arm to emit the SessionError content surfaced by T1, and route it on the FrameSink never-drop lane: - reason=error emits SessionError(ERROR) content THEN preserves the ERRORED lifecycle transition (board/presence/delivery key off ERRORED); reason=aborted emits SessionError(ABORTED) only, no transition, replacing the prior counted UnmappedEvent staging (DL-322). - A new isSessionError classifier lifts the SessionError trace frame onto the never-drop PRIORITY lane, matching the SessionInjection carve-out, so surfaced failure content is as durable-on-the-spine as the lifecycle transition it reports (DL-323). Red-green: the mapper describe block is rewritten to the new two-frame/one-frame contract with status presence, and a frame-sink priority-lane test covers both kinds; both red-checked. Also renumbers this record's two colliding ledger rows (DL-319 to DL-322, DL-320 to DL-323 -- a concurrent-merge window duplicated an earlier-dated UI record's ids) and annotates the frozen record header with the mapping. Stacked on RIG-3209 T1. Ledger-impact: renumber DL-319 to DL-322 (emit rule) and DL-320 to DL-323 (FrameSink never-drop routing); no new rows. Co-authored-by: Matt Wilkinson <matt@rigel.build>
|
Compass engineering docs preview: https://compass-agent-rig-3210-sessi.compass-eng-docs.pages.dev Deployed from Changed pages: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is part of a stack containing 2 PRs:
mainRewrite the event mapper's inner-error arm to emit the SessionError content
surfaced by T1, and route it on the FrameSink never-drop lane:
lifecycle transition (board/presence/delivery key off ERRORED); reason=aborted
emits SessionError(ABORTED) only, no transition, replacing the prior counted
UnmappedEvent staging (DL-322).
never-drop PRIORITY lane, matching the SessionInjection carve-out, so surfaced
failure content is as durable-on-the-spine as the lifecycle transition it
reports (DL-323).
Red-green: the mapper describe block is rewritten to the new two-frame/one-frame
contract with status presence, and a frame-sink priority-lane test covers both
kinds; both red-checked. Also renumbers this record's two colliding ledger rows
(DL-319 to DL-322, DL-320 to DL-323 -- a concurrent-merge window duplicated an
earlier-dated UI record's ids) and annotates the frozen record header with the
mapping.
Stacked on RIG-3209 T1.
Ledger-impact: renumber DL-319 to DL-322 (emit rule) and DL-320 to DL-323 (FrameSink never-drop routing); no new rows.
Co-authored-by: Matt Wilkinson matt@rigel.build