This is the routing map for the Signal documentation set: every page, what it covers, and which user questions it answers. Signal is Power Digital's internal business-intelligence web app. The set contains five top-level pages (this index, a README on how to consume the set, a glossary, the access model, and the data-source map) plus 25 module pages under modules/, covering Signal's views and view-clusters. One mounted Admin-tier route (/insights) does not yet have a module page — see the README's "deliberately NOT in this set" list; its access rules are covered in ACCESS-MODEL.md. A machine-readable companion to the data-source map, data-sources.json, ships alongside the set for programmatic consumers and is not a Confluence page. All pages were generated from the Signal repository at staging @ 98df0c4 and verified 2026-07-07.
Top-level pages
Page | Description | Answers questions like |
README.md | How to consume this documentation set: intended RAG-bot audience, chunking assumptions, update policy, and deliberate omissions. | "How is this doc set maintained?" "What is deliberately not documented?" "How fresh is this content?" |
INDEX.md (this page) | Inventory of every page with one-line descriptions — the bot's routing map. | "Which page covers X?" "What documentation exists for Signal?" |
GLOSSARY.md | Definition of every Signal term: MRR, RPE, retention, churn score, expansion/readiness score, ETCR, VABO, MGP/gross profit, QBP, Pulse (Client vs Employee), seats, P1/P2/P3 priority tiers, active book, book/portfolio, division, the five access tiers, Growth grants, and Iris (external tool vs in-app drawer). Each term: definition, where it appears, source, caveats. | "What does VABO mean?" "What's the difference between RPE and MRR?" "What is a P1 client?" "What is Gandalf access?" |
ACCESS-MODEL.md | The complete access-control model: five tiers (Member/Team Lead/Admin/Gandalf/Sauron), Growth grants + capabilities + password gate, every route guard component, how each flag is granted (Supabase app_users columns, hardcoded lists, growth_access_grants/growth_access_capabilities), a full Route → Guard → Audience table, and recent access changes. | "Who can see route X?" "How do I get access to Y?" "Why can't I open Divisional P&Ls?" "How is Growth access granted?" |
DATA-SOURCE-MAP.md | The cross-view data-lineage map: every source system feeding Signal (Vena, NetSuite, Nova, payroll ADP/Deel/Siesa, four Google Sheets, Salesforce, Gong, the ML pipeline, Signal's own records, Anthropic Claude, Asana, usage logs, browser-local storage), which views each system feeds, what each view can write, and the transport-vs-source rule (Snowflake/Supabase are transport, never sources). A machine-readable mirror, data-sources.json, accompanies it for programmatic consumers. | "Which views does Vena feed?" "Where does this number ultimately come from?" "What does Signal write back to Nova?" "Which views can write data at all?" |
Module pages — overview & platform
Page | Description | Answers questions like |
modules/platform-foundation.md | The app shell everyone uses: Google sign-in, the tier model, sidebar + month selector, Global Search (Cmd/Ctrl+K), the Iris AI drawer (Cmd/Ctrl+I), and the central data pipeline joining Vena, Nova, and Signal's own records. | "Where does Signal's data come from?" "How does login work?" "What is the Iris drawer?" "How does the month selector affect views?" |
modules/summary.md | The company-wide financial dashboard at /summary — Signal's default landing page: KPI tiles (MRR, Total Revenue, MGP, VABO, Outsource Costs, Seats, Active Clients, RPE, Retention, headcount), trend chart, division/department breakdown. | "How is the business doing this month?" "Why does Total Revenue switch to NetSuite for closed months?" "What counts as a seat or an assigned lead?" |
Module pages — people
Page | Description | Answers questions like |
modules/employees.md | The people-performance roster at /employees: per-employee RPE, MRR book value, retention, seats, KPI-target standing, drill-down profile and history. Members see only their own row. | "Who is carrying how much revenue?" "Is this person at target?" "Why is my RPE number what it is?" |
modules/staffing.md | The what-if staffing simulator at /staffing: drag clients between employees and preview before → after MRR/RPE without touching real data. | "What happens to everyone's numbers if these clients move?" "Is anything I do on Staffing saved?" |
modules/manage-leads.md | The live team-assignment editor at /leads (Team Lead+): who works on each client, department by department, and how revenue is credited (allocation percentages, overrides, VABO leads). | "How do I change who leads a client?" "How is client revenue split across people?" |
modules/etcr.md | The ETCR (Beta) scoreboard at /etcr: Expansion-to-Churn Ratio per AD, GD, and division against the 60% company goal, with forecast Floor/Ceiling. | "What is ETCR and are we hitting the 60% goal?" "Which ADs are covering their churn with expansion?" |
modules/employee-pulse.md | The Employee Pulse compliance and wellbeing dashboard at /pulse-coverage (Admin+): who submitted their weekly employee check-in in Nova, plus sentiment/bandwidth trends. NOT the same as Client Pulse. | "Who didn't submit their Pulse this week?" "How is this person's bandwidth trending?" |
modules/kpi-targets.md | The KPI Targets control room at /kpi-targets (Admin+): role-based RPE/MRR/retention benchmarks synced from the People-team Google Sheet, and title-to-role matching. | "What target is this role supposed to hit?" "Why does an employee have no target?" "How do targets sync from the sheet?" |
Module pages — Client Pulse
Page | Description | Answers questions like |
modules/pulse-submit.md | Submit Pulse Data at /pulse/submit (Team Lead+): the weekly client health check-in form — sentiment, pacing to goal, contract-term dates (rollover, early-out) — plus the quarterly QBP log, with server-enforced AD/GD ownership and soft-void corrections. | "How do I submit my weekly client pulse / QBP?" "Why can't I save — 403 not the assigned AD?" "How do I fix a submission on the wrong client or week?" |
modules/pulse-my-submissions.md | My Submissions at /pulse/my-submissions (Team Lead+): personal audit trail of the user's own weekly Client Pulse and quarterly QBP submissions, including voided entries. Covers the Submit Pulse Data workflow context. | "Did I already submit for this client this week?" "Did my void go through?" |
modules/pulse-summary.md | Pulse Summary at /predictions/pulse-summary (Admin+): weekly aggregate of all Client Pulse submissions across the book — sentiment/pacing distributions, submission compliance, By Division comparison, CSV export. | "How healthy are client relationships this week?" "Which divisions are struggling?" "What share of the book got a check-in?" |
Module pages — client health
Page | Description | Answers questions like |
modules/portfolio-review.md | The single-screen client command center at /predictions/portfolio: one row per active client with MGP/MRR/VABO, churn + expansion scores, P1/P2/P3 priority, Pulse/QBP status, and follow-up accountability chips. | "Which clients need attention this week?" "Has anyone followed up on this client?" "What do P1/P2/P3 mean?" |
modules/churn-risk.md | The Churn Risk module at /predictions/churn: every active client ranked by the weekly 0–1 churn score, with sub-scores, Top Issues, AI summaries, recommended actions, Iris Draft handoff, and triage workflow. | "Which clients are at risk of leaving and why?" "Where does the churn score come from?" "Has anyone acted on this risk?" |
modules/service-expansion.md | The Service Expansion module at /predictions/se: clients ranked by the weekly ML readiness score, recommended next services, Salesforce/Gong overlays, AI growth roadmap draft. | "Who should I pitch more work to this week?" "What should I pitch?" "Why did a dismissed client reappear?" |
modules/division-forecast.md | Division Forecast at /predictions/retention: the human-declared renewal outlook mirrored from the CSM renewal tracker Google Sheet — full churn, downchurn, project ending, saved — rolled up by division. | "How much revenue do account teams expect to lose this month?" "Which divisions are losing or saving the most?" |
modules/poc-management.md | POC Management at /predictions/poc-management: client-side points of contact detected from analyzed calls, with AI-scored relationship sentiment and contact management. | "Which client stakeholder is cooling on us?" "Who are the POCs on this account?" |
modules/client-profitability.md | Client Profitability at /profitability (Admin+): per-client, per-month revenue (Vena) vs estimated delivery cost (self-reported Pulse hours × $175/hour), margin charts, detail table, the Pulse Coverage data-trust gauge, and Excel export. | "Does revenue cover the hours we spend on each client?" "Why does a client show 100% margin?" "Is the $175/hour rate real payroll?" |
Module pages — finance & planning
Page | Description | Answers questions like |
modules/divisional-pl.md | Divisional P&Ls at /divisional-pl (Gandalf+): month-by-month P&L per division (revenue, COGS, gross profit, personnel expenses, contribution margin) plus the division Forecast Tool and the password-gated personnel CSV export. | "Is this division profitable?" "Why doesn't Signal's P&L match my Vena export?" "How do I enter a division forecast?" |
modules/revenue-overlap.md | Revenue Overlap at /revenue-overlap (Team Lead+): how much client revenue is managed by employees outside the client's own division — which divisions lend/borrow capacity. | "How much cross-division revenue do we have?" "Which divisions depend on others' staff?" |
modules/capacity-planning.md | Role Capacity (/capacity) and Company Capacity (/company-capacity) (Admin+): how full each revenue-carrying employee's book is versus KPI targets, by role group and division, with the RPE trend chart. | "Do we have the right delivery capacity in the right places?" "Should this team hire?" |
Module pages — Growth, innovation & admin
Page | Description | Answers questions like |
modules/growth.md | The confidential Growth module: People Dash (/growth/people, per-person salary/payroll/compensation census merging ADP, Deel, Siesta, Nova signals) and Performance Radar (/growth/performance-radar). | "What does the People Dash show?" "Where do salary numbers come from?" "What is Performance Radar?" |
modules/growth-access.md | The Growth Access management screen at /growth/access: division/department-scoped grants, per-tab capabilities (People / Radar / Manage), the unlock password, and the audit trail. | "Who can see Growth data and which slices?" "How do I grant someone Performance Radar?" "Why is the division picker empty?" |
modules/ai-solutions.md | AI Solutions at /solutions (Gandalf+): before-and-after impact tracker for internal AI rollouts — frozen baselines vs current business metrics and client-health scores. | "Did this AI deployment actually move the needle?" "How are solution baselines captured?" |
modules/admin-tools.md | The back office: General Access user management (/users), Assignment History audit trail (/audit-log), Hiring Pipeline (/hiring), JD Sheet Sync (/jd-sync), and the Sauron-only Analytics usage dashboard (/analytics). | "How do I make someone an Admin?" "Who changed this team assignment?" "Is this hire justified by capacity?" "Who is using Signal?" |
modules/corrections.md | Corrections at /corrections (Admin+): the data-quality ticket queue — flag a wrong number (revenue, outsource, MGP, division, department), triage Pending → Reviewed → Resolved. | "How do I report a wrong number in Signal?" "What happened to my data-issue flag?" |
