{"id":51130645,"url":"https://github.com/profrandom92/comptext-sparkctl","last_synced_at":"2026-06-25T12:00:48.501Z","repository":{"id":360532700,"uuid":"1250575522","full_name":"ProfRandom92/comptext-sparkctl","owner":"ProfRandom92","description":"CompText-Sparkctl: deterministic Rust tooling for agent trace compression, replay integrity, and SPARK context validation.","archived":false,"fork":false,"pushed_at":"2026-06-11T10:48:55.000Z","size":2666,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T11:11:47.910Z","etag":null,"topics":["agent-control","audit-trail","comptext","context-engineering","deterministic-workflows","developer-tools","replay-validation","rust","spark"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProfRandom92.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-26T19:11:11.000Z","updated_at":"2026-06-11T10:49:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ProfRandom92/comptext-sparkctl","commit_stats":null,"previous_names":["profrandom92/antigravity-comptextv7","profrandom92/comptext-sparkctl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ProfRandom92/comptext-sparkctl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfRandom92%2Fcomptext-sparkctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfRandom92%2Fcomptext-sparkctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfRandom92%2Fcomptext-sparkctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfRandom92%2Fcomptext-sparkctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProfRandom92","download_url":"https://codeload.github.com/ProfRandom92/comptext-sparkctl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfRandom92%2Fcomptext-sparkctl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34773843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-control","audit-trail","comptext","context-engineering","deterministic-workflows","developer-tools","replay-validation","rust","spark"],"created_at":"2026-06-25T12:00:47.461Z","updated_at":"2026-06-25T12:00:48.491Z","avatar_url":"https://github.com/ProfRandom92.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sparkctl\n\n![Rust-Validierung](https://github.com/ProfRandom92/comptext-sparkctl/actions/workflows/rust-validation.yml/badge.svg)\n![Rust](https://img.shields.io/badge/Rust-CLI-orange)\n![Status](https://img.shields.io/badge/Status-Prototyp-blue)\n![Daten](https://img.shields.io/badge/Daten-synthetisch--only-purple)\n![Prüfung](https://img.shields.io/badge/Prüfung-Human--in--the--Loop-green)\n![Claims](https://img.shields.io/badge/Claims-keine%20Produktiv%2FRechts%2FCompliance--Claims-lightgrey)\n\n**Lokale Rust-CLI für synthetische Evidence-Pakete, deterministisches Replay, Kontext-Rendering und überprüfbare KI-Workflow-Artefakte.**\n\n**Prototyp im Kontext des BMDS/SPARK-Hackathons: Evidence-, Replay- und Validierungsschicht für SPARK-artige Verwaltungs-KI-Workflows.**\n\n\u003e Modelle sind Provider. Kontext ist das Produkt.\n\n---\n\n## Snapshot\n\n| Dimension | Sparkctl-Scope |\n|---|---|\n| **Typ** | Prototyp / Konzept-Demo |\n| **Datenbasis** | Rein synthetisch (*Synthetic-only*) |\n| **Freigabe** | Erfordert menschliche Prüfung (*Human Review Required / Human-in-the-Loop*) |\n| **Technologie** | Rust CLI (`agy-ct` und `sparkctl`) |\n| **Architektur** | Lokal-first (*Local-first / Offline*) |\n| **Einschränkung** | Keine Aussage zur Produktivreife, Rechtskonformität oder behördlichen Zertifizierung (*No production/legal/compliance claims*) |\n\n---\n\n## Architektur-Übersicht\n\n```mermaid\nflowchart LR\n    roh[\"Synthetischer JSON-Trace\"] --\u003e schema[\"schema check\"]\n    schema --\u003e compress[\"package compress\"]\n    compress --\u003e spkg[\".spkg Evidence-Paket\"]\n\n    spkg --\u003e inspect[\"package inspect\"]\n    spkg --\u003e verify[\"package verify\"]\n    spkg --\u003e replay[\"package replay\"]\n    spkg --\u003e adversarial[\"package adversarial\"]\n\n    schema --\u003e report[\"report export\"]\n    report --\u003e md[\"Markdown-Review-Report\"]\n\n    spkg --\u003e build[\"context build\"]\n    build --\u003e render[\"context render\"]\n    build --\u003e notebook[\"notebook bundle\"]\n    render --\u003e notebook\n    notebook --\u003e ipynb[\".ipynb Review-Notebook\"]\n\n    classDef guard fill:#111827,stroke:#60a5fa,color:#e5e7eb;\n    classDef artifact fill:#1f2937,stroke:#34d399,color:#e5e7eb;\n    class schema,verify,adversarial guard;\n    class spkg,md,ipynb artifact;\n```\n\n---\n\n## Evidence-Workflow als Wissensgraph\n\nSparkctl lässt sich als kleiner Evidence-Graph lesen:\n\n```mermaid\nflowchart TB\n    sparkctl[\"Sparkctl\"] --\u003e cli[\"agy-ct CLI\"]\n    cli --\u003e package[\"Package-Lifecycle\"]\n    cli --\u003e context[\"Context-Lifecycle\"]\n    cli --\u003e review[\"Review-Artefakte\"]\n\n    package --\u003e spkg2[\".spkg Evidence-Paket\"]\n    spkg2 --\u003e integrity[\"Hash- und Ledger-Prüfungen\"]\n    spkg2 --\u003e replay2[\"Deterministisches Replay\"]\n    spkg2 --\u003e adversarial2[\"Adversarial-Simulation\"]\n\n    context --\u003e build2[\"Strukturierter Kontext\"]\n    build2 --\u003e render2[\"Token-sparendes Rendering\"]\n    build2 --\u003e notebook2[\"Notebook-Bundle\"]\n\n    review --\u003e report2[\"Markdown-Report\"]\n    review --\u003e notebook2\n\n    governance[\"Governance-Grenzen\"] --\u003e synthetic[\"Synthetic-only\"]\n    governance --\u003e human[\"Human Review\"]\n    governance --\u003e nonclaims[\"Keine Produktiv-/Rechts-/Compliance-Claims\"]\n\n    synthetic --\u003e sparkctl\n    human --\u003e sparkctl\n    nonclaims --\u003e sparkctl\n```\n\nDieser Graph ist bewusst README-nativ gehalten. Eine interaktive Ace-Knowledge-Graph-Variante kann später aus derselben Struktur generiert werden; die README bleibt jedoch ohne externe Runtime vollständig lesbar.\n\n---\n\n## Warum relevant für den SPARK-Hackathon?\n\nDer SPARK-Hackathon („Schnellere Planung und Realisierung durch KI“) sucht nach Wegen, Verwaltungsverfahren mithilfe von KI-Systemen sicherer und effizienter zu gestalten. \n\n**Sparkctl** greift hierbei an einer kritischen Stelle an:\n- **Keine autonome Entscheidung:** Das Tool trifft keine eigenen inhaltlichen oder rechtlichen Entscheidungen.\n- **Kontext-Sicherung:** Es sorgt dafür, dass die an KI-Modelle übergebenen Kontextdaten (Traces) strukturiert, reproduzierbar und für den menschlichen Bearbeiter vollständig nachvollziehbar bleiben.\n- **Prüfbarkeit:** Durch die Trennung von komprimierbarem Fließtext und aufzeichnungsrelevanten Metadaten bleibt die Historie der Bearbeitungsschritte auditierbar.\n\nDies ermöglicht sichere, transparente und nachvollziehbare Prototyp-Workflows für die KI-gestützte Sachbearbeitung.\n\n---\n\n## Was der Prototyp lokal kann\n\nSparkctl implementiert Mechanismen zur Absicherung synthetischer Planungsdaten. \n\n### Implementierte Befehle:\n- **`agy-ct package compress`** — Komprimiert Roh-Traces zu einer `.spkg`-Datei unter Erhalt kritischer Hashes.\n- **`agy-ct package inspect`** — Liest Sidecar-Eigenschaften und Header-Einträge aus `.spkg`.\n- **`agy-ct package verify`** — Führt kryptografische SHA-256 Validierungen von `.spkg`-Evidence-Paketen durch.\n- **`agy-ct package replay`** — Rekonstruiert die aufgezeichnete Trace deterministisch (strikte stdout/stderr Kanaltrennung).\n- **`agy-ct package adversarial`** — Simuliert manipulierte Attribute zur Überprüfung der Manipulationserkennung.\n- **`agy-ct report export`** — Exportiert JSON-Pipeline-Berichte als formatierten Markdown-Report.\n- **`agy-ct notebook bundle`** — Bündelt Kontext-Zustände und Textrenderings in ein `.ipynb` Jupyter Notebook.\n- **`agy-ct schema check`** — Gleicht rohe Trace-Dateien gegen JSON-Schemas ab.\n- **`agy-ct context validate`** — Führt strukturelle Validierung und Leckprüfungen auf Kontextmodellen durch.\n- **`agy-ct context build`** — Erzeugt strukturierte operative Kontextmodelle.\n- **`agy-ct context render`** — Rendert operative Kontextdaten in token-sparenden Fließtext.\n\n### Command Status Matrix\n\n| Bereich | Befehl | Backend/Modul | Status | Output | Teststatus |\n|---|---|---|---|---|---|\n| **Package** | `package compress` | `compress::run` | Wired | `.spkg` Evidence-Paket | 100% PASS |\n| **Package** | `package inspect` | `inspect::run` | Wired | Eigenschafts-Zusammenfassung | 100% PASS |\n| **Package** | `package verify` | `verify_cmd::run` | Wired | Signatur-/Hash-Status | 100% PASS |\n| **Package** | `package replay` | `replay_cmd::run` | Wired | Trace-Rekonstruktion (stdout/stderr) | 100% PASS |\n| **Package** | `package adversarial` | `adversarial::run` | Wired | Manipulationserkennungs-Bericht | 100% PASS |\n| **Schema** | `schema check` | `schema_check::run` | Wired | Validierungsergebnis | 100% PASS |\n| **Context** | `context build` | `context_build::run` | Wired | Operatives Kontextmodell (JSON) | 100% PASS |\n| **Context** | `context render` | `context_render::run` | Wired | Token-reduzierter Text | 100% PASS |\n| **Context** | `context validate` | `context_validate::run` | Wired | Leck- und Strukturprüfungsbericht | 100% PASS |\n| **Report** | `report export` | `report_export::run` | Wired | Markdown-Export (`.md`) | 100% PASS |\n| **Notebook** | `notebook bundle` | `notebook_bundle::run` | Wired | `.ipynb` Jupyter Notebook | 100% PASS |\n\n---\n\n## Quickstart (Lokal)\n\nFühren Sie die folgenden sicheren lokalen Befehle im Rust-Unterverzeichnis aus:\n\n```bash\n# In das Rust-Verzeichnis wechseln\ncd agy7rust\n\n# Testsuite ausführen\ncargo test\n\n# Berichtsexport mit einer synthetischen Beispieldokumentation ausführen\ncargo run --bin agy-ct -- report export -i ../examples/spark/report_sample.json -o ../temp_output.md\n```\n\n*Hinweis: Befehle, die Berichte oder veränderte Artefakte generieren, sind optional und dienen dem manuellen Review-Prozess.*\n\n---\n\n## Kryptografische Absicherung und Integrität\n\nSparkctl nutzt eine Reihe technischer Mechanismen, um die Integrität synthetischer Planungsdaten nachzuweisen:\n- **Canonical JSON:** Um Abweichungen durch Formatierung, Leerzeichen oder Keys-Sortierung zu verhindern, werden JSON-Strukturen deterministisch sortiert und serialisiert.\n- **SHA-256 Hashing:** Die Verifikation stützt sich auf SHA-256 Hashes der serialisierten Daten.\n- **Integrity Chain:** Der Hash des Preimages (`payload_sha256`) wird mit dem Zustand des Sidecars verknüpft, um ein manipulationssensitives Evidence Package zu erzeugen.\n- **Adversarial-Simulation:** Der `package adversarial`-Befehl simuliert gezielte Manipulationen an Paketstrukturen, um zu demonstrieren, wie Abweichungen vom kanonischen Hash sofort erkannt werden.\n- **Keine Sicherheits- oder Rechtsgarantie:** Diese Absicherung dient ausschließlich der Erkennung unbeabsichtigter Datenverluste oder struktureller Abweichungen (*tamper-sensitive validation*). Sie stellt keine kryptografische Signatur im Sinne des Signaturgesetzes und kein forensisch unumstößliches Beweismittel dar.\n\n---\n\n## Grenzen und Non-Claims\n\nUm Missverständnisse im Rahmen des SPARK-Hackathons auszuschließen, gelten folgende Grenzen:\n\n```mermaid\nflowchart TB\n    prototype[\"Prototyp / Konzept-Demo\"]\n    synthetic2[\"Rein synthetische Daten\"]\n    human2[\"Menschliche Prüfung erforderlich\"]\n    local[\"Lokal-first / Offline\"]\n    noClaims[\"Keine Produktiv-, Rechts-, Forensik- oder Compliance-Claims\"]\n\n    prototype --\u003e noClaims\n    synthetic2 --\u003e noClaims\n    human2 --\u003e noClaims\n    local --\u003e noClaims\n```\n\n### Matrix der Non-Claims\n\n| Eigenschaft | Scope-Abgrenzung / Non-Claim |\n|---|---|\n| **Einsatzbereich** | Kein Produktivsystem. Reine Prototyp- \u0026 Konzept-Demo. |\n| **Rechtskonformität** | Keine Rechtsberatung, rechtliche Zertifizierung oder forensische Absicherung. |\n| **Konformitätsstufe** | Keine amtliche Konformität (z. B. EU AI Act). Nur Unterstützung des Art.-12-orientierten Record-Keeping. |\n| **Systemzugehörigkeit** | Kein offizielles BMDS-Produkt und keine offizielle SPARK-Konformitätsgarantie. |\n| **Datenbasis** | Ausschließlich synthetische Testdaten. Verarbeitung von Echtdaten ist ausgeschlossen. |\n| **Entscheidungskompetenz** | Keine autonome Entscheidungsfindung. Ein menschlicher Review ist zwingend erforderlich (*Human-in-the-Loop*). |\n\n---\n\n## Agenten-Setup \u0026 Governance\n\nDieses Repository nutzt klare Richtlinien für die lokale Ausführung von KI-Entwicklungsagenten (z. B. Antigravity):\n\n- **Regelwerk:** Die [AGENTS.md](AGENTS.md) ist das maßgebliche lokale Steuerungswerkzeug.\n- **Skill-Pfad:** Das Verzeichnis `.agents/skills/` dient als aktiver Antigravity-Skill-Pfad.\n- **Codex-Hooks:** Skripte unter `.codex/hooks/` sind Codex-spezifisch und bieten keine Ausführungs- oder Sicherheitsgarantie für Antigravity-Sitzungen.\n- **Sicherheits-Modus:** Empfohlen wird die Ausführung im Sandbox-Modus (`proceed-in-sandbox`).\n\n---\n\n## Roadmap\n\n### Aktuell Offen (Platzhalter-Befehle):\n- Keine bekannten CLI-Platzhalter mehr.\n\n### Zukünftige Schritte:\n- Erweiterung der synthetischen Planungs-Fixtures.\n- Evaluierung von Community-Feedback zu Evidence-Strukturen.\n- Optionale native Plugin- und Hook-Integrationen für verbesserte Absicherung.\n- Optionaler Repo-Hygiene-Fix für alte Submodule-/Workflow-Warnungen.\n\n---\n\n## Community\n\n- **Feedback \u0026 Issues:** Fragen, Anregungen oder Fehlerberichte zu den Prototypen sind via GitHub Issues willkommen.\n- **Fokus auf Synthetik:** Bitte posten Sie in den Issues oder Diskussionen niemals echte Verwaltungs- oder Bürgerdaten. Verwenden Sie stets anonymisierte oder synthetische Beispieldaten.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofrandom92%2Fcomptext-sparkctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofrandom92%2Fcomptext-sparkctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofrandom92%2Fcomptext-sparkctl/lists"}