This commit is contained in:
2026-05-05 20:31:55 +02:00
parent 0776c4531e
commit d203370870
9 changed files with 682 additions and 42 deletions

View File

@@ -0,0 +1,38 @@
# Summary: 01-01 DataForSEO Cost Optimization
## Plan
`.paul/phases/01-dataforseo-cost-optimization/01-01-PLAN.md`
## Completed
- Added DataForSEO cost-policy helpers in `autoload/class.Cron.php`.
- Added adaptive interval calculation for phrases without manual `days_offset`.
- Preserved manual `days_offset` as the authoritative schedule override.
- Changed DataForSEO candidate selection from a single SQL-selected phrase to a bounded candidate pool ordered by oldest `last_checked`, then filtered in PHP.
- Removed the old `30/50/100` depth ladder.
- Capped all DataForSEO v3 Google Organic requests at top 50.
- Hardened result processing so "not found in returned top 50" stores position `0` without relying on an undefined `$site`.
- Added depth and interval metadata to the cron success message.
## Verification
- `php -l autoload\class.Cron.php` - passed.
- Confirmed no `100` literal remains in `autoload/class.Cron.php`.
- Confirmed DataForSEO payloads use computed `$depth` from `getDfsDepth()`.
- Confirmed both localization branches use the same computed depth.
## Deviations
- No SonarQube scan was run because only one source file was modified.
- No codebase docs were updated because this plan changed one existing backend file and did not introduce schema, dependency, API, or multi-file architecture changes.
## Files Modified
- `autoload/class.Cron.php`
- `.paul/STATE.md`
- `.paul/phases/01-dataforseo-cost-optimization/01-01-SUMMARY.md`
## Next
Run `$paul-unify .paul/phases/01-dataforseo-cost-optimization/01-01-PLAN.md` to reconcile the implementation against the plan and close the loop.