Capablio

Repository discovery baseline (Prompt 00)

Date: 2026-07-17. Repo: workbench/feedback-360 (autowww/forge360).

Updated

Stack map

Layer Technology Location
API FastAPI + Uvicorn + SQLAlchemy 2 forge360/
UI Static ES modules, KS CSS forge360/ui/static/
Offline pipeline Thomas PDF parse/analyze/render feedback360/
AFF domain Python packages + ORM forge360/domain/aff/, forge360/models/aff.py
Tests pytest (57 forge360 tests), Playwright e2e forge360/tests/, e2e/
Mock Lab SQLite + mock auth on :8920 forge360/scripts/mock_lab_serve.py

Tenancy and auth

  • Tenant: Tenant.slug, plan_tier, seats, retention; users scoped by tenant_id.
  • Session: Bearer token (SHA-256 hash in DB), sessionStorage.f360_token in UI.
  • Login: Google OIDC + invite token; mock login when FORGE360_AUTH_MOCK=1.
  • Capabilities (capability-first): manage_directory, manage_surveys, view_completion — not job-title bundles.
  • Operator: is_operator + optional X-Forge360-Tenant-Id for audited tenant scope.

Consoles (current)

Console Path Primary user
Subject /app/ End user, rater
Tenant admin /app/admin/ Org admin
Platform operator /app/operator/ Global operator

Target: unified product shell with role-aware workspaces (pack prompts 03+).

Survey lifecycle (implemented)

draft → invited → collecting → completed → wrapped (forge360/models/survey.py).

AFF (implemented domain)

Nine seeded packs in Mock Lab; assembly, cooldown, coverage, exposure ledger models in forge360/domain/aff/. Do not fork a second AFF schema (12A).

Encryption — discovery finding (feeds 02A)

  • Client: forge360/ui/static/crypto.js (envelope v2).
  • Contradiction: UI claims browser-only encryption; server handlers accept private_key_b64 for results, PDP, wrap-up, export (routes_results.py, routes_pdp.py, routes_survey_report.py query string).
  • consented_scores: sent with sealed envelope for multi-rater flows — plaintext score path exists.

Test entrypoints

  • ./scripts/run-mock-lab-acceptance.sh — pre-production gate
  • ./scripts/capablio-uplift/pdca-check.sh <phase>
  • .venv/bin/pytest forge360/tests -q

Docs pairing

Source Role
wiki/external/ Customer-facing capability truth
wiki/internal/ Engineering specs, ADRs, security
docs/ Handbook source (→ capablio-website)
report/wiki/ Generated from offline pipeline

Capability baseline

Functional thin vertical slice: survey conversation, envelopes, results cards, PDP interview, tenant admin lifecycle, AFF programs, operator tenant list. Presentation is prototype-level; trust boundary must be resolved before enterprise claims.