Skip to content
chiltepin
chiltepin docs
Blocks reference

Business & decisions

When to use each of the 16 business & decisions blocks, with a live example of every one.

The business & decisions blocks: what each one is for, how to choose between neighbours, and a live starter example you can edit — converted at build time from the authoring skill your agent reads. Every example body is YAML; in a real doc the fence language is the block type (for example sequence … ). Schemas are strict — unknown fields are rejected. The full field contract for any block — every field, enum, and terse one-line form, generated from the schema — is npx chiltepin block <type>. See the block catalog for every block rendered on one page.

Shape: Grid — compare, score, locate (matrix, scorecard, harvey, swot, scenarios); cards for decisions, strategy, and access (the rest). Answers: How do the options compare, and which won? Who may do what? What forces shaped this design? Do the numbers pencil out? Not this family: measured numbers → benchmark (tables-data.md); one option's tradeoffs → proscons (planning.md); the decision in one line → callout (narrative.md); day-to-day task state → statustable (planning.md).

matrix — a role × resource capability grid

Rows are roles, columns resources, each cell a permission level tinted by meaning. Answers: who may do what? matrix, not table, when every cell is a permission.

```matrixeditable · live
renderedchiltepin renders this
SECTION 01 · Capability matrix

Who can do what

Role / AppBillingReportsAdmin
OwnerFullFullFull
ManagerFullRead
ViewerReadRead
Legendfullpartialnone
Valid — passes chiltepin check

anatomy — the parts of a structured string (e.g. a permission)

The full string with each segment coloured, then one card per segment. Answers: what does each part of this identifier mean? One string per block.

```anatomyeditable · live
renderedchiltepin renders this
SECTION 01 · Anatomy

Anatomy of a permission

meridian:billing:invoices.read
App
meridian
Which product.
:
Feature
billing
The area within the app.
:
Action
invoices.read
The specific capability.
Valid — passes chiltepin check

composition — effective access as intersected gates

Renders gate ∩ gate ∩ gate = result. Answers: which independent checks must all pass? composition, not flow, when access is an AND of checks rather than an ordered sequence.

```compositioneditable · live
renderedchiltepin renders this
SECTION 01 · Composition

How access is decided

Identity
A valid signed-in user.
Scope
The request is in range.
Permission
The action is granted.
=
Effective
May read invoices
Valid — passes chiltepin check

drivers — the forces that shaped a design

A card grid, one card per driver with an icon and a tag; each is a real requirement with its consequence. Answers: why is the design like this? list for plain points.

```driverseditable · live
renderedchiltepin renders this
SECTION 01 · Drivers

What shaped the design

Single sign-on
One login carries the user everywhere.
HOW: token
Read per site
Access is scoped to the sites a user belongs to.
WHERE: site group
Governed roles
An external IGA requests, approves, and certifies access.
WHO: role groups
Per-app permissions
The same role does different things in each app.
WHAT: matrix
Valid — passes chiltepin check

team — people cards (who owns what)

Compact cards: initials avatar, name, role, one-line focus; set initials for a group. Answers: who owns what? team for real people; persona for user archetypes.

```teameditable · live
renderedchiltepin renders this
SECTION 01 · Team

Who owns what

AR
Ana Ruiz
Tech lead
Rendering pipeline
SO
Sam Okafor
Backend
Sync + integrations
LF
Lena Fischer
Design
Themes and house style
Valid — passes chiltepin check

options — approaches explored, with a verdict

One card per option: how, pros, cons, verdict; tone: chosen marks the winner. Answers: which approaches did we weigh, and which won? options, not proscons, for several candidates; proscons weighs one.

```optionseditable · live
renderedchiltepin renders this
SECTION 01 · Options

Approaches explored

Option 1App-managed roles
Roles live in our own DB; SSO only handles sign-in.
  • Full control
  • Second source of truth
  • Custom tooling to govern
REJECTED — fails the constraint
Option 2Global role groups
Site groups for read; one global group per role.
  • Fewest groups
  • Scales linearly
  • A role applies at every site
VIABLE — kept as fallback
Option 3Per-site role groups
One group per persona per site.
  • Least privilege by construction
  • Clean per-site audit
  • Most groups to manage
CHOSEN — matches the constraints
Valid — passes chiltepin check

scorecard — a weighted decision matrix

Criteria as rows, options as columns, a weighted TOTAL row; the winner is derived. Answers: which option scores highest? scorecard when the decision was scored; options for qualitative verdicts; harvey for judgements.

```scorecardeditable · live
renderedchiltepin renders this
SECTION 01 · Decision matrix

Queue technology choice

CriteriaKafkaWINNERself-hostedSQSWINNERmanaged
Throughput×253
Operational cost25
Team familiarity34
TOTAL1515
Valid — passes chiltepin check

spec — a labelled spec sheet

A fact sheet for one approach or component; a row with steps draws a pill flow. Answers: what are the facts of this one thing? spec, not table, for one subject.

```speceditable · live
renderedchiltepin renders this
SECTION 01 · Spec

Per-site role groups

