SEZ9 commented on PR #13002:
URL: https://github.com/apache/seatunnel/pull/13002#issuecomment-6466890296

   Thanks @DanielLeens. Both blocking issues are fixed, plus 3 and 4.
   
   **Blocking 1 — validator's first line dropped.** Confirmed against 
`VALIDATOR_SYSTEM`, whose contract is `PASS` / `PASS_WITH_NOTES: ...` / `FAIL: 
<issue list>` — so the first line carries a real issue and `split("\n", 1)[-1]` 
discarded it. Exactly as you said, that removed a genuine defect from the 
repair prompt in the one case where two things were wrong at once. The drift is 
now prepended and the validator text kept whole, and a test feeds a three-line 
`FAIL:` result and asserts every issue survives.
   
   **Blocking 2 — credentials in the repair prompt.** Fixed by routing 
`request` and `plan_text` through `redact_credentials`, the same scrubber the 
planner path and the session writer use.
   
   One thing I want to be explicit about rather than let the fix imply more 
than it does: that scrubber keys on `key = value`, `key: value` and "password 
is X". A bare `password Hunter2Secret!` in prose is **not** matched — my first 
test used that phrasing and correctly failed. I chose not to widen the regex 
here, because it is shared with session persistence and memory, and loosening 
it to "password followed by a token" would start redacting things like 
"password rotation policy". So the guarantee this PR adds is parity with the 
config path, not exhaustive scrubbing. The test docstring records that 
boundary, and the tests assert what is actually guaranteed (`password is X` and 
`secret_key=X` are removed, the rest of the request survives). Happy to open a 
separate issue for hardening the redactor if you think it is worth it.
   
   **Issue 3 — plan names are model output.** Agreed, and this was the sharpest 
of the five: exact matching would have condemned a correct config and then 
spent three repair rounds moving it *away* from the right connector. Planned 
names are now intersected with what `list_connector_names()` registers for that 
section. When the registry is unavailable the comparison falls back to names as 
given — without a registry there is no way to tell an alias from a real 
mismatch, so I kept the pre-existing behaviour rather than silently disabling 
the check. Three tests: registered name enforced, unregistered name ignored, 
registry unavailable.
   
   **Issue 4 — docstring.** You are right, it described `-CDC` handling the 
code never did. I wrote that sentence and it was wrong; removed and replaced 
with what the function actually guarantees.
   
   **Issue 5 — test gaps.** Covered by the two above: a multi-line `FAIL:` 
merge case, and redaction asserted against the real `_run_fix` prompt rather 
than a mock.
   
   The branch has been rebuilt on the updated #13000 and #13001, so it carries 
their follow-up commits. Suite from `seatunnel-cli/`: 370 passed, 3 subtests 
passed.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to