Skip to content

ChrisFle2003/Bruce001-Simple-Math

Repository files navigation

Bruce001-Simple-Math

Bruce001 Simple Math ist die Grundlage fuer einen deterministischen Wissens-Baukasten.

Leitregeln:

  • No Trace -> No Claim.
  • No Silent Overwrite.
  • Version Everything.
  • Trace Every Claim.

Aktueller Stand

Dieses Repository enthaelt einen lauffaehigen deterministischen MVP:

  • BRUCE-Core (bruce/core.py) mit deterministischer Mathe-Pipeline
  • bruce/core.py bleibt 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/

Minimaler CLI-Lauf

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 comma

Hinweis:

  • CLI-Default ist --decimal-style auto (de -> Komma, en -> Punkt).
  • Optional explizit: --decimal-style dot|comma|auto.
  • CLI-Systemmeldungen: --lang auto|de|en (Default auto).
  • 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.json

Alternativer Trace-Root:

python3 -m bruce "Was ist 17 mal 38?" --trace-root traces

Trace per ID abrufen:

python3 -m bruce --trace-id TRACE-20260601121530987654-a1b2c3 --trace-root traces

Traces listen (optional gefiltert):

python3 -m bruce --list-traces --trace-root traces --status success --date 2026-05-31 --limit 10

Mit Modul-Filter:

python3 -m bruce --list-traces --trace-root traces --module-id MATH.ARITH.ADDITION.001 --limit 10

Goal Search CLI (explizit)

Goal 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 first

Kuerzester gefundener Weg:

python3 -m bruce "rechne von 1 bis 15" --goal-search --solution-policy shortest

Alle gefundenen Wege innerhalb Grenzen:

python3 -m bruce "rechne von 2 bis 15" --goal-search --solution-policy all --max-steps 2 --max-solutions 20

JSON-Ausgabe:

python3 -m bruce "rechne von 1 bis 15" --goal-search --output-format json

Tests

python3 -m unittest discover -s tests -p 'test_*.py' -v

Struktur (aktuell)

  • modules/ versionierte Modul-Artefakte (inkl. Fixtures)
  • examples/ Beispiel-Traces
  • bruce/ laufender MVP-Core und CLI
    • core.py (Orchestrator)
    • language.py (deterministische Sprach-/Intent-Erkennung)
    • calculator.py (deterministische Rechenlogik ohne eval)
    • 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 validierte math.goal_search TaskSpecs)
    • runtime_pipeline.py (optionale Integrations-API: Adapter -> TaskSpec -> Solver)
  • src/ Platzhalter fuer spaetere, staerker modulare Teilkomponenten
  • tests/ Unit- und CLI-Tests fuer den MVP

Nicht im aktuellen Scope

  • keine Web-API
  • keine Datenbank
  • kein LLM-Core
  • keine automatische Umstellung der Standardpipeline auf Goal-Search-Routing

?? MORE OF BRUCE ??

!! COMING SOON !!

( °)>

License

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.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages