Skip to content

Fork drift report: what I added before merging your latest in (ai-visualizer, backtalk, fullstack-agent) #1

Description

@aram-cloudstak

What I've added on my forks (before merging your latest in)

I've been running forks of ai-visualizer, backtalk, and fullstack-agent for a
few days and built a few things on top before pulling your latest changes in
today. Figured I'd write these up in case any are useful upstream, and so
they don't get lost/re-invented. I've already merged your latest into my
forks, so this is just "here's what I had that you didn't" as of that merge.

ai-visualizer

Cost and transcription overlays (core.js, server.py, ai-visualizer.json)
A live overlay on the visualizer face showing session cost and running
transcription text, backed by a new server.py endpoint.

Inbox-queue widget + real billing data (follow-up commit)
Extended the cost overlay to pull actual billing numbers instead of an
estimate, plus a widget showing what's sitting in the inbox queue.

Both are additive UI/overlay work — didn't touch your existing face
rendering paths, so should apply cleanly as a feature branch if you want to
look at it.

backtalk

Singleton lock (backtalk/main.py)
Refuses to start a second backtalk process while one is already running,
so you don't end up with two processes fighting over the same hotkey/mic. A
lock file at .backtalk.lock holds the owning PID; a stale lock left by a
crashed run (PID no longer alive) is detected and reclaimed automatically.
Windows liveness check goes through OpenProcess with
PROCESS_QUERY_LIMITED_INFORMATION rather than os.kill(pid, 0) — on
Windows that call actually maps to TerminateProcess under the hood, so it
isn't safe to use as a read-only liveness probe.

Session resume + playback speed config — built this independently
around the same time you did (my commit 2026-08-18, yours 2026-08-19). Mine
added resume_last_session (opt-in, off by default) and a speed config
key for Kokoro. Yours ended up more complete — it wires the resume id
through the permission-gate/can_use_tool path at connect and falls back
cleanly to a fresh session if a saved resume id is stale, mine didn't do
either. I took your version during the merge; flagging only so you know two
people hit the same gap at once, not because I think there's anything left
to reconcile.

fullstack-agent

meeting-transcriber wired into start.bat as "agent ears"
I run a fourth local tool (meeting-transcriber — dual-track recording +
faster-whisper transcription + summary, not one of your repos) and added it
to the launcher alongside face/hands/voice, gated on a Python 3.13 install
check with a clear skip message if it's not found. Not something you'd want
verbatim since it depends on a tool you don't ship, but flagging the pattern
(a fourth optional leg in start.bat) in case it's useful shape for your own
"one more optional piece" additions.

Not worth a mention

ai-memory-vault and ai-marketing-skills forks only had housekeeping on my
side (CHANGELOG backfill, merge commits) — no feature drift there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions