[P1] ZARA-020 — Reconcile all branches and remove divergent duplicate runtime implementations #21

Closed
opened 2026-07-18 19:22:08 +00:00 by lost-rob0t · 1 comment
lost-rob0t commented 2026-07-18 19:22:08 +00:00 (Migrated from github.com)

Problem

The repository contains parallel implementations that have already diverged:

  • zara/wake.py and scripts/zara_wake.py
  • zara/dictate.py and scripts/zara_dictate.py
  • zara/llm.py and modules/llm_client.pl
  • active LangGraph state in graph.py plus deprecated nodes.py, routing.py, state.py, and custom tool base abstractions

Fixes have landed in only one copy, creating regressions such as different stop phrases and sample-rate code. The connected branch search returned no branches even for master, so this issue must explicitly perform the authoritative local git for-each-ref/gh api branch audit when an agent has a real checkout.

Required fix

  • Enumerate every local/remote branch and compare it to master.
  • Record branch-only commits and classify each as already merged, obsolete, bug fix to port, or active work not to disturb.
  • Preserve useful branch-only fixes through focused cherry-picks or new PRs; do not merge stale branches wholesale.
  • Choose one canonical wake module, dictation module, agent graph/state schema, tool API, and provider path.
  • Convert scripts to thin entrypoint delegates or delete them.
  • Remove dead code only after reference/import tests prove it unused.

Required tests

  • Add an import/reference test preventing duplicate independent entrypoint logic.
  • Add scripts/audit-branches.sh that lists refs, ahead/behind counts, unique commits, and dirty-tree status without modifying refs.
  • Add scripts/test-canonical-paths.sh proving all wrappers delegate to canonical modules.

Acceptance

  • Every branch is accounted for in the PR description.
  • No branch-only bug fix is silently lost.
  • There is one implementation per runtime responsibility.
  • The audit scripts are read-only and deterministic.

Branch

refactor/zara-020-canonical-runtime

Dependencies

ZARA-001 through ZARA-019.

## Problem The repository contains parallel implementations that have already diverged: - `zara/wake.py` and `scripts/zara_wake.py` - `zara/dictate.py` and `scripts/zara_dictate.py` - `zara/llm.py` and `modules/llm_client.pl` - active LangGraph state in `graph.py` plus deprecated `nodes.py`, `routing.py`, `state.py`, and custom tool base abstractions Fixes have landed in only one copy, creating regressions such as different stop phrases and sample-rate code. The connected branch search returned no branches even for `master`, so this issue must explicitly perform the authoritative local `git for-each-ref`/`gh api` branch audit when an agent has a real checkout. ## Required fix - Enumerate every local/remote branch and compare it to `master`. - Record branch-only commits and classify each as already merged, obsolete, bug fix to port, or active work not to disturb. - Preserve useful branch-only fixes through focused cherry-picks or new PRs; do not merge stale branches wholesale. - Choose one canonical wake module, dictation module, agent graph/state schema, tool API, and provider path. - Convert scripts to thin entrypoint delegates or delete them. - Remove dead code only after reference/import tests prove it unused. ## Required tests - Add an import/reference test preventing duplicate independent entrypoint logic. - Add `scripts/audit-branches.sh` that lists refs, ahead/behind counts, unique commits, and dirty-tree status without modifying refs. - Add `scripts/test-canonical-paths.sh` proving all wrappers delegate to canonical modules. ## Acceptance - Every branch is accounted for in the PR description. - No branch-only bug fix is silently lost. - There is one implementation per runtime responsibility. - The audit scripts are read-only and deterministic. ## Branch `refactor/zara-020-canonical-runtime` ## Dependencies ZARA-001 through ZARA-019.
lost-rob0t commented 2026-07-19 09:41:55 +00:00 (Migrated from github.com)

Llm rewrite should be an intent.
Rewriting from prolog is not a intended feature.

Instead by calling prolog from the python side this will simplify.

Keep python skills alone eg: dont remove logic from python side for that.

Llm rewrite should be an intent. Rewriting from prolog is not a intended feature. Instead by calling prolog from the python side this will simplify. Keep python skills alone eg: dont remove logic from python side for that.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara#21
No description provided.