performwp / performwp/perform

Add safe optimization history and rollback foundation

Open
#179 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: performance area: settings enhancement owner:codex priority: high risk: backward-compatibility status: ready
Dominant language
PHP
Stars
5
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Summary

Add a safe optimization history and rollback foundation for Perform actions that change site behavior or stored settings.

This should become the shared safety layer before deeper optimizers are allowed to change database, autoload, scheduled task, or asset behavior.

Why this matters

Performance tools can break sites when changes are hard to trace or reverse. Perform should record what changed, when it changed, who changed it, and how to roll back where possible. This also creates a better support and release-readiness story for advanced performance modules.

Proposed scope

  • Add an internal optimization event log for Perform-managed changes.
  • Record:
    • module/action
    • timestamp
    • initiating user ID
    • high-level before/after summary
    • rollback availability
    • validation notes or warnings
  • Add a small admin UI for recent optimization history.
  • Define a rollback interface modules can implement.
  • Add clear confirmations for write actions.
  • Keep storage bounded and clearable.

Acceptance criteria

  • Existing safe settings changes can record an event without changing their public behavior.
  • The history screen lists recent Perform-managed changes.
  • The framework supports rollback-capable and non-rollback-capable events.
  • Sensitive values are not exposed in the event log.
  • Data can be cleared by an administrator.
  • Tests cover event creation, retention, permissions, clearing, and sensitive-value redaction.

Notes

This issue should be implemented before any advanced optimizer starts making database or option-write changes automatically.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing safe settings changes and the plugin’s admin UI entry points. Define the event history, rollback interface, confirmations, bounded storage, permissions, clearing, and sensitive-value redaction around those flows. Done means recent changes are listed, supported events can indicate rollback availability, and the stated acceptance tests pass without changing existing public behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.