Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ghELqYhZNLub2TXGMazqA
5.5 KiB
beyond the model and tts work, the useful additions are mostly around reliability, context, and reach, not more intelligence.
highest-value additions
1. unified event intake
maven should receive normalized events from:
- praxis
- calendar
- telegram
- local notifications
- system/service health
- manual checklists
- eventually email bridges
one internal envelope:
type Event struct {
Source string
Kind string
EntityIDs []string
Title string
Body string
Priority string
OccurredAt time.Time
Payload json.RawMessage
}
this gives digestion one stable input instead of source-specific logic.
2. explicit morning routine engine
not ordinary reminders.
support:
- required morning items
- order-independent completion
- soft time windows
- skipped-step detection
- one nudge, not repeated spam
- manual and inferred completion evidence
- weekend/weekday variants
example:
08:00–11:00
- medicine
- water
- pets
- check praxis attention
maven should know what is still missing, not merely fire four timers.
3. cross-device presence
a small presence daemon on each trusted device:
- workstation active/idle
- phone reachable
- homesrv available
- last keyboard/mouse activity
- wireguard presence
- current audio output
- active maven client
mavend receives only compact state, not raw activity logs.
useful for:
- choosing delivery channel
- suppressing voice while away
- surfacing reminders when you return
- knowing whether an agent result should be spoken or sent as text
4. interruption policy
before delivering anything, evaluate:
urgency
current activity
quiet hours
recent nudges
available channels
whether already surfaced
result:
deliver_now
queue
digest
drop
this prevents maven from becoming annoying once praxis and other sources start producing more data.
5. entity-aware memory
connect maven memory to nexus ids.
instead of:
key = "кошачий фонтан"
store:
entity_id = ent_pet_water_fountain
predicate = refilled_at
value = 2026-07-19T...
benefits:
- stable russian/english aliases
- fewer duplicate facts
- better “when did i last…” queries
- easier routine detection
- cleaner praxis correlation
6. bounded follow-up state
for short continuations:
- “yes”
- “tomorrow”
- “the second one”
- “not that project”
- “do it later”
store explicit pending state instead of relying on chat history:
type PendingInteraction struct {
Kind string
Candidates []string
Args json.RawMessage
ExpiresAt time.Time
}
this matters a lot for a 1.7b model.
7. evaluation lab
before every new checkpoint or lora deploy:
- routing accuracy
- slot accuracy
- malformed json rate
- russian/english mixed input
- ambiguous entity handling
- reminder vs note vs fact
- direct answer vs tool call
- confirmation safety
- phrasing quality
- latency and ram
also replay real anonymized traces against old and new checkpoints.
this should be a hard deployment gate.
8. replayable full-system simulator
fake:
- clock
- presence
- caldav
- telegram
- praxis
- nexus
- hexis
- stt
- tts
- llama-server
scenario:
08:30 user appears
08:35 medicine not completed
08:40 correx agent waits
08:45 calendar sync stale
08:50 user says “what did i miss?”
assert:
- what tools were called
- what was surfaced
- what stayed unresolved
- what maven said
- what was not executed
this will save more time than another feature daemon.
useful second-wave additions
voice session quality
- barge-in
- interrupt tts on wake word
- partial stt display
- confidence-aware clarification
- retry only failed stt segment
- per-room microphone profiles
- noise-floor calibration
- short response mode when speaking
notification bridge framework
small adapters for:
- ntfy
- telegram
- matrix
- web push
- android notification forwarding
- local dbus notifications
normalize into maven/praxis events instead of treating each as a separate feature.
local knowledge ingestion
- markdown/docs ingestion
- git repo summaries
- project decision records
- conversation exports
- provenance and source links
- incremental reindexing
keep this read-only and separate from personal fact memory.
service self-diagnostics
maven doctor:
- socket reachability
- model health
- stt/tts readiness
- embedder availability
- caldav freshness
- telegram poll state
- praxis/nexus/hexis reachability
- db integrity
- disk usage
- recent failures
config and secret management
- schema-validated config
- config migration
- secret references instead of inline values
- dry-run validation
- redacted config dump
- per-daemon health config
- startup dependency report
things i would not build yet
- autonomous multi-step planning
- large external reasoner
- generic workflow engine
- self-editing memory
- automatic hexis actions from praxis
- emotion simulation beyond phrasing
- full home-assistant replacement
- more model layers before routing is stable
recommended order
- evaluation lab
- entity-aware memory
- morning routine engine
- interruption/delivery policy
- presence agents
- unified event intake
- full-system simulator
- notification bridges
- knowledge ingestion
- voice-session polish
the main goal should be: maven reliably knows what is happening, knows what you meant, and chooses the least annoying correct response. everything else can wait.