interviews/ held StaffML and nothing else, so the directory now carries the
product's name. Three names inside it repeated that prefix, and now line up
with vault/, vault-cli/, and paper/:
interviews/staffml/ -> staffml/app/
interviews/staffml-vault-worker/ -> staffml/vault-worker/
interviews/staffml-vault-types/ -> staffml/vault-types/
Every repository path moved with it: workflow paths: triggers and variable
fallbacks, pre-commit hooks, .gitignore, contributor tooling, vault-cli path
joins, the app's tsconfig mapping to the shared types, and the docs.
Left alone on purpose:
- the published /interviews/ redirect to /staffml/ and the gh-pages subsite
lists that protect it; those are URLs, not repository paths
- package and worker names (staffml-vault-worker, @staffml/vault-types) and
the vitest job name, which branch protection may key on
- question YAMLs and generated track JSON, which are content-addressed.
Three questions carry an older corruption, "recall @interviews/vault/
questions/...", that predates this change
- the applied D1 migration 0001 and the vault CHANGELOG, which are history
codegen-hashes.txt is re-recorded; the three pinned artifacts changed only in
path strings. vault-cli: 97 passed, codegen --check clean.
interviewer.py's __main__ loader was one parent short and pointed at a
corpus.json that never existed; it now resolves staffml/app/src/data/
corpus.json. tools/validate_playbook.py and generate_interview_flashcard.py
still expect per-track directories that no longer exist; they point at the
new root but remain dead.
The GitHub repository variables STAFFML_ROOT, VAULT_DIR, and VAULT_CLI_DIR
still name the old paths and must change when this reaches origin.