{"data":[{"id":"n01","fact":"person.name","value":"Daniel McGrattan","status":"verified","source":"Measured by Daniel","as_of":null},{"id":"n05","fact":"person.linkedin","value":"Account banned, no access","status":"verified","source":"Daniel, 2026-09-26: account banned, no access","as_of":null},{"id":"n07","fact":"person.domain","value":"danielmcgrattan.org","status":"verified","source":"DNS: Spaceship nameservers, apex 308 to www on Vercel","as_of":"2026-09-26"},{"id":"n08","fact":"person.birth_year","value":2007,"status":"self_reported","source":"Daniel, 2026-09-26 (IMMAF 2023-2024 at age 16-17)","as_of":null},{"id":"n09","fact":"person.contact_email","value":"info@provena-ai.com","status":"verified","source":"provena-ai.com public contact (provena-ai src, 13 references)","as_of":null},{"id":"n10","fact":"person.education","value":"Left school to build Provena full time","status":"self_reported","source":"Daniel, 2026-09-26","as_of":null},{"id":"n11","fact":"person.travel","value":"Left Ireland at the start of 2026 to travel while building Provena: London, Mexico, Colombia","status":"self_reported","source":"Daniel, 2026-09-26; dated photos (Feb 2026, Apr 2026) and commit timezones corroborate","as_of":null},{"id":"n12","fact":"timeline.0","value":"GitHub account created; first repos for Accord Performance, a cold email agency","status":"verified","source":"gh repo list (accord, accord-performance, accordperformance1)","as_of":"2025-06-21"},{"id":"n13","fact":"timeline.1","value":"First commit of the Provena CRM (provena-ai)","status":"verified","source":"git log --reverse provena-ai","as_of":"2025-12-18"},{"id":"n14","fact":"timeline.2","value":"First revenue into the Provena bank account","status":"verified","source":"Financial OS transactions.csv","as_of":"2026-01-17"},{"id":"n15","fact":"timeline.3","value":"4.2M-company warehouse 95.93% classified for $27.93","status":"verified","source":"engineering notes (company classification universe)","as_of":"2026-07-26"},{"id":"n16","fact":"timeline.4","value":"STRIAQ (AI agents for mineral exploration) research + MVP package","status":"verified","source":"Downloads/striaq_mvp","as_of":"2026-07-27"},{"id":"n18","fact":"timeline.6","value":"Public API + MCP server for agents shipped","status":"verified","source":"engineering notes (agent api round)","as_of":"2026-09-16"},{"id":"n19","fact":"timeline.7","value":"AI reply agent auto-sending live for two automotive clients","status":"verified","source":"engineering ledger, reply agent go-live 2026-09-21","as_of":"2026-09-21"},{"id":"n20","fact":"engineering.commits_total","value":2834,"status":"verified","source":"scripts/export-commits.mjs","as_of":"2026-09-26"},{"id":"n21","fact":"engineering.active_days","value":170,"status":"verified","source":"scripts/export-commits.mjs","as_of":"2026-09-26"},{"id":"n22","fact":"engineering.busiest_day_commits","value":155,"status":"verified","source":"scripts/export-commits.mjs","as_of":"2026-09-04"},{"id":"n23","fact":"engineering.crm_merged_prs","value":339,"status":"verified","source":"gh pr list --state merged provena-ai","as_of":"2026-09-26"},{"id":"n24","fact":"engineering.crm_edge_functions","value":212,"status":"verified","source":"ls supabase/functions","as_of":"2026-09-26"},{"id":"n25","fact":"engineering.crm_migrations","value":485,"status":"verified","source":"ls supabase/migrations","as_of":"2026-09-26"},{"id":"n26","fact":"engineering.crm_lines_ts_tsx_sql","value":360698,"status":"verified","source":"git ls-files | wc -l over ts/tsx/sql","as_of":"2026-09-26"},{"id":"n27","fact":"engineering.public_api_routes","value":165,"status":"verified","source":"engineering notes (fulfilment api findings)","as_of":"2026-09-19"},{"id":"n28","fact":"engineering.mcp_tools","value":108,"status":"verified","source":"engineering notes (master mcp workspace selection)","as_of":"2026-09-20"},{"id":"n29","fact":"engineering.warehouse_companies","value":4203138,"status":"verified","source":"engineering notes (company classification universe)","as_of":"2026-07-26"},{"id":"n30","fact":"engineering.warehouse_classified_pct","value":95.93,"status":"verified","source":"Measured by Daniel","as_of":"2026-07-26"},{"id":"n31","fact":"engineering.classification_cost_usd","value":27.93,"status":"verified","source":"Measured by Daniel","as_of":"2026-07-26"},{"id":"n32","fact":"engineering.classification_insight","value":"3.89M Google Maps companies collapse to 4,475 category tokens; map the tokens, not the companies","status":"verified","source":"Measured by Daniel","as_of":null},{"id":"n33","fact":"engineering.person_index_rows","value":2875646,"status":"verified","source":"VPS provena_leads person_search_index","as_of":"2026-09-19"},{"id":"n34","fact":"engineering.email_verifier","value":"In-house SMTP verification engine on a self-managed VPS, $0 per check, own termination ladder and catch-all scoring","status":"verified","source":"provena-data-intelligence repo","as_of":null},{"id":"n35","fact":"engineering.ai_sessions_claude_code","value":1704,"status":"verified","source":"count of agent session logs/*.jsonl","as_of":"2026-09-26"},{"id":"n36","fact":"engineering.ai_sessions_codex","value":1373,"status":"verified","source":"engineering notes (codex sessions index)","as_of":null},{"id":"n37","fact":"engineering.first_commit","value":"2025-12-18","status":"verified","source":"git log --reverse provena-ai","as_of":null},{"id":"n38","fact":"engineering.category_tokens","value":4475,"status":"verified","source":"LeadMasters/_warehouse LLM_CLASSIFY.md; engineering notes (company classification universe)","as_of":"2026-07-26"},{"id":"n39","fact":"engineering.index_before_ms","value":13709,"status":"verified","source":"engineering notes (company classification universe) (count(*) before idx_companies_unclassified)","as_of":"2026-07-25"},{"id":"n40","fact":"engineering.index_after_ms","value":702,"status":"verified","source":"same measurement, after the partial index + VACUUM ANALYZE","as_of":"2026-07-25"},{"id":"n41","fact":"engineering.llm_classifications","value":112486,"status":"verified","source":"LLM_CLASSIFY.md","as_of":"2026-07-26"},{"id":"n42","fact":"engineering.fabrications_rejected","value":3618,"status":"verified","source":"LLM_CLASSIFY.md (evidence must appear verbatim in input)","as_of":"2026-07-26"},{"id":"n43","fact":"engineering.ai_sessions_total","value":3077,"status":"verified","source":"1,704 Claude Code + 1,373 Codex session files","as_of":"2026-09-26"},{"id":"n44","fact":"engineering.catchall_bounce_pct","value":23.5,"status":"verified","source":"bounce trace for one client campaign, 2026-09-18 (133 of 159 bounces were catch-all verdicts)","as_of":"2026-09-18"},{"id":"n45","fact":"engineering.valid_bounce_pct","value":1.8,"status":"verified","source":"same measurement","as_of":"2026-09-18"},{"id":"n46","fact":"engineering.commit_timezones","value":"UTC+0 Dec 2025–Feb 2026, UTC−5/−4 Mar–Apr 2026, UTC+1 May–Sep 2026","status":"verified","source":"scripts/export-commits.mjs by_month_offset (the UTC offset git stamped on each commit)","as_of":"2026-09-26"},{"id":"n47","fact":"engineering.campaign_cell_size","value":600,"status":"verified","source":"engineering notes (PlusVibe clean grid rule): cells are Client | TZ | ESP | NN, max 600 leads","as_of":"2026-09-21"},{"id":"n48","fact":"engineering.grid_cells_one_client","value":36,"status":"verified","source":"engineering notes (workspace grid rebuild), one automotive client","as_of":"2026-09-21"},{"id":"n49","fact":"engineering.grid_leads_one_client","value":18371,"status":"verified","source":"same rebuild","as_of":"2026-09-21"},{"id":"n50","fact":"engineering.sends_per_inbox_day","value":20,"status":"verified","source":"engineering notes (infra spend model), live fleet constant","as_of":"2026-08-07"},{"id":"n51","fact":"engineering.infra_margin_ceiling_pct","value":10,"status":"verified","source":"engineering notes (infra spend model)","as_of":"2026-08-07"},{"id":"n52","fact":"engineering.reply_test_z","value":1.96,"status":"verified","source":"engineering notes (LinkedIn reply tests): nightly job promotes an arm at z>1.96 on reply rate","as_of":"2026-09-24"},{"id":"n55","fact":"business.paying_clients_2026","value":14,"status":"verified","source":"distinct Client on Revenue rows, transactions.csv","as_of":null},{"id":"n58","fact":"business.ledger_transactions","value":561,"status":"verified","source":"Revolut statement parse, Financial OS","as_of":"2026-09-14"},{"id":"n59","fact":"business.ledger_accounts","value":4,"status":"verified","source":"Financial OS reconciliation","as_of":"2026-09-14"},{"id":"n60","fact":"business.accord_start","value":"2025-06","status":"verified","source":"GitHub repos accord, accord-performance (created 2025-06-21)","as_of":null},{"id":"n61","fact":"business.cofounder_exit","value":"Co-founder exited; Provena is now run by Daniel with AI agents","status":"self_reported","source":"Daniel, 2026-09-26","as_of":null},{"id":"n62","fact":"athletics.immaf_world_championships","value":"Represented Ireland at the 2024 IMMAF Youth World Championships, bantamweight","status":"verified","source":"https://mma-db.com/ie/en/fighters/daniel-mcgrattan","as_of":"2026-09-26"},{"id":"n64","fact":"athletics.amateur_record","value":"2-6","status":"verified","source":"https://mma-db.com/ie/en/fighters/daniel-mcgrattan","as_of":"2026-09-26"},{"id":"n65","fact":"athletics.immaf_participation","value":"Competed in amateur MMA from 2023 to 2024, representing Ireland at the 2024 IMMAF Youth World Championships","status":"verified","source":"https://mma-db.com/ie/en/fighters/daniel-mcgrattan (bouts 2023-03-19 to 2024-08-06: National MMA League, IMMAA Youth Championships 2024, IMMAF Youth Worlds 2024)","as_of":"2026-09-26"},{"id":"n66","fact":"athletics.weight_classes","value":"Featherweight (2023), bantamweight (2024)","status":"verified","source":"https://mma-db.com/ie/en/fighters/daniel-mcgrattan","as_of":"2026-09-26"},{"id":"n67","fact":"intangibles.entries.0","value":"Classified 4.2M companies by mapping 4,475 Google Maps category tokens instead of 4.2M rows; the slow part was I/O, not the model (a backwards partial index, 13,709ms to 702ms).","status":"verified","source":"engineering notes (company classification universe); LeadMasters/_warehouse/LLM_CLASSIFY.md","as_of":null},{"id":"n68","fact":"intangibles.entries.1","value":"Built an SMTP verification engine instead of paying per check; it refuses to call an address dead without a positive disable signal, and stopped spending probes on receivers that never disclose.","status":"verified","source":"LeadMasters/_warehouse git log (a21e9f9, 8bdded4, 928a606, 44266a5)","as_of":null},{"id":"n69","fact":"intangibles.entries.2","value":"Proof is single-sourced: client results render only from an approved list; the reply agent's grader may only block on code findings, never on taste, after a taste hold deadlocked a live client.","status":"verified","source":"provena-ai caseStudies.ts approvedProofLines; PR #231","as_of":null},{"id":"n70","fact":"intangibles.entries.3","value":"The CRM exposes a public API (165 routes) and an MCP server (108 tools) so AI agents can run client fulfilment; every write is a dry run until confirmed and nothing can send, sign or activate without a human.","status":"verified","source":"engineering notes (agent api round), master-mcp-workspace-selection-2026-09-20","as_of":null},{"id":"n71","fact":"intangibles.entries.4","value":"Copy that wins for one client is written back, identity-free, to a warehouse the next client's drafts learn from; reply tests promote nightly winners per conversation arm.","status":"verified","source":"provena MCP instructions (warehouse_writeback); engineering notes (linkedin reply tests)","as_of":null},{"id":"n72","fact":"intangibles.entries.5","value":"Infrastructure is sized by the inverse question: the maximum audience a retainer can profitably serve, so an oversized list is stopped before it is built.","status":"verified","source":"engineering notes (infra spend model)","as_of":null},{"id":"n73","fact":"intangibles.entries.6","value":"quant-engine selects strategies on deflated Sharpe, not win rate, and has no live order path; STRIAQ decomposes the '10x' claim to the decision loop instead of the rock.","status":"verified","source":"Downloads/quant_engine/README.md; engineering notes (striaq mvp package)","as_of":null},{"id":"n74","fact":"intangibles.entries.7","value":"Runs the company itself as systems: a single-ledger Financial OS that reconciles exactly to four bank accounts, 561 transactions, SUMIFS P&L per client.","status":"verified","source":"engineering notes (provena ops system)","as_of":null},{"id":"n75","fact":"intangibles.entries.8","value":"Ships at team volume by directing AI agents in parallel rounds with a reviewer agent gating the merge: 3,077 recorded AI coding sessions.","status":"verified","source":"agent session logs jsonl count + engineering notes (codex sessions index)","as_of":null},{"id":"n76","fact":"sales.paying_clients_2026","value":14,"status":"verified","source":"Measured by Daniel","as_of":null},{"id":"n77","fact":"sales.system","value":"Call 1 → pre-call VSL page per prospect → Call 2 proposal deck built from the Call 1 transcript → contract and invoicing in the CRM","status":"verified","source":"pitch-deck skill; four per-client pre-call page repositories","as_of":null}],"meta":{"api_version":"1.0.0","data_generated_at":"2026-09-26T13:04:22.671Z","docs":"https://www.danielmcgrattan.org/api","caller":{"authenticated":false}}}