Commit Graph
467 Commits
Author SHA1 Message Date
Jan-Niclas LoosenandClaude Sonnet 5.5 cc20100cbc feat: PresetComposer – Preset aus Kurz-/Vollform, Modul und Gruppen-Presets
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 17:42:18 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 bb4d9b3baf feat: Änderungs-Pipeline des Designsystems (Probelauf, design_rev, Snapshot, Rollback) und Bereich presets
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 17:39:58 +02:00
Jan-Niclas LoosenandClaude Haiku 5.5 bfd3840eb1 feat: Fundstellen eines Presets (PresetUsageMatcher, PresetUsageQuery)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-16 17:38:22 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 454116851e refactor: GlobalUsages sucht über UsageQuery – Bibliothekssuche als LibraryUsageQuery
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 17:36:21 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 3fe83e39d3 feat: DesignSystemWriter – Presets über Divis Sync-Ablauf schreiben (Mirror preset-sync)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 17:34:49 +02:00
Jan-Niclas LoosenandClaude Haiku 5.5 6ee8f9258a fix: SnapshotStore verweigert nicht kodierbare Snapshots
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-16 17:33:03 +02:00
Jan-Niclas LoosenandClaude Haiku 5.5 5ba52b98b3 feat: SnapshotStore – Snapshots des Designsystems je Bereich
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-16 17:31:48 +02:00
Jan-Niclas LoosenandClaude Haiku 5.5 388b52ea76 feat: PresetDiff – Unterschied zweier Preset-Bestände für den Probelauf
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-16 17:29:51 +02:00
Jan-Niclas LoosenandClaude Haiku 5.5 578ccba118 feat: PresetScope und PresetBook – Preset-Bestand im Divi-Speicherformat
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-16 17:27:27 +02:00
Jan-Niclas LoosenandClaude Haiku 5.5 36af846b3e docs: Divi-Formate der Presets gegen 5.15.1 geprüft
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-16 17:24:46 +02:00
Jan-Niclas LoosenandClaude Opus 5.5 aa1c8b42de feat: Divi 5.15.1 freigeben
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 17:22:57 +02:00
Jan-Niclas LoosenandClaude Opus 5.5 47090621c7 docs: Implementierungsplan Etappe 4a (Pipeline, Snapshots, Presets)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:35:09 +02:00
Jan-Niclas LoosenandClaude Opus 5.5 d391cb5112 docs: Etappe 4 Designsystem – Spec (Presets, Farben, Variablen, Theme-Optionen, Schriften, Schleifen)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:13:12 +02:00
Jan-Niclas LoosenandClaude Fable 5.1 e5f0c65eb0 feat: Divi 5.14.0 freigeben, Version 0.6.1
Divi 5.14.0 ändert SyncToServerController::update(): Vorlieben und
Workspace werden nicht mehr dort gespeichert, der Haupt-Post nur noch
bei singulären Builder-Speicherungen geschrieben. Die drei nachgebauten
Builder-Kennzeichen (_et_pb_use_divi_5, _et_pb_use_builder,
_et_pb_show_page_creation) werden unverändert gesetzt – Referenz und
Fingerabdruck per `wp lit-mcp divi-check --update-reference` nachgezogen,
Prüfung und divi-write-smoke.sh gegen 5.14.0 grün. 5.14.0 steht damit in
DiviReleases::TESTED.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:58:34 +02:00
Jan-Niclas LoosenandClaude Fable 5.1 1b73f0652a fix: Admin-UX aus dem Review – Live-Gruppenfeedback, Protokollfilter, Divi-Hinweis, Rollen-Rückfrage
- Tools: „Ganze Gruppe“ und „Nur lesen“ wirken sofort auf die Zeilen
  (Option „wie Gruppe (…)“, gesperrte Selects mit Hinweis), der Server
  bleibt die Wahrheit; Markup trägt die nötigen data-Attribute.
- Protokoll: Filter in eigenem Block über der Tabelle (Core blendet
  .tablenav .actions auf Telefonen aus); „Protokoll leeren“ nur bei
  Einträgen, rechtsbündig, mit Gesamtzahl über ChangeLog::count().
- Divi: Beschreibung unter „Prüfung starten“, Button primär solange
  ungetestet ohne frischen Bericht.
