Core concepts
The model and multi-tenant semantics of organizations, projects, issues, and workflows.
Organization
The organization is 1VEC's top-level tenant and the boundary of members and permissions.
- Every business table carries an
org_id; the service layer forces every query to filter by the current org, and cross-org reads/writes are always rejected. - Members have roles:
owner(can manage the org and members) andmember. - Signing up provisions an account and an organization automatically; you can create more organizations later or be invited into someone else's.
Project
A project belongs to one organization and is the container for issues and workflows. Once archived, it no longer appears in active lists.
Issue
A single deliverable unit of work.
| Field | Values |
|---|---|
| Status | triage · backlog · todo · in_progress · in_review · done · canceled |
| Priority | p0 · p1 · p2 · p3 · p4 |
| Labels | bug · feature · task |
| Assignee | a person (user) or an AI |
Rule: an issue must have a priority set before it can leave triage (otherwise it returns business error 422xx). Newly submitted feedback lands in triage by default, awaiting sorting.
Workflow & Node
A workflow draws the delivery process as a graph:
- Node status:
not_started·in_progress·pending·done·cancelled - Node outcome:
pass·fail·blocked·skipped— used to color nodes and locate risk - Edge (dependency): a directed connection between nodes, optionally labeled to express conditional branches
- Milestone: marks a key node
A node's status + outcome drive the canvas coloring, and can feed an auto-advance engine.
Multi-tenant isolation (a hard boundary)
- Every protected request first resolves the current org (from the session or API key).
- The service layer filters by
org_id; cross-org access returns40310(forbidden) or40410(not found), returning 404 when existence should not be leaked. - One logical database; cross-service calls go through the API — no cross-database JOINs.