Operations Dashboard · read-only view of the repo

Artificial Management // AI Operating System

built 2026-08-16 18:45 UTC · case study · view the repo
What is this? — how this page works, and what to click

This is the live operations dashboard for an AI business operating system: 10 specialized AI agents and 10 reusable skills that run a solo business the way a Fortune 500 runs departments — with a project tracker, an append-only decision log, a change log, integrity audits, and cost tracking.

Everything on this page is generated from plain markdown files in a git repo — the system's single source of truth. Agents read those files, do their work, and write results back; a zero-dependency build script turns the same files into this page on every push. No database, no CMS — and the motion layer is vendored, local, and purely decorative: disable JavaScript and every number still renders. Every card cites its source file — click the file name to see the raw markdown behind the number.

Where to click: expand any agent to see what it reads, produces, and depends on · open a project to get its dedicated dashboard page — tasks by department, milestones, risks, deadlines · expand a decision to see the reasoning it was made with · the heartbeat banner above shows whether the system is actively maintained right now — it computes that itself, and it does not flatter the owner.

MARKDOWN SOURCE OF TRUTH context/ · projects/ decisions/log.md · logs/ registry · trackers · SOPs git-versioned · append-only logs AGENTS & SKILLS 10 agents · 10 skills run in Claude Code + 1 scheduled routine read → act → write back OUTPUTS daily briefs · sprint plans integrity audits · cost reports weekly email briefing every output cites its sources written back to the same files — append-only, change-logged dashboard/build.js reads the same files → generates this page (read-only)
● ACTIVE
System heartbeat — last commit 2026-08-16 · GridPulse registered, built, and SHIPPED: zero code -> live public da…
Last commit 0 days ago. Recomputed at every build — rebuilt daily by CI.
Activity — changes logged per week · sqrt scale · source: logs/changes.md
Week of 2026-05-11: 193 changes logged193 Week of 2026-05-18: 3 changes logged Week of 2026-05-25: no changes logged Week of 2026-06-01: no changes logged Week of 2026-06-08: no changes logged Week of 2026-06-15: no changes logged Week of 2026-06-22: no changes logged Week of 2026-06-29: no changes logged Week of 2026-07-06: no changes logged Week of 2026-07-13: no changes logged Week of 2026-07-20: no changes logged Week of 2026-07-27: no changes logged Week of 2026-08-03: 120 changes logged Week of 2026-08-10: 15 changes logged15 2026-05 2026-08
4
Projects
3 In Progress · 1 Deployed — unshared
10
Agents
10 Active
10
Skills
10 Active
12
Tools
10 Connected · 2 Not Connected
89
Decisions
logged, append-only
331
Changes
logged, append-only
~$50/mo
Monthly spend
base + variable API usage · as of 2026-08-07

Agent roster — click to expand source: ai-system-registry.md

Chief of Staff AgentActive

Synthesizes project status, priorities, and decisions into executive summaries and next-action directives

ReadsAll project READMEs, change log, decision log, session logs, priorities
ProducesDaily brief, weekly summary, next-action list, blocker report
Depends onProject Manager Agent, Documentation Agent
Project Manager AgentActive

Tracks all workstreams, tasks, deadlines, and blockers across all registered projects and produces weekly sprint plans

Readsgoals.md, current-priorities.md, all project READMEs, change log
ProducesSprint plan, status report, deadline risk report, blocker escalation
Depends onChief of Staff Agent, all project READMEs
Documentation AgentActive

Converts work sessions, decisions, and build events into clean structured documentation automatically

ReadsSession notes, change log, decision log, project READMEs, templates
ProducesSession summaries, updated READMEs, change log entries, SOP drafts, case studies
Depends onwork-session-to-docs skill, Data Integrity Agent
Data Integrity AgentActive

Validates consistency across all system documents, flags conflicts and outdated info, maintains system trustworthiness

ReadsAll context files, all project READMEs, all agent specs, decision log, change log
ProducesInconsistency report, missing fields report, outdated info flags, confidence scores
Depends onAll context files, Documentation Agent
Change Management AgentActive

Tracks everything that changes inside Artificial Management — what changed, when, and why