- Zugriff: Rückfrage vor dem Speichern ohne Rolle oder ohne eigene Rolle.
- Verbindung: HTTPS-Hinweis nicht doppelt neben der Statusliste.
- Mobil: breitere Einstellungs-Spalte im Tools-Reiter.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:39:44 +02:00
janniclas.loosenandClaude Opus 5.5 cc72f9b946 docs: Etappe 4 decisions draft (brainstorming paused)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-30 06:03:54 +02:00
janniclas.loosenandClaude Opus 5.5 2e4309cb42 test: Divi 5 design system fixtures and format notes for Etappe 4
Seed script writes four global colors (one relative), one variable per
type, four module presets (one default) and two option group presets plus
the draft page "[Fixture] Designsystem" through Divi's own builder REST
routes; export script saves them to tests/Fixtures/divi/stage4/. Notes
document storage, write functions, side effects and permissions.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-30 06:03:54 +02:00
janniclas.loosenandClaude Opus 5.5 81da979a15 Merge divi-absicherung: Divi-Grenze, Versionsfreigabe und Admin-Prüfung (0.6.0)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 06:03:39 +02:00
janniclas.loosenandClaude Opus 5.5 3d14a2e187 docs: Divi safeguard security audit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 03:36:25 +02:00
janniclas.loosenandClaude Opus 5.5 43c0a78374 fix: Divi-Reiter ohne Divi, Zustandstexte, Schreibsperren und Aufräum-Filter aus der Abschlussprüfung
Behebt die fünf Befunde der Abschlussprüfung von divi-absicherung: Divi-Reiter ohne aktives Divi zeigt nur
noch einen Hinweis (kein Status, keine Prüfung, kein Aufräumen), Zustandstexte werden erst beim Rendern
übersetzt, DiviPages::setFlags() und DiviThemeBuilder::liveId(true) prüfen jetzt selbst die
Freigabesperre, WriteProbe::removeOrphans() löscht nur noch Entwürfe mit passendem Titel, und
wp lit-mcp divi-check --update-reference verweigert sich ohne Entwicklungskopie, bevor irgendetwas
geschrieben wird.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 03:33:16 +02:00
janniclas.loosenandClaude Opus 5.5 35ea47d832 chore: release 0.6.0 with Divi release gate, smoke test and acceptance notes
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 03:19:31 +02:00
janniclas.loosenandClaude Opus 5.5 4b619d12e9 fix: write reference sources before fingerprints.json, atomic on failure
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 02:59:27 +02:00
janniclas.loosenandClaude Opus 5.5 ed806a1cc8 feat: wp lit-mcp divi-check with diff and reference update
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 02:52:17 +02:00
janniclas.loosenandClaude Opus 5.5 b441febd81 fix: atomic Divi check lock, failed-check notice, test fixes
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 02:45:50 +02:00
janniclas.loosenandClaude Opus 5.5 6113e5ad5a feat: Divi tab with REST check, release and withdrawal
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 02:39:21 +02:00
janniclas.loosenandClaude Opus 5.5 47040aa43d feat: admin check steps with throwaway write test and reports
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 02:21:09 +02:00
janniclas.loosenandClaude Opus 5.5 c6a1996be6 feat: adapter-level Divi release lock, content-create and site status
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 02:04:49 +02:00
janniclas.loosenandClaude Opus 5.5 adfe0adfc2 feat: central Divi release lock for the Divi tools
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:54:36 +02:00
janniclas.loosenandClaude Opus 5.5 cf3c5dfe76 feat: Divi release status, store, resolver and gate
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:46:05 +02:00
janniclas.loosenandClaude Opus 5.5 6b93df94c3 feat: manifest checks, Divi compatibility from manifests, reference fingerprints
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:37:51 +02:00
janniclas.loosenandClaude Opus 5.5 1a215fd7bf refactor: Divi design adapter, logo lookup moves out of media
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:31:23 +02:00
janniclas.loosenandClaude Opus 5.5 7fc41bc2ac refactor: Theme Builder adapter manifest with three mirrors
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:25:39 +02:00
janniclas.loosenandClaude Opus 5.5 e972898f52 refactor: Divi library adapters with manifest and submit-layout mirror
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:16:23 +02:00
janniclas.loosenandClaude Opus 5.5 fed77b0584 refactor: Divi pages adapter replaces DiviFlags
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 01:08:08 +02:00
janniclas.loosenandClaude Opus 5.5 e10a766e2a fix: DiviModules::knowsBlock() guards the metadata method, not just the class
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 00:57:38 +02:00
janniclas.loosenandClaude Opus 5.5 fc7a84d239 refactor: Divi catalog adapter with manifest
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 00:54:48 +02:00
janniclas.loosenandClaude Sonnet 5 5e6d5ff3e1 feat: Divi manifests, adapter register and boundary test
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-30 00:46:16 +02:00
janniclas.loosenandClaude Haiku 4.5 905bb8c2f3 feat: fingerprint Divi functions from source tokens
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-09-30 00:39:22 +02:00
janniclas.loosenandClaude Opus 5.5 ca40e39b18 docs: Divi safeguard implementation plan
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 00:36:19 +02:00
janniclas.loosenandClaude Opus 5.5 94b8c7b338 docs: Divi safeguard design spec (version gate, Divi boundary, admin check)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 00:01:20 +02:00
janniclas.loosenandClaude Opus 5.5 903246df74 Merge etappe-3: Divi-Bibliothek und Theme Builder (0.5.0)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:33:25 +02:00
janniclas.loosenandClaude Opus 5.5 066fe408ea docs: Etappe 3b rulings and security audit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:32:11 +02:00
janniclas.loosenandClaude Opus 5.5 66f012befd docs: check the page after restoring a layout revision in WordPress (re-review N-2)
A restore in the revision screen does not go through the plugin's cache
clear, so the Theme Builder guide asks to check the builder or the website
and to clear Divi's static CSS if the old state still shows.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:25:59 +02:00
janniclas.loosenandClaude Opus 5.5 a8afa37208 fix: make-global keeps the backup sentence on a failure on page 2+ (ruling P14)
failedOn() replaced the hint for a failure after earlier pages were
replaced, so the "Sicherung X liegt im Papierkorb" sentence of the failed
page's backup was lost. The hint now leads with it when a backup exists.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:25:53 +02:00
janniclas.loosenandClaude Opus 5.5 771f3794a0 fix: failed library and layout saves name the revision screen (audit L3)
A failed save of a library entry or Theme Builder layout now carries
restore_url when a revision exists; a partial write's hint points to the
WordPress revision screen and lit-divi-outline instead of
lit/revisions-list and lit/revision-restore, which answer not found for
these types. Pages keep the default hint.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:25:16 +02:00
janniclas.loosenandClaude Opus 5.5 9c3f7d356f style: give PostGuard::postType() its docblock back (re-review N-1)
unavailableType() moves below postType(), so the docblock on postType()'s
return type sits on postType() again.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:25:16 +02:00
janniclas.loosenandClaude Opus 5.5 beb8706d43 test: tb-smoke checks restore_url and the forbidden answer without Theme Builder rights
The confirmed live layout change must name the WordPress revision screen
(audit L3); an editor without the Theme Builder gets forbidden from
tb-assign and tb-activate whatever the ID (review M-9).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:18:31 +02:00
janniclas.loosenandClaude Opus 5.5 50cfa42358 docs: only the group switch keeps the Divi tools off Theme Builder layouts (audit I2)
The Theme Builder guide says that switching off single lit/tb-* tools does
not stop the lit-divi-* tools from editing layouts, and that "nur lesen"
also covers global modules in layouts. The decisions note records Q17 M1
and the restore_url answer of audit L3.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:12:40 +02:00
janniclas.loosenandClaude Opus 5.5 6288acf0e6 perf: DynamicFields reads each post type's fields once per check (review M-12 b)
reason() and note() run per key and type of a body check; they now share one
offered() result per post type, so the default storage callback loads each
pod once instead of per call.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:12:14 +02:00
janniclas.loosenandClaude Opus 5.5 14bc954ecc fix: Theme Builder minors of the final review (M-4, M-5, M-6, M-9, M-10, M-11, M-12 c)
- tb-list applies the detached limit after the edit filter (reads up to 500
  IDs) and notes when more are not listed (M-4); an invalid template_id is
  invalid input, shared with ThemeBuilderAccess::template() (M-5).
- Templates carry their status; tb-list notes that a live template outside
  publish (e.g. trashed) can only be switched off (M-10).
- changeableTemplate() refuses without canUse() first, like tb-list and
  tb-create-template; the layout/template refusal difference is documented
  (M-9).
- tb-create-template reads the default template from editableLiveTemplates()
  (M-11); the condition-ID character set (role slugs) is documented (M-6);
  tb-assign documents that a failed reattach keeps Divi's unused marks
  removed (M-12 c).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 23:12:14 +02:00