feat: FlowPilot migration — Phase 1-9 + Phase 9 bug fixes + QA fixture harness #147

Merged
chihlasm merged 85 commits from feat/flowpilot-migration into main 2026-04-25 06:02:14 +00:00
Showing only changes of commit f930787200 - Show all commits

View File

@@ -28,6 +28,9 @@ interface TemplateMatchPanelProps {
fix: SessionSuggestedFix
sessionId: string
onClose: () => void
/** Fires when the engineer declares the script was run. Parent calls
* applyFix() to stamp applied_at. */
onMarkRun?: () => void
}
interface ParamSchemaEntry {
@@ -39,7 +42,7 @@ interface ParamSchemaEntry {
options?: Array<{ label: string; value: string }>
}
export function TemplateMatchPanel({ fix, sessionId, onClose }: TemplateMatchPanelProps) {
export function TemplateMatchPanel({ fix, sessionId, onClose, onMarkRun }: TemplateMatchPanelProps) {
const [template, setTemplate] = useState<ScriptTemplateDetail | null>(null)
const [templateLoading, setTemplateLoading] = useState(true)
const [templateError, setTemplateError] = useState<string | null>(null)
@@ -243,6 +246,16 @@ export function TemplateMatchPanel({ fix, sessionId, onClose }: TemplateMatchPan
>
Edit parameters
</button>
{onMarkRun && (
<button
onClick={onMarkRun}
className="inline-flex items-center gap-1.5 px-3 py-1.5 rounded text-[0.75rem] font-semibold bg-accent text-[#0a0d14] hover:brightness-110 transition-colors"
aria-label="Mark the script as applied to start verifying the fix"
>
<Check size={12} aria-hidden="true" />
I ran this
</button>
)}
</div>
</>
)}