Skip to main content

iil-klickdummy — Shared Infrastructure for platform:ADR-211 (Rev 22)

Versioniertes pip-Paket mit allem, was Klickdummy-Konformität braucht: Schemas, Konformitäts-Checks (I1–I4), Requirements-Bridge, S11-Inventur, Feedback-Widget v0.5 (Co-Creation-Loop, GitHub-Direkt-API) und ab v1.1 einen Multi-Klickdummy-Browser mit Versions-Switcher.

Install

Default (v1.29+): public PyPI

pip install "iil-klickdummy>=1.29,<2.0"

Fallback / Dev: via Git-URL

pip install "iil-klickdummy @ git+https://github.com/iilgmbh/iil-klickdummy.git@v1.31.1"

Workspace-Pattern (Development):

pip install -e ../platform/packages/iil-klickdummy

Console-Scripts

klickdummy-i1 <spec>:<schema> ...          # Spec ↔ Route Coverage
klickdummy-i2 <spec>:<schema> ...          # 4-Pattern (strict-mode)
klickdummy-i3 <spec>:<schema> ...          # Off-Ramp + Sunset
klickdummy-i4 docs/                        # Cross-Repo-Ref-Format
klickdummy-extract-requirements <spec>     # Spec → UC/FR/NFR/Lasten/Pflicht
klickdummy-gen-e2e <spec> [--output <dir>] [--strict-selectors]
                                           # Spec → ausführbare Playwright/pytest-Parity-Suite
                                           # --strict-selectors: bricht ab bei fragilen Selektoren
                                           #   Präfix-Vokabular: testid= (stabil, kanonisch),
                                           #   role=<name> (stabil), label= (stabil), text= (fragil)
klickdummy-stories <spec>                  # story.yaml-Validierung
klickdummy-flow <spec>                     # Screen-Flow-DAG-Lint
klickdummy-stories-manifest               # Stories-Manifest generieren
klickdummy-genesor                         # Lineage-Renderer (genesor)
klickdummy-inventory                       # S11 cross-repo legacy class scan
klickdummy-install-snippets [--symlink]    # HTML+JS+templates in <repo>/platform-snippets/
klickdummy-browser [--output X.html]       # v1.1: Multi-Klickdummy-Browser (Listbox + iframe)
klickdummy-sync                            # Klickdummy-Meta → pgvector-Orchestrator
klickdummy-manage                          # Verwaltungs-CLI (list/status/topics/versions/diff)

v1.1 — Browser-Feature (Stufe 1+2)

Erzeugt eine statische klickdummy-browser.html mit:

  • Linke Sidebar: Listbox „Klickdummy" (alle im Repo gefundenen) + Versions-Switcher (aus Git-History)
  • Detail-Card: Spec-ID, Klasse-Badge, ADR-Ref, Schwester-Klickdummies, Pfad
  • Main: iframe lädt aktive shell.html mit ?feedback=on

Erzeugung:

cd <repo>
klickdummy-browser --output klickdummy-browser.html
# Browser: open klickdummy-browser.html

Cross-Repo-Modus (--cross-repo --base ~/github) ist v1.2-Roadmap.

Feedback-Widget (v0.5)

Browser-side, opt-in via ?feedback=on. Submit-Modes:

Mode Was passiert
download Markdown-Datei (offline-fähig, kein GitHub-Token nötig)
clipboard navigator.clipboard.writeText
github POST direkt an api.github.com/repos/.../issues mit User-PAT aus localStorage.klickdummy_github_token; Issue-Author = realer GitHub-User; Audit native

Konfiguration im Host (vor Widget-Script-Tag):

<script>
  window.KLICKDUMMY_SPEC = { id: "repo:klickdummy-spec-<name>", version: "0.1", klickdummy_class: "mock" };
  window.KLICKDUMMY_FEEDBACK_REPO = "owner/repo";        // GitHub-Zielrepo
  // optional Plugin-Hooks:
  window.KLICKDUMMY_CATEGORIES = [...];                  // override default 5
  window.KLICKDUMMY_PERSONA_HOOK = () => '...';
  window.KLICKDUMMY_VERFAHREN_HOOK = () => '...';
