38 Commits
Author SHA1 Message Date
grok-bot 9916940f5a quality: P1–P3 Coverage, Sanitize, DX und Doku
CI / lint + typecheck + test (push) Has been cancelled
Coverage-Hotspots (providers 100 %, chat-Pfade), Key-Sanitize in Commands/CLI,
Test-Buffer (-b), mypy-Overrides, CONTRIBUTING/SECURITY, .env.example und
gitignore-Verfeinerung. CI-Safety prüft lokale .env nur wenn getrackt.
2026-08-04 12:31:34 +02:00
grok-bot 6ad21e5caa docs: HANDOFF nach Merge PR #1 (R1–R4) auf main
CI / lint + typecheck + test (push) Has been cancelled
2026-08-04 11:07:06 +02:00
grok-bot 2691c73ec0 docs: HANDOFF PR #1 und Merge als NEXT
CI / lint + typecheck + test (pull_request) Has been cancelled
2026-08-04 11:03:19 +02:00
grok-bot 50b50c63b6 docs: HANDOFF R4-Commit-Hash
CI / lint + typecheck + test (pull_request) Has been cancelled
2026-08-04 10:12:06 +02:00
grok-bot 17dc9859d9 refactor: Deferred Minors R4 (cost soft, Safety, Logs, Tests)
- Policy: format_cost_warning soft bei ungültigen cost-Typen (getestet)
- execute_once: Happy-Path-, Fehler-Form- und Stream-Interrupt-Tests
- Safety-Hop nur nach Primary (extras_used == 0)
- Stream-Log: execute_once-Stream-Abbruch statt chat-Fehler
2026-08-04 10:12:01 +02:00
grok-bot 68815f0276 refactor: Cost-Warnung als ChatResult.cost_warning (R3)
execute_once setzt nur cost_warning ohne print; chat() emittiert die
UX-Meldung via _emit_cost_warning. Stream-Ausgabe unverändert.
2026-08-04 10:05:38 +02:00
grok-bot aaa4787a7d refactor: pick_code_model als öffentliche API (R2)
_rename von _pick_code_model; commands und Tests nutzen die öffentliche
Client-API analog zu pick_chat_model.
2026-08-04 10:02:58 +02:00
grok-bot 00520135d8 refactor: Attempt-Planung rein (R1)
plan_after_failure und _select_fallback_target ohne print/init_client;
bei provider_fallback ist ChatAttempt.client None — Binding und UX in chat().
2026-08-04 10:02:07 +02:00
grok-bot 056d340c2a docs: HANDOFF nach Strangler-Merge auf main
CI / lint + typecheck + test (push) Has been cancelled
2026-08-04 08:46:56 +02:00
grok-bot 3841a9b4c8 docs: Strangler P1–P3 dokumentieren 2026-08-04 08:28:01 +02:00
grok-bot 86dbb85a90 refactor: chat_loop wendet CommandResult zentral an (P1) 2026-08-03 23:40:33 +02:00
grok-bot 1ebe096216 refactor: Slash-Commands liefern CommandResult (P1) 2026-08-03 23:38:40 +02:00
grok-bot ec27f679eb feat: CommandResult und apply_command_result (P1) 2026-08-03 23:35:40 +02:00
grok-bot e30b5b39af refactor: Attempt-Plan-Helfer für Fallback-Entscheidungen (P2) 2026-08-03 23:33:14 +02:00
grok-bot 08671039d1 refactor: chat() mit Attempt-Schleife statt Rekursion (P2)
Flache Orchestrierung über execute_once + set_sleeper; Safety/Retryable
ohne rekursives chat(). ChatCallPatches nutzt den injizierbaren Sleeper.
2026-08-03 23:27:33 +02:00
grok-bot e23158f140 refactor: execute_once als Einzelschuss ohne Fallback (P2) 2026-08-03 23:24:12 +02:00
grok-bot 38d2c7b3d3 docs: CostPolicy in Architektur und HANDOFF 2026-08-03 23:21:33 +02:00
grok-bot 0209f0740d refactor: Free-Tier-Guards über OpenRouterCostPolicy (P3) 2026-08-03 23:18:42 +02:00
grok-bot 98f5f963fa feat: OpenRouterCostPolicy als eigenes Modul (P3) 2026-08-03 23:16:48 +02:00
grok-bot 661638a05b docs: Strangler-Plan P1–P3 und HANDOFF
Implementierungsplan für CommandResult, Attempt-Plan und CostPolicy;
HANDOFF für Session-Fortsetzung; .worktrees/ gitignored.
2026-08-03 23:15:05 +02:00
grok-bot c0534541f8 ci: Gitea Actions PR-Gate und Tooling-Hygiene
CI / lint + typecheck + test (push) Has been cancelled
Lokales make check als CI-Gate (lint/mypy/unittest), mise-Lint per Glob,
Cache-Dirs in .gitignore und Doku für self-hosted Gitea Actions.
2026-08-03 23:03:18 +02:00
grok-bot 5f15d42b26 docs: HANDOFF nach Typing-Commit aktualisieren 2026-08-03 22:52:58 +02:00
grok-bot c5f6be5491 feat: Package-Typing mit mypy und erweiterten Domain-Typen
Type-Hints über chatpy (ChatState, Settings, client, commands, …),
TypedDicts/Literals in types.py, Dev-Task typecheck; keine Runtime-Änderung.
2026-08-03 22:52:41 +02:00
grok-bot db037b3732 docs: HANDOFF nach Modularisierung-Push aktualisieren
Stand 302450d, clean Tree, nächste Schritte und Session-Start bereinigt.
2026-08-03 12:09:06 +02:00
grok-bot 302450dba6 refactor: gezielte Modularisierung (stats, session_snapshot, chat-Fassade)
Statistics und Session-Snapshots in eigene Module; chat.py ohne _cmd_*-Re-Exports.
Tests und Doku auf kanonische Package-Pfade umgestellt. Keine Verhaltensänderung.
2026-08-03 12:06:44 +02:00
grok-bot 28f1009143 docs: Getting-Started-Tutorial für Erstnutzer
Geführtes Tutorial (Setup → erster Chat → Alltags-Befehle) und
Verlinkung aus README, docs-Index und User-Guide.
2026-08-03 11:58:21 +02:00
grok-bot 7215a0282b QoL-Kern: Datei-/Web-Anhänge, Session-Commands, Export JSON
Lokale Dateien und HTTP(S)-URLs als Kontext (/file, /web, @path, CLI -f),
Session-QoL (/session show|delete, /sessions-Metadaten, /save-Zeitstempel)
und JSON-Export — ohne neue Runtime-Dependencies.
2026-08-03 11:53:58 +02:00
grok-bot 1fc458da56 test: Mutation Testing einrichten und Score auf 81,1 % heben
mutmut-Setup (mise-Task, pyproject), Härtetests für alle Module ≥ 75 %
und aktualisierter Score-Bericht; test_key_leak pytest-kompatibel.
2026-08-03 11:16:50 +02:00
grok-bot df6c2a8368 docs: HANDOFF nach erfolgreichem Push aktualisieren
Remote-Stand und offene Schritte (Push erledigt) anpassen.
2026-08-03 10:50:39 +02:00
grok-bot 165a784041 docs: HANDOFF für nächste Session finalisieren
Stand (2 Commits vor origin), P1–P5-Überblick, Start-Checkliste und offene
Schritte (Push, Live-Smoke) klar getrennt.
2026-08-03 10:49:49 +02:00
grok-bot c718c12548 docs: HANDOFF nach P1–P5-Commit aktualisieren
Stand auf 5780a14 setzen; offene Schritte auf Push/Live-Smoke reduziert.
2026-08-03 10:49:18 +02:00
grok-bot 5780a14353 Qualitäts-Refactor P1–P5: chat()-Split, TypedDicts, Fetch-Pipeline, Session-Snapshots
Test-Hygiene (ChatCallPatches), client.chat in Build/Execute/Fallback zerlegt,
gemeinsame Model-Fetch-Pipeline, types.py (ModelInfo/ProviderConfig), sowie
Session-Snapshots mit Settings (Temp, Prompt, Provider/Modell) bei /save und /load.
ProviderID.LOCAL und last_model_key_local ergänzt; Doku und Tests aktualisiert.
2026-08-03 10:48:55 +02:00
grok-bot a9c0380338 docs: Drift zu v2.1.0 angleichen (Tests, Local-URL, CLI, ChatState)
Testzahl ~477, Startup/Credentials inkl. OPENAI_COMPAT_BASE_URL,
README-CLI und ChatState-_pending_chat an den Code anpassen.
2026-08-02 23:35:01 +02:00
grok-bot 1c9698cf1f Release 2.1.0: CHANGELOG, Version-Bump, --version ohne Keys
Keep-a-Changelog mit Phase 1–3, pyproject/__version__ auf 2.1.0,
--help/--version vor Credential-Check, .env.example Local-ENV.
2026-08-02 23:22:26 +02:00
grok-bot 83100abe82 Phase 3: lokaler OpenAI-kompatibler Provider (Ollama/LM Studio/vLLM)
Provider-Slot local via OPENAI_COMPAT_BASE_URL, dynamische /models,
optionaler Key mit Dummy in init_client, kein Auto-Fallback Cloud↔Local.
Tests, Doku und HANDOFF aktualisiert.
2026-08-02 23:17:29 +02:00
grok-bot 9e33467c97 docs: Design Spec für lokalen OpenAI-kompatiblen Provider
Phase-3-Design (Ansatz A): Provider-Slot local, ENV-Activation,
dynamische /models, optionaler Key, kein Auto-Fallback.
2026-08-02 23:10:34 +02:00
grok-bot 2c58e60641 Phase 1+2: Workflow-Commands, Tokens, Scripting-CLI, Modell-Filter
Slash-Commands (retry/undo/last/sessions/theme/context/maxtokens),
readline und Mehrzeileingabe, atomare JSON-Writes, Legacy-Hinweis.
Scripting mit --json/--quiet/--session/--system-prompt-file und Exit-Codes,
Token-Budget-Kontext sowie Modell-Suche im Menü.
2026-08-02 23:04:54 +02:00
grok-bot c39b6970a1 Initialer Import: chatpy 2.0 (Package, Tests, Docs, Agent-Config)
CLI-Chat für OpenRouter/Groq/NVIDIA NIM, Free-Tier-fokussiert.
Inkl. Package-Layout, Unittest-Suite, Dokumentation, AGENTS.md und
.grok Permission-Deny für .env/destruktive Shell-Muster.
2026-08-02 22:40:51 +02:00