Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docker/codex-workspace/cron/codex_cron_lib.bb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[clojure.edn :as edn]
[clojure.string :as str]))

(def default-root "/home/boxp/.codex-cron")
(def default-root "/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron")
(def default-registry "jobs.edn")
(def default-state "jobs-state.edn")

Expand Down
2 changes: 1 addition & 1 deletion docker/codex-workspace/cron/run-codex-cron.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if [[ -z "${job_id}" ]]; then
exit 2
fi

cron_root="${CODEX_CRON_ROOT:-/home/boxp/.codex-cron}"
cron_root="${CODEX_CRON_ROOT:-/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron}"

eval "$(
bb /opt/codex-workspace/cron/select-codex-cron-job.bb "${job_id}"
Expand Down
2 changes: 1 addition & 1 deletion docker/codex-workspace/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ install -d -m 0755 /run/sshd
install -d -o boxp -g boxp -m 0755 /home/boxp
/usr/sbin/runuser -u boxp -- install -d -m 0700 /home/boxp/.ssh
/usr/sbin/runuser -u boxp -- install -d -m 0755 /home/boxp/.codex/skills
/usr/sbin/runuser -u boxp -- install -d -m 0755 /home/boxp/.codex-cron
/usr/sbin/runuser -u boxp -- install -d -m 0755 "/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron"
/usr/sbin/runuser -u boxp -- install -d -m 0755 /home/boxp/ghq

if [[ -d /opt/codex-workspace/skills ]]; then
Expand Down
14 changes: 7 additions & 7 deletions docker/codex-workspace/skills/codex-workspace-cron/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
name: codex-workspace-cron
description: Manage Codex workspace scheduled prompt jobs stored under ~/.codex-cron. Use when the user asks to list, show, add, edit, enable, disable, delete, or manually run Codex cron jobs.
description: Manage Codex workspace scheduled prompt jobs stored in the Obsidian vault. Use when the user asks to list, show, add, edit, enable, disable, delete, or manually run Codex cron jobs.
---

# Codex Workspace Cron

Use this skill to operate the Codex workspace prompt scheduler from inside the Codex workspace.

The live scheduler reads and writes only the workspace home PVC:
The live scheduler reads and writes only the Obsidian vault path on the workspace home PVC:

- `/home/boxp/.codex-cron/jobs.edn`: job registry.
- `/home/boxp/.codex-cron/prompts/*.md`: prompt bodies.
- `/home/boxp/.codex-cron/jobs-state.edn`: scheduler bookkeeping.
- `/home/boxp/.codex-cron/runs/<job>/<run-id>/`: run logs.
- `/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron/jobs.edn`: job registry.
- `/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron/prompts/*.md`: prompt bodies.
- `/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron/jobs-state.edn`: scheduler bookkeeping.
- `/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron/runs/<job>/<run-id>/`: run logs.

## Workflow

Expand Down Expand Up @@ -80,4 +80,4 @@ bb ~/.codex/skills/codex-workspace-cron/scripts/codex_cron_jobs.bb run daily-rep

- Confirm schedule, prompt, and enabled state before turning a job on.
- The scheduler supports standard 5-field cron expressions and polls every 30 seconds by default.
- Do not edit Kubernetes CronJobs for individual schedules; the resident scheduler sidecar reads `~/.codex-cron/jobs.edn`.
- Do not edit Kubernetes CronJobs for individual schedules; the resident scheduler sidecar reads the Obsidian vault `Codex Cron/jobs.edn`.
17 changes: 17 additions & 0 deletions docs/project_docs/codex-cron-obsidian-root/plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# codex-cron-obsidian-root: Codex cron root を Obsidian vault に寄せる

## Goal

Codex workspace cron の source of truth を `~/.codex-cron` symlink ではなく、Obsidian vault 上の実体 `/home/boxp/Documents/obsidian-headless/BOXP/Infrastructure/Codex Cron` にする。

## Plan

1. `docker/codex-workspace/cron/codex_cron_lib.bb` の default root を Obsidian vault path に変更する。
2. `docker/codex-workspace/cron/run-codex-cron.sh` の fallback root も同じ path に変更する。
3. `docker/codex-workspace/entrypoint.sh` では `~/.codex-cron` を作らず、Obsidian vault path を作成する。
4. bundled `codex-workspace-cron` skill の説明を vault path 前提に更新する。

## Validation

- `bash -n docker/codex-workspace/entrypoint.sh docker/codex-workspace/cron/run-codex-cron.sh`
- `bb docker/codex-workspace/skills/codex-workspace-cron/scripts/codex_cron_jobs.bb list`
Loading