Live now
Playbook {{ liveVersion }}
{{ liveSummary }}
app {{ liveTarget }}+
Directives
{{ liveDirectiveCount }}
across {{ liveHookCount }} hooks
Published
{{ liveAuthor }}
{{ liveKeyId }}
Versions
first-match · signed · root-anchored
{{ edEyebrow }}
Playbook {{ edVersion }}
{{ edStatusLabel }}
based on live {{ edBasedOn }}
{{ edSubtitle }}
Publish playbook
Edit the open draft
Target · minimum app version
app {{ targetVersion }}
{{ targetNote }} · released {{ targetReleased }}. Only hooks and metadata shipped by this version are guaranteed on every device — raise the target for newer capabilities, lower it to reach more installs.
{{ capHookCount }} hooks
{{ capStateCount }} state fields
{{ capEventCount }} events
{{ m.tagLabel }}
{{ m.type }}
{{ m.addedV }}
No metadata field matches — try another term.
{{ metaMatch }} matching · showing up to 40
{{ nextVersion }} adds {{ nextAddH }} hooks · {{ nextAddM }} fields
App hooks · engineer-owned
{{ activeHookId }}
Ordered first-match — the first matching directive wins, one outcome per hook.
{{ d.priority }}
{{ d.cohortName }}
{{ d.statusLabel }}
{{ d.modeLabel }}
{{ d.warnText }}
No directives on this hook
The hook fires and the app continues as normal.
Cohorts
Defined with engineer-curated patterns. Operators tune parameters freely.
AND{{ r }}
No rules — matches every user.
{{ c.usedCount }} {{ c.usedText }}
Creatives
Each creative carries its own verb and behavior. Authored and uploaded here, then paired to cohorts in the editor.
{{ c.usageLabel }}
{{ c.name }}
Updated {{ c.updatedAt }}
Simulated user
Resolve a hook against {{ previewVersion }} on an app {{ previewTarget }}+ device.
Signals this hook reads
{{ hookDirCount }} directive(s) here. Greyed-out fields below don't affect this hook.
No directives on this hook — nothing to match. The runtime returns no-op.
Resolving against pasted app meta
Resolve hook
resolve(meta, "{{ pv.hook }}", ctx)
Resolution trace
{{ t.cohortName }}
{{ t.detail }}
Directive returned
{{ resultJson }}
Set up a user and hit Resolve
The Runtime evaluates directives in order and returns one outcome.
On device
Every change is recorded — who, when, what. Built on the internal-admin chassis with SSO.