File tree Expand file tree Collapse file tree
packages/services/src/external-service-component Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -404,6 +404,10 @@ export async function runExternalStatusTick(): Promise<{
404404 const triplets = buildTriplets ( services ) ;
405405 const tickStartedAt = new Date ( ) ;
406406
407+ // The three phases are intentionally independent: each hits a different
408+ // upstream endpoint and store, so a failed status fetch must not suppress a
409+ // service's components (or vice versa). A tick can therefore persist
410+ // component history for a service whose status snapshot failed that tick.
407411 const [ statusOutcomes , incidentOutcomes , componentOutcomes ] =
408412 await Effect . runPromise (
409413 Effect . all (
Original file line number Diff line number Diff line change @@ -49,6 +49,10 @@ export async function upsertExternalComponentsForService(args: {
4949 updatedAt : now ,
5050 } ) ) ;
5151
52+ // No `withTransaction`/`emitAudit`: external services are a global, public,
53+ // cron-driven catalogue with no workspace scope or audit log (ADR-0006/0007),
54+ // mirroring `upsertExternalIncidentsForService`. `withBusyRetry` wraps the raw
55+ // transaction since the audit-aware helper expects a workspace ServiceContext.
5256 return withBusyRetry ( ( ) =>
5357 db . transaction ( async ( tx ) => {
5458 const rows = await tx
You can’t perform that action at this time.
0 commit comments