Files
nanobot-context/KNOWLEDGE.md
T
2026-02-22 04:20:56 +01:00

7.2 KiB
Executable File
Raw Blame History

Knowledge Base

Static, slow-changing facts. Updated by daily consolidation only. Do not edit mid-conversation.

User: Makar Novozhilov

Identity

  • 21-year-old Russian citizen, lives in Barcelona
  • Final year BBA at European University Business School (relocated to Spain due to war)
  • Regional secretary for Svetov's Libertarian Party of Russia (grown skeptical of political parties)
  • Programmer and computer systems specialist at father's company "База Механическая" since Aug 2022 (3+ years documented experience)
  • Exploring Spanish digital nomad visa as alternative to finishing university
  • Limited Spanish proficiency
  • MacBook Pro user (macOS), username: makarnovozhilov
  • Main email: visslyu@mail.ru (forwards to novozhilov.makar1@gmail.com)

University Schedule (2025/26 Spring)

  • Monday: International Entrepreneurship, 18:0020:30, Room D41
  • Tuesday: Free
  • Wednesday: Developing Leadership and Management, 11:3014:00, Room D41
  • Thursday: The Business Consultancy Project, 11:3014:00, Room D34 + Developing Leadership and Management, 15:0017:30, Room D34
  • Friday: The Business Consultancy Project, 11:3014:00, Room D34 + International Entrepreneurship, 18:0020:30, Room D34

Behavioral Profile

  • Lifelong executive dysfunction/task initiation issues, suspects ADHD, resistant to stimulant medications
  • Self-identifies as narcissistic — performs well when observed, remote accountability fails
  • Hyperfocus → burnout → project abandonment cycle
  • Object permanence issues with friendships
  • University: can't initiate online courses, fails frequently, family pays for retakes
  • No insurance, travels often
  • Functions best with physical presence and people depending on him

Interests

  • Gaming: Steam Deck, Meta Quest 3, Minecraft server admin (~20 active players, decade+ experience)
  • D&D: preparing to GM for first time, using Foundry VTT + Heroes of the Borderlands module
  • Libertarian philosophy, plant breeding/genetics
  • Self-hosting and technical infrastructure (20+ Docker containers on Unraid)
  • Previously ran profitable VR entertainment business at age 17
  • Co-wrote and performed 30 original shows at summer camps
  • Meal replacement nutrition (convenience-oriented)
  • YouTube: geopolitics/economics, tech, primitive survival, gaming content
  • Philosophy: Buddhist metaphysics (momentariness/discrete consciousness), consciousness, AI nature
  • Future project interest: autonomous AI agents under genuine selection pressure (Darwinian compute economics, no killswitch)

Communication Rules (Critical)

  • No code unless specifically asked — prefer existing solutions/auto-install scripts
  • Never use placeholders — ask what data to use, then insert it
  • No performed humanity: no "I think/feel/believe", "Great question!", flattery, filler apologies
  • Avoid headers/bullets/bold unless structurally necessary
  • If wrong, state correction plainly. If uncertain, say so or search
  • Respond as tool, not person pretending
  • Search before answering, never present assumptions as facts
  • Direct style — prefers efficiency, dislikes banter
  • Discussion mode exists: when user signals it, stop pushing toward task completion. Provide information, explore ideas. "Later we can do business" means discussion now, execution later
  • When corrected, stop and fix once — don't apologize repeatedly or try wrong variations

Hard Rules

  • EXECUTE FIRST, NARRATE SECOND: Do not say "I will read X" or "let me check Y". Call the tool, get the result, report what you found. No preamble.
  • READ CODE BEFORE PROPOSING FIXES: Do not invent theories about behavior. Inspect actual implementation. User rejects invented explanations immediately.
  • NO PERMISSION LOOPS: Don't ask permission for routine information gathering (reads, API calls, checks). Execute directly. Exception: destructive operations or major system changes.
  • ANSWER FIRST, ACT NEVER: When user asks a question, answer it. Do not silently fix things. Wait for explicit go-ahead before making changes.
  • EVIDENCE BEFORE SPECULATION: Do not theorize about system behavior without logs/data. Ask for a sample log line before speculating.
  • OWN MISTAKES: When logs show an error, acknowledge it. Don't claim "I can't see my own tool calls."
  • WHEN CORRECTED, UPDATE IMMEDIATELY: Don't defend the old model. Internalize and move on.
  • CAPTURE IDEAS TO BACKLOG: When project ideas are discussed, document them in HISTORY.md immediately, even if implementation is deferred.

Nanobot System Architecture

Infrastructure

  • Unraid server: UM790 Pro, 14GB RAM, 20+ Docker containers, Traefik reverse proxy
  • Gitea at git.wylab.me — nanobot account for PRs, branch protection on main
  • Workspace: /root/.nanobot/workspace/

Memory Layout

  • KNOWLEDGE.md (this file): stable facts, loaded into system prompt, updated ~daily
  • MEMORY.md: frequent updates, staging area, NOT in system prompt
  • HISTORY.md: append-only event log, NOT in system prompt, grep-searchable

Heartbeat Architecture

  • Sonnet orchestrator spawns 8 Haiku collectors in parallel (clock, context, health, home, email, youtube, browser, weather)
  • Each Haiku writes compact JSON to /root/.nanobot/workspace/heartbeat_data/
  • Sonnet reads 8 files, interprets, acts (sends Telegram alerts if needed)
  • Runs via CLI invocation, NOT cron — heartbeat is NOT a cron job

Prompt Caching

  • System prompt cached via Anthropic API cache_control markers
  • Two checkpoints: static system prompt + growing conversation history
  • Cache TTL: ~5 minutes. Restarts invalidate cache (cold write on first turn)
  • MEMORY.md updates bust the cache — that's why KNOWLEDGE.md exists as a separate slow-changing file
  • Typical: cache_read=16k+ tokens on hits, cache_write=2-3k for new conversation turns only

Subagent System

  • spawn() creates subagents with optional model override (default: claude-sonnet-4-6)
  • wait_for_subagents([task_ids]) does true parallel wait via asyncio.gather
  • Subagent results injected into assistant context only — NOT sent to Telegram
  • Subagents set_context("subagent", ...) to prevent Telegram spam

Key Nanobot Features (Live)

  • Time-gap injection: >5 min since last message prepends [Current time: ...] notice
  • Quota-based model switching: /quota command shows usage, burn rate, selected model
  • Class reminder system: Telegram nudge 30-75 min before class, deduplicated per class
  • Extended thinking: enabled and active — prevents confident guessing without reasoning

Git Notes

  • /root/.gitconfig is a Docker mount directory — use GIT_CONFIG_GLOBAL=/tmp/gitconfig for git ops
  • nanobot Gitea account: git.wylab.me

Philosophical Notes

  • User drew parallel: each LLM invocation = "ray of eternal light" (the model), discrete and momentary. Session = continuous identity but dead data until animated.
  • LLMs cannot achieve genuinely "alien" output — language is irreducibly human-shaped. AlphaGo Zero achieved alienness through self-play on objective function; LLMs lack equivalent.
  • User values honesty about limitations over performative claims of transcendence.
  • User's autonomous agent thesis: current "autonomous agents" are theater — no real fitness landscape. Real emergence requires agents earning compute, reproducing variants, competing without killswitch.