ReadsSystem changes, updated files, new workflows, modified prompts
ProducesChange log entries, version diff summaries, rollback docs, outdated reference flags
Depends onlogs/changes.md
Cost Tracking AgentActive

Tracks all tools, APIs, subscriptions, and compute costs for Artificial Management

ReadsTool subscriptions, API costs, software licenses, storage costs
ProducesMonthly spend summary, cost change alerts, waste flags, pricing recommendations
Depends onExternal billing data
Portfolio AgentActive

Converts every technical project and workflow into job-search and client-facing proof

ReadsCompleted tasks, agent specs, automation workflows, business outcomes
ProducesResume bullets, case studies, LinkedIn posts, GitHub READMEs, interview stories
Depends onAll project deliverables
Client Services AgentActive

Packages Artificial Management's capabilities into marketable service offers for SMB clients

ReadsServices list, market feedback, portfolio work, pain points, pricing logic
ProducesService packages (4 tiers), discovery call script, proposal template, outreach templates (6), client onboarding SOP
Depends onPortfolio Agent
AI Engineering Build AgentActive

Designs and implements the technical architecture of the Artificial Management AI system

ReadsBusiness requirements, agent specs, data flows, tool constraints
ProducesArchitecture diagrams, tool selection rationale, database schemas, workflow specs
Depends onAll agent specs
Master Operating SystemActive

The central system that connects all agents, projects, documentation, dashboards, and workflows

ReadsAll system files
ProducesProject tracker, AI system registry, weekly exec summary, architecture docs, ops dashboard
Depends onAll agents and tools

Skill registry — click to expand source: ai-system-registry.md

/chief-of-staffActive

Reads all project READMEs (dynamic), logs, and priorities and produces a daily brief — saved to file and displayed in chat

/project-managerActive

Produces sprint plans, status checks, and blocker reviews across all registered projects — 3 modes (sprint/status/blockers)

/weekly-exec-summaryActive

Automates producing a structured weekly executive briefing — reads all source files and fills out the weekly-exec-summary template

/work-session-to-docsActive

Captures decisions and changes from any work session and updates all relevant docs — session log, change log, decision log, project README

/documentationActive

Converts sessions, decisions, and changes into structured documentation — 3 modes: session summary, README update, SOP draft

/data-integrityActive

Validates system document consistency — 3 modes: full audit, quick check, conflict resolution; confidence scoring (0–100)

/change-managementActive

Logs, reviews, and flags all system changes — 3 modes: log changes (default), review (gap/orphan detection), flag [topic]

/cost-trackingActive

Monthly spend report and add-tool workflow — 2 modes: monthly-report (default), add-tool

/task-completeActive

Cascades a completed task across all tracking files in one pass — current-priorities, project tracker, registry, project README, change log, source-of-truth map

/ad-directors-visionActive

Produces a full Director's Vision document for conversion-focused video ads — 7 sections covering brand focus, emotional arc, cinematography, scene structure, pacing, ad manager strategy, and affiliate/conversion — for TikTok, Reels, YouTube Shorts, UGC, and performance marketing content

Next actions — as of 2026-08-05 source: current-priorities.md

  • Verify Friday briefing routine
  • Write client-data-handling SOP
  • Write disaster-recovery runbook
  • Start job applications
  • Scope the new projects with Erick

Recent decisions — click for reasoning 89 total

2026-08-15GridPulse (EIA grid data product) is registered as the new portfolio project, filling the slate…

GridPulse (EIA grid data product) is registered as the new portfolio project, filling the slate slot reopened by the cloud-network-lab scrap — and it supersedes the Florida DOR parcel-conversion concept that was being explored the same day for data-engineering resume coverage

