# TCOC-5671: Fix Dedicated Import wildcard matching

## Analysis

The Dedicated import agent currently converts a custom source pattern into a
regular expression by escaping dots only. As a result, glob wildcards retain
regular-expression quantifier semantics: `actionpoint*.csv` becomes
`(?i)^actionpoint*\.csv$`, which cannot match files such as
`actionpoint.entries.000001.csv`.

The Serverless implementation converts `*` to `.*`, `?` to `.`, and escapes
regular-expression metacharacters. Dedicated should use the same conversion
rules so the documented source pattern behavior is consistent across tiers.

| Area | Current behavior | Required behavior |
| --- | --- | --- |
| `*` | Passed through as a regexp quantifier | Convert to `.*` |
| `?` | Passed through as a regexp quantifier | Convert to `.` |
| regexp metacharacters | Only `.` is escaped | Escape all supported metacharacters |
| matching | `actionpoint*.csv` misses `actionpoint.entries.xxxxxx.csv` | Pattern matches the customer's files |

## Execution

1. Replace Dedicated custom-pattern generation with the Serverless wildcard
   conversion algorithm.
2. Add table-driven unit tests for `*`, `?`, escaped metacharacters, and the
   customer pattern `actionpoint*.csv`.
3. Run the focused package test:

   ```bash
   go test ./pkg/agent/grpc -run TestGenerateCustomFilePattern
   ```

4. Run the complete shared package test target required by the repository:

   ```bash
   make app-unit-test-local
   ```

5. Inspect the diff and branch status, commit only the scoped source, test,
   and execution-plan files, push the branch, and open a PR linked to TCOC-5671.

## Risk and rollback

The change affects only custom source-pattern matching in the Dedicated import
agent. Exact patterns continue to match exactly, while documented wildcard
patterns become functional. Rollback is a single commit revert if any existing
custom-pattern compatibility issue is found.
