Public course previewThis is not your assigned passport. No identity, answers, or completion progress are stored here.How to start your passport
Guided lesson
03 / 03About 35 minutesdata handling

Create A Recoverable Project Handover

Give a successor enough information to locate the required files and check a result without the departing researcher's computer or personal login.

Where you will workOn this web page and your computer
  1. 1Understand
  2. 2Try it yourself
  3. 3Check and submit

Before you start#

A project handover is a transfer of ownership with enough information for the authorized successor to continue. A code revision identifies the exact committed files. An environment definition records the required software.

A handover connects the code version, required inputs, software setup and a verifiable result. A filled field is a useful pointer, not proof that the pointer works. Temporary work and approved source data have different lifetimes.

The author can run a tiny fictional project on their laptop. Its handover says "the command passed", but the only input copy is in their temporary folder. What would prevent you from continuing after they leave?

Review one inventory and three decisions. If Git and Python already work, you may also try the supplied project in a fresh clone. This is optional: the Data Steward route does not require a new Python setup lesson.

What to verify before saying the handover works

Check the exact code, input identity and setup. Run a known small check, compare its actual output with the expected values, and state what remains unverified. A zero exit code alone does not establish that the right input or result was used. Access and retention still need their owners' decisions.

An exit code of zero can accompany the wrong result. Compare expected values and preserve the original inputs before retiring temporary work.

Start the practice

Practice

Try it in your practice folder

Follow in order

Steps

Use only the supplied fictional project. No personal accounts, real paths or datasets belong in this exercise.

  1. 01

    Prepare the fictional handover

    On your computer

    Press Prepare practice folder. It prepares the worksheet and a separate fixed project, and shows its actual revision. Open workspace/handover/project-handover.md in the practice folder.

    Practice folder

    The launcher creates or reuses the exercise folder for this course. It does not change another folder.

    Open this lesson from your local Passport to prepare the folder.

    Look forThe worksheet and fictional inventory are available.

    Explanation and help
    What this means
    Read the inventory before filling the worksheet.
    Safe recovery
    Preserve any existing or altered folder and request help; do not replace it with real project files.
  2. 02

    Find what the successor needs

    Read and answer on this web page

    The supplied inventory contains verify.py, inputs/measurements.csv and environment.json. The environment declares Python 3.9 or newer, with no external packages. scratch/ and .venv/ are temporary and are not in the transfer.

    Look forDistinguish required source/input/setup from recreated local state.

    Explanation and help
    What this means
    Compare each handover field with the inventory.
    Safe recovery
    A complete-looking document is insufficient if its named files cannot be obtained.
  3. 03

    Complete the fictional handover

    Read and answer on this web page

    Keep each label once on its own line. Choose fictional owners and a limitation. Copy the inventory revision and file identities, then record the setup and verification commands for your operating system. Use a valid future planned deletion date for the fictional temporary copy.

    Show the fixed inventory fields (file content)
    Put in fileMarkdown file
    Repository: local fictional fixture
    
    Revision: 4e45a59f4a09d7c069d8af34b5d724f7c7c513cf
    
    Main approved data location: inputs/measurements.csv
    
    Temporary locations to remove: scratch/
    
    Environment definition: environment.json
    
    Expected result: measurements=3 total=12
    Show setup and verification fields for macOS or Linux (file content)
    Put in fileMarkdown file
    Setup command: python3 -m venv --without-pip .venv
    
    Verification command: ./.venv/bin/python -I verify.py
    Show setup and verification fields for Windows (file content)
    Put in fileMarkdown file
    Setup command: python -m venv --without-pip .venv
    
    Verification command: & .\.venv\Scripts\python.exe -I verify.py

    Look forThe document describes only this fixed project and states what remains unverified.

    Explanation and help
    What this means
    Review the document before checking it. Do not claim a personal rerun if you use the supplied observation.
    Safe recovery
    Do not invent access or claim a run that you did not observe.
  4. 04

    Optional: try a fresh clone

    On your computer

    If Git and Python 3.9+ already work, open Optional: reproduce in a fresh clone under the prepared inventory. Review and run that generated command. Stop on an existing target; the original project and your terminal directory stay unchanged.

    Look forThe fresh clone prints measurements=3 total=12. Compare both values and the exit status.

    Explanation and help
    What this means
    An environment is recreated, not copied. Record only the result personally observed.
    Safe recovery
    You can use the supplied observation for this packet without claiming a personal run. Do not install Python solely for this optional task.
  5. 05

    Decide whether the result matches

    Read and answer on this web page

    The maintainer's fresh-clone observation is measurements=3 total=12. A deliberately changed input prints measurements=3 total=13 even though the command exits successfully. Decide what the handover should claim.

    Look forA successful command and a reproduced result are different claims.

    Explanation and help
    What this means
    Use the questions to choose the next action for a mismatch.
    Safe recovery
    Do not change the expected result merely to make a check appear successful.
  6. 06

    Separate retained inputs from temporary copies

    Read and answer on this web page

    The fictional information owner must retain inputs/measurements.csv. Only scratch/ is named in the temporary-copy plan. Keep an access owner, retention owner, future review date and one unresolved limitation. This exercise grants no approval to delete or revoke access.

    Look forThe next person can reproduce again after temporary work is retired.

    Explanation and help
    What this means
    Review the packet and answer the three decisions.
    Safe recovery
    For a real unresolved ownership or retention decision, stop and contact the project owner privately.

Finish the lesson

Check and submit

Answer these 3 questions, then confirm the work you checked.

Every answer must be correct. Completion appears after the automatic GitHub check passes.

01The handover names an exact code revision and an environment file, but its only input copy is on the departing researcher's laptop. What must be resolved before claiming the project is recoverable?Safety-critical
02The synthetic command exits with code 0 and prints measurements=3 total=13. The handover says measurements=3 total=12. Can you record reproduction as successful?Safety-critical
03A verified rerun used inputs/measurements.csv, the only approved source copy. scratch/ contains a disposable calculation cache. What can the cleanup plan name for removal after owner approval and its scheduled review?Safety-critical
Before submitting

The launcher will copy only this lesson's declared fictional practice files into the public submission. Review those files as well as these answers.

Open my real passport first

You can check sample answers here. Open your local Passport to check your practice files and submit the lesson.

Preview onlyYou can try the questions here. This page does not store or submit your answers.
Need help?Open recovery steps and AI-review guidance

If Blocked#

Use the supplied observation if the optional project or interpreter is absent. Never substitute a real research dataset. A real missing-access or retention decision needs the project owner privately, not credentials in a public issue.

Understand Before Accepting AI Output#

An agent can format the packet. Personally compare its locations, revision, setup and expected result with available evidence. Do not accept invented access or certify a run from a plausible sentence.