feat: initial scaffold kanban_cpp v0.1.0
C++ ImGui kanban for steering LLM agents. Six panels (Board, Calendar, Dashboard, Agent runs, Worktrees, DoD inspector) wired to registry functions http_request, kpi_card, sparkline, agent_runs_timeline, dod_evidence_panel. Backend Go on :8403 (independent operations.db from kanban_web).
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
// panel_dod.cpp — DoD evidence inspector wrapping the registry panel.
|
||||
//
|
||||
// MVP: uses a synthetic in-memory DodPanelState so the panel renders without
|
||||
// the agent_runner_api wired up. When that API exposes /api/dod_items +
|
||||
// /api/dod_evidences endpoints, this will fetch them like panel_agent_runs.
|
||||
#include "panels.h"
|
||||
#include "core/icons_tabler.h"
|
||||
#include "viz/dod_evidence_panel.h"
|
||||
|
||||
#include <imgui.h>
|
||||
|
||||
namespace kanban_cpp {
|
||||
|
||||
namespace {
|
||||
|
||||
fn_viz::DodPanelState& state_singleton() {
|
||||
static fn_viz::DodPanelState st;
|
||||
static bool inited = false;
|
||||
if (!inited) {
|
||||
st.run_id = "(none)";
|
||||
// Empty until wired to backend. Helpers count zeros gracefully.
|
||||
inited = true;
|
||||
}
|
||||
return st;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
void draw_dod(AppState& /*s*/, bool* p_open) {
|
||||
if (!ImGui::Begin(TI_LIST_CHECK " DoD inspector", p_open)) {
|
||||
ImGui::End();
|
||||
return;
|
||||
}
|
||||
|
||||
auto& st = state_singleton();
|
||||
ImGui::TextDisabled("run_id: %s (TODO: wire to agent_runner_api)", st.run_id.c_str());
|
||||
ImGui::Separator();
|
||||
fn_viz::render_dod_evidence_panel(st);
|
||||
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
} // namespace kanban_cpp
|
||||
Reference in New Issue
Block a user