Commit Graph
53 Commits
Author SHA1 Message Date
Jan-Niclas LoosenandClaude Opus 5.5 2facad1cbe docs: Plan Zwischenschritt – Kern entkoppeln und Divi-Freigabe je Fähigkeit; Übersicht der Pläne (archify)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:35:57 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 6d7c59e3fa docs: Tool-Texte und Guide zu Obergrenze ohne Rechtevorabprüfung, partial_write, Live-Sperre aus der Suche, PAGE_LIMIT; Entscheidungsnotiz zu R11
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 17:38:30 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 6b5de199f9 fix: Texte zu post_ids und Bearbeitungsrecht nennen forbidden für genannte Live-Seiten; Test für genannte blockierte Live-Seite; Smoke prüft Seiten-IDs numerisch
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 17:28:19 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 10bed73b24 test: Ende-zu-Ende-Test der Zuweisung (Stapel, Gruppen, Überdeckung, Massenzuweisung, detach); Entscheidungsnotiz zu 4b
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 17:25:16 +02:00
Jan-Niclas LoosenandClaude Opus 5.5 ca3bbf5ad1 docs: Plan Etappe 4b – Presets an Seiten zuweisen, Massenzuweisung, detach
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 16:34:17 +02:00
Jan-Niclas LoosenandClaude Opus 5.5 3e774507f2 docs: offene Kleinpunkte aus Etappe 4a festgehalten
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 18:13:14 +02:00
Jan-Niclas LoosenandClaude Sonnet 5.5 2ed6093f97 test: Ende-zu-Ende-Test der Presets gegen Divi; Guide und Entscheidungsnotiz zu 4a
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 17:56:07 +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 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
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 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 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 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 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 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 7590da4d96 fix: layout-edit dry runs name only editable live templates (ruling Q22)
ThemeBuilderEdits::showing() splits the live templates that show a layout
into editable ones (named under templates) and a hidden_templates count;
confirm is still decided on all of them, so a layout shown only by
uneditable templates still needs confirm. The live split is read once per
write for the confirm check and the field warnings, and field warnings now
also survive a non-confirm refusal such as the P9 backup refusal (M-12 a).
replace-text passes hidden_templates on; the write schema lists it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 22:57:45 +02:00
janniclas.loosenandClaude Opus 5.5 0b7a1c28ec test: Etappe 3b end-to-end smoke and acceptance checklist
tb-smoke.sh checks the Theme Builder tools, Pods field warnings (own
temporary pod, ruling Q6), find-similar, make-global, P13 and P10 through
the OAuth endpoint. The only enabled template targets a temporary draft
page; cleanup goes by exact IDs and the last section verifies the Theme
Builder list, enabled states and options equal the state before the run.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-27 22:37:12 +02:00
janniclas.loosenandClaude Opus 5.5 3db96a3f5b docs: Theme Builder guide, instructions, readme and spec for 0.5.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 22:05:33 +02:00
janniclas.loosenandClaude Opus 5.5 0edb474d78 docs: Etappe 3b implementation plan (Theme Builder)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 12:16:15 +02:00
janniclas.loosenandClaude Opus 5.5 e049959482 docs: Etappe 3a rulings and security audit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 04:57:43 +02:00
janniclas.loosenandClaude Opus 5.5 dcbd52e51d docs: acceptance note without CLI, with the editor connection and the read-only hint (M-15)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 04:24:01 +02:00
janniclas.loosenandClaude Opus 5.5 695f7b91ac docs: neutral client wording in the plugin header and the spec (T16)
The header says "mit OAuth für KI-Assistenten" like the readme; the spec names
the client neutrally and keeps claude.ai only where the connector is meant.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 04:21:25 +02:00
janniclas.loosenandClaude Opus 5.5 bd28c32513 docs: state the P13 limit honestly in the library guide (I-2)
With the library group disabled the entries stay unreadable and unwritable, but
page outline, node-get and render summary still name global module IDs; full
hiding follows in 3b.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 04:07:24 +02:00
janniclas.loosenandClaude Opus 5.5 186f7af7ca test: end-to-end smoke and acceptance note for the Divi Library (3a)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 03:51:12 +02:00
janniclas.loosenandClaude Opus 5.5 2729e2800e docs: guides, readme and spec for the Divi Library (v0.4.0)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 03:33:38 +02:00
janniclas.loosenandClaude Opus 5.5 cfc81ddbb2 docs: Etappe 3a implementation plan (Bibliothek)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 00:10:27 +02:00
janniclas.loosenandClaude Opus 5.5 30788f2841 docs: Etappe 3 decisions draft with user answers
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 23:05:34 +02:00
janniclas.loosenandClaude Opus 5.5 dff3b20977 docs: Etappe 2b rulings, security audit and trial feedback
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 22:18:23 +02:00
janniclas.loosenandClaude Opus 5.5 37ecb036ba docs: acceptance note matches M2, adds trial reset and connection/tab checks (review I-2)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 19:19:15 +02:00
janniclas.loosenandClaude Opus 5.5 e005d83a3d docs: S7 exception applies only to pages not yet in Divi's saved form
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 17:26:04 +02:00
janniclas.loosenandClaude Opus 5.5 e0ab6f53e5 docs: D11 superseded by the single Divi save path (Task 9)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 17:17:55 +02:00
janniclas.loosenandClaude Opus 5.5 10c98cd3c6 docs: Divi guides shortform/placeholders, hints name the write tools; test: Divi write end-to-end; version 0.3.0
- Hints (PostPresenter::DIVI_NOTE, outline, catalog) and server instructions (tree_rev rule)
  name the Divi write tools; guides divi-shortform and divi-placeholders, additions to
  divi-structure, divi-attrs, overview (tool groups, 'nur lesen'), workflows, content-types.
