Skip to content

feat: update cases SDK/CLI for ext-cases data model changes#268

Merged
maximelb merged 2 commits intocli-v2from
ext-cases-datamodel-update
Mar 28, 2026
Merged

feat: update cases SDK/CLI for ext-cases data model changes#268
maximelb merged 2 commits intocli-v2from
ext-cases-datamodel-update

Conversation

@maximelb
Copy link
Copy Markdown
Contributor

Summary

  • Remove acknowledged and escalated case statuses — now only new, in_progress, resolved, closed
  • Simplify status transition state machine to match backend
  • Replace singular assignee with assignees array on case update
  • Remove escalation_group and investigation_id fields
  • Standardize evidence fields across entities, telemetry, and artifacts to use note + verdict
  • Artifact add now requires path + source (with artifact_type optional)
  • Add to_stakeholder and from_stakeholder note types
  • Update all explain texts, docstrings, and tests

Changes by file

File Changes
limacharlie/sdk/cases.py Update update_case docstring, add_entity/update_entity (note+verdict), add_telemetry/update_telemetry (note+verdict), add_artifact (path+source required)
limacharlie/commands/case_cmd.py Remove old statuses from choices, update all CLI options and explain texts, add new note types
tests/unit/test_sdk_cases.py Update all affected SDK tests
tests/unit/test_cli_case.py Update all affected CLI tests

Test plan

  • All 2941 unit tests pass
  • Manual smoke test against staging ext-cases API

🤖 Generated with Claude Code

maximelb and others added 2 commits March 28, 2026 10:56
Align the Python SDK and CLI with the latest ext-cases backend:

- Remove `acknowledged` and `escalated` case statuses (now: new,
  in_progress, resolved, closed)
- Simplify status transitions to match new state machine
- Replace `assignee` (singular) with `assignees` (array) on update
- Remove `escalation_group` and `investigation_id` fields
- Standardize evidence fields across entities, telemetry, artifacts:
  use `note` + `verdict` instead of name/context/first_seen/last_seen
  (entities), event_summary/relevance (telemetry), description (artifacts)
- Artifact add now requires `path` + `source` (artifact_type is optional)
- Add `to_stakeholder` and `from_stakeholder` note types
- Update all explain texts, docstrings, and tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The ext-cases backend reads q.Get("sid") not q.Get("sensor_id").
The old param name was silently ignored, making --sid filtering a no-op.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@maximelb maximelb requested a review from dzimine-lc March 28, 2026 18:30
@maximelb maximelb marked this pull request as ready for review March 28, 2026 18:30
@maximelb maximelb merged commit 18bc67c into cli-v2 Mar 28, 2026
7 checks passed
@maximelb maximelb deleted the ext-cases-datamodel-update branch March 28, 2026 18:43
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