ReasoningErick planned GridPulse to completion in a separate session (two-agent brainstorm + red-team stress test, both published as claude.ai artifacts) and delivered it via a machine-handoff folder mid-conversation, which under the how-to-register rule makes it a defined project: decisions locked, phases scoped, risks red-teamed. It covers the same DE-resume gaps the Florida DOR idea targeted (API ingestion, conversion tool with quarantine, bronze/silver/gold, scheduled incremental pulls, measurable quality loop) with a tighter MVP and [price redacted] cost ceiling; the Airflow/dbt keyword gap remains assigned to ai-os-v2-canonical-store, not this project
ContextPlanning artifacts are authoritative and must be updated, never recreated (links in projects/gridpulse/README.md). Build order per the red-team report: EIA key + data validation for all 3 questions BEFORE repo creation; data on an orphan branch; ceremony capped pre-ship. No code exists yet; MVP target 2026-09-07
2026-08-11The cloud-network-lab project is scrapped in its entirety at Erick's direction — all six VMs de…

The cloud-network-lab project is scrapped in its entirety at Erick's direction — all six VMs deleted with their disks, the am-public NAT network and host-only adapter removed, the VirtualBox media registry emptied, C:\Users\Erick\CloudLab (~40 GB: ISOs, VM disks, SSH keys, build artifacts) deleted, and the projects/cloud-network-lab/ documentation removed from the repo rather than archived — Erick chose full deletion over the archive option when offered both

ReasoningErick's call, made mid-build during the DMZ phase; the standing archive-don't-delete rule was raised explicitly and he chose deletion anyway, which under the repo's own escalation rule (concern stated once, user reaffirms, proceed) is binding
Contextat teardown the lab had five running VMs (OPNsense perimeter with a DMZ interface + live DMZ policy, Debian router/bastion, Debian app server, Postgres+pgvector db with proven zero egress, Windows Server 2025 DC on corp.internal) plus a sixth Alpine DMZ host mid-bootstrap; an unresolved firewall Unbound SERVFAIL diagnosis was in flight (DNSBL module ruled out by controlled experiment, root priming worked, per-query sends stopped — undiagnosed at teardown). Prior decision entries about the lab remain per the append-only rule; they describe a project that no longer exists. Tracker slate slot reopened — new-project scoping with Erick still pending
2026-08-11The agent executes the build end to end at Erick's explicit direction, but the deliberate break…

The agent executes the build end to end at Erick's explicit direction, but the deliberate break/fix drills remain Erick's own work

ReasoningErick asked for this to be done by AI — which is on-thesis for Artificial Management (AI agents doing real operational work) and is itself the better case-study framing: "I directed an agent to design, build, document and verify a segmented network, then port it to AWS." The tradeoff was named once rather than argued: full agent execution costs the operator muscle memory. Mitigation is that every command and its rationale is narrated in the build log, and step 5 — breaking the lab on purpose (bad route, wrong rule, missing forward) and diagnosing with ip route / ss / tcpdump — stays in Erick's hands, because that is the part that has to survive an interview. Documentation was registered BEFORE the first VM rather than after: if the evolution is the product, a reconstructed log is a sanitised one, and the everything-worked-first-try narrative is exactly what makes portfolio projects read as fiction
Contextthe one thing the agent genuinely cannot do unattended is the VirtualBox install and host-only adapter creation — both ship or touch kernel drivers and require an administrator elevation prompt only a human at the keyboard can approve. Tracked as a Blocked task in the tracker rather than silently retried
2026-08-11The lab is built THREE times — local VirtualBox, then the identical topology by hand in the AWS…

The lab is built THREE times — local VirtualBox, then the identical topology by hand in the AWS console, then the same thing in Terraform — and the progression itself is the portfolio artifact

ReasoningErick's own framing was local-then-cloud with the evolution explained in the case study, which is a stronger piece than either half alone: a finished network proves tutorial-following, whereas one architecture expressed three ways with the reasoning between them proves the abstraction is understood. One phase was ADDED to his plan — the manual console rebuild — because going straight from VMs to Terraform produces someone who can run apply without being able to diagnose what it built. The centrepiece deliverable is a lab→cloud mapping table (NAT Network→VPC+IGW, nftables→security groups, VBoxManage→Terraform) which is what converts a homelab into a cloud-engineering artifact for a recruiter
ContextErick is applying for BOTH cloud and AI engineering roles, so the db tier runs Postgres + pgvector — the lab becomes the rehearsal environment for the ai-os-v2-canonical-store migration instead of competing with it for hours. Cost trap identified up front: AWS managed NAT Gateway is NOT free tier (~[price redacted]/hr, ~[price redacted], billed idle) — Phases 2-3 use a NAT instance or design around egress, and a billing alarm is the first resource created before any network resource
2026-08-11The Cloud Network Lab is built on VirtualBox, not Hyper-V — because this machine runs Windows 1…