- D7 wording and the S7 exception in readme, guides and spec 1.3/5.2; readme 0.3.0.
- ToolNamingTest: every referenced guide topic exists; overview lists exactly the topics.
- tests/Integration/divi-write-smoke.sh: all write tools via OAuth, editor without
  unfiltered_html with benign probes (S6), Divi's own save filters on the new fixture
  synthetic-divi-filters.html (S7); admin-render.php accepts the new wrap class.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 17:13:59 +02:00
janniclas.loosenandClaude Opus 5.5 1ea2e16c49 feat: Divi placeholders, strict $variable references and full-form attribute writer
VariableRef parses, validates and re-serializes every $variable(...)$ value
(S1/S2/S12); AttrWriter routes strings by catalog kind incl. per-subName
composite kinds and key-name URL fallback (S3/S3a), rejects odd value keys
(S13) and Divi HTML/attribute fields without unfiltered_html (S7);
ambiguous design-system labels fail with their ids (S13a); R2 finding
recorded (S5).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 13:23:59 +02:00
janniclas.loosenandClaude Opus 5.5 395e9644ac docs: Etappe 2a rulings
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 13:16:30 +02:00
janniclas.loosenandClaude Opus 5.5 45dcd9176c fix: divi-node-get rev + short type, divi-outline id validation
- lit/divi-node-get now also returns the post-level rev (Rev::ofPost, same
  optimistic lock lit-content-update needs) next to tree_rev, and reports a
  node's type as the short name ("button"), matching lit-divi-outline instead
  of the namespaced "divi/button". description() notes that $variable(...)$
  values shown are re-validated when written, never taken over unchecked.
- lit/divi-outline validates its optional `id` input against the same
  path-ID pattern lit-divi-node-get uses (a malformed id is now a validation
  error, not a "not found"), and its outputSchema's per-node `required` list
  now includes info/presets/children, which are always present.
- NodeSummary::label() (the admin label shown in outlines and node-get)
  whitespace-normalizes and bounds its result via Text::shorten(), like every
  other summary string, instead of returning a raw, unbounded value.
- docs/superpowers/notes/.../etappe-2a-abnahme.md corrected: only a global
  module is "nur lesbar" - a specialty section is a normal, editable
  divi/section block; the outline just marks it "[specialty]".

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-26 13:12:50 +02:00
janniclas.loosenandClaude Opus 5.5 f433fef8f7 feat: Divi hints point to the read tools; guides divi-structure/attrs/design-system; test: Divi read end-to-end
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 12:41:42 +02:00
janniclas.loosenandClaude Opus 5.5 c9b31a61da docs: fix review round 1 - tree_rev in save pipeline, single-source D7 in Sec 10/11.3/14
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 11:24:58 +02:00
janniclas.loosenandClaude Opus 5.5 040a60ff18 docs: spec - tree_rev lock (P16), tool budget and decisions for Etappe 2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 11:20:16 +02:00
janniclas.loosenandClaude Opus 5.5 703fecb6d4 docs: implementation plans Etappe 2a (Divi lesen) and 2b (Divi schreiben)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 11:07:49 +02:00
janniclas.loosenandClaude Opus 5.5 ef445937e5 docs: record stage 1b rulings and deferred items
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 05:16:51 +02:00
janniclas.loosenandClaude Opus 5.5 7f58301a71 docs: readme with site-wide effects, media guide; test: media/admin end-to-end; version 0.2.0
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 04:51:11 +02:00
janniclas.loosenandClaude Opus 5.5 51e8846e1f docs: record stage 1a rulings and deferred items
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-26 01:35:44 +02:00
janniclas.loosenandClaude Opus 5.5 5434cb6767 docs: implementation plans for stage 1 (1a content/menus/settings, 1b media/admin)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-25 21:21:18 +02:00
janniclas.loosenandClaude Opus 5.5 85bd6ca365 docs: mark delivery/update stage as open in spec
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-25 20:13:58 +02:00
janniclas.loosenandClaude Opus 5.5 3f30e36a73 docs: add delivery & update stage to spec
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-25 20:06:06 +02:00
janniclas.loosenandClaude Opus 5.5 f945734c6c docs: code module always allowed, remove setting
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-25 15:19:05 +02:00
janniclas.loosenandClaude Opus 5.5 a8c8cee7e5 docs: drop per-ability isAvailable(); integrations omit unusable abilities instead
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
2026-09-25 15:16:31 +02:00