Skip to content

feat(DRC-2641): run history view + metadata Activity runs#1242

Open
iamcxa wants to merge 9 commits intomainfrom
feature/drc-2641-run-history-view
Open

feat(DRC-2641): run history view + metadata Activity runs#1242
iamcxa wants to merge 9 commits intomainfrom
feature/drc-2641-run-history-view

Conversation

@iamcxa
Copy link
Contributor

@iamcxa iamcxa commented Mar 24, 2026

Summary

  • Run model: triggered_by field ("user" | "recce_ai") for run attribution
  • MCP server: _create_metadata_run creates Activity entries for schema_diff/lineage_diff
  • MCP server: run_check and create_check now produce Run records for ALL check types
  • MCP tool schemas: triggered_by parameter added to run_check and create_check
  • Run name generation: supports lineage_diff and schema_diff types
  • UI: Actor badge on CheckCard/CheckDetailOss (skip for preset)
  • UI: deriveRunStatus maps finished+error to error status
  • UI: RunTimelineEntry shows "by AI" label for agent-triggered runs

Key changes

File Change
recce/models/types.py Run.triggered_by field
recce/apis/run_func.py submit_run accepts triggered_by, name gen for lineage/schema
recce/apis/run_api.py Run list includes error + triggered_by
recce/apis/check_api.py HTTP handlers hardcode triggered_by="user"
recce/mcp_server.py _create_metadata_run, metadata runs in run_check/create_check
UI components Actor badge, run status mapping, timeline entry

Depends on

  • Cloud PR: DataRecce/recce-cloud-infra#1099 (comment builder + state sync)

Test plan

  • Import verification for run_func changes
  • Run name generation for lineage_diff/schema_diff
  • E2E: metadata checks produce Activity entries after image rebuild
  • Pre-commit hooks pass (black, isort, flake8, biome)

🤖 Generated with Claude Code

iamcxa and others added 8 commits March 23, 2026 20:49
Signed-off-by: Kent <iamcxa@gmail.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
…641)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
Timeline self-fetches runs in cloudMode using useApiConfig.
No props threading needed from Cloud wrapper.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
- Add triggered_by field to Run model ("user" | "recce_ai")
- submit_run accepts triggered_by parameter
- HTTP handlers hardcode triggered_by="user" to prevent spoofing
- generate_run_name supports lineage_diff and schema_diff types
- Run list response includes error field

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
- _create_metadata_run helper creates Run records for schema_diff
  and lineage_diff without going through submit_run (no task handler)
- run_check now creates Run for metadata-only types instead of
  short-circuiting (so they appear in Activity)
- create_check auto-runs metadata-only types via manifest read
- Add triggered_by to run_check and create_check tool schemas

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
- Skip actor badge for preset checks in CheckCard and CheckDetailOss
- deriveRunStatus: finished+error=error, finished+no error=success
- RunTimelineEntry shows "by AI" label for recce_ai triggered runs
- BaseRun type includes triggered_by field
- Update CheckCard actor badge tests for preset skip

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
@iamcxa iamcxa self-assigned this Mar 24, 2026
@iamcxa iamcxa changed the title feat: run history view + metadata Activity runs (DRC-2641) feat(DRC-2641): run history view + metadata Activity runs Mar 24, 2026
Previously _export_state_to_session set checks=[] to avoid conflicts
with Cloud DB. Now includes agent-created checks so Cloud can import
them into the DB for PR comment checklist display.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Kent <iamcxa@gmail.com>
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