Commit Graph

7 Commits

Author SHA1 Message Date
85c2295f63 Keep status pills on one line (white-space: nowrap)
Two-word statuses like "never ran" wrapped the module-list row.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 12:33:48 -04:00
3b3fe6f865 feat: module descriptions, modules-list redesign, abandoned-run sweep
Modules:
- add `description` column (schema + migration); create/update/wizard/edit
  forms and module detail all carry it

Modules list page:
- columns: name, description, groups, last run, rows, duration, status
  (dropped strategy/dest and the run/dry-run buttons)
- every column click-to-sort; description truncates single-line with ellipsis
- compact grid; restore main max-width (now 1400px)
- status pill partial is now a <span> so it sits in its own cell

Startup reliability:
- reconcile_abandoned_runs(): on boot, mark run_log/group_run rows stuck in
  `running` (left by a hard kill mid-run) as `error`, complementing the
  existing stale module-lock sweep

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 15:06:42 -04:00
583dc16c9b web: tighten module list column widths and fix form input overflow
- Size all table columns to fit content (em-based) rather than loose percentages
- Add white-space:nowrap to groups header and last-run cells
- Sticky topbar and panel header so New Module button stays visible while scrolling
- Scope min-width:0 to label.field inputs so they don't blow past two-col grid borders

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-04 10:52:23 -04:00
31d670b4e6 Add group runs and fix wizard identifier sanitization for spaced column names
Groups allow multiple modules to be run sequentially in a defined order.
Adds full CRUD (repo, engine orchestrator, web routes, templates) for grp,
group_member, and group_run tables that were previously schema-only. Module
index now shows group membership badges per module. Wizard default dest name
now sanitizes source column names with spaces or special characters to valid
identifiers rather than failing at CREATE TABLE time.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-02 00:05:37 -04:00
546242e11a Wizard step 2: schema browser panel with datalist autocomplete
Adds a /wizard/schemas JSON endpoint and a live-filtered schema picker
panel on step 2. Clicking a row fills the schema input; the datalist
also powers browser autocomplete. MSSQL refetches when database or
linked_server qualifiers change. CSS fixes prevent picker tables and
two-col grid items from overflowing their containers.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-02 20:56:18 -04:00
f18ea55a12 Wizard: warn in-UI when default dest table already exists.
Previously the existing-dest check fired on submit and surfaced as a raw
JSON 400. Now step 3 introspects the default dest up front and renders a
yellow banner listing existing columns; submit-time mismatches render
wizard_error.html (409) with missing vs. existing side-by-side and a back
link that re-plumbs the form qvals.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 13:27:23 -04:00
574ada5258 Initial commit: Pipekit rewrite.
Orchestration layer around the jrunner Java JDBC CLI, replacing the
previous shell-based sync system in .archive/pre-rewrite. Includes
the FastAPI + Jinja web frontend, per-driver adapters (DB2, MSSQL,
PG), wizard-driven module creation with editable dest types and
source-sourced table/column descriptions, watermark/hook CRUD,
and the engine that runs modules end-to-end.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 00:38:26 -04:00