nx_crm_flow.nx
buildroot/runtime/nx_crm_flow.nx
about
nx_crm_flow.nx -- WORKFLOW AUTOMATION TRIGGERS (CRM census E8). The HubSpot/Salesforce-Flow model, sovereign +
rules-AS-DATA (law: data as data): a rule = `event|cond(k=v or -)|action|channel-or-dash|arg`; an event =
`kind~k=v~...~id=EN` (tilde fields; pipe is the rule separator). Engine: LOAD validates every rule up front
(unknown action / invalid send channel = LOUD -1, nothing half-loaded) -> FIRE matches rules to an event and
executes actions -- create-task | send (any nx_send channel: email/postcard/letter/card/gift) | notify |
update-field. IDEMPOTENT by event id (law 10): the same event id never fires twice (a dedup ledger the caller
holds). This is what wires the whole OS together: a deal hitting Negotiation creates the task; a gift received
queues a thank-you CARD through the mail arc. Argless = selftest gate. license_tier: ORIGINAL expect_exit: 0
dependencies 1 imports · 0 importers
imports: nx_send.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 12 | func fl_tf(s: *u8, idx: i64, out: *u8, cap: i64) -> i64 called by 1: fl_match |
| 31 | func fl_has(hay: *u8, needle: *u8) -> i64 |
| 46 | func fl_evid(ev: *u8, out: *u8, cap: i64) -> i64 |
| 62 | func fl_action_ok(a: *u8) -> i64 |
| 70 | func fl_load(rules: *i64, n: i64) -> i64 |
| 87 | func fl_match(rule: *u8, ev: *u8) -> i64 |
| 106 | func fl_exec(rule: *u8, evid: *u8) -> i64 |
| 120 | func fl_fire(rules: *i64, n: i64, ev: *u8, seen: *i64, snp: *i64) -> i64 |
| 141 | func main() -> i64 |