Relying on the project root determined with a project file,
the default for versions prior to 1.0.0,
only weakly protects against running a script from an arbitrary directory
outside the intended project.
The i_am()
function offers a stronger way to define the project root:
it will ensure that the project root actually contains a file in that location,
optionally checking for file contents that uniquely identify the file
via the nonce
argument.
This function will fail if the script or report is moved within the project.
Update the i_am()
call to reflect the new location.
If you use the nonce
argument for extra safety, be sure to change it
when you save an existing script or report under a new name.