docs(site): accuracy pass, diagrams, and demo deep-links

Rewrites the manifold docs site so it matches the current analyzer and CLI, explains why each concept exists, embeds the pipeline and scoring diagrams, and links concepts to the live demo by hash.

Accuracy (verified against code)

  • Normalization (internal/analyzer/normalizer.go, methodology.go): replaced the stale two-regime (percentile vs threshold) description on the scoring and contributing pages with the single regime the analyzer runs on all six domains: winsorize at the 95th percentile, log1p, then min-max. Corrected the "add a domain" step (percentileDomains/thresholdDomains no longer exist; NormalizeScores loops AllDomains through normalizeMinMax). Noted the 20-user min-max fallback now applies only to influence-factor normalization (influence.go).
  • Archetypes (archetype.go, methodology.go): deleted the fabricated archetype-to-action table; documented the real eight classification rules and thresholds in priority order. Noted enablement plays key off the weak domain (analyze.go), not the archetype.
  • Domain signals (infrastructure.go, security.go): fixed the Infrastructure row (distinct-project plus automation-source breadth with tiered thresholds) and aligned the Security wording (scanner-type diversity plus scan frequency plus passive bonus).
  • Added concepts (all previously absent): momentum (momentum.go), trends/trajectory (trend.go), the real five-factor health formula (health.go), gap impact (impact.go), team risk (momentum.go), and a plain statement that thresholds are demo-fit heuristics.
  • CLI (cmd/manifold/*.go): added the five missing subcommands (seed, seed-growth, sensitivity, purge, generate) with one-line what and why, plus the missing per-command flags.
  • Data schema (schema/analyzer.go, orchestrator.go, schema/sensitivity.go): added summary.json has_trend_data and build_version, watermark.json, and sensitivity.json/sensitivity.txt.
  • Security (roster.go): documented the collecting-admin auto-exclusion and the PII-minimization split (roster.json carries no username or name; identities.json is 0600).
  • Deploy (deploy.yml): called out that MANIFOLD_SKIP_PIPELINES defaults to true, so CI/CD and Security domains are empty unless flipped; named the optional variables.
  • Getting started (10-ui.js tab order): added the missing Profiles (press 4) and Trends (press 6) stops.
  • Large instances: marked the runtime table as illustrative estimates, added --max-errors, noted --previous-dir feeds trends.

Diagrams

  • Embedded docs/pipeline-flow.svg on the home and deploy pages and docs/scoring.svg on the scoring page (copied into site/public/diagrams/, referenced via the base-path helper).
  • Fixed the stale scoring.svg footer label to reflect the winsorize, log1p, min-max regime.
  • Authored a new inline normalization-pipeline flow diagram on the scoring page using the reference design tokens.

Each concept leads with what it is and when to use it, then detail, and links to the demo view that shows it live (health, adoption, gaps, profiles, groups, trends, influence, about).

Validation

npm ci then npm run build succeed (13 pages). npm run check: 0 errors, 0 warnings, 2 pre-existing hints. All internal links use withBase.

🤖 Generated with Claude Code

Merge request reports

Loading