Skip to content

RFC-005 — Profile system

Status: ratified. Source: atomprd/specs/rfcs/RFC-005-profile-system.md.

A project carries a profile_key that names which atom kinds + relations are expected. The default profile is atomprd-v1 (all 26 kinds). Tools may ship narrower profiles for specialised flows.

  • A PM-tier tool focused on vision + persona + module + feature + criterion shouldn’t have to display the 6 DevOps block kinds.
  • A DevOps-only tool focused on services + envs + deploys shouldn’t have to display product atoms.
  • A vertical-specific tool (e.g. spa booking) may have an opinionated default kind set.

The profile narrows the surface; it doesn’t extend it. New kinds still require a spec RFC.

Profile keyKinds included
atomprd-v1All 26 (default).
atomprd-pmvision, persona, module, feature, criterion, description, note, decision, out_of_scope.
atomprd-devopsservice, env_var, vendor, host_domain, build_step, deploy_target, decision, note.
atomprd-runtimeAll except DevOps blocks B12-B17.

Tools MAY define custom profile keys. The cloud authoring UI ships atomprd-v1 by default; vertical templates (post-launch) ship narrower profiles.

decomposition_nodes.profile_key records which profile the atom was created under. The validator uses the profile to gate which kinds are valid in that project.

Switching a project from atomprd-pm to atomprd-v1 is purely additive — the existing atoms stay valid, and new kinds become available. Switching the other way requires deleting (or hiding) atoms of kinds the narrower profile excludes.