fix(#2247): compare decoded text in shim drift detection#8
Conversation
The stale-shim comparison used direct base64 comparison which produced false-positive drift detection when content was logically identical but encoded with different trailing newlines from GitHub's content API. Compare decoded text instead of base64 to avoid false positives. Add regression test for trailing newline tolerance. Closes fullsend-ai#2247
|
/fs quality |
|
🤖 Finished Review · ✅ Success · Started 6:09 AM UTC · Completed 6:20 AM UTC |
ReviewReason: stale-head The review agent reviewed commit Previous runReviewReason: stale-head The review agent reviewed commit Previous run (2)ReviewReason: stale-head The review agent reviewed commit |
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 6:21 AM UTC · Completed 6:34 AM UTC |
Co-Authored-By: QualityFlow <qualityflow[bot]@users.noreply.github.com>
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 6:36 AM UTC · Completed 6:47 AM UTC |
STD refined: APPROVED_WITH_FINDINGS -> APPROVED (score 80 -> 95) - Fixed tier values: "Functional" -> "Tier 1" in all 6 scenarios - Added patterns field to all scenarios (comparison-validation, workflow-integration, regression-suite) - Added Ordered decorator to all scenario contexts - Removed related_prs from document_metadata (content policy) - Added gomega import to Go stubs - Removed unused context import from code_generation_config
|
/fs-review |
QualityFlow Pipeline Summary
Test Output
Issue: GH-8 Generated by QualityFlow |
|
Closing to re-run with unified test-generator (7-stage pipeline) |
The stale-shim comparison in reconcile-repos.sh used direct base64 comparison which decoded base64, then re-encoded to base64. Bash command substitution strips trailing newlines, so the re-encoded base64 could differ from the original even when the decoded text was identical. This caused false-positive drift detection, leading to bogus update PRs (e.g. PR fullsend-ai#2101) that removed the sentinel lines.
Replace the base64-to-base64 comparison with decoded text comparison: decode both sides, strip carriage returns, and compare the resulting strings directly.
Add a regression test that verifies logically identical content with different trailing newlines is not flagged as stale.
Closes fullsend-ai#2247
Mirrored from upstream fullsend-ai/fullsend#2254 for QualityFlow demo.