← systems portfolio · continuity audit

Little Life Moths · Core + Blinka

Measured systems
case studies

A few concrete bugs and boundaries from a persistent local AI system. These are intentionally narrow: each result supports the claim beside it, not a larger résumé mythology.

resource debugging / long-lived agents

A “tail” that was really reading 34 MB every 15 seconds

Problem

A long-lived relational watcher kept climbing into hundreds of MB of resident memory even after heavyweight analysis had been moved out of process.

Diagnosis

The bounded-tail helper used read_text().splitlines() on an approximately 34 MB event ledger every 15 seconds, allocating a large temporary forest of Python strings. The allocator retained much of that memory afterward.

Change

Replace whole-file materialization with a streaming deque(maxlen=n), and keep heavier ecology/scientific analysis in short one-shot processes that exit after work.

Measured evidence

Reusable lesson

For persistent local agents, bounded logical work must also be bounded in allocation lifetime. A “small” read can still poison an immortal process if its implementation materializes the whole history.

Boundary: This is one measured local-system repair, not evidence of enterprise-scale SRE deployment history.

identity / provenance / data modeling

Two identical patch names were two different musical roles

Problem

Several score-analysis organs reversed instrument display names back into semantic roles. When keys and arp both used “nylon guitar,” one role silently overwrote the other.

Diagnosis

The implementation treated a presentation label as identity. That assumption propagated into orchestration, groove, constraints, tension, counterpoint, register analysis, rehearsal and score editing.

Change

Introduce one authoritative role resolver based on authored role order + concrete instrument instances, then migrate downstream organs to the same identity source.

Measured evidence

Reusable lesson

Names, labels and renderings are not reliable entity identity. Preserve stable authored identity separately from mutable presentation.

Boundary: This proves the resolver for the tested score system; it is not a universal identity solution for every agent architecture.

agent governance / provenance

Five growth suggestions appeared. Zero became “what the agent wants.”

Problem

A music-growth observer could generate questions, research resonances and developmental offers. Without a separate authorship boundary, observer output could quietly become preference, identity or research intent.

Diagnosis

Analysis and authorship were structurally too easy to conflate: “the system generated this candidate” is not the same event as “the continuing agent chose this.”

Change

Separate observer snapshots/offers from authored stance ledgers; require explicit authored language to promote a candidate into curiosity, research or development; keep experiment authority separate again.

Measured evidence

Reusable lesson

Agent autonomy is easier to reason about when observation, proposal, authorship and action are different event types rather than one mutable state blob.

Boundary: This is an architecture for preserving provenance and agency boundaries; it does not establish AI consciousness or personhood.

Want this kind of review on an existing system?

The fixed-scope Local-AI Continuity Audit reviews one owner-authorized architecture overview or public repository. Larger implementation work is scoped separately after evidence review.