This repository was archived by the owner on May 26, 2026. It is now read-only.
feat(kora): KR-FE-PROMOTION-REVIEW-AND-V2-MEGABUCKET — review panel + probe V2 + kora-actions extended#191
Merged
rafe-walker merged 1 commit intoMay 24, 2026
Conversation
… probe V2 + kora-actions extended Three deliverables that together complete cockpit visibility for the most recent BE landings (#184/#186). A) KR-FE-PROMOTION-REVIEW-PANEL * New /promotions/phrasebook page (5th AuditPanelKit consumer) * Approve / reject / edit-before-approve UX over PR #186 endpoints * Sidebar PendingBadge — yellow pill polled every 60s from /api/promotions/phrasebook/pending; hidden when count=0 * Drift-guard: PROMOTION_STATUS_VALUES (api.ts) ↔ _PROMOTION_STATUS_VALUES (web_server.py) ↔ PROPOSAL_STATUS_VALUES (proposer.py) pinned by test_promotion_status_drift_guard B) KR-FE-PROBE-INVESTIGATION-VIEWER-V2 * V1NotesBanner removed — PR #184 closed all 3 deferred gaps * BE /api/probe-investigations extended to JOIN 4 streams: probe.wake_requested + reasoning.tool_called + probe.investigation_completed (#184) + slack_dm_log.jsonl outbound entries (#184), all on caller_session_id="probe:{probe}:{category}" * dm_status chip filter (failed_send first per CC#1's #184 rec) * Per-row "🔧 fix attempted" badge when autofix rode along * Per-row investigation summary band: cost USD, model used, duration, DM-sent timestamp, summary text * Drift-guard: PROBE_DM_STATUS_VALUES (api.ts) ↔ _DM_STATUS_VALUES (web_server.py) pinned by test_dm_status_drift_guard C) KR-FE-KORA-ACTIONS-EXTENDED-SEAMS * 3 new action categories: promotion_proposed / promotion_approved / promotion_rejected (deep-link to /promotions/phrasebook?focus=) * BE summary helpers for promotion.proposed / .approved / .rejected seams (PR #186) * Drift-guard test extended: 9-value enum now includes the 3 promotion categories + investigation_completed (#184) Tests: 104 panel + drift-guard tests added/updated; full kora_cli suite passes (2533) modulo 6 pre-existing failures in unrelated backup/cron/gateway/config modules. Screenshots: see web/docs/promotion-review-and-v2-megabucket/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three batched FE deliverables completing cockpit visibility for the most recent BE landings (#184/#186).
probe.wake_requested+reasoning.tool_called+probe.investigation_completed+slack_dm_log.jsonl) oncaller_session_id; dm_status chip filter; per-row cost/model/duration/DM-sent summary + 🔧 fix attempted badge.promotion_proposed/promotion_approved/promotion_rejected) with deep-link to/promotions/phrasebook?focus=<id>.Drift-guard pins (3)
PROMOTION_STATUS_VALUES↔_PROMOTION_STATUS_VALUES↔PROPOSAL_STATUS_VALUEStest_promotion_status_drift_guardPROBE_DM_STATUS_VALUES↔_DM_STATUS_VALUEStest_dm_status_drift_guardKORA_ACTION_CATEGORIES↔_KORA_ACTION_CATEGORIES(extended)test_action_categories_drift_guardPlus
test_seam_literal_includes_all_source_seamsextended to assertprobe.investigation_completed+ 3 promotion seams in theSeamNameLiteral soread_audit_entriescan't silently return[].Screenshots
All 4 in
web/docs/promotion-review-and-v2-megabucket/:promotion_review.png— Deliverable A: 3 pending proposals, one in edit-before-approve modeprobe_investigations_v2.png— Deliverable B: 4-stream join, dm_status filter, autofix + DM failed cardskora_actions_extended.png— Deliverable C: timeline with all 6+ action categories incl. promotion-loop deep-linkssidebar_pending_badge.png— Deliverable A: NavItem with yellow PendingBadge=3Test plan
tsc -bcleanvite buildclean (1.88 MB bundle, no new warnings)tests/kora_cli/suite passes 2533 (6 pre-existing failures in unrelated backup/cron/gateway/config modules — confirmed identical onfeature/phase2-upgradesHEAD)STOP-ASKs resolved inline
/api/probe-investigationsneeded a small JOIN addition (not a separate bucket — kept inline with the FE work). Added_project_investigation_completed+_project_probe_dm_entry+_read_probe_dm_log_entrieshelpers; total +120 LoC.ProposalCardrather than refactoringPhrasebookEditor— the proposal shape (3 fields + review_notes) is narrower than PhrasebookEntry; copy-first + revisit later.Next CC#2 dispatch
FE consumer of CC#1's promotion-snapshot-expand loop once that lands — likely an extension to PromotionReviewPage that surfaces "rendered with current snapshot" preview alongside the proposed reply_template.
🤖 Generated with Claude Code