Groups
SiteN-Users (read) + SiteN-<Persona> per staffed plant.
Roles
Each group reads as (site, role); the token carries the full scope.
Resolution
Decode tokenRead (site, role)Check matrix
Cost
Up to Sites x Roles groups; adding a role multiplies them.
Valid — passes chiltepin check

envelope — back-of-envelope capacity math

Givens, one derivation row per step, then a highlighted bottom line. Every value is a string; write units and freely. Answers: do the numbers pencil out? envelope for the estimate that justifies a design; stats for KPIs.

```envelopeeditable · live
renderedchiltepin renders this
SECTION 01 · Capacity math

Write-path capacity

Daily active users
5M
Writes / user / day
4
Writes per day5M × 420M/day
Write QPS20M / 86,400 s≈ 230 rps
Peak QPS230 × 3 (peak factor)≈ 700 rps
Provision for
~1,400 rps (2× peak headroom)
Valid — passes chiltepin check

swot — strengths / weaknesses / opportunities / threats

The 2×2 draws itself from four string lists; an empty quadrant still draws. Answers: where do we stand? swot for a position; quadrant to plot items.

```swoteditable · live
renderedchiltepin renders this
SECTION 01 · SWOT

Entering the enterprise segment

Strengths
  • Fastest onboarding in the category
  • Strong developer community
Weaknesses
  • No SSO / SCIM yet
  • Small support team
Opportunities
  • Competitor sunsetting its legacy plan
  • Compliance push creates demand
Threats
  • Incumbent bundling a free tier
  • Procurement cycles slow adoption
Valid — passes chiltepin check

okr — objectives + key results

One card per objective, a progress bar per key result coloured by status. Answers: how far are we on each goal? slo for reliability; statustable for tasks.

```okreditable · live
renderedchiltepin renders this
SECTION 01 · Objectives

Q3 objectives

Make onboarding effortlessGrowth
Time-to-first-doc under 5 minutes
70%on-track
Activation rate from 45% to 60%
40%at-risk
Earn enterprise trustPlatform
Ship SSO + audit log
100%done
SOC 2 Type II report issued
20%off-track
Valid — passes chiltepin check

persona — user persona cards

Cards with an avatar, role, quote, goals, frustrations, and tool chips. Answers: who do we build for? persona for archetypes; team for people.

```personaeditable · live
renderedchiltepin renders this
SECTION 01 · Personas

Who we build for

MC
Maya Chen
Staff engineer
I want the diagram in the PR diff, not in a wiki.
Goals
  • Docs that live with the code
  • Reviewable architecture changes
Frustrations
  • Stale wiki pages
  • Screenshots of whiteboards
Tools
VS CodeGitHub
PP
Priya Patel
Engineering manager
Every reorg breaks our onboarding docs.
Goals
  • One source of truth per system
Frustrations
  • Docs no one owns
Tools
LinearNotion
Valid — passes chiltepin check

wardley — value chain against evolution

Components plotted by user visibility (up) and evolution (right), both 0–1; movement draws where one is heading. Answers: what do we build, and what do we buy? A position on the map replaces an opinion.

```wardleyeditable · live
renderedchiltepin renders this
SECTION 01 · Strategy map

Where to build

WARDLEY
Wardley mapGENESISCUSTOM-BUILTPRODUCTCOMMODITYEVOLUTION →VISIBLE TO THE USER →AnalystReportingWarehouse
Legendusercomponentcommoditydepends on
Valid — passes chiltepin check

harvey — the rated comparison

Options across, criteria down, a filled ball per judgement (0–4), a weighted footer. A short ratings row means "not assessed", not zero. Answers: which option fits best? harvey for judgements; benchmark for measured numbers.

```harveyeditable · live
renderedchiltepin renders this
SECTION 01 · Comparison

Vendor fit

CriteriaKafkaSQSRECOMMENDEDRabbitMQ
Throughput×24 of 42 of 43 of 4
Ops burden1 of 44 of 43 of 4
Team familiarity2 of 44 of 43 of 4
Weighted111212
Legendpoorexcellent
Valid — passes chiltepin check

scqa — the executive summary, in Minto order

Situation, complication, question as a ladder; the answer as the filled card with its support. Answers: what is the recommendation, and why? The order is fixed; keeping it is the block's job.

```scqaeditable · live
renderedchiltepin renders this
SECTION 01 · Summary
1
Situation

We process 12k orders a day across three regions.

2
Complication

p95 checkout crossed 2s in March and conversion fell 3.1pp.

3
Question

Where does the next quarter of platform work go?

Answer

Move payment capture off the request path — it returns 1.8s of the 2.4s.

  • Capture is 74% of p95 and is fully async-able
  • No schema change, so it ships in one quarter
Valid — passes chiltepin check

scenarios — base, upside and downside

Cases as columns, drivers as rows, the outcome in its own row; the base case is badged. A missing value renders ·, not zero. Answers: how much of the outcome hangs on each assumption?

```scenarioseditable · live
renderedchiltepin renders this
SECTION 01 · Scenarios

Three ways next year goes

DriverDownsideBaseBASE CASEUpside
Volume growth-5%8%15%
Priceflat+2%+4%
Churn12%9%7%
Outcome$18M$24M$31M
Valid — passes chiltepin check