Appearance
The full description of the product: four perimeters — Workspace for the delivery team, Admin for management, the Client Portal for the client and the Console for the platform operator — over a platform layer that holds no screens of its own.
How to read
| If you need to | Go here |
|---|---|
| See where the product's boundary runs | Scope — the perimeters, the modules, the closed entity roster, and everything that deliberately does not exist |
| See what the product is made of | The model — every entity, what owns it, and the rules that live on the entity rather than on a screen |
| See what a person can do with an entity | Flows — a register of the actions, each pointing at the page that owns its rules |
| Build a screen | the module page, through the cards below |
| Look up a rule that holds everywhere | Platform guarantees |
The page standard
Every module page is built the same way.
| Section | Contents |
|---|---|
| Intro | One or two sentences: what it is and what it is for |
| Who uses it | The access levels, and who does what |
| How it works | The behaviour: the screen, the fields, the mechanics |
| Not this | The module's own boundary — what it deliberately does not do, with the reason |
| Open | What is genuinely undecided here |
A page with nothing to put in one of the five sections leaves the heading out, rather than writing that there is nothing.
A page describes the target product, in a single tense. Nothing on it says what exists today or what is left to do; a page written half in the present is how the previous version gets built again.
A page states no requirements and carries no checklist. What has to be built, and how much of it already stands, is the issue board's — and a page that kept a second copy would drift from it silently.
The specification fixes no microcopy: the strings on buttons, labels, empty states and tooltips are design's and the code's. That is a rule of this standard rather than a boundary of the product — the buttons exist and they have labels.
"Not this" is the module's own boundary and nothing wider. What the product as a whole refuses is Scope's, and a page that repeated a row of it would be the second place to correct.
Cross-cutting instead of repetition
A rule belongs to the platform layer or to a module page, never to both. The layer describes no screen; a module page describes its own subject and only where it departs from the layer.
| Layer page | What it fixes for every module |
|---|---|
| Guarantees | The data lifecycle, interface states, errors, lists, exports, concurrency, what is hidden rather than disabled, and the day a period is counted from |
| Roles | The access levels, the perimeters each opens, the permission matrix, and the actions that need more than the module |
| Metrics | Delivery counting: sending, replies, the funnel, meetings, KPI, channel health |
| Client and money | Commercial counting: client health, margin, the Client as a unit |
| Automation | Where AI acts, under whose authority, and what stops it |
| Notifications | The map of event to recipient to channel, and its declared holes |
Structure
| Perimeter | Holds |
|---|---|
| Workspace | Home and the nine modules of the project context, plus everything configured per project |
| Admin | The portfolio, the people, the money, quality and the audit trail |
| Client Portal | The client's own area: the live result, their meetings, their invoices and the weekly report |
| Console | Running the platform: organizations, the health of their connections, and stopping one |
| Everywhere | The shell and sign-in, and the platform layer every module inherits |