{
 "format": "topoforge",
 "version": 1,
 "name": "Process: aboutcorwin.com's assembly line (BPMN+)",
 "settings": {
  "grid": 20,
  "snap": true,
  "showGrid": true,
  "guides": true,
  "netLabels": true,
  "ifLabels": true,
  "minimap": true,
  "defaultRoute": "orthogonal"
 },
 "pages": [
  {
   "id": "page-process-about-corwin-line",
   "name": "Process: aboutcorwin.com's assembly line (BPMN+)",
   "layers": [
    {
     "id": "words",
     "name": "Words: titles and notes",
     "visible": true,
     "locked": false
    },
    {
     "id": "abstract",
     "name": "Abstract: people and ideas",
     "visible": true,
     "locked": false
    },
    {
     "id": "operational",
     "name": "Operational: projects, parts and paths",
     "visible": true,
     "locked": false
    },
    {
     "id": "physical",
     "name": "Physical: hosts and screens",
     "visible": true,
     "locked": false
    },
    {
     "id": "flow",
     "name": "Flow: how it works, step by step",
     "visible": true,
     "locked": false
    }
   ],
   "activeLayer": "operational",
   "nodes": [
    {
     "id": "process-about-corwin-line-title",
     "type": "text",
     "x": 0,
     "y": -170,
     "w": 1400,
     "h": 130,
     "text": "How aboutcorwin.com updates itself: mint on gw33, a feed on corwin.cloud, a pull on the web host.\nRead as BPMN+: BPMN, plus the three acts: describe, propose, effect, and the hand that says go. The same process as a file in BPMN \u00b7 Flowchart: on corwin.cloud's home page, under the drawing.\nDrawn 2026-11-01 from about-corwin's public deploy scripts (deploy/mint-about-corwin.sh, deploy/pull-aboutcorwin.sh, deploy/schedule).\nMade by: about-corwin by Corwin and Bryant; the assembly line by Corwin.",
     "layer": "words",
     "parent": null,
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-title"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-lane-corwin",
     "type": "zone",
     "x": 0,
     "y": 0,
     "w": 1820,
     "h": 150,
     "text": "Corwin",
     "layer": "flow",
     "parent": null,
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-lane-corwin",
      "element": "lane",
      "read as": "lane",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "zone",
      "as BPMN+": "zone",
      "as Flowchart": "zone"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-lane-minter",
     "type": "zone",
     "x": 0,
     "y": 170,
     "w": 1820,
     "h": 260,
     "text": "gw33: the minter, every 17 minutes",
     "layer": "flow",
     "parent": null,
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-lane-minter",
      "element": "lane",
      "read as": "lane",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "zone",
      "as BPMN+": "zone",
      "as Flowchart": "zone"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-lane-feed",
     "type": "zone",
     "x": 0,
     "y": 450,
     "w": 1820,
     "h": 150,
     "text": "corwin.cloud/dist/about-corwin/: the feed",
     "layer": "flow",
     "parent": null,
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-lane-feed",
      "element": "lane",
      "read as": "lane",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "zone",
      "as BPMN+": "zone",
      "as Flowchart": "zone"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-lane-puller",
     "type": "zone",
     "x": 0,
     "y": 620,
     "w": 1820,
     "h": 260,
     "text": "The web host (DreamHost): the puller, every 17 minutes",
     "layer": "flow",
     "parent": null,
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-lane-puller",
      "element": "lane",
      "read as": "lane",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "zone",
      "as BPMN+": "zone",
      "as Flowchart": "zone"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-push",
     "type": "user",
     "x": 270,
     "y": 40,
     "w": 90,
     "h": 90,
     "text": "Push a change\nto main",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-corwin",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-push",
      "element": "task",
      "act": "go",
      "read as": "go",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "user",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-tick",
     "type": "ellipse",
     "x": 235,
     "y": 210,
     "w": 160,
     "h": 80,
     "text": "The timer fires",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-minter",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-tick",
      "element": "event",
      "read as": "event",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "ellipse",
      "as BPMN+": "ellipse",
      "as Flowchart": "ellipse"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-moved",
     "type": "diamond",
     "x": 460,
     "y": 210,
     "w": 170,
     "h": 120,
     "text": "Did main, or a\nfeed the site\nshows, move?",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-minter",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-moved",
      "element": "gateway",
      "read as": "gateway",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "diamond",
      "as BPMN+": "diamond",
      "as Flowchart": "diamond"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-idle",
     "type": "ellipse",
     "x": 695,
     "y": 320,
     "w": 160,
     "h": 80,
     "text": "Nothing new:\nnothing minted",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-minter",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-idle",
      "element": "event (end)",
      "read as": "event",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "ellipse",
      "as BPMN+": "ellipse",
      "as Flowchart": "ellipse"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-check",
     "type": "rect",
     "x": 690,
     "y": 210,
     "w": 170,
     "h": 90,
     "text": "Run the checks\nthat run headless",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-minter",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-check",
      "element": "task",
      "act": "describe",
      "read as": "describe",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "rect",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-build",
     "type": "rect",
     "x": 920,
     "y": 210,
     "w": 170,
     "h": 90,
     "text": "Build the site",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-minter",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-build",
      "element": "task",
      "act": "describe",
      "read as": "describe",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "rect",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-publish",
     "type": "triangle",
     "x": 1150,
     "y": 210,
     "w": 170,
     "h": 90,
     "text": "Publish tarball,\nmanifest and feed",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-minter",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-publish",
      "element": "task",
      "act": "effect",
      "read as": "effect",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "triangle",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-feed",
     "type": "parallelogram",
     "x": 1150,
     "y": 490,
     "w": 170,
     "h": 90,
     "text": "channel.json:\nrevision, stamp,\nsha256, key",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-feed",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-feed",
      "element": "data",
      "read as": "data",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "parallelogram",
      "as BPMN+": "parallelogram",
      "as Flowchart": "parallelogram"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-cron",
     "type": "ellipse",
     "x": 235,
     "y": 660,
     "w": 160,
     "h": 80,
     "text": "Cron fires",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-cron",
      "element": "event",
      "read as": "event",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "ellipse",
      "as BPMN+": "ellipse",
      "as Flowchart": "ellipse"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-read",
     "type": "rect",
     "x": 460,
     "y": 660,
     "w": 170,
     "h": 90,
     "text": "Read the feed",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-read",
      "element": "task",
      "act": "describe",
      "read as": "describe",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "rect",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-new",
     "type": "diamond",
     "x": 690,
     "y": 660,
     "w": 170,
     "h": 120,
     "text": "Is its key the\none installed?",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-new",
      "element": "gateway",
      "read as": "gateway",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "diamond",
      "as BPMN+": "diamond",
      "as Flowchart": "diamond"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-same",
     "type": "ellipse",
     "x": 695,
     "y": 770,
     "w": 160,
     "h": 80,
     "text": "Already installed:\nnothing to do",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-same",
      "element": "event (end)",
      "read as": "event",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "ellipse",
      "as BPMN+": "ellipse",
      "as Flowchart": "ellipse"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-fetch",
     "type": "rect",
     "x": 920,
     "y": 660,
     "w": 170,
     "h": 90,
     "text": "Download it;\ncheck its sha256",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-fetch",
      "element": "task",
      "act": "describe",
      "read as": "describe",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "rect",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-stage",
     "type": "hexagon",
     "x": 1150,
     "y": 660,
     "w": 170,
     "h": 90,
     "text": "Stage a dated\nrelease (manifest\nchecked)",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-stage",
      "element": "task",
      "act": "propose",
      "read as": "propose",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "hexagon",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-live",
     "type": "triangle",
     "x": 1380,
     "y": 660,
     "w": 170,
     "h": 90,
     "text": "Go live (the old\nweb root copied\naside first)",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-live",
      "element": "task",
      "act": "effect",
      "read as": "effect",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "rounded",
      "as BPMN+": "triangle",
      "as Flowchart": "rect"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-done",
     "type": "ellipse",
     "x": 1615,
     "y": 660,
     "w": 160,
     "h": 80,
     "text": "aboutcorwin.com\nupdated",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-done",
      "element": "event (end)",
      "read as": "event",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "ellipse",
      "as BPMN+": "ellipse",
      "as Flowchart": "ellipse"
     },
     "style": {}
    },
    {
     "id": "process-about-corwin-line-left",
     "type": "ellipse",
     "x": 1155,
     "y": 770,
     "w": 160,
     "h": 80,
     "text": "Any failure: the\nsite is left as it\nwas; one log line",
     "layer": "flow",
     "parent": "process-about-corwin-line-lane-puller",
     "props": {},
     "data": {
      "tf_ref": "process-about-corwin-line-left",
      "element": "event (end)",
      "read as": "event",
      "notation": "BPMN+",
      "notations from": "topology's www/js/topology-core.js",
      "as BPMN": "ellipse",
      "as BPMN+": "ellipse",
      "as Flowchart": "ellipse"
     },
     "style": {}
    }
   ],
   "links": [
    {
     "id": "process-about-corwin-line-l1",
     "a": {
      "id": "process-about-corwin-line-push",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-tick",
      "port": null
     },
     "route": "orthogonal",
     "text": "noticed on the next run",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l1"
     }
    },
    {
     "id": "process-about-corwin-line-l2",
     "a": {
      "id": "process-about-corwin-line-tick",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-moved",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l2"
     }
    },
    {
     "id": "process-about-corwin-line-l3",
     "a": {
      "id": "process-about-corwin-line-moved",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-idle",
      "port": null
     },
     "route": "orthogonal",
     "text": "no",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l3"
     }
    },
    {
     "id": "process-about-corwin-line-l4",
     "a": {
      "id": "process-about-corwin-line-moved",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-check",
      "port": null
     },
     "route": "orthogonal",
     "text": "yes",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l4"
     }
    },
    {
     "id": "process-about-corwin-line-l5",
     "a": {
      "id": "process-about-corwin-line-check",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-build",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l5"
     }
    },
    {
     "id": "process-about-corwin-line-l6",
     "a": {
      "id": "process-about-corwin-line-build",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-publish",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l6"
     }
    },
    {
     "id": "process-about-corwin-line-l7",
     "a": {
      "id": "process-about-corwin-line-publish",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-feed",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l7"
     }
    },
    {
     "id": "process-about-corwin-line-l8",
     "a": {
      "id": "process-about-corwin-line-cron",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-read",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l8"
     }
    },
    {
     "id": "process-about-corwin-line-l9",
     "a": {
      "id": "process-about-corwin-line-feed",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-read",
      "port": null
     },
     "route": "orthogonal",
     "text": "same origin, https",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l9"
     }
    },
    {
     "id": "process-about-corwin-line-l10",
     "a": {
      "id": "process-about-corwin-line-read",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-new",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l10"
     }
    },
    {
     "id": "process-about-corwin-line-l11",
     "a": {
      "id": "process-about-corwin-line-new",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-same",
      "port": null
     },
     "route": "orthogonal",
     "text": "yes",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l11"
     }
    },
    {
     "id": "process-about-corwin-line-l12",
     "a": {
      "id": "process-about-corwin-line-new",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-fetch",
      "port": null
     },
     "route": "orthogonal",
     "text": "no: a new revision",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l12"
     }
    },
    {
     "id": "process-about-corwin-line-l13",
     "a": {
      "id": "process-about-corwin-line-fetch",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-stage",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l13"
     }
    },
    {
     "id": "process-about-corwin-line-l14",
     "a": {
      "id": "process-about-corwin-line-stage",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-live",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l14"
     }
    },
    {
     "id": "process-about-corwin-line-l15",
     "a": {
      "id": "process-about-corwin-line-live",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-done",
      "port": null
     },
     "route": "orthogonal",
     "text": "",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l15"
     }
    },
    {
     "id": "process-about-corwin-line-l16",
     "a": {
      "id": "process-about-corwin-line-fetch",
      "port": null
     },
     "b": {
      "id": "process-about-corwin-line-left",
      "port": null
     },
     "route": "orthogonal",
     "text": "sha256 wrong",
     "layer": "flow",
     "arrows": "end",
     "props": {},
     "style": {},
     "data": {
      "tf_ref": "process-about-corwin-line-l16"
     }
    }
   ]
  }
 ],
 "cur": 0
}