@a5c-ai/babysitter-codex 0.1.6-staging.2dca8387
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex/AGENTS.md +53 -0
- package/.codex/command-catalog.json +130 -0
- package/.codex/config.toml +24 -0
- package/.codex/hooks/babysitter-session-start.sh +15 -0
- package/.codex/hooks/babysitter-stop-hook.sh +15 -0
- package/.codex/hooks/user-prompt-submit.sh +15 -0
- package/.codex/hooks.json +37 -0
- package/.codex/plugin.json +132 -0
- package/.codex/skills/babysitter/assimilate/SKILL.md +58 -0
- package/.codex/skills/babysitter/call/SKILL.md +590 -0
- package/.codex/skills/babysitter/doctor/SKILL.md +89 -0
- package/.codex/skills/babysitter/forever/SKILL.md +45 -0
- package/.codex/skills/babysitter/help/SKILL.md +49 -0
- package/.codex/skills/babysitter/issue/SKILL.md +36 -0
- package/.codex/skills/babysitter/model/SKILL.md +31 -0
- package/.codex/skills/babysitter/observe/SKILL.md +38 -0
- package/.codex/skills/babysitter/plan/SKILL.md +44 -0
- package/.codex/skills/babysitter/project-install/SKILL.md +65 -0
- package/.codex/skills/babysitter/resume/SKILL.md +30 -0
- package/.codex/skills/babysitter/retrospect/SKILL.md +43 -0
- package/.codex/skills/babysitter/team-install/SKILL.md +31 -0
- package/.codex/skills/babysitter/user-install/SKILL.md +53 -0
- package/.codex/skills/babysitter/yolo/SKILL.md +48 -0
- package/AGENTS.md +91 -0
- package/CHANGELOG.md +162 -0
- package/README.md +146 -0
- package/SKILL.md +89 -0
- package/agents/openai.yaml +4 -0
- package/babysitter.lock.json +18 -0
- package/bin/postinstall.js +225 -0
- package/bin/uninstall.js +37 -0
- package/commands/README.md +23 -0
- package/commands/assimilate.md +27 -0
- package/commands/call.md +30 -0
- package/commands/doctor.md +27 -0
- package/commands/forever.md +27 -0
- package/commands/help.md +28 -0
- package/commands/issue.md +27 -0
- package/commands/model.md +27 -0
- package/commands/observe.md +27 -0
- package/commands/plan.md +27 -0
- package/commands/project-install.md +31 -0
- package/commands/resume.md +29 -0
- package/commands/retrospect.md +27 -0
- package/commands/team-install.md +29 -0
- package/commands/user-install.md +27 -0
- package/commands/yolo.md +28 -0
- package/package.json +50 -0
- package/scripts/team-install.js +257 -0
- package/test/integration.test.js +69 -0
- package/test/packaged-install.test.js +191 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Agent Instructions -- Babysitter for Codex CLI
|
|
2
|
+
|
|
3
|
+
This file governs agent behavior when the `babysitter-codex` skill bundle is
|
|
4
|
+
installed into Codex. Babysitter owns orchestration through the SDK runtime and
|
|
5
|
+
Codex lifecycle hooks. Do not replace that model with an external orchestrator
|
|
6
|
+
for the plugin path.
|
|
7
|
+
|
|
8
|
+
## 1. How Babysitter Integrates With Codex
|
|
9
|
+
|
|
10
|
+
Babysitter for Codex is made of:
|
|
11
|
+
|
|
12
|
+
- the installed Codex skill payload under `~/.codex/skills/babysitter-codex`
|
|
13
|
+
- workspace `.codex/hooks.json` registrations
|
|
14
|
+
- workspace `.codex/config.toml` feature flags
|
|
15
|
+
- the `.a5c/` runtime state directory
|
|
16
|
+
- the Babysitter SDK CLI for run creation, iteration, status, and result posting
|
|
17
|
+
|
|
18
|
+
The plugin path supports only the hooks model:
|
|
19
|
+
|
|
20
|
+
- `SessionStart` seeds session state needed by the runtime
|
|
21
|
+
- `UserPromptSubmit` can transform or enrich prompt-time context
|
|
22
|
+
- `Stop` is the continuation point that keeps Babysitter in the orchestration loop
|
|
23
|
+
|
|
24
|
+
Do not introduce an app-server loop, a polling wrapper, or a hidden supervisor
|
|
25
|
+
for normal Codex plugin operation.
|
|
26
|
+
|
|
27
|
+
## 2. User-Facing Activation
|
|
28
|
+
|
|
29
|
+
Prefer natural language command phrases inside Codex, for example:
|
|
30
|
+
|
|
31
|
+
- `babysitter call <goal>`
|
|
32
|
+
- `babysitter resume`
|
|
33
|
+
- `babysitter doctor`
|
|
34
|
+
- `babysitter team-install`
|
|
35
|
+
- `babysitter project-install`
|
|
36
|
+
|
|
37
|
+
Treat these as the Codex-facing entrypoints. Raw SDK CLI commands are runtime
|
|
38
|
+
plumbing and should stay behind the skill and hook flow unless the task
|
|
39
|
+
explicitly requires low-level diagnosis.
|
|
40
|
+
|
|
41
|
+
## 3. Runtime Contract
|
|
42
|
+
|
|
43
|
+
Babysitter orchestration is driven with the SDK CLI:
|
|
44
|
+
|
|
45
|
+
- `babysitter run:create`
|
|
46
|
+
- `babysitter run:iterate`
|
|
47
|
+
- `babysitter run:status`
|
|
48
|
+
- `babysitter task:list`
|
|
49
|
+
- `babysitter task:post`
|
|
50
|
+
- `babysitter process-library:active`
|
|
51
|
+
|
|
52
|
+
When a Codex session identifier is available, bind it honestly with
|
|
53
|
+
`--harness codex --session-id <id>`.
|
|
54
|
+
|
|
55
|
+
Never fabricate session IDs. Never write task `result.json` files directly.
|
|
56
|
+
Write the value payload to the task output location and post it through
|
|
57
|
+
`babysitter task:post`.
|
|
58
|
+
|
|
59
|
+
## 4. Process Library Model
|
|
60
|
+
|
|
61
|
+
The Codex package does not bundle the process library. Workspace onboarding must
|
|
62
|
+
use the SDK CLI to clone or update the upstream Babysitter repository and bind
|
|
63
|
+
the active process root for the current workspace.
|
|
64
|
+
|
|
65
|
+
Preferred lookup order:
|
|
66
|
+
|
|
67
|
+
1. project-local `.a5c/processes`
|
|
68
|
+
2. the active process-library binding from
|
|
69
|
+
`babysitter process-library:active --state-dir .a5c --json`
|
|
70
|
+
|
|
71
|
+
Do not instruct users to copy process files out of the package payload.
|
|
72
|
+
|
|
73
|
+
## 5. Hook-Driven Loop Rules
|
|
74
|
+
|
|
75
|
+
During an active run:
|
|
76
|
+
|
|
77
|
+
1. create or resume the run
|
|
78
|
+
2. execute the current requested work
|
|
79
|
+
3. post the result back through the SDK
|
|
80
|
+
4. yield control so the `Stop` hook can decide the next continuation step
|
|
81
|
+
|
|
82
|
+
Do not manually spin a multi-iteration loop inside one Codex turn when the hook
|
|
83
|
+
model is active. The runtime must remain aligned with the lifecycle hooks.
|
|
84
|
+
|
|
85
|
+
## 6. Completion
|
|
86
|
+
|
|
87
|
+
Only when the run is actually completed should the final proof be emitted as:
|
|
88
|
+
|
|
89
|
+
`<promise>PROOF_VALUE</promise>`
|
|
90
|
+
|
|
91
|
+
Do not emit a promise tag early.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Dropped the bundled `upstream/babysitter` snapshot from the plugin payload.
|
|
9
|
+
- `team-install` and postinstall onboarding now rely on the SDK CLI to
|
|
10
|
+
clone/update/use the original process library for the active workspace.
|
|
11
|
+
- Packaged docs and tests no longer claim deleted runtime artifacts such as the
|
|
12
|
+
old process-mining helper or maintainer runbook.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- Added manifest scripts and `prepack` regeneration so packaged integrity data
|
|
16
|
+
matches the actual shipped payload.
|
|
17
|
+
- Updated packaged metadata to point at the `a5c-ai/babysitter` repository.
|
|
18
|
+
|
|
19
|
+
## [0.1.5] - 2026-03-11
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- Team setup/install flow and lock architecture:
|
|
23
|
+
- `babysitter.lock.json`
|
|
24
|
+
- `babysitter:team-install`
|
|
25
|
+
- `scripts/team-install.js`
|
|
26
|
+
- Runtime/content package split scaffolding (`packages/runtime`, `packages/content`).
|
|
27
|
+
- Layered rules resolution and defaults (`.codex/rules-resolver.js`, `config/rules/*`).
|
|
28
|
+
- Lazy process index cache (`.codex/process-index.js`) integrated into discovery.
|
|
29
|
+
- Content integrity pipeline:
|
|
30
|
+
- `scripts/generate-content-manifest.js`
|
|
31
|
+
- `scripts/verify-content-manifest.js`
|
|
32
|
+
- `config/content-manifest.json`
|
|
33
|
+
- Mapping contract checks and CI gates (`scripts/check-mapping-contract.js`, workflow updates).
|
|
34
|
+
- Architecture docs:
|
|
35
|
+
- `docs/ARCHITECTURE_UPGRADES_1_8.md`
|
|
36
|
+
- `docs/CODEX_MAPPING.md` updates
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
- Plugin manifest version bumped to `4.0.149`.
|
|
40
|
+
- npm package version bumped to `0.1.5`.
|
|
41
|
+
- README updated for version/mode changes and refreshed Blame Beni section.
|
|
42
|
+
- Fixed command metadata regression in `.codex/plugin.json` (restored per-command descriptions).
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
- Runtime/content package split scaffolding:
|
|
46
|
+
- `packages/runtime`
|
|
47
|
+
- `packages/content`
|
|
48
|
+
- Lock and install architecture:
|
|
49
|
+
- `babysitter.lock.json`
|
|
50
|
+
- `scripts/team-install.js`
|
|
51
|
+
- new command: `babysitter:team-install`
|
|
52
|
+
- Layered rules architecture:
|
|
53
|
+
- `.codex/rules-resolver.js`
|
|
54
|
+
- `config/rules/upstream-base.json`
|
|
55
|
+
- `config/rules/team/default.json`
|
|
56
|
+
- Lazy process library indexing:
|
|
57
|
+
- `.codex/process-index.js`
|
|
58
|
+
- discovery integration for indexed lookup metadata
|
|
59
|
+
- Secure content channel primitives:
|
|
60
|
+
- `scripts/generate-content-manifest.js`
|
|
61
|
+
- `scripts/verify-content-manifest.js`
|
|
62
|
+
- optional HMAC signature validation
|
|
63
|
+
- Mapping contract gate:
|
|
64
|
+
- `scripts/check-mapping-contract.js`
|
|
65
|
+
- CI enforcement (`check:mapping`, `manifest:verify`, `team:install` smoke)
|
|
66
|
+
- Bundled full upstream Babysitter skill/process/reference library snapshot under `upstream/babysitter/`.
|
|
67
|
+
- Added Codex command mapping manifest: `config/codex-command-map.json`.
|
|
68
|
+
- Added new Codex command mode: `babysitter:retrospect`.
|
|
69
|
+
- Added mapping/runtime helpers:
|
|
70
|
+
- `.codex/process-library.js`
|
|
71
|
+
- `.codex/codex-mapping.js`
|
|
72
|
+
- discovery now reports mapped `processLibraryRoot`/`referenceRoot`.
|
|
73
|
+
- Foundation modules for prioritized roadmap delivery:
|
|
74
|
+
- feature flags (`.codex/feature-flags.js`)
|
|
75
|
+
- session index (`.codex/state-index.js`)
|
|
76
|
+
- event stream + notifications (`.codex/event-stream.js`)
|
|
77
|
+
- policy engine (`.codex/policy-engine.js`)
|
|
78
|
+
- model routing (`.codex/model-router.js`)
|
|
79
|
+
- telemetry + budget checks (`.codex/telemetry.js`)
|
|
80
|
+
- workspace manager (`.codex/workspace-manager.js`)
|
|
81
|
+
- MCP doctor scaffold (`.codex/mcp-doctor.js`)
|
|
82
|
+
- eval harness scaffold (`.codex/eval-harness.js`)
|
|
83
|
+
- GitHub issue workflow helper (`.codex/github-workflow.js`)
|
|
84
|
+
- New hook lifecycle types: `on-tool-error`, `on-policy-block`, `on-retry`.
|
|
85
|
+
- Roadmap doc and feature-request issue template.
|
|
86
|
+
- Feature-complete implementation pass for requested items 1-10:
|
|
87
|
+
- selector-based session UX (`list`, `search`, alias/tag management)
|
|
88
|
+
- event stream IDs/sequence and configurable notification sinks (including file sink)
|
|
89
|
+
- policy config with staged approvals + strict allowlists
|
|
90
|
+
- persisted model routing policy (`.a5c/config/model-policy.json`)
|
|
91
|
+
- richer MCP doctor checks + recommendations
|
|
92
|
+
- GitHub issue flow with comments, apply mode, and optional PR update/create paths
|
|
93
|
+
- telemetry history and explicit budget phase states (`normal`/`soft-limit`/`hard-stop`)
|
|
94
|
+
- docs: `docs/FEATURES_1_10.md`
|
|
95
|
+
|
|
96
|
+
### Changed
|
|
97
|
+
- Fixed plugin command metadata regression: per-command descriptions restored in `.codex/plugin.json`.
|
|
98
|
+
- Command surface increased to 15 modes with `team-install`.
|
|
99
|
+
- Updated plugin manifest command set to 15 commands (including `retrospect` and `team-install`) and version `4.0.148`.
|
|
100
|
+
- Updated docs/tests for 15-mode parity and upstream-library mapping.
|
|
101
|
+
- `orchestrate.js` now emits structured events, supports policy/model/telemetry integration, and records session metadata for resume UX.
|
|
102
|
+
- `on-turn-complete` now emits event-stream notifications.
|
|
103
|
+
- Dispatcher now executes concrete mode handlers for `model`, `issue`, `resume` selectors, and `doctor mcp`.
|
|
104
|
+
- Orchestrator now supports multi-repo alias workdirs and adaptive prompt shrinking under budget pressure.
|
|
105
|
+
- Added upstream sync/parity tooling and documentation (`sync:upstream`, `check:upstream`).
|
|
106
|
+
- Added explicit compatibility policy checks (`check:compat`) and CI enforcement.
|
|
107
|
+
- Added maintainer runbook and real-world validation docs.
|
|
108
|
+
|
|
109
|
+
## [0.1.4] - 2026-03-07
|
|
110
|
+
|
|
111
|
+
### Added
|
|
112
|
+
- First-class macOS support documentation and install verification steps.
|
|
113
|
+
- Cross-platform long-session scenario runner: `test/full-session-long-run.js`.
|
|
114
|
+
- GitHub Actions CI matrix for `macos-13`, `ubuntu-latest`, and `windows-2022` on Node `20` and `22`.
|
|
115
|
+
- Shared SDK package resolver (`.codex/sdk-package.js`) used by runtime/test entrypoints.
|
|
116
|
+
|
|
117
|
+
### Changed
|
|
118
|
+
- Runtime hooks now resolve SDK package via `BABYSITTER_SDK_PACKAGE`/`BABYSITTER_SDK_VERSION` with consistent wrapper invocation.
|
|
119
|
+
- `postinstall` now enforces executable bits (`+x`) for hook shell scripts on non-Windows systems.
|
|
120
|
+
- `npm run test:long-scenario` now uses the cross-platform Node runner.
|
|
121
|
+
|
|
122
|
+
## [0.1.3] - 2026-03-06
|
|
123
|
+
|
|
124
|
+
### Added
|
|
125
|
+
- SDK capability detection with explicit compatibility reporting (`full`, `compat-core`, `unsupported`).
|
|
126
|
+
- Deterministic per-run trace logging at `<runDir>/run-trace.jsonl`.
|
|
127
|
+
- Trace events across run lifecycle (run/iteration/task requested, executed, posted, failed, completed).
|
|
128
|
+
- Windows and Linux installation guides with platform-specific commands.
|
|
129
|
+
- Full long-session scenario runner (`test/full-session-long-run.ps1`) that enforces:
|
|
130
|
+
- at least 3 interview breakpoints
|
|
131
|
+
- at least 1 breakpoint with 4 questions
|
|
132
|
+
- user-choice application checks in generated artifact
|
|
133
|
+
- simulated 60-minute workload
|
|
134
|
+
- strict `score == 100` pass gate
|
|
135
|
+
- Full scenario runbook and helper scripts:
|
|
136
|
+
- `test/FULL_SESSION_SCENARIO.md`
|
|
137
|
+
- npm scripts: `test:scenario`, `test:long-scenario`
|
|
138
|
+
|
|
139
|
+
### Changed
|
|
140
|
+
- Orchestrator startup now fails fast when required core SDK commands are missing.
|
|
141
|
+
- Health diagnostics now include compatibility-aware missing core/advanced command reporting.
|
|
142
|
+
- README now clarifies Babysitter is external to Codex and explains real activation prompts per mode.
|
|
143
|
+
- Requirements documentation now clarifies SDK dependency is installed by `babysitter-codex` (non-circular install guidance).
|
|
144
|
+
|
|
145
|
+
## [0.1.2] - 2026-03-05
|
|
146
|
+
|
|
147
|
+
### Added
|
|
148
|
+
- Codex CLI skill package with one-step global install flow.
|
|
149
|
+
- 11 orchestration modes and hook-based integration.
|
|
150
|
+
|
|
151
|
+
### Notes
|
|
152
|
+
- Baseline for subsequent Codex compatibility and documentation improvements listed under `Unreleased`.
|
|
153
|
+
|
|
154
|
+
## [0.1.1] - 2026-03-04
|
|
155
|
+
|
|
156
|
+
### Added
|
|
157
|
+
- Packaging and installation stability fixes for Codex skill discovery.
|
|
158
|
+
|
|
159
|
+
## [0.1.0] - 2026-03-03
|
|
160
|
+
|
|
161
|
+
### Added
|
|
162
|
+
- Initial `babysitter-codex` release with Codex skill integration baseline.
|
package/README.md
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# @a5c-ai/babysitter-codex
|
|
2
|
+
|
|
3
|
+
Babysitter integration package for OpenAI Codex CLI. It packages Codex-facing
|
|
4
|
+
skills, install helpers, mapping docs, and the hook assets used to keep
|
|
5
|
+
Babysitter in the Codex lifecycle loop.
|
|
6
|
+
|
|
7
|
+
This is a Codex skill bundle plus workspace hook templates. It is not a
|
|
8
|
+
Claude-style manifest plugin, but it does rely on Codex's real lifecycle hook
|
|
9
|
+
engine through `.codex/hooks.json`, and the package postinstall now wires the
|
|
10
|
+
active workspace when the global install is launched from that workspace.
|
|
11
|
+
|
|
12
|
+
## What This Package Owns
|
|
13
|
+
|
|
14
|
+
- Codex skill payload under `~/.codex/skills/babysitter-codex`
|
|
15
|
+
- Codex-facing command docs
|
|
16
|
+
- Codex runtime hook helpers under `.codex/`
|
|
17
|
+
- Codex mapping and compatibility policy for SDK-driven orchestration
|
|
18
|
+
|
|
19
|
+
## Active Process-Library Model
|
|
20
|
+
|
|
21
|
+
`babysitter-codex` does not ship the process library. Workspace onboarding
|
|
22
|
+
fetches the original Babysitter repo through the SDK CLI and binds the active
|
|
23
|
+
process root in `.a5c/active/process-library.json`.
|
|
24
|
+
|
|
25
|
+
Active-use process discovery should prefer:
|
|
26
|
+
|
|
27
|
+
1. Project-local `.a5c/processes`
|
|
28
|
+
2. The SDK-managed active process-library binding returned by
|
|
29
|
+
`babysitter process-library:active --state-dir .a5c --json`
|
|
30
|
+
|
|
31
|
+
`project-install` and `team-install` layer config, rules, profiles, and pinned
|
|
32
|
+
content metadata. They should not be documented as creating an exclusive
|
|
33
|
+
project/team process-library scope.
|
|
34
|
+
|
|
35
|
+
## Codex User Experience
|
|
36
|
+
|
|
37
|
+
Codex should be integrated through its real hook engine:
|
|
38
|
+
|
|
39
|
+
- `SessionStart` initializes Babysitter session state
|
|
40
|
+
- `UserPromptSubmit` handles prompt-time transformations safely
|
|
41
|
+
- `Stop` keeps Babysitter in the orchestration loop after each yielded turn
|
|
42
|
+
|
|
43
|
+
Current contract:
|
|
44
|
+
|
|
45
|
+
- start, resume, and inspect work through Codex command phrases such as
|
|
46
|
+
`babysitter call`, `babysitter resume`, and `babysitter doctor`
|
|
47
|
+
- let the installed Codex hook assets handle runtime state, result posting,
|
|
48
|
+
and continuation
|
|
49
|
+
- stop after each completed phase so the `Stop` hook can decide whether Codex
|
|
50
|
+
exits or receives the next Babysitter iteration message
|
|
51
|
+
- finish only when `completionProof` is emitted and echoed as
|
|
52
|
+
`<promise>...</promise>`
|
|
53
|
+
|
|
54
|
+
Do not document external supervisors, hidden wrapper loops, or `notify` as the
|
|
55
|
+
continuation mechanism for the plugin path.
|
|
56
|
+
|
|
57
|
+
## Installation
|
|
58
|
+
|
|
59
|
+
Install from npm:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm install -g @a5c-ai/babysitter-codex
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If you run that command from inside the target repository, postinstall will:
|
|
66
|
+
|
|
67
|
+
- install the skill payload into `CODEX_HOME`
|
|
68
|
+
- merge `~/.codex/config.toml` so `codex_hooks` is enabled
|
|
69
|
+
- materialize workspace `.codex/hooks.json` and `.codex/config.toml` for the
|
|
70
|
+
active workspace
|
|
71
|
+
- clone or update the original Babysitter repo into `.a5c/process-library/...`
|
|
72
|
+
- bind `.a5c/process-library/.../library` for active use through the SDK CLI
|
|
73
|
+
|
|
74
|
+
If you installed from somewhere else, run:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm install -g @a5c-ai/babysitter-sdk
|
|
78
|
+
babysitter harness:install-plugin codex --workspace /path/to/repo
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`babysitter harness:install-plugin ...` is provided by the SDK CLI, so make
|
|
82
|
+
sure `@a5c-ai/babysitter-sdk` is installed first.
|
|
83
|
+
|
|
84
|
+
Or from a local checkout:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
cd /path/to/babysitter-codex
|
|
88
|
+
npm install -g .
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Verify the installed skill payload:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm ls -g @a5c-ai/babysitter-codex --depth=0
|
|
95
|
+
ls -1 ~/.codex/skills/babysitter-codex
|
|
96
|
+
test -f ~/.codex/skills/babysitter-codex/scripts/team-install.js
|
|
97
|
+
test -f ~/.codex/skills/babysitter-codex/.codex/hooks.json
|
|
98
|
+
test -f ~/.codex/skills/babysitter-codex/.codex/hooks/babysitter-stop-hook.sh
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Verify the active process-library binding:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
babysitter process-library:active --state-dir /path/to/repo/.a5c --json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Manual bootstrap uses the same SDK CLI flow:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
babysitter process-library:clone --repo https://github.com/a5c-ai/babysitter.git --dir .a5c/process-library/babysitter-repo
|
|
111
|
+
babysitter process-library:use --dir .a5c/process-library/babysitter-repo/library --state-dir .a5c
|
|
112
|
+
babysitter process-library:active --state-dir .a5c --json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Quick Start
|
|
116
|
+
|
|
117
|
+
Use command phrases in Codex chat:
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
babysitter help
|
|
121
|
+
babysitter call implement authentication with tests
|
|
122
|
+
babysitter yolo fix lint and failing tests
|
|
123
|
+
babysitter resume latest incomplete run
|
|
124
|
+
babysitter doctor current run
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
For Codex users, the expected interface is the Codex command phrases plus the
|
|
128
|
+
workspace hook install created by onboarding. Raw Babysitter CLI primitives are
|
|
129
|
+
internal harness details and live in the Codex skill, not in this user-facing
|
|
130
|
+
README.
|
|
131
|
+
|
|
132
|
+
## Project And Team Install
|
|
133
|
+
|
|
134
|
+
Use `babysitter team-install` and `babysitter project-install` from Codex chat
|
|
135
|
+
when you want workspace onboarding. They layer pinned config and setup around
|
|
136
|
+
the active process roots already used at runtime; they are not the source of
|
|
137
|
+
truth for process discovery.
|
|
138
|
+
|
|
139
|
+
## Documentation
|
|
140
|
+
|
|
141
|
+
- [commands/README.md](./commands/README.md)
|
|
142
|
+
- Internal orchestration details: [.codex/skills/babysitter/call/SKILL.md](./.codex/skills/babysitter/call/SKILL.md)
|
|
143
|
+
|
|
144
|
+
## License
|
|
145
|
+
|
|
146
|
+
MIT
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter-codex
|
|
3
|
+
description: >-
|
|
4
|
+
Run babysitter workflows from Codex using real Codex surfaces: skills,
|
|
5
|
+
AGENTS.md guidance, project config, lifecycle hooks, and the Babysitter SDK
|
|
6
|
+
runtime loop.
|
|
7
|
+
Use when the user wants to babysit a task, resume a run, diagnose run health,
|
|
8
|
+
install the Codex skill, or assimilate a methodology for Codex.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Babysitter for Codex CLI
|
|
12
|
+
|
|
13
|
+
Babysitter on Codex is implemented as:
|
|
14
|
+
|
|
15
|
+
- Codex-facing instructions and skills
|
|
16
|
+
- A workspace `.codex/hooks.json` with `SessionStart`, `UserPromptSubmit`, and
|
|
17
|
+
`Stop` registrations
|
|
18
|
+
- A `.a5c` state directory in the target workspace
|
|
19
|
+
- The Babysitter SDK run/task loop that owns `run:create`, `run:iterate`,
|
|
20
|
+
`task:post`, breakpoint handling, and resume behavior
|
|
21
|
+
- Optional `notify` monitoring only as secondary telemetry
|
|
22
|
+
|
|
23
|
+
Codex does expose real lifecycle hooks for this package on supported
|
|
24
|
+
installations. Do not replace them with an external orchestrator or claim that
|
|
25
|
+
`notify` owns continuation.
|
|
26
|
+
Codex also does not expose a native installable plugin manifest for this
|
|
27
|
+
package. Treat `.codex/command-catalog.json` as Babysitter compatibility
|
|
28
|
+
metadata for the skill bundle, not as a Codex platform feature.
|
|
29
|
+
|
|
30
|
+
## Choosing a Mode
|
|
31
|
+
|
|
32
|
+
Read the matching sub-skill from `.codex/skills/babysitter/<mode>/SKILL.md`.
|
|
33
|
+
If the user intent is unclear, default to `call/SKILL.md`.
|
|
34
|
+
|
|
35
|
+
| User intent | Mode |
|
|
36
|
+
|-------------|------|
|
|
37
|
+
| Start an orchestration run | `call` |
|
|
38
|
+
| Run autonomously | `yolo` |
|
|
39
|
+
| Resume an existing run | `resume` |
|
|
40
|
+
| Plan without executing | `plan` |
|
|
41
|
+
| Diagnose run health | `doctor` |
|
|
42
|
+
| Help and documentation | `help` |
|
|
43
|
+
| Install into a project | `project-install` |
|
|
44
|
+
| Install user profile/setup | `user-install` |
|
|
45
|
+
| Install team-pinned setup | `team-install` |
|
|
46
|
+
| Assimilate external methodology | `assimilate` |
|
|
47
|
+
|
|
48
|
+
## Internal Runtime Contract
|
|
49
|
+
|
|
50
|
+
Use the babysitter SDK CLI for orchestration:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
babysitter run:create --process-id <id> --entry <path>#<export> ...
|
|
54
|
+
babysitter run:iterate <runDir> --json --iteration <n>
|
|
55
|
+
babysitter run:status <runDir> --json
|
|
56
|
+
babysitter task:list <runDir> --pending --json
|
|
57
|
+
babysitter task:post <runDir> <effectId> --status ok --value <file> --json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
When a Codex session ID is available, bind it honestly:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
babysitter run:create ... --harness codex --session-id <id> --state-dir .a5c --json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Result Posting Protocol
|
|
67
|
+
|
|
68
|
+
1. Write the result value to `tasks/<effectId>/output.json`
|
|
69
|
+
2. Post it with `babysitter task:post`
|
|
70
|
+
3. Never write `result.json` directly
|
|
71
|
+
|
|
72
|
+
## Codex Hook Loop
|
|
73
|
+
|
|
74
|
+
The workspace onboarding flow should install `.codex/config.toml` and
|
|
75
|
+
`.codex/hooks.json` so:
|
|
76
|
+
|
|
77
|
+
1. `SessionStart` seeds `.a5c` session state
|
|
78
|
+
2. `UserPromptSubmit` performs prompt-time transformations when needed
|
|
79
|
+
3. `Stop` decides whether the run is complete or Codex should receive the next
|
|
80
|
+
Babysitter iteration context
|
|
81
|
+
|
|
82
|
+
## Codex-Specific Rules
|
|
83
|
+
|
|
84
|
+
- Prefer natural-language activation such as `babysitter call ...`
|
|
85
|
+
- Legacy `/babysitter:*` aliases may exist only as optional user-installed
|
|
86
|
+
prompt sugar; they are not a native Codex plugin feature
|
|
87
|
+
- Never fabricate a session ID when none is available from Codex or the caller
|
|
88
|
+
- Use `notify` only for monitoring and telemetry, never as the orchestration
|
|
89
|
+
control loop
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"generatedAt": "2026-03-11T00:00:00.000Z",
|
|
4
|
+
"runtime": {
|
|
5
|
+
"name": "@a5c/babysitter-codex-runtime",
|
|
6
|
+
"version": "0.1.4"
|
|
7
|
+
},
|
|
8
|
+
"content": {
|
|
9
|
+
"name": "@a5c/babysitter-codex-content",
|
|
10
|
+
"version": "0.1.4",
|
|
11
|
+
"processLibrary": {
|
|
12
|
+
"repo": "https://github.com/a5c-ai/babysitter.git",
|
|
13
|
+
"processSubpath": "library",
|
|
14
|
+
"referenceSubpath": "library/reference",
|
|
15
|
+
"snapshotCommit": "unknown"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|