</script>
<script src="platform-snippets/klickdummy/feedback-widget/widget.js" defer></script>

Schemas (importlib.resources)

from importlib.resources import files
import json
schema = json.loads(files("iil_klickdummy.schemas").joinpath("screens-spec.schema.json").read_text())

Bezug

  • platform:ADR-211 (aktuell Rev 22) — Konvention + Distribution + Co-Creation-Pfade (seit Rev 13)
  • platform:ADR-212 — Traefik-Ingress (für künftige PyPI-Selbsthost)
  • platform:ADR-213 — Cross-Repo-Ref-Format (was klickdummy-i4 prüft)

v1.2 — klickdummy-sync (Stufe 2)

Per platform:ADR-211 Rev 14 §Multi-Klickdummy-Browser Stufe 3 (Cross-Repo): pushe Klickdummy-Metadaten + Iterations-Logs + ADR-Bodies in den Orchestrator pgvector-Memory für semantische Cross-Repo-Suche.

CLI

klickdummy-sync --repo .                   # repo-lokal, NDJSON auf stdout
klickdummy-sync --cross-repo               # alle 6 Klickdummy-Repos
klickdummy-sync --cross-repo --output sync.ndjson
klickdummy-sync --repo . --dry-run         # nur Listen

Architektur — NDJSON-getrennt vom Push

Das Sync-Modul produziert NDJSON (eine Zeile pro Memory-Entry). Der eigentliche Push an Orchestrator-pgvector erfolgt in einem zweiten Schritt — entweder:

  • via claude-policy push --ndjson sync.ndjson (SSH+docker-exec, kein MCP nötig)
  • via CC/Cascade-Session mit gebundenem orchestrator__agent_memory_upsert
  • via nightly GitHub-Action mit Orchestrator-API-Token

Warum getrennt: das Paket bleibt MCP-frei und unter PyPI-Standards. Auth zum Orchestrator ist Sache des Konsumenten (Org-spezifisch).

Entry-Typen

was entry_type entry_key-Schema
Klickdummy-Spec repo_context klickdummy:<org>:<repo>:<name>
Iteration (feedback-log) lesson_learned klickdummy-iter:<org>:<repo>:<name>:<n>
Klickdummy-ADR decision klickdummy-adr:<org>:<repo>:ADR-<NNN>

Tags (Multi-Tenant + Filter)

  • klickdummy (alle)
  • klickdummy:class:<mock|stub-demo|story|spec-demo>
  • klickdummy:org:<iilgmbh|achimdehnert|ttz-lif|meiki-lra>
  • klickdummy:repo:<name>
  • gov-data für ttz-lif / meiki-lra-Workloads

Dogfood

$ klickdummy-sync --cross-repo --dry-run
== Klickdummy-Sync → Orchestrator (v1.2) ==
  · meiki-hub:   1 KD · 7 Iter · 3 ADRs
  · writing-hub: 1 KD · 0 Iter · 1 ADR
  · risk-hub:    0 KD · 0 Iter · 1 ADR
  · ttz-hub:     2 KD · 0 Iter · 2 ADRs
  Total: 18 Entries

v1.4 — klickdummy-manage (Repo + Topic + Version)

CLI für die einheitliche Verwaltungs-Sicht über alle Klickdummies:

klickdummy-manage list                          # Tabelle aller cross-repo
klickdummy-manage list --org iilgmbh --class mock
klickdummy-manage status --sunset-due-in 30     # Health-Check
klickdummy-manage topics                        # Topic-Cluster
klickdummy-manage versions <spec_id>            # Git-History 1 KD
klickdummy-manage diff <spec_id> v0.1 v0.2      # Versions-Diff

