Observability — workflows¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Rewritten 2026-10-09 (design plan P8)
The June-2026 page is archived under catalogs 2026-06.
W1 — A run becomes a timeline¶
sequenceDiagram
participant RC as RunControlService
participant AR as AgentRuntimeService
participant MR as ModelRouterService
participant TA as ToolAdapterService
participant CU as CostUsageService
participant D as DashboardService
participant BFF as Studio BFF
RC-)D: RunAccepted (runId, snapshot hash, traceId)
RC-)D: AttemptDispatched
AR-)D: AttemptPhaseChanged (context, think, act, validate)
MR-)D: ModelInvoked (receipt: profile, deployment, tokens, cost)
TA-)D: ToolInvoked (receipt: tool, class, outcome)
CU-)D: UsageRecorded (estimated → reserved → observed → reconciled)
RC-)D: RunCompleted
D-)BFF: RunProjectionUpdated (stream)
BFF->>D: GetRunTimeline → the §51 tree as rows with receipt references
Rules: the projection waits a short window for an out-of-sequence event, then rebuilds the run from the journal; content never enters the timeline, only hashes and references; usage amounts keep their status and uncertain amounts are never summed.
W2 — An objective breaches and someone is told¶
sequenceDiagram
participant D as DashboardService
participant S as SloService
participant A as AlertRuleService
participant N as StudioNotificationService
participant C as ConnectorRegistryService
D-)S: OperationsDigestProduced (window 1h)
S->>S: evaluate objectives, burn rates, error budgets
S-)A: SloBreached (task success below 0.9 for project X)
A->>A: rule match, dedup key "slo:{sloId}", severity Warning
A-)N: AlertFired → Studio
A->>C: deliver to the tenant's chat connector (external class, receipt)
Note over S: later window: value back above target
S-)A: SloRecovered → AlertResolved
W3 — A release is evaluated and gated¶
sequenceDiagram
participant M as Asset maintainer
participant AR as AgentRegistryService
participant Q as QualityScoreService
participant F as FeedbackService
participant RC as RunControlService
participant AS as ArtifactService
M->>AR: submit release 1.4.0 of agent "backend-generator"
AR-)Q: AssetReleaseSubmitted
Q->>F: GetDatasetSnapshot (suite agent-core-v3 → dataset backend-tasks v7)
Q->>RC: submit tasks as runs (evaluation project, sandbox class) for 1.4.0 and baseline 1.3.2
RC-)Q: RunCompleted × n (receipts)
Q->>Q: score, thresholds hold, baseline rule: task success 0.93 ≥ 0.91, tool errors 0.02 ≤ 0.03
Q->>AS: evidence record (immutable)
Q-)AR: EvaluationCompleted (Passed, evidenceRef)
AR->>Q: GetVerdict at Published gate → Passed
Note over Q,AR: a Failed verdict keeps the candidate InReview, a waiver needs an approval of class publication bound to the evaluation id
W4 — Production drifts below the evaluated score¶
flowchart LR
O[AttemptOutcomeRecorded · ModelInvoked · ToolInvoked per release] --> S[production outcome statistics]
S --> DM[DriftMonitor every 6 h]
DM -- observed < evaluated − tolerance --> DD[DriftDetected]
DD --> AL[AlertRuleService → alert]
DD --> FB[FeedbackService → re-evaluation proposal]
DD --> MR[ModelRouterService capability evidence refreshed]
W5 — Feedback becomes a reviewed proposal¶
sequenceDiagram
participant R as Reviewer
participant F as FeedbackService
participant MP as MemoryPromotionService
participant M as Asset maintainer
participant AR as AgentRegistryService
R->>F: RecordFeedback (correction on artifact, corrected artifact attached)
MP-)F: SkillCandidateProposed (reinforced procedure)
Note over F: nightly ProposalGenerator clusters evidence per asset (≥ 3 items), drafts a proposal with the structured profile
F-)M: LearningProposalRaised (Studio notification)
M->>F: DecideLearningProposal (accept)
F->>AR: open Draft release of the skill with the proposed diff
F-)AR: LearningProposalDecided (Accepted, resultingReleaseId)
Note over AR: the release goes through W3 like any change
W6 — The projection store is restored¶
The store is last in the D30 restore order. After a restore, ProjectionRebuilder replays Run Control's journal per run and the producers' events from the inbox checkpoints; objectives are re-evaluated from the rebuilt digests; alert instances that were open are re-derived from current objective and health states; evaluation evidence is unaffected because it lives in artifact-blob and is referenced, never copied.