In the previous step, I made duplicate detection profile-specific.
[Previous article: profile-specific duplicate rules]
https://dev.to/fastapier/i-added-profile-specific-duplicate-rules-to-my-csv-intake-console-4-4pno
That improved the intake logic.
But there was still a practical problem:
an operator could be given the right result, and still not trust the screen.
So this update was about the operator view.
I cleaned up the parts of the console that matter when someone is trying to understand a staged import quickly:
- headline run counts
- row-by-row decisions
- remediation context for blocked rows
- run history with downloadable remediation packs
The goal here was not to make the UI “prettier.”
It was to make the intake state readable.
A staged run should immediately answer questions like:
- How many rows are actually ready?
- Which row is blocked?
- Why was it blocked?
- Can I export the blocked set and retry safely later?
- Can I trace what happened across runs?
That is where intake systems usually get weak.
They might validate the file correctly, but the operator still has to mentally reconstruct what the system is doing.
So I tightened the console around that operational flow.
The row decisions view now makes it much easier to scan:
- action
- state
- row lineage
- visible reason / diff
- blocked-row remediation guidance
- inline fix form for re-evaluation
That matters because dirty CSV handling is not just about parsing.
It is about reducing hesitation at the point where someone has to decide whether to trust the next step.
And the run history now reads more like an operational timeline than a dump of UUIDs.
Blocked-run exports are visible.
Retry relationships are visible.
Source run lineage is visible.
This is the direction I want for the project.
Not “CSV upload with validation,” but a defensive intake console that helps an operator move from staging to repair to retry with less guesswork.
If you work on messy onboarding flows, internal import tooling, or audit-ready CSV intake systems, feel free to reach out:



Top comments (0)