Working copies — monorepo vs ~/keyword-volume¶
Two locations hold copies of this project's code on data@isog. They are not symlinked or auto-synced; the distinction matters for editing.
The two locations¶
| Path | Role |
|---|---|
/home/data/mimi/monorepo/data_science/keyword-volume/ |
Source of truth. Git-tracked under the monorepo. Where you make changes, run tests, build the KB. |
/home/data/keyword-volume/ |
Production runtime working copy. Where keep_running.sh actually executes. Some scripts (notably keep_running.sh, demo_app/run_demo.py, and the recovery slurm) are launched from here, not from the monorepo. |
What runs from where¶
| Component | Run from | Notes |
|---|---|---|
keep_running.sh (orchestrator) |
~/keyword-volume/ |
The script's first non-tracing line is cd ~/keyword-volume \|\| exit 1 — it always operates inside the home working copy regardless of where it was launched from. |
demo_app/run_demo.py |
~/keyword-volume/demo_app/ |
Per memory feedback_sync_demo_app: copy changes here after editing in monorepo. |
process_keywords_recovery.slurm |
~/keyword-volume/ (only) |
Recovery script for missed processing — never deployed to monorepo. Memory project_processing_recovery_script. |
| The keyword-volume KB (this site) | monorepo | mkdocs service keyword-volume-kb points at monorepo/.../kb/. Memory project_kb_no_home_sync. |
Rules¶
- Edit in monorepo first. That's the source of truth.
- Sync to
~/keyword-volume/only when the running process needs it. Per memoryfeedback_no_overwrite_home_scripts: always ask before overwriting files in~/keyword-volume/. Don't blindly rsync. - KB-ANCHORs must be applied to both copies when the file lives in both places —
keep_running.shis the only such file with anchors today.
Failure mode this guards against¶
The split exists because some scripts need to be edited while production is running and need predictable on-disk state across operator restarts. Letting them live only in monorepo would mean every git pull could change runtime behaviour mid-cycle; letting them live only in ~/keyword-volume/ would lose version control. Two copies + explicit sync gives operators a moment to verify before the new code goes live.
See also¶
- keep-running — the canonical example of a script that runs from
~/keyword-volume/ - Memory:
feedback_no_overwrite_home_scripts,feedback_sync_demo_app,project_kb_no_home_sync,project_processing_recovery_script