Neues optionales Spec-Feld meta.topic (freier String):

spec_id: meiki:klickdummy-spec-fristenmanagement
spec_version: "0.1"
title: ...
class: mock
meta:
  topic: fristen          # ← NEU, optional, frei wählbar
  # weitere meta-Felder hier denkbar
screens: [...]

klickdummy-manage topics aggregiert Klickdummies nach diesem Feld. Specs ohne meta.topic landen unter „(kein topic)" — kein Bruch zu v1.3.

Status-Check prüft:

  • sunset_after-Datum überschritten? → Warnung
  • sunset_after in <N Tagen fällig? → Warnung
  • class in 4-Pattern (mock|stub-demo|story|spec-demo)? → sonst Warnung
  • ADR-Frontmatter vollständig? → fehlt sunset_after → Warnung

Exit 1 bei Warnings (für CI-Hooks).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iil_klickdummy-1.32.3.tar.gz (272.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iil_klickdummy-1.32.3-py3-none-any.whl (245.6 kB view details)

Uploaded Python 3

File details

Details for the file iil_klickdummy-1.32.3.tar.gz.

File metadata

  • Download URL: iil_klickdummy-1.32.3.tar.gz
  • Upload date:
  • Size: 272.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for iil_klickdummy-1.32.3.tar.gz
Algorithm Hash digest
SHA256 7d9f08c3cbb0437b0fad2aec36999e0b55a6e2deabb304e3b7abf1c97ac31579
MD5 12a4ee0c5bd326e2bf1e4e8b5cee8b1e
BLAKE2b-256 1063088c70db7d38e5c6ffe5849688d6c1e8c420e72e099a8253272d50a2a78e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iil_klickdummy-1.32.3.tar.gz:

Publisher: publish-pypi.yml on iilgmbh/iil-klickdummy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iil_klickdummy-1.32.3-py3-none-any.whl.

File metadata

  • Download URL: iil_klickdummy-1.32.3-py3-none-any.whl
  • Upload date:
  • Size: 245.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for iil_klickdummy-1.32.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4787375b428e6a84796f1be3b040d02b5d4698bf218c9f7d1a3cf412561837dd
MD5 5baf036ae1300778368453d14f594f49
BLAKE2b-256 f6c3e2a93acc359c3f23a2b2525f27e418ac68e187d20f077ed9734305232ce8

See more details on using hashes here.

Provenance

The following attestation bundles were made for iil_klickdummy-1.32.3-py3-none-any.whl:

Publisher: publish-pypi.yml on iilgmbh/iil-klickdummy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.41.1

2 files

1.41.0

2 files

1.40.1

2 files

1.40.0

2 files

1.39.0

2 files

1.37.0

2 files

1.35.0

2 files

1.34.0

2 files

1.33.0

2 files

1.32.6

2 files

1.32.5

2 files

1.32.4

2 files

This release

1.32.3 This release

2 files

1.32.2

2 files

1.32.1

2 files

1.32.0

2 files

1.31.1

2 files

1.31.0

2 files

1.30.1

2 files

1.30.0

2 files

1.28.4

2 files

1.28.3

2 files

1.28.2

2 files

1.28.1

2 files

1.28.0

2 files

1.27.0

2 files

1.26.0

2 files

1.25.0

2 files

1.23.0

2 files

1.22.2

2 files

1.22.1

2 files

1.21.2

2 files

1.21.1

2 files

1.21.0

2 files

1.20.0

2 files

1.19.1

2 files

1.19.0

2 files

1.18.2

2 files

1.18.1

2 files

1.18.0

2 files

1.17.1

2 files

1.13.4

2 files

1.13.3

2 files

1.13.2

2 files

1.13.1

2 files

1.13.0

2 files

1.12.0

2 files

1.6.1

2 files

1.6.0

2 files

1.4.3

2 files

1.3.0

2 files

1.2.0

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page