Curriculum previewThis is not your assigned passport. No identity, answers, or completion progress are stored here.How to start your passport
Handbook / assessment

assessment

Passport Completion Record

Store completion records in a private maintainer-controlled repository or approved system, not in the public/student-facing handbook.

Store completion records in a private maintainer-controlled repository or approved system, not in the public/student-facing handbook.

Schema#

{
  "schema_version": 2,
  "github_user_id": 42,
  "github_user": "example-user",
  "curriculum_version": "2.0.0",
  "endorsements": {
    "core": "2026-08-29",
    "git": null,
    "python": null,
    "ai_agents": null,
    "euler_cpu": null,
    "euler_gpu": null
  },
  "reviewer_id": 84,
  "reviewer": "example-reviewer",
  "head_sha": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "assessment_reference": "soheylm-passport-sandbox/passport-exercises#1"
}

Do not store grades, passwords, tokens, private keys, protected research data, or unnecessary personal information.

The JSON schema is curriculum/schemas/completion-record.schema.json. The immutable writer is implemented in passport_system/registry.py. A second write for the same user and curriculum version fails instead of silently replacing history.

Archive And Reactivation#

Offboarding does not delete a completion record or submitted learning record. Write a separate append-only lifecycle event with only username, state, date, actor, reason category, and assessment reference. Then revoke unrelated lab access; the learner-owned public fork is not administered by the lab.

The lifecycle schema is curriculum/schemas/lifecycle-event.schema.json. Do not place departure explanations, performance information, project data, or credentials in that event.

Versioning#

  • Patch: wording or checks change without changing competencies.
  • Minor: competency/evidence is added without invalidating existing passes.
  • Major: required competency or pass meaning changes materially.

Use Conventional Commits for repository history and semantic versions for released curriculum/assessment contracts. These are related but not identical.

Renewal#

Require a short refresher after one year or after a significant policy/security change. Do not force an experienced user to repeat unchanged practical work; assess changed competencies and current lab policy.