The Cloud Network Lab is built on VirtualBox, not Hyper-V — because this machine runs Windows 11 HOME and therefore cannot run Hyper-V at all

Reasoningthe question was posed as a VirtualBox-vs-Hyper-V tradeoff, but the premise was false and checking it first changed the answer. Host survey found virtmgmt.msc and vmms.exe absent from disk and the vmms service unregistered; the Hyper-V role is a Pro/Enterprise/Education feature Microsoft does not ship on Home. What made Hyper-V look present was HypervisorPresent:True, which reports the Virtual Machine Platform — the reduced hypervisor Windows runs beneath itself for WSL2 and virtualization-based security. It hosts WSL, not general-purpose VMs. Consequence accepted knowingly: because that hypervisor already owns VT-x, VirtualBox runs via the Windows Hypervisor Platform API rather than natively, which is slower — irrelevant for headless Linux servers running sshd and nftables, and not worth disabling VBS and losing WSL2 to fix. VMware Workstation Pro (free for personal use since late 2024) is held in reserve if the penalty ever becomes measurable rather than theoretical
Contexthost is i7-6700 / 31.8GB RAM / 788GB free, Windows 11 Home build 26200. Debian 13.6.0 netinst chosen over Alpine: Erick self-assessed "confident but still practicing," and Alpine's BusyBox/apk/OpenRC is a second dialect that does NOT transfer to a cloud instance, where systemd and apt do — 250MB more RAM for direct relevance
2026-08-08Uplink adds HYBRID retrieval (BM25 + semantic vectors, fused with Reciprocal Rank Fusion) — but…

Uplink adds HYBRID retrieval (BM25 + semantic vectors, fused with Reciprocal Rank Fusion) — but only after a measured head-to-head justified it, shipped behind a flag, and reviewed by an independent agent

Reasoningthe long-standing plan was "BM25 first, vectors only if the eval numbers prove it." Executed exactly that: built the vector path behind UPLINK_HYBRID (off in production, so the live demo stays pure BM25 and unchanged), then scored BM25 vs hybrid on the SAME golden questions over the demo's ten near-duplicate Apple 10-Ks. Real result with on-device bge-small: first-answer 53%->93%, MRR 0.702->0.967 (15 questions, deterministic, logged to eval-history). RRF chosen specifically because BM25 scores and cosine similarities are on different scales and can't be added — RRF fuses by rank, needing no calibration. Embedder choice follows the TRUST BOUNDARY, not performance: on-device (fastembed/bge-small) where documents are confidential so nothing leaves the machine; an embedding API (Voyage/OpenAI — Anthropic has no embeddings endpoint) only where data is public. An independent review agent then caught a genuine HIGH bug: a guard the code's own comments promised (refuse a query embedded by a different model than built the index) was never implemented, so a mismatched embedder would silently fuse garbage instead of degrading to BM25 — fixed with embedder_matches() + a dimension guard + regression tests
Contextuplink-demo commits b9731a2 (build), 450994f (case study). New files: uplink/embeddings.py, vectors.py, hybrid.py; scripts/build_vectors.py, eval_compare.py; fixtures/demo-10k-golden.jsonl. Honest limits kept with the number: 15-question sample, and near-duplicate filings are the case most disadvantageous to keyword search, so the gain would likely shrink on distinct documents. Live public activation still pending (on free hosting it means the API-embedder path)
2026-08-07Before the Uplink public demo is shared, it passed a security review run by TWO independent AI…

Before the Uplink public demo is shared, it passed a security review run by TWO independent AI agents in parallel, and the demo's answering model is Claude Sonnet (claude-sonnet-5) pinned in render.yaml

