Bruce001 Simple Math ist die Grundlage fuer einen deterministischen Wissens-Baukasten.
Leitregeln:
- No Trace -> No Claim.
- No Silent Overwrite.
- Version Everything.
- Trace Every Claim.
Dieses Repository enthaelt einen lauffaehigen deterministischen MVP:
- BRUCE-Core (
bruce/core.py) mit deterministischer Mathe-Pipeline bruce/core.pybleibt zentraler Orchestrator; interne Logik ist kontrolliert in Teilmodule ausgelagert- CLI (
python3 -m bruce) mit lokalisierter Hilfe/Fehlerausgabe - JSON-Module, Templates und Formeln unter
modules/ - Safe Shutdown bei unklaren oder unsicheren Faellen
- append-only Traces inkl. Index (
traces/index.jsonl) - Unit-/CLI-Tests unter
tests/
python3 -m bruce "Was ist 17 mal 38?"Addition:
python3 -m bruce "Was ist 17 plus 38?"English:
python3 -m bruce "What is 17 times 38?"Localized safe shutdown (English):
python3 -m bruce "What is 17 divided by 0?"Subtraktion:
python3 -m bruce "Was ist 17 minus 8?"Division:
python3 -m bruce "Was ist 21 geteilt durch 3?"Mehrschritt-Ausdruck mit Klammern (ohne eval):
python3 -m bruce "Was ist (2 + 3) * 4?"Unary Minus:
python3 -m bruce "Was ist -3 + 5?"Unary Plus / Klammern:
python3 -m bruce "Was ist +(2 + 3) * 4?"Dezimalzahlen (Komma wird akzeptiert):
python3 -m bruce "Was ist 2,5 plus 1,25?"Wissenschaftliche Notation:
python3 -m bruce "What is 1e-3 + 2?"Wissenschaftliche Notation (grosses E):
python3 -m bruce "What is 1E-3 + 2?"Fuehrende Dezimalpunkte:
python3 -m bruce "What is .5 + .25?"Dezimalausgabe mit Komma:
python3 -m bruce "Was ist 2,5 plus 1,25?" --decimal-style commaHinweis:
- CLI-Default ist
--decimal-style auto(de-> Komma,en-> Punkt). - Optional explizit:
--decimal-style dot|comma|auto. - CLI-Systemmeldungen:
--lang auto|de|en(Defaultauto). - CLI-Hilfe kann lokalisiert angezeigt werden, z. B.
python3 -m bruce --help --lang en. - Versionsinfo:
python3 -m bruce --version(optional--lang en).
Jeder CLI-Lauf speichert automatisch einen Trace append-only unter:
traces/YYYY/MM/DD/TRACE-<YYYYmmddHHMMSSffffff>-<6hex>.json
Zusatzindex fuer schnelle Suche:
traces/index.jsonl
Optional mit Trace-Datei:
python3 -m bruce "Was ist 17 mal 38?" --trace-out examples/trace_run.jsonAlternativer Trace-Root:
python3 -m bruce "Was ist 17 mal 38?" --trace-root tracesTrace per ID abrufen:
python3 -m bruce --trace-id TRACE-20260601121530987654-a1b2c3 --trace-root tracesTraces listen (optional gefiltert):
python3 -m bruce --list-traces --trace-root traces --status success --date 2026-05-31 --limit 10Mit Modul-Filter:
python3 -m bruce --list-traces --trace-root traces --module-id MATH.ARITH.ADDITION.001 --limit 10Goal Search wird nur mit --goal-search aktiviert.
Ohne dieses Flag bleibt die klassische Mathe-Pipeline unveraendert.
Erste gefundene Loesung:
python3 -m bruce "rechne von 1 bis 15" --goal-search --solution-policy firstKuerzester gefundener Weg:
python3 -m bruce "rechne von 1 bis 15" --goal-search --solution-policy shortestAlle gefundenen Wege innerhalb Grenzen:
python3 -m bruce "rechne von 2 bis 15" --goal-search --solution-policy all --max-steps 2 --max-solutions 20JSON-Ausgabe:
python3 -m bruce "rechne von 1 bis 15" --goal-search --output-format jsonpython3 -m unittest discover -s tests -p 'test_*.py' -vmodules/versionierte Modul-Artefakte (inkl. Fixtures)examples/Beispiel-Tracesbruce/laufender MVP-Core und CLIcore.py(Orchestrator)language.py(deterministische Sprach-/Intent-Erkennung)calculator.py(deterministische Rechenlogik ohneeval)module_loader.py(JSON-Modul-/Template-/Formelauflösung)template_engine.py(Template-Rendering)verifier.py(Ergebnisverifikation)trace_logger.py(Trace-ID, Persistenz, Lookup, Listing)safety.py(Safe-Shutdown-Helfer und Fehlercodes)task_spec.py(vorbereitende TaskSpec-Validierung, noch ohne Solver-Integration)language_adapter.py(deterministischer DE-Adapter: Sprache -> TaskSpec-Kandidat)goal_search_solver.py(deterministischer Such-MVP fuer validiertemath.goal_searchTaskSpecs)runtime_pipeline.py(optionale Integrations-API: Adapter -> TaskSpec -> Solver)
src/Platzhalter fuer spaetere, staerker modulare Teilkomponententests/Unit- und CLI-Tests fuer den MVP
- keine Web-API
- keine Datenbank
- kein LLM-Core
- keine automatische Umstellung der Standardpipeline auf Goal-Search-Routing
Copyright 2026 Christopher Flegel
Licensed under the Apache License, Version 2.0.
You may use, modify, and distribute this project under the terms of the Apache License 2.0.
This project is provided on an "AS IS" basis, without warranties or conditions of any kind.
See the LICENSE file for details.