Skip to content

chore(forensics): refresh types after mono details JSONB + reason cleanup#20

Merged
caballeto merged 1 commit into
mainfrom
chore/forensics-details-field
May 1, 2026
Merged

chore(forensics): refresh types after mono details JSONB + reason cleanup#20
caballeto merged 1 commit into
mainfrom
chore/forensics-details-field

Conversation

@caballeto
Copy link
Copy Markdown
Member

Summary

Picks up the type changes from devhelmhq/mono#316, which adds a details JSONB column to incident_state_transitions and collapses transition reasons to five short verbs (the original manually_resolved was a parallel reason value; it's now reason="resolve" + details.source="public-api").

  • IncidentStateTransitionDto.details: Record<string, unknown> added. Surfaced in the timeline / trace / monitor-transition responses. Distinguishes actor (pipeline vs public-api) without forking the reason vocabulary.
  • reason description updated from the seven-name design proposal (rule_matched | confirmation_met | …) to the five verbs the engine actually writes (trigger | confirm | resolve | auto_clear | reopen).

What's in this PR

Pure regen — no hand edits:

  1. docs/openapi/monitoring-api.json copied from mono main.
  2. npm run build (= typegen + zodgen + descgen + tsc + oclif manifest).

Three generated files updated; no source code changed.

Dependency

Depends on devhelmhq/mono#316 reaching main. The spec-propagate workflow would normally do this regen automatically — opening manually so we can release CLI in the next batch without waiting for the cron.

Test plan

  • npm run lint clean
  • npm run typecheck clean
  • npm run build clean (typegen + zodgen + descgen + tsc + oclif manifest)
  • npm test — 870 tests pass

Made with Cursor

@caballeto caballeto force-pushed the chore/forensics-details-field branch from 0c59161 to e4847ab Compare April 29, 2026 16:37
…anup

Picks up two changes from devhelmhq/mono#316:

- IncidentStateTransitionDto gains a `details: Record<string, unknown>`
  field. User-driven transitions carry `details.source = "public-api"`;
  pipeline-driven ones carry `details.source = "pipeline"`. Lets the
  forensics command distinguish actor without forking the reason vocabulary.
- The transition `reason` description switches from the seven-name proposal
  ("rule_matched | confirmation_met | …") to the five verbs the engine
  actually writes ("trigger | confirm | resolve | auto_clear | reopen").
  No code referenced `manually_resolved` directly — it was only echoed in
  the schema description string — so this is a doc/comment-level refresh.

Pure regen: docs/openapi/monitoring-api.json copied from mono main, then
`npm run build` (typegen + zodgen + descgen). No hand edits.

Made-with: Cursor
@caballeto caballeto force-pushed the chore/forensics-details-field branch from e4847ab to 43dfb44 Compare April 29, 2026 17:02
@caballeto caballeto merged commit d3bcb97 into main May 1, 2026
3 checks passed
@caballeto caballeto deleted the chore/forensics-details-field branch May 1, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant