chore: removed plan documents, we moved to issues now
This commit is contained in:
@@ -26,7 +26,7 @@ Invariants and behaviours in the allium spec should be covered by unit tests of
|
|||||||
## Important facts
|
## Important facts
|
||||||
|
|
||||||
- update `README.md` whenever a user-visible feature is added, removed, or materially changed; keep it a compact overview with relevant pointers
|
- update `README.md` whenever a user-visible feature is added, removed, or materially changed; keep it a compact overview with relevant pointers
|
||||||
- update `RUST_PLAN_CORE.md` and/or `RUST_PLAN_EXTENSION.md` whenever implementation changes their tracked status; plan-document updates are part of the definition of done
|
- work is tracked as Gitea issues (`tea` CLI, repo `hugo/RuDS`); there are no plan documents — file or update issues when scope changes
|
||||||
- published posts don't have body in the database, the body content is only in the file
|
- published posts don't have body in the database, the body content is only in the file
|
||||||
- functionality you implement have to be tied to UI
|
- functionality you implement have to be tied to UI
|
||||||
- UI you implement has to be tied to functionality
|
- UI you implement has to be tied to functionality
|
||||||
|
|||||||
@@ -48,10 +48,8 @@ Local macOS packages are ad-hoc signed without hardened runtime. A Developer ID
|
|||||||
- `fixtures` — compatibility projects and generated-site fixtures
|
- `fixtures` — compatibility projects and generated-site fixtures
|
||||||
- `locales` — UI and native-menu translations
|
- `locales` — UI and native-menu translations
|
||||||
|
|
||||||
## Plans and References
|
## References
|
||||||
|
|
||||||
- [Core plan and current status](RUST_PLAN_CORE.md)
|
|
||||||
- [Extension plan and current status](RUST_PLAN_EXTENSION.md)
|
|
||||||
- [Specification index](SPECIFICATION_INDEX.md)
|
- [Specification index](SPECIFICATION_INDEX.md)
|
||||||
- [UI style guide](docs/UI_STYLE_GUIDE.md)
|
- [UI style guide](docs/UI_STYLE_GUIDE.md)
|
||||||
- `../bDS2` — reference implementation when an Allium contract is ambiguous
|
- `../bDS2` — reference implementation when an Allium contract is ambiguous
|
||||||
|
|||||||
@@ -1,143 +0,0 @@
|
|||||||
# RuDS Core Plan
|
|
||||||
|
|
||||||
## Goal
|
|
||||||
|
|
||||||
RuDS is the native Rust replacement for bDS2. Core covers the complete everyday workflow: open an existing project, author content, preview and generate the site, publish it, and maintain database/filesystem integrity.
|
|
||||||
|
|
||||||
The behavioural contract is `specs/*.allium`. When a spec is ambiguous, `../bDS2` is the reference implementation. [RUST_PLAN_EXTENSION.md](RUST_PLAN_EXTENSION.md) contains optional and advanced surfaces.
|
|
||||||
|
|
||||||
Status in this document describes the current source code as of 2026-07-20. It deliberately does not track build runs, test runs, release gates, or implementation history.
|
|
||||||
|
|
||||||
## Non-Negotiable Constraints
|
|
||||||
|
|
||||||
- Preserve existing SQLite, Markdown/frontmatter, translation, media sidecar, template, menu, and generated-site formats.
|
|
||||||
- Published post bodies live in files, not the database.
|
|
||||||
- Use a native Rust desktop stack: Iced, muda, rfd, and Wry. No JavaScript application runtime or remote assets.
|
|
||||||
- Preview and generated output share the same Rust rendering pipeline.
|
|
||||||
- Python scripting is intentionally replaced by Lua; built-in macros remain native Rust.
|
|
||||||
- UI locale follows the operating system; rendered content language follows project settings.
|
|
||||||
- Online AI is optional and blocked in airplane mode; local models may remain available.
|
|
||||||
- Metadata writes, publishing, metadata diff, and rebuild must share one field mapping.
|
|
||||||
- User-visible functionality requires a UI entry point, and UI controls require working functionality.
|
|
||||||
- macOS commands must be wired through native menus and application lifecycle handling.
|
|
||||||
|
|
||||||
## Workspace
|
|
||||||
|
|
||||||
| Crate | Responsibility |
|
|
||||||
|---|---|
|
|
||||||
| `bds-core` | Shared dynamic library for models, SQLite, filesystem formats, engines, rendering, generation, AI, publishing, and Lua |
|
|
||||||
| `bds-editor` | Reusable Ropey/Syntect/Cosmic Text editor widget |
|
|
||||||
| `bds-ui` | Iced application, native menus/dialogs, platform lifecycle, and embedded preview |
|
|
||||||
| `bds-cli` | Extension-only headless automation surface over the shared engines |
|
|
||||||
| `bds-server` | Reusable extension-only headless host and authenticated SSH transport library |
|
|
||||||
|
|
||||||
## Current Core Status
|
|
||||||
|
|
||||||
### Project, persistence, and integrity — Done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- Existing project discovery and opening, with the database stored in private OS application data.
|
|
||||||
- Diesel-backed SQLite schema and migrations.
|
|
||||||
- Posts, translations, media, media translations, post-media links, tags, templates, scripts, settings, menus, and publishing settings.
|
|
||||||
- Draft/published lifecycle with canonical content placement.
|
|
||||||
- YAML frontmatter, translation files, media sidecars, template/script files, and project metadata.
|
|
||||||
- FTS5 post and media search with language-aware stemming.
|
|
||||||
- Database rebuild from filesystem and directional metadata diff/repair.
|
|
||||||
- Structured site, media, and translation validation.
|
|
||||||
- Unbounded unique slug allocation.
|
|
||||||
- Explicit rebuild-from-filesystem paths for manual file changes. bDS2 does
|
|
||||||
not live-watch arbitrary project files; its external-change watcher is the
|
|
||||||
extension CLI/database-notification contract.
|
|
||||||
- Typed, project-scoped post/media/tag/template/script/project/settings events at shared mutation boundaries, with deterministic subscribers and a one-shot persisted CLI-to-desktop notification bridge.
|
|
||||||
|
|
||||||
### Native desktop shell — Done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- Iced workspace with activity bar, sidebar, tabs, status bar, task/output panel, toasts, and modal flows.
|
|
||||||
- Native muda menus, localized labels, accelerators, and state-dependent command enablement.
|
|
||||||
- Event-driven sidebar/editor refresh, deleted-entity tab closure, and persisted server-selected UI language without mutation feedback loops.
|
|
||||||
- Native file/folder dialogs and recent-project handling.
|
|
||||||
- macOS open-file and URL lifecycle plumbing.
|
|
||||||
- Localized UI separate from project content language.
|
|
||||||
- Desktop-backed Lua application capabilities for clipboard, folders, preview targeting, title-bar metrics, renderer readiness, and supported menu actions.
|
|
||||||
|
|
||||||
Open:
|
|
||||||
|
|
||||||
- No known large core block. New menu commands must continue to be wired through both localization layers and the native intercept.
|
|
||||||
|
|
||||||
### Authoring and editor — Done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- Dashboard and editors for posts, translations, media, tags, templates, scripts, and settings.
|
|
||||||
- Post create, edit, publish, unpublish, discard, and delete flows.
|
|
||||||
- Media import, replacement, metadata editing, translations, thumbnails, filters, post assignment, and the post-editor batch gallery-image workflow.
|
|
||||||
- Template and Lua script creation, editing, validation, publication, and deletion.
|
|
||||||
- Rope-based editing with syntax highlighting, selection, clipboard, undo/redo, word/line/page movement, line numbers, soft wrapping, mouse selection, and committed IME input.
|
|
||||||
- Automatic translation flows with airplane-mode gating and media translation propagation.
|
|
||||||
- Functional post-links panel with backlinks, outlinks, and navigation to linked posts.
|
|
||||||
|
|
||||||
### Rendering, preview, and generation — Mostly done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- Shared Markdown and Liquid rendering for preview and generated output.
|
|
||||||
- Template lookup, routes, language variants, published snapshots, custom assigns, and URL rewriting.
|
|
||||||
- Native gallery, YouTube, Vimeo, photo archive, and tag cloud macros.
|
|
||||||
- User-authored Lua macro invocation during rendering.
|
|
||||||
- Localhost-only Axum preview server, draft routes, embedded Wry preview, and external-browser preview.
|
|
||||||
- Complete site generation with pages, archives, feeds, sitemap, static assets, changed-file tracking, parallel page rendering, and Pagefind output; full generation and validation apply run as grouped section tasks followed by search indexing.
|
|
||||||
- Canonical bDS2-compatible OPML/menu document loading, recursive Home-first normalization, and renderer consumption of the saved tree.
|
|
||||||
|
|
||||||
Open:
|
|
||||||
|
|
||||||
- Keep closing concrete output differences found against bDS2; approved normalization differences belong in this document when discovered.
|
|
||||||
|
|
||||||
### One-shot AI — Done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- Independent online and airplane-mode OpenAI-compatible profiles, selected by the status-bar airplane switch.
|
|
||||||
- Secure keychain credentials for both profiles, optional for local endpoints.
|
|
||||||
- Model discovery without a preselected model; discovered model lists persist per profile in the database and survive restart, overwritten only by the next refresh. Per-profile chat/title/image selections, explicit tool/vision overrides, and minimal chat tests.
|
|
||||||
- Post translation, media translation, image alt text, post analysis, taxonomy analysis, WordPress-import taxonomy mapping, and language detection.
|
|
||||||
- Explicit offline gating and user-visible errors.
|
|
||||||
- Parsed input, output, cache-read, and cache-write token usage returned from every one-shot operation; persistent chat accounting is tracked in the extension plan.
|
|
||||||
|
|
||||||
Interactive chat, tools, agents, and MCP belong to the extension plan.
|
|
||||||
|
|
||||||
### Publishing — Done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- SCP and rsync publishing through system commands.
|
|
||||||
- SSH-agent-only authentication with no password prompts.
|
|
||||||
- Separate HTML, thumbnail, and media targets.
|
|
||||||
- `.meta` exclusion, changed-file skipping for SCP, progress reporting, and UI commands.
|
|
||||||
- One managed publish job processes the HTML, thumbnail, and media targets in
|
|
||||||
sequence, matching bDS2. Parallel target uploads are not a parity requirement.
|
|
||||||
|
|
||||||
### Lua scripting — Done
|
|
||||||
|
|
||||||
Available:
|
|
||||||
|
|
||||||
- Sandboxed vendored Lua 5.4 runtime with cancellation and execution limits.
|
|
||||||
- Application log, progress, and toast functions.
|
|
||||||
- Project-scoped bDS2-compatible core `bds.*` APIs with matching Lua signatures and failure values.
|
|
||||||
- User macro and transform execution, including project capabilities during rendered macros and Blogmark transforms.
|
|
||||||
- Managed Blogmark transform cancellation and live, non-duplicated progress reporting.
|
|
||||||
- Project-scoped post and media reindexing from Lua without disturbing other projects.
|
|
||||||
- Lua script persistence, rebuild, metadata diff, validation, and editor support.
|
|
||||||
- Fixed `.lua` script file contract.
|
|
||||||
- Generated and bundled API/type references plus executable macro, transform, and utility examples under `docs/scripting/`.
|
|
||||||
- Manifest-driven runtime, documentation, and completion data with drift checks.
|
|
||||||
- The embedding extension adds the bDS2-compatible `bds.embeddings` namespace; `bds.sync` remains outside the core API.
|
|
||||||
|
|
||||||
## Remaining Core Blocks
|
|
||||||
|
|
||||||
1. Add generation section-task grouping.
|
|
||||||
2. Return normalized token accounting from one-shot AI calls.
|
|
||||||
|
|
||||||
Core is feature-complete when these blocks are closed and the implementation continues to satisfy the Allium and bDS2 compatibility contracts.
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
# RuDS Extension Plan
|
|
||||||
|
|
||||||
## Goal
|
|
||||||
|
|
||||||
Extensions add migration, collaboration, automation, alternate clients, and advanced discovery on top of the core blogging workflow. They must reuse core engines and formats, remain reachable through real UI or automation surfaces, and preserve airplane-mode and localization rules.
|
|
||||||
|
|
||||||
Status describes the current source code as of 2026-07-20. Core one-shot AI, publishing, rendering, and integrity work is tracked in [RUST_PLAN_CORE.md](RUST_PLAN_CORE.md).
|
|
||||||
|
|
||||||
## Current Extension Status
|
|
||||||
|
|
||||||
### Git and richer validation — Complete
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Site, media, translation, and metadata-diff engines and UI views.
|
|
||||||
- `GitEngine` repository initialization and inspection, Git LFS image tracking, status, staged/unstaged and per-file/commit diffs, branch and rename-following file history, remote state, commit, fetch, fast-forward-only pull, push, cancellation, timeouts, and platform-specific authentication guidance.
|
|
||||||
- Localized Git sidebar, log panel, read-only inline/side-by-side diff tabs, live task output, airplane-mode gating, and post-pull reconciliation through the normal filesystem rebuild paths and typed events.
|
|
||||||
|
|
||||||
### Synchronization scripting bridge — Open
|
|
||||||
|
|
||||||
Open:
|
|
||||||
|
|
||||||
- Expose `bds.sync` through the scripting API using the shared Git workflow.
|
|
||||||
|
|
||||||
### WordPress import — Complete
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Streaming, untrusted-input-safe WXR parsing for site metadata, posts, pages, attachments, categories, and tags.
|
|
||||||
- HTML5-to-Markdown conversion, WordPress shortcode conversion, complete new/update/conflict/duplicate/missing classification, date and macro analysis, and saved project-scoped import definitions.
|
|
||||||
- Localized native import sidebar/editor with WXR and uploads pickers, cached analysis reopening, conflict resolution, manual and airplane-gated AI taxonomy mapping, item review, live progress/ETA, and execution results.
|
|
||||||
- Taxonomy/posts/media/pages execution through core persistence engines in recoverable 500-item batches, including filesystem rollback, source metadata/status/timestamps, unique-slug import, overwrite/ignore behavior, and media-parent links.
|
|
||||||
|
|
||||||
### Conversational AI and agent tools — Complete
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Persistent conversation/message repositories with rename, reopen, deletion, model and provider-session selection, and four-way token accounting.
|
|
||||||
- OpenAI-compatible SSE streaming with split-frame content/tool assembly, provider-error handling, independent cancellation, bounded tool rounds, and context truncation that preserves system messages and tool pairs.
|
|
||||||
- Project-aware tools over statistics, FTS search, posts, media, templates, scripts, tags/categories, metadata mutation through shared engines, and allowlisted workspace navigation.
|
|
||||||
- Localized Chat sidebar/editor with conversation and model controls, safe GFM text rendering with blocked external images, streaming/tool state, multiline send/stop controls, and status-bar token totals.
|
|
||||||
- Fixed native A2UI cards, charts, forms, lists, metrics, mind maps, tables, and tabs with safe nested fallbacks, persistent stable-ID interaction state, debounced form values, and strictly allowlisted application actions.
|
|
||||||
- Online/airplane routing swaps the complete active profile—endpoint, credentials, chat/title/image models, and tool/vision overrides—through the status-bar switch; unavailable modes direct the user to the localized two-profile AI settings.
|
|
||||||
|
|
||||||
### Embeddings, semantic search, and duplicates — Done
|
|
||||||
|
|
||||||
- Lazy, locally cached `multilingual-e5-small` inference with 384-dimensional mean-pooled, normalized vectors and statically linked ONNX Runtime inside the shared core library, with native Core ML acceleration on macOS or DirectML on Windows.
|
|
||||||
- Project-isolated USearch HNSW indexes with SQLite BLOB vectors as the recovery source, debounced persistence, lifecycle updates, rebuild/backfill, and CLI repair.
|
|
||||||
- Semantic sidebar search, link ranking, editor tag suggestions, and the bDS2-compatible `bds.embeddings` Lua API.
|
|
||||||
- Localized duplicate review with exact-match detection, 500-pair pagination, canonical single/batch dismissal, and post navigation.
|
|
||||||
- Embedding-aware filesystem rebuild and metadata diff/repair, settings gating, project-switch/shutdown flushes, and native menu commands.
|
|
||||||
|
|
||||||
### Translation QA and documentation UX — Done
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Translation validation engine and report view.
|
|
||||||
- Bundled global `DOCUMENTATION.md` browser with localized loading, empty, missing, and malformed states plus explicit and file-change refresh.
|
|
||||||
- Generated Lua API, type, and executable-example browser sourced directly from `docs/scripting/` with embedded packaged fallbacks.
|
|
||||||
- Safe native GFM rendering for headings, links, code blocks, lists, and tables, including in-document anchors and confirmed external links without HTML, CSS, or JavaScript execution.
|
|
||||||
- Project switches preserve the singleton global documentation tabs and their loaded content.
|
|
||||||
|
|
||||||
### Menu editor and deep links — Done
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Menu file parsing/rendering and Home-first normalization.
|
|
||||||
- Localized OPML tree editor with page/submenu/category drafts, metadata-backed new categories, sibling moves, indent/unindent, protected Home, validated drag/drop, delayed submenu expansion, save/reload, and accessible equivalent controls.
|
|
||||||
- Canonical bDS2 OPML attributes and recursive normalization feed the same renderer used by preview and generation.
|
|
||||||
- macOS URL plumbing and the sole bDS2-compatible Blogmark action at `ruds://new-post`; RuDS neither registers nor accepts bDS2's `bds2://` scheme.
|
|
||||||
|
|
||||||
### CLI, domain events, and MCP — Done
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Domain event bus from `events.allium` for desktop, CLI, TUI, server, and future remote clients, including deterministic subscriptions, project scope, and persisted CLI notification consumption/pruning.
|
|
||||||
- Native `bds-cli` with Clap help/error handling, optional JSON output, shared application paths/database/projects and effective global settings with redacted secret presence, full and incremental rebuild, derived-data repair, full/targeted/forced generation, publishing, fast-forward Git sync, post/media/gallery creation, offline/local AI routing and translation, project/config operations, sandboxed utility Lua execution, `server`/`tui` boot modes, and guarded launcher installation.
|
|
||||||
- CLI process and dispatch tests use temporary databases/projects; CLI mutations persist deduplicated desktop notifications and imported filesystem metadata survives rebuild.
|
|
||||||
- Settings → Data exposes the same localized packaged-launcher installer as `bds-cli install`; its forwarding launcher executes the packaged CLI in place beside the shared runtime.
|
|
||||||
- MCP exposes the complete `bds://` resource set and typed read/search/count tools through packaged stdio and stateless localhost-only HTTP transports with Origin/Host validation and CORS.
|
|
||||||
- Every MCP write is an inert persisted proposal until one desktop approval applies it exactly once through the shared post/media/script/template engines; rejection, expiry, concurrent resolution, result state, and normal domain events are covered.
|
|
||||||
- Settings → MCP provides localized server enablement/status/endpoint, full proposal review controls, and opt-in guarded Claude Code and GitHub Copilot configuration without secrets.
|
|
||||||
|
|
||||||
### Blogmark and transform pipeline — Done
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Blogmark bookmarklet copy, `ruds://new-post` parsing, content capture, post import, transform selection, and Lua transform execution.
|
|
||||||
- Project-scoped `bds.*` capabilities, managed task progress, and operator cancellation during transform execution.
|
|
||||||
- bDS2-compatible delivery behavior without adding unsupported deep-link actions.
|
|
||||||
|
|
||||||
### Headless server — Complete
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Desktop/server/TUI boot selection occurs before desktop initialization. `bds-cli server` starts the dedicated headless mode; no standalone `bds-server` executable is built or distributed.
|
|
||||||
- The headless host reuses the application database, project registry, `CoreHost` service operations, task manager, MCP loopback endpoint, ordered domain-event bus, and CLI-notification watcher.
|
|
||||||
- A loopback-by-default Russh daemon generates and reuses a restrictive RSA host key, validates private directory/file modes, reloads `authorized_keys` for every authentication, and supports explicit external binding only.
|
|
||||||
- Versioned native remote-project sessions provide protocol negotiation, server locale, project selection, shared engine calls, replay-safe request IDs, ordered domain events, task snapshots, reconnect, concurrent clients, and graceful shutdown.
|
|
||||||
- The desktop uses a restrictive generated Ed25519 identity and TOFU `known_hosts`, with localized File-menu connect/project selection/open/failure/disconnect states. SSH shell channels host server-side terminal sessions and direct forwarding is restricted to the server-owned loopback endpoint.
|
|
||||||
- Packaged executables dynamically share `bds-core`, `bds-server`, and the matching Rust standard library. ONNX Runtime remains statically linked into `bds-core`, avoiding both executable duplication and a separately managed ONNX binary.
|
|
||||||
- Local macOS packages use non-hardened ad-hoc signatures; Developer ID signing and notarization are optional public-release steps rather than build requirements.
|
|
||||||
|
|
||||||
### Terminal UI — Complete
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- One Ratatui state/renderer runs locally through the CLI and in authenticated SSH PTYs; resize, disconnect, reconnect, clean exit, and terminal restoration are covered by a real loopback PTY test.
|
|
||||||
- Numbered sidebar views, per-view filtering, project switching/path completion, command overlays, Markdown preview, syntax-highlighted soft-wrapped Markdown/Liquid/Lua editing, validation, save/publish/unpublish, confirmations, and live domain-event synchronization use the shared engines.
|
|
||||||
- Typed settings, complete tag workflows, Git status/diff/history/commit/pull/push, metadata/site reports with apply/cancel, managed background progress, locale changes, media information, and airplane-gated AI actions are terminal-accessible.
|
|
||||||
- State, renderer-buffer, input-decoder, shared local/remote persistence, task/report, event, locale, and real SSH PTY behavior have isolated tests.
|
|
||||||
|
|
||||||
### A2UI surfaces — Complete
|
|
||||||
|
|
||||||
Done:
|
|
||||||
|
|
||||||
- Eight structured render tools and fixed native rendering for ten surface types, including all required chart and form variants.
|
|
||||||
- Per-conversation form, tab, and dismissal state tied to stable message/tool-index IDs and restored on reopen.
|
|
||||||
- Safe text/JSON fallbacks, inert assistant markup, persistent expanded surfaces during later streaming, and visibly rejected non-allowlisted actions.
|
|
||||||
|
|
||||||
## Suggested Order
|
|
||||||
|
|
||||||
1. CLI, MCP, and domain events.
|
|
||||||
2. Conversational AI and agent tools.
|
|
||||||
3. Embeddings and duplicate detection.
|
|
||||||
4. Documentation and menu UX.
|
|
||||||
5. Headless server and TUI.
|
|
||||||
6. A2UI after conversational AI exists. (Complete)
|
|
||||||
|
|
||||||
The order may change when an extension directly unlocks a concrete user workflow; it must not create a parallel data model or bypass core engines.
|
|
||||||
@@ -204,13 +204,6 @@ Diese Datei dient als Index zu allen Allium-Spezifikationen und Schema-Inventari
|
|||||||
- Korrupte Bilddateien
|
- Korrupte Bilddateien
|
||||||
- Orphan Media (nicht verlinkt)
|
- Orphan Media (nicht verlinkt)
|
||||||
|
|
||||||
## Verfügbare Rust-Plan-Dokumente
|
|
||||||
|
|
||||||
| Datei | Beschreibung |
|
|
||||||
|-------|--------------|
|
|
||||||
| `RUST_PLAN_CORE.md` | Core-Umfang mit aktuellem Implementierungsstand und offenen Punkten |
|
|
||||||
| `RUST_PLAN_EXTENSION.md` | Extensions mit aktuellem Implementierungsstand und offenen Punkten |
|
|
||||||
|
|
||||||
## Spezifikations-Abdeckungs-Analyse
|
## Spezifikations-Abdeckungs-Analyse
|
||||||
|
|
||||||
### Vollständig Abgedeckt ✅
|
### Vollständig Abgedeckt ✅
|
||||||
|
|||||||
Reference in New Issue
Block a user