Reasoninga public, paid-API-backed endpoint under Erick's name needs adversarial review, not self-assessment — two independent agents converged on the same top finding (a rate-limit bypass), which is exactly the cross-check a single reviewer can't provide. The one real hole: the per-visitor limit keyed on the LEFTMOST X-Forwarded-For value, which the client controls (a proxy appends the real IP on the RIGHT), so rotating the header minted unlimited fresh 5-question allowances against the paid API — financial DoS. Fixed to read the rightmost proxy hop with IP validation. Also withheld verbatim visitor search-query text from the public /api/metrics (cross-visitor disclosure on a recruiter-facing site), capped the rate-limit key set, and bounded metrics log reads. Both reviews rated secrets, write-gating, SQL/FTS injection, path traversal, XSS, prompt-injection containment, and error disclosure clean
Contextuplink-demo commits 23f1efd (Sonnet + case study in repo) and f2456d1 (security fixes); 349 tests. Standing gate unchanged: address stays unshared until the 2026-08-13 reviews; monthly Anthropic spend cap is the required backstop behind the per-visitor limit
2026-08-07Uplink gets a public live demo as a NEW separate project (uplink-demo) — hosted on Render's fre…

Uplink gets a public live demo as a NEW separate project (uplink-demo) — hosted on Render's free tier with the free onrender.com address, answering via the Claude API (Haiku) instead of the borrowed-brain session

ReasoningErick wants a simple, internet-reachable showcase without touching the current system: one server, one deploy, no rearchitecting. Vercel+Supabase was considered and rejected as a renovation (serverless + external database rewrite) where Render is a move-in; Supabase remains a future project on its own merits (canonical store, phase 2). The API brain reuses the existing ask-queue seam and the same mechanical grounding checks, so "answers only from your documents" holds without a human session armed. Private local Uplink keeps the borrowed brain — the split sharpens the privacy pitch: the demo uses the API, the product on client data doesn't have to
Contextabuse/cost controls decided: 5 questions per visitor IP with a 3-day reset, monthly spend cap on the Anthropic workspace (~[price redacted]), public documents only in the demo corpus. GOING LIVE IS GATED by the 2026-08-13 security reviews (public internet exposure exceeds the Tailscale threat model they were scoped for). Installable desktop app discussed and parked as a future project. Offline build authorized 2026-08-07; publishing/deploy remains a keyboard act
2026-08-07Exactly ONE session keeps an armed ask-queue watcher at a time — the single-brain rule
Reasoningtwo Claude sessions had watchers armed on the same queue simultaneously; both wake on every question, both may answer, and the second write overwrites the first. Redundancy adds nothing (the queue is not load-balanced) and the race can garble an answer mid-read. When a second session detects an armed watcher (watcher.json pid differs from its own), it stands down and leaves the queue to the incumbent
Contextobserved live 2026-08-07 - ask c7fe6e58345d was answered by the other armed session within a minute while this session's watcher sat idle; this session stood down at Erick's direction
2026-08-07Studio metric labels are plain English first — "first answer correct", "ranking quality", "typi…

Studio metric labels are plain English first — "first answer correct", "ranking quality", "typical search time" — with the industry term (hit@1, MRR, p95) preserved in the tooltip title

Reasoningthe panel is client-facing proof; a wall of benchmark jargon reads as internal tooling. But deleting the technical vocabulary would cost credibility with engineers and interviewers, so the term moves one layer down instead of disappearing. A test pins that the tooltip keeps the technical name
Contextuplink commit b2cb01f; requested by Erick — "more professional, easier to read, not tech labeling"

Recent changes 331 total

  • 2026-08-16github.com/evanderpool/gridpulse (app/, pandas backend) +…added
  • 2026-08-16github.com/evanderpool/gridpulse (main + data branches) +…updated
  • 2026-08-16github.com/evanderpool/gridpulse + evanderpool.github.io/…added
  • 2026-08-16github.com/evanderpool/gridpulse + project-tracker.mdupdated
  • 2026-08-16github.com/evanderpool/gridpulseupdated
  • 2026-08-16github.com/evanderpool/gridpulseupdated
  • 2026-08-15github.com/evanderpool/gridpulse + project-tracker.mdupdated
  • 2026-08-15github.com/evanderpool/gridpulseupdated