lift-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev f9f4e37d6945
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 23e397d8a5d5bf7756362640
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
policy-tests/private-log.json
{
 "version": "1",
 "name": "a lifter's log is theirs alone: only they write it, nothing is deleted, sizes are capped (caps shrunk to test them)",
 "actors": {
  "Ann": "ann_user",
  "Ben": "ben_user"
 },
 "steps": [
  {
   "op": "setTime",
   "epoch": 1800000000
  },
  {
   "op": "set",
   "path": "lifters/ann_user",
   "data": {
    "data": "{\"settings\":{\"unit\":\"kg\",\"rest\":90,\"sound\":true,\"vibrate\":true,\"rpe\":false,\"awake\":true,\"at\":1},\"custom\":{},\"bw\":{}}"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "as",
   "who": "Ann"
  },
  {
   "op": "setMany",
   "writes": [
    {
     "path": "lifters/ann_user",
     "data": {
      "data": "{\"settings\":{\"unit\":\"kg\",\"rest\":90,\"sound\":true,\"vibrate\":true,\"rpe\":false,\"awake\":true,\"at\":1},\"custom\":{},\"bw\":{}}"
     }
    },
    {
     "path": "lifters/ann_user/routines/rt0001abcdef",
     "data": {
      "data": "{\"id\":\"rt0001abcdef\",\"name\":\"Push\",\"items\":[],\"at\":1}",
      "at": 1800000000
     }
    },
    {
     "path": "lifters/ann_user/workouts/wk0001abcdef",
     "data": {
      "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
      "at": 1800000000
     }
    }
   ]
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push day\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   }
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/rt0001abcdef",
   "data": {
    "data": "{\"id\":\"rt0001abcdef\",\"name\":\"Push A\",\"items\":[],\"at\":1}",
    "at": 1800000000
   }
  },
  {
   "op": "set",
   "path": "lifters/ann_user",
   "data": {
    "data": "{\"settings\":{\"unit\":\"lb\",\"rest\":90,\"sound\":true,\"vibrate\":true,\"rpe\":false,\"awake\":true,\"at\":1},\"custom\":{},\"bw\":{}}"
   }
  },
  {
   "op": "set",
   "path": "lifters/ann_user",
   "data": {
    "data": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0002abcdef",
   "data": {
    "data": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/rt0002abcdef",
   "data": {
    "data": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/abc",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/r1",
   "data": {
    "data": "{\"id\":\"rt0001abcdef\",\"name\":\"Push\",\"items\":[],\"at\":1}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0003abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "public": true,
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0006abcdef",
   "data": {
    "data": "{}"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/notes/n0001abcdef",
   "data": {
    "data": "{}"
   },
   "shouldFail": true
  },
  {
   "op": "delete",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "shouldFail": true
  },
  {
   "op": "delete",
   "path": "lifters/ann_user/routines/rt0001abcdef",
   "shouldFail": true
  },
  {
   "op": "delete",
   "path": "lifters/ann_user",
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ben_user",
   "data": {
    "data": "{\"settings\":{\"unit\":\"kg\",\"rest\":90,\"sound\":true,\"vibrate\":true,\"rpe\":false,\"awake\":true,\"at\":1},\"custom\":{},\"bw\":{}}"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ben_user/workouts/wk0009abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "as",
   "who": "Ben"
  },
  {
   "op": "set",
   "path": "lifters/ann_user",
   "data": {
    "data": "{}"
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0004abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/rt0001abcdef",
   "data": {
    "data": "{}",
    "at": 1800000000
   },
   "shouldFail": true
  },
  {
   "op": "setMany",
   "writes": [
    {
     "path": "lifters/ben_user/workouts/wk0009abcdef",
     "data": {
      "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
      "at": 1800000000
     }
    },
    {
     "path": "lifters/ann_user/workouts/wk0005abcdef",
     "data": {
      "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
      "at": 1800000000
     }
    }
   ],
   "shouldFail": true
  },
  {
   "op": "delete",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ben_user/workouts/wk0009abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   }
  },
  {
   "op": "expect",
   "expr": "get(/lifters/ann_user/workouts/wk0001abcdef).data == '{\"id\":\"wk0001abcdef\",\"name\":\"Push day\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}'"
  },
  {
   "op": "expect",
   "expr": "get(/lifters/ann_user/workouts/wk0004abcdef) == null"
  },
  {
   "op": "expect",
   "expr": "get(/lifters/ann_user/workouts/wk0005abcdef) == null"
  }
 ],
 "constants": {
  "PROFILE_MAX": 300,
  "ROUTINE_MAX": 200,
  "WORKOUT_MAX": 250
 }
}

Change history

Point OpenApps store links to openapps.free
f9f4e37d69 · 17 hours ago
Add favicon.ico, local share image and openapi.json for links and guides
2796c0063c · 18 hours ago
Bind agent address in policy constants
cf80a3ca66 · 19 hours ago
Add OpenApp contribution strip and OpenApps source links
5e4cc2b9f3 · 19 hours ago
Bounded source sync
ca4a3d3631 · 1 day ago
Bounded source sync
7351063f4d · 1 day ago
Bounded source sync
0ce3238c46 · 1 day ago