Skip to content

Conversation

@ilicfilip
Copy link
Collaborator

@ilicfilip ilicfilip commented Nov 6, 2025

This PR implements https://github.com/ProgressPlanner/progress-planner-pro/issues/182 (still WIP of course)

Technically implementation is described in README.md, so I will focus more on testing initial implementation and what needs to be done in the future.

When Progress Planner MCP server is registered Angie becomes aware of it and it is smart when you ask her about it, for example queries like "List me all (completed) Progress Planner tasks" work without the a problem.

Tasks like "Can you complete 'Set site tagline' Progress Planner task for me? I would like to set tagline to 'Thank you!'" work fine most of the time.

Good example is "Can you complete the "Set site timezone" Progress Planner task? I would like to set the timezone to Amsterdam" as well. It is smart enough to pass Europe/Amsterdam to our API callback so the timezone_string wp_option is correctly set.

Completing the "Set site locale" didnt work for me, what Angie did was that it set the site locale (by setting the wp_option directly) and then tried to mark PP task as completed through our API endpoint. That is the thing which we need to be careful when testing, as PP plugin codebase will mark task as completed if the condition is satisfied, but it doesnt mean that it was completed through the Angie integration itself. More on that below.

Also my tries to tell it to complete the "Set the site icon" task to the icon which I have uploaded failed, it didn't even add icon to the Media library

Angie runs in an iframe and the WP Dashboard on the right doesn't update without refreshing it. Mentioning it since it will look a bit weird if Angie says that she changed site locale but change is not visible right away. This can be especially be weird if we trigger confetti (yes, it should be possible to do some kind of celebration at least) but in order to do so we need to make sure that tasks are completed through our integration (not by setting wp_options directly).

That can probably be improved by providing better context to Angie here.

When testing be aware that you have (only) 900 tokens per day on a free plan.

One technical note, code is placed in this way so our autoloader works (at first I placed it in ./third-party/angie, but autoloader requires classes only from classes directory) so we will probably move it to a better place.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

Test on Playground
Test this pull request on the Playground
or download the zip

@ilicfilip ilicfilip marked this pull request as draft November 6, 2025 12:29
@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

✅ Code Coverage Report

Metric Value
Total Coverage 26.21% 📉
Base Coverage 23.99%
Difference 📈 2.22%

⚠️ Coverage below recommended 40% threshold

🎉 Great job maintaining/improving code coverage!

📊 File-level Coverage Changes (11 files)

🆕 New Files

Class Coverage Lines
🟢 Progress_Planner\Third_Party\Angie\Angie_API 82.41% 178/216
🔴 Progress_Planner\Third_Party\Angie\Integration 0.00% 0/37

📈 Coverage Improved

Class Before After Change
Progress_Planner\Suggested_Tasks\Providers\Select_Timezone 0.00% 40.79% +40.79%
Progress_Planner\Suggested_Tasks\Providers\Select_Locale 0.00% 34.65% +34.65%
Progress_Planner\Suggested_Tasks\Providers\Blog_Description 33.33% 43.33% +10.00%
Progress_Planner\Utils\Cache 12.50% 18.75% +6.25%
Progress_Planner\Suggested_Tasks\Task 20.00% 23.33% +3.33%
Progress_Planner\Rest\Base 73.53% 76.47% +2.94%
Progress_Planner\Base 7.69% 8.92% +1.23%
Progress_Planner\Suggested_Tasks\Providers\Tasks 37.20% 37.58% +0.38%

📉 Coverage Decreased

Class Before After Change
Progress_Planner\Suggested_Tasks\Providers\Site_Icon 20.00% 17.39% -2.61%
ℹ️ About this report
  • All tests run in a single job with Xdebug coverage
  • Security tests excluded from coverage to prevent output issues
  • Coverage calculated from line coverage percentages

@ilicfilip
Copy link
Collaborator Author

Notes from the recent commits:

  • Tasks which Angie 'sees' are limited now, she can see only the tasks which she can complete: core-blogdescription, set-locale, select-timezone (WIP of course, the list will be expanded).
  • Angie tool definition is moved to PHP, so JS doesnt need to be rebuilt every time there is a change (new tool is added or simply description changed). This will be further improved.
  • JSON schema, which is used to define Angie tool, is improved (uses more strict type checking) and expanded.

We should be careful when defining schema, docs are not that clear and a small mistake can cause Progress Planner MCP server (or tools) not to be registered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants