Lifecycle & audit
draft → submitted → approved → in_progress → implemented →
closed, with rejected and rolled_back
branches. Every transition is captured: who, when, from-status, to-status,
any free-form comment.
Auto-approve change types skip the approval gate — for routine,
well-understood work that doesn't need a human in the loop.
Approver groups
Many-to-many user/group membership. Any one member of any group
assigned to a change type can approve. Submitter can never approve
their own change. Admin always has override.
Optional Active Directory group sync: AD owns the group
membership; cambiar.world reconciles on every login.
Notes & attachments
Markdown notes per change with full edit history. File attachments
(images, PDFs, text/CSV/JSON) up to 10 MB. Attachments can be
threaded under a specific note or attached to the change as a whole.
Drag a screenshot into the note where you describe what you saw.
Templates
Save a change as a template, copy a change as a new draft, instantiate
a fresh draft from a template. The change type, fields, planned
duration, and description carry forward.
For the work you do every Tuesday at 02:00.
Recurring changes
Mark a change as a recurring parent with a cron schedule and a
timezone. At each fire, a child is spawned with the parent's blueprint
and threaded back via parent_change_id.
Composes with auto-approve and the email engine for fully unattended
scheduled work.
Linked changes
depends_on (directional, gates Start/Implement until
prereqs are implemented or closed; transitive cycles refused) and
relates_to (symmetric, soft).
For changes that line up like dominoes — “don't start the
firewall change until the storage migration is verified.”
Inbound email
IMAP poller turns each incoming message into a configurable action:
create_change, transition (submit / approve /
start / etc.), or add_note on a referenced change.
Idempotent by Message-ID — replays don't double-create.
Wire monitoring alerts straight to cambiar.world. Forward an outage email and
a change opens for it automatically.
Scheduled digests
Admin-defined cron schedules render upcoming-changes digests to a
recipient list (free-form addresses or user-id resolved emails).
Use it to brief on-call before a maintenance window.
Operational alerts
A scheduled checker raises and resolves alerts when an approval has
been pending past the SLA threshold (with per-change-type overrides),
or when a recurring parent's last fire is older than the most recent
expected fire.
It tells you about the things that quietly didn't happen.
Calendar & scheduling
Month / week / day / list views for upcoming changes. Week and day
use a time-grid with blocks sized by planned duration; status filter;
click a chip to jump to the change.
Mobile-aware: the week view scrolls horizontally on phones rather
than crushing the layout.
iCal subscription
Each user gets a personal tokenized URL. Subscribe from Google
Calendar, Apple Calendar, or anything that speaks RFC 5545 — and
upcoming changes show up alongside their other commitments.
Google Calendar push
For workshops that want changes to land directly in a shared Google
Calendar without each user having to subscribe: a service-account-driven
background reconciler inserts, updates, and deletes events as
changes move through the lifecycle.
Branding
Admin-uploadable logo (PNG / SVG / JPEG / WebP) and app name.
Renders top-left for everyone, including the login screen. Light
and dark themes, persisted per browser.
API-first
Every UI action is a documented HTTP endpoint. Build your own
integrations, scripts, or Slack bots against the same surface the
web client uses — no internal-only RPCs.