Refactor Nexus One AI product structure and roadmap

- Add Workstation as an additive standalone category, kept out of
  TIER_ORDER so it never enters the Server S/M/L/Max upgrade ladder
- Add Server S/M/L/Max commercial labels for existing starter/basic/pro/max
  tiers (slugs, license format, and APIs unchanged)
- Rename portal UI terminology: Connectors -> MCP & Enterprise Connectors,
  Audit Log -> Governance & Audit, Model Manager -> Model Catalog,
  Agent Builder -> Agent Studio, Workflow Automation -> Workflow Designer,
  Multimodal Chat -> AI Workspace
- Fix branding.js workflow.html tier-gating bug and entry.yml missing tier var
- Document 7-capability platform roadmap and Workstation/Server structure
  in README.md and docs/README.md
- Ignore __pycache__/*.pyc build artifacts
This commit is contained in:
Jino Jose committed 2026-07-08 15:00:02 +05:30
1 parent e5b2496b97
commit 12d9ea84f6
58 files changed
+587 -366

No files matched your search

+36
View File
@@ -19,10 +19,46 @@ TIER_ALIASES = {
"basic tier": "basic",
"pro tier": "pro",
"max tier": "max",
# Server S/M/L/Max commercial labels — synonyms for the same four Server
# tiers/ranks above (starter/basic/pro/max). Additive only; TIER_ORDER and
# rank comparisons are unchanged.
"server s": "starter",
"server s tier": "starter",
"server m": "basic",
"server m tier": "basic",
"server l": "pro",
"server l tier": "pro",
"server max": "max",
"server max tier": "max",
}
STAGING_MAX_TIER = "basic"
SUPPORTED_SIGNATURE_ALGS = {"rsa-sha256", "sha256-rsa"}
# ── Product category: Workstation (standalone, NOT part of the Server ladder) ──
# Nexus One AI Workstation is a personal AI appliance (1-3 active users, 5 max),
# distinct from the Server S/M/L/Max ladder above (TIER_ORDER). It is additive:
# it does not appear in TIER_ORDER and must never be passed through tier_rank(),
# tier_lte(), min_tier(), evaluate_license()/build_tier_options() ladder logic —
# those functions and STAGING_MAX_TIER/TIER_ALIASES above are unchanged and only
# ever resolve to one of TIER_ORDER's four Server tiers. Workstation entitlement
# is looked up independently via TIER_MATRIX["workstation"] in main.py.
WORKSTATION_TIER = "workstation"
CATEGORY_SERVER = "server"
CATEGORY_WORKSTATION = "workstation"
WORKSTATION_ALIASES = {"workstation tier", "personal", "personal ai", "nexus one ai workstation"}
def is_workstation_tier(value):
"""True if `value` refers to the Workstation category (never a Server tier)."""
return (value or "").strip().lower() in ({WORKSTATION_TIER} | WORKSTATION_ALIASES)
def tier_category(value):
"""Return CATEGORY_WORKSTATION or CATEGORY_SERVER for a tier/category string.
Server tiers (starter/basic/pro/max — displayed as Server S/M/L/Max) rank via
TIER_ORDER; Workstation has no rank and is resolved independently."""
return CATEGORY_WORKSTATION if is_workstation_tier(value) else CATEGORY_SERVER
def utcnow_iso():
return datetime.now(timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z")