agent-bios 0.15.0 → 0.17.0
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/DEPENDENCIES.md +37 -13
- package/README.md +421 -32
- package/claude/CLAUDE.md +3 -3
- package/claude/agents/frontier.md +1 -1
- package/claude/agents/sweep.md +3 -3
- package/claude/agents/workhorse.md +2 -2
- package/claude/guides/claude-prompting.md +72 -39
- package/claude/guides/cli-multi-model-workflow.md +33 -15
- package/claude/guides/gpt-prompting.md +103 -39
- package/claude/guides/review-request.md +27 -0
- package/claude/guides/session-distill-workflow.md +54 -2
- package/claude/guides/slide-writing/RUNBOOK.md +137 -0
- package/claude/guides/slide-writing/scripts/pair.py +979 -0
- package/claude/guides/slide-writing/scripts/render.mjs +82 -0
- package/claude/guides/slide-writing.md +195 -0
- package/claude/guides/svg-visualization-guide.md +9 -0
- package/claude/guides/tooling-gotchas.md +1 -1
- package/claude/guides/verification-discipline.md +5 -1
- package/claude/hooks/tooling-gotchas-hook.py +9 -14
- package/claude/skills/understand/SKILL.md +83 -0
- package/codex/AGENTS.md +3 -3
- package/codex/agents/frontier.toml +2 -1
- package/codex/agents/reviewer.toml +1 -1
- package/codex/agents/sweep.toml +3 -3
- package/codex/agents/workhorse.toml +1 -1
- package/codex/config-additions.toml +1 -1
- package/codex/guides/claude-prompting.md +72 -39
- package/codex/guides/cli-multi-model-workflow.md +33 -15
- package/codex/guides/gpt-prompting.md +103 -39
- package/codex/guides/review-request.md +27 -0
- package/codex/guides/session-distill-workflow.md +54 -2
- package/codex/guides/slide-writing/RUNBOOK.md +137 -0
- package/codex/guides/slide-writing/scripts/pair.py +979 -0
- package/codex/guides/slide-writing/scripts/render.mjs +82 -0
- package/codex/guides/slide-writing.md +195 -0
- package/codex/guides/svg-visualization-guide.md +9 -0
- package/codex/guides/tooling-gotchas.md +1 -1
- package/codex/guides/verification-discipline.md +5 -1
- package/compose/assemble.py +290 -14
- package/compose/bootstrap/SKILL.md +129 -0
- package/compose/check-domains.py +102 -9
- package/compose/corpus-state.py +4 -0
- package/compose/corpus.py +387 -0
- package/compose/corpus_catalog.py +931 -0
- package/compose/corpus_install.py +1670 -0
- package/compose/corpus_session.py +825 -0
- package/compose/corpus_store.py +1423 -0
- package/compose/corpus_transaction.py +256 -0
- package/compose/corpus_ui.py +655 -0
- package/compose/corpus_understand.py +522 -0
- package/compose/domains.json +102 -100
- package/compose/register-hooks.py +6 -8
- package/install.sh +84 -18
- package/launch/agent-launch.py +1413 -193
- package/launch/agent-launch.toml +12 -16
- package/launch/agent-launch.zsh +16 -2
- package/launch/i18n/en.toml +135 -7
- package/launch/i18n/ja.toml +135 -7
- package/launch/i18n/ko.toml +135 -7
- package/launch/shell_integration.py +267 -0
- package/learn/collect-learning.py +46 -19
- package/learn/migrate-learnings.py +10 -1
- package/package.json +13 -3
- package/provenance.json +1 -1
- package/session-cost.py +22 -2
- package/wrappers/codex-helm.sh +3 -3
package/DEPENDENCIES.md
CHANGED
|
@@ -8,12 +8,12 @@ Korean: [`ko/DEPENDENCIES.md`](ko/DEPENDENCIES.md). Dates = verification time; u
|
|
|
8
8
|
|
|
9
9
|
| Tool | Required by | Required capability | Verified |
|
|
10
10
|
| --- | --- | --- | --- |
|
|
11
|
-
| `codex` (codex-cli) | `
|
|
11
|
+
| `codex` (codex-cli) | `compose/corpus_session.py`, `launch/agent-launch.py`, `wrappers/codex-run.sh`, `wrappers/codex-helm.sh`; guide "Codex direct-drive" + "Session relocation" bindings | per-call `-c`; cwd-aware `app-server --stdio` `config/read`; durable `thread/start`, `thread/inject_items`, and `thread/read`; `codex resume`; existing `codex exec` and agent-config projection. The corpus session tests exercise config preservation and durable thread identity without a model turn | 0.153.4 · 2026-09-07 |
|
|
12
12
|
| `bash` | `install.sh`, `*/*.sh` | POSIX + arrays; runs on macOS system bash | 3.2.57 · 2026-07 |
|
|
13
|
-
| `python3` | `session-cost.py`, `launch/agent-launch.py` | stdlib
|
|
14
|
-
| `textual` (managed venv) | `launch/agent-launch.py`
|
|
13
|
+
| `python3` | `compose/corpus.py`, `compose/corpus_install.py`, `compose/corpus_session.py`, `compose/corpus_store.py`, `session-cost.py`, `launch/agent-launch.py` | Python 3.11+ stdlib (`tomllib`) owns every machine/non-TTY path, private file transaction, catalog/store operation, session journal, and numbered fallback. Textual is imported only for the interactive clients | 3.14.5 · 2026-09-07 |
|
|
14
|
+
| `textual` (managed venv) | `launch/agent-launch.py` preflight and `compose/corpus_ui.py` Corpus Studio; provisioner is `launch/provision-venv.sh` | Textual runtime in `~/.local/share/agent-launch/venv` (override `AGENT_LAUNCH_VENV`); each interactive client re-execs into it only on its TTY path. The private installer does not currently run the provisioner, so a fresh machine without that runtime uses numbered UI. Corpus Studio uses `Tree`, `MarkdownViewer(open_links=False)`, `TextArea(language="markdown")`, and `Select`; its numbered editor uses `$VISUAL`/`$EDITOR` when set | 8.2.8 · py 3.14.5 · 2026-09-07 |
|
|
15
15
|
| `jsonschema` (system python) | `learn/check-learning.py` (learning record gate; chained from `gates/check-parity.sh`) | JSON Schema Draft 2020-12 validator executing `learn/learning.schema.json` as the SSOT | 4.26.0 · 2026-07-20 |
|
|
16
|
-
| `zsh` | `launch/agent-launch.zsh` | functions, TTY tests, argument-preserving dispatch | 5.9 · 2026-07-13 |
|
|
16
|
+
| `zsh` | `launch/agent-launch.zsh` | legacy compatibility/regression path only: shell functions, TTY tests, argument-preserving dispatch. The private default does not install shell interception | 5.9 · 2026-07-13 |
|
|
17
17
|
| `git` | scripts, workflow (`origin/<base>..HEAD`, worktrees) | modern git; worktree support | 2.50.1 · 2026-07 |
|
|
18
18
|
| coreutils (`mktemp`, `cp`) | `codex-run.sh` hermetic home; `codex-helm.sh` managed home | BSD or GNU | 2026-07 |
|
|
19
19
|
|
|
@@ -21,8 +21,23 @@ Korean: [`ko/DEPENDENCIES.md`](ko/DEPENDENCIES.md). Dates = verification time; u
|
|
|
21
21
|
|
|
22
22
|
| CLI | Role | Required capability | Version owner |
|
|
23
23
|
| --- | --- | --- | --- |
|
|
24
|
-
| Claude Code | primary host
|
|
25
|
-
| Codex CLI | mirror host;
|
|
24
|
+
| Claude Code | primary host and `agent-launch` backend; native global/project loading remains native | `--model`; effort `low/medium/high/xhigh/max`; `--agents`; per-call `--append-system-prompt`; `--session-id` and `--resume`; `--mcp-config`; `--plugin-dir`; permission modes `acceptEdits/auto/bypassPermissions/manual/dontAsk/plan`. Default-off `--corpus-native` validates and supplies per-item plugin roots for installed corpus carriers; automatic SessionStart execution is observed. Authenticated corpus-agent execution and post-fix authenticated resume remain unverified | Environment Binding; installed CLI 2.1.263 checked 2026-09-08 |
|
|
25
|
+
| Codex CLI | mirror host and worker/reviewer runtime; native global/project loading remains native | private corpus composition preserves cwd-aware effective developer instructions, injects the selected snapshot per call, and pins the host id after `thread/start` + `thread/inject_items` + `thread/read`; see codex row above | Environment Binding + this file |
|
|
26
|
+
|
|
27
|
+
Optional user-global instruction exclusion in `compose/corpus_session.py` requires
|
|
28
|
+
Claude Code 2.1.263 or newer. Its native `claudeMdExcludes` setting is supplied once
|
|
29
|
+
through `--settings`; native configuration arrays union/deduplicate, but repeated
|
|
30
|
+
CLI `--settings` options replace one another, so the adapter refuses that collision.
|
|
31
|
+
Actual include/exclude/resume startup preserved project instruction sources and
|
|
32
|
+
omitted the global root/imports/user rules on 2026-09-08. Codex 0.153.4 has no
|
|
33
|
+
equivalent supported native control; exclusion is refused without changing its
|
|
34
|
+
execution sandbox or configuration home.
|
|
35
|
+
|
|
36
|
+
Claude Haiku 4.5 calls omit `--effort` and the native agent `effort` field.
|
|
37
|
+
The SWEEP-main route requires `--restricted`, `--tools`, `--strict-mcp-config`
|
|
38
|
+
and `--mcp-config`; installed Claude Code 2.1.263 accepts these parser options.
|
|
39
|
+
Its projection uses Read/Glob/Grep and an empty MCP configuration, with no child
|
|
40
|
+
delegation. This is a parser/projection check, not a new model-generation receipt.
|
|
26
41
|
|
|
27
42
|
## LLM models & providers — owned by `Environment Binding`
|
|
28
43
|
|
|
@@ -31,21 +46,26 @@ Concrete role-slot→model bindings live only in each guide's `Environment Bindi
|
|
|
31
46
|
- Providers: **Anthropic** (Claude — Fable/Opus/Sonnet/Haiku), **OpenAI** (GPT / Codex).
|
|
32
47
|
- Auth: Anthropic via Claude Code login; OpenAI via ChatGPT subscription or API key (`$CODEX_HOME/auth.json`).
|
|
33
48
|
|
|
34
|
-
##
|
|
49
|
+
## Private corpus assets
|
|
35
50
|
|
|
36
|
-
- **
|
|
51
|
+
- **Native corpus hooks** — `--corpus-native` uses one shared installed Python carrier and typed event/matcher on both hosts. Claude Code 2.1.268 validates per-item plugins and receives them by `--plugin-dir`; Codex CLI 0.153.4 receives inline session hook config and exposes it through `hooks/list`. Existing native hooks remain, global config is unchanged, and Codex's native enablement/trust review still applies. The installed Codex runtime has a local-transport positive/negative test for execution and context injection; discovery alone is not execution.
|
|
52
|
+
- **Claude native corpus agents** — selected agent carriers use the same per-item plugin packaging and retain their authored frontmatter, including tool restrictions. Routes are plugin-qualified rather than launcher tier names. A Codex agent projection is separate work on agent semantics, not a hook restriction.
|
|
53
|
+
- **Codex custom agents** (`codex/agents/*.toml`) — role-template sources stored in the immutable private release. The default installer does not register templates in the native host home.
|
|
54
|
+
- **Corpus management bootstrap** (`compose/bootstrap/SKILL.md`) — copied into every activated immutable snapshot and named by exact private path in startup text. This is private procedure access, not a claim of native skill registration.
|
|
37
55
|
|
|
38
56
|
## Referenced / optional — not required by the core repo
|
|
39
57
|
|
|
58
|
+
- **Slide-writing static HTML/PDF companion** — the primary slide-writing guide needs no renderer. Its explicit static HTML/PDF job path uses Python 3.11+ standard libraries for preparation, binding checks, and result acceptance. Rendering additionally requires an explicit Node executable, Playwright module file, `pdf-lib` resolvable beside that module, and a Chromium-family browser executable. These are job-side dependencies, not installed by corpus delivery. Verified on 2026-09-09: Node 24.19.0, Playwright 1.62.1, pdf-lib 1.17.1, Chromium-family browser 152.0.7977.83. The companion runbook owns invocation and supported-format limits.
|
|
59
|
+
|
|
40
60
|
- **Deep review** — no separate tool on either side. The Codex-seat deep reviewer (`codex-exec`) is the `codex` CLI's own non-interactive exec mode: `codex exec -s read-only -m gpt-5.6-sol -c model_reasoning_effort="ultra"`, self-contained packet on stdin (`-s read-only`, `-c model_reasoning_effort` and `-c service_tier` verified against installed codex-cli 0.146.0; `-c service_tier="fast"` is the explicit faster, shallower opt-in; `-s read-only` enforces the promised sandbox — ambient `~/.codex` config stays inherited, so the route is read-only but not hermetic). The Claude-seat deep reviewer (**ultracode**) is the `claude` backend itself run headless with the keyword `ultracode` in the prompt — that keyword is what opens the Workflow tool for the turn (`workflowKeywordTriggerEnabled`, default true, read in the installed 2.1.220 bundle). Personal or third-party reviewers register in the user-owned `review-methods.local.toml`, never in the shipped config.
|
|
41
61
|
- **Cross-family review reviewers** — with `review_family=cross` (default), each main routes review to the opposite family. A Claude main dispatches gpt review via `$CODEX_HOME/bin/codex-run --profile hermetic` (and `codex-helm --mode review` for review fan-out) plus the deep `codex exec` pass above; a Codex main dispatches Claude review via the `claude` CLI (`claude -p --permission-mode plan` for native, and, for the workflow-orchestration route, the same `claude` CLI headless with the keyword `ultracode` in the prompt — the keyword trigger is what the injected contract names, so this is the mechanism to follow). The reviewer command, resolved path, and opposite-family tier bindings are named in the launch contract; an absent or unauthenticated route degrades to same-family native (PROPOSED). `review_family=same` restores same-family review.
|
|
42
62
|
- **codex-plugin-cc** (1.0.6; re-evaluated 2026-07-16) — spawns `codex app-server` with inherited env and no `--ignore-user-config`/`--profile`, so every run reads the real `~/.codex` (config.toml, auth, its MCP servers); it has no per-invocation hermetic reach, which is what makes it unfit as a **review** route: the reviewer would inherit the same config and AGENTS.md as the main, undercutting the independent lens `review_family=cross` exists to provide. The model *is* selectable (`--model`/`--effort`); what is dated is the bundled `gpt-5-4-prompting` skill, so passing a current model does not resolve it. **Not adopted**; `wrappers/codex-run.sh` is preferred for controlled reach. It does not touch Claude Code's `/code-review` (no `code-review.md`; it adds namespaced `/codex:*`), so it never made that route cross-family. Capability we lack and may still want independently: its opt-in `Stop` hook review gate.
|
|
43
63
|
- **MCP servers** (clickhouse, node_repl, …) — environment-specific; referenced by Environment Binding, not a core dependency. The launcher registers a stdio MCP server only for a user-registered capability whose offer declares the `mcp-stdio-v1` adapter; no shipped review method is MCP-backed.
|
|
44
|
-
- **spreadsheet-processing** (skill) — referenced by the
|
|
64
|
+
- **spreadsheet-processing** (skill) — referenced by the always-surface spreadsheet rule in an activated selection; present in the author's Claude Code and Codex environments. If absent, the rule's inline fallback (plain tools/code + real Excel-engine validation) applies.
|
|
45
65
|
|
|
46
66
|
## Untracked — dependencies, but excluded by design
|
|
47
67
|
|
|
48
|
-
Host `config.toml` and `
|
|
68
|
+
Host `config.toml`, `settings.json`, and `hooks.json` — machine-specific trust lists, hook paths, and MCP secrets. The tracked `launch/agent-launch.toml` contains launch bindings but no secrets. See README Scope.
|
|
49
69
|
|
|
50
70
|
## Re-verify
|
|
51
71
|
|
|
@@ -59,18 +79,20 @@ printf '%s\n' "$codex_help" | grep -Eq '(^|[[:space:]])-c([,[:space:]]|$)' || {
|
|
|
59
79
|
printf '%s\n' "$codex_help" | grep -Eq '(^|[[:space:]])-C([,[:space:]]|$)' || { echo "missing codex flag: -C"; exit 1; }
|
|
60
80
|
printf '%s\n' "$codex_help" | grep -Eq '(^|[[:space:]])-p([,[:space:]]|$)' || { echo "missing codex flag: -p"; exit 1; }
|
|
61
81
|
printf '%s\n' "$codex_help" | grep -Eq '(^|[[:space:]])-s([,[:space:]]|$)' || { echo "missing codex flag: -s"; exit 1; }
|
|
62
|
-
claude --version; claude --help | grep -E -- '--model|--effort|--agents|--append-system-prompt|--mcp-config'
|
|
82
|
+
claude --version; claude --help | grep -E -- '--model|--effort|--agents|--append-system-prompt|--session-id|--resume|--mcp-config'
|
|
63
83
|
bash --version | head -1; zsh --version; python3 --version; git --version
|
|
64
84
|
AGENT_LAUNCH_VENV="${AGENT_LAUNCH_VENV:-$HOME/.local/share/agent-launch/venv}" bash launch/provision-venv.sh
|
|
65
85
|
"${AGENT_LAUNCH_VENV:-$HOME/.local/share/agent-launch/venv}/bin/python" -c 'import textual, sys; print("textual", textual.__version__, "py", sys.version.split()[0])'
|
|
86
|
+
python3 -m py_compile compose/corpus.py compose/corpus_catalog.py compose/corpus_install.py compose/corpus_session.py compose/corpus_store.py
|
|
87
|
+
"${AGENT_LAUNCH_VENV:-$HOME/.local/share/agent-launch/venv}/bin/python" -m unittest discover -s compose -p 'test_corpus*.py'
|
|
66
88
|
bash -n wrappers/codex-run.sh wrappers/codex-helm.sh gates/check-parity.sh launch/check-prompting-targets.sh launch/provision-venv.sh install.sh
|
|
67
89
|
zsh -n launch/agent-launch.zsh
|
|
68
90
|
python3 -c 'compile(open("launch/agent-launch.py").read(), "launch/agent-launch.py", "exec")'
|
|
69
91
|
./gates/check-parity.sh
|
|
70
92
|
./launch/check-prompting-targets.sh
|
|
71
93
|
python3 - <<'PY'
|
|
72
|
-
import
|
|
73
|
-
roots = [pathlib.Path("codex/agents")
|
|
94
|
+
import pathlib, tomllib
|
|
95
|
+
roots = [pathlib.Path("codex/agents")]
|
|
74
96
|
required = {"frontier.toml", "workhorse.toml", "sweep.toml", "reviewer.toml"}
|
|
75
97
|
for root in roots:
|
|
76
98
|
missing = required - {path.name for path in root.glob("*.toml")}
|
|
@@ -80,6 +102,8 @@ for root in roots:
|
|
|
80
102
|
print(f"agent TOML ok: {root}")
|
|
81
103
|
PY
|
|
82
104
|
wrappers/codex-helm.sh --dry-run --mode review "probe"
|
|
105
|
+
agent-bios verify
|
|
106
|
+
agent-bios corpus status --json
|
|
83
107
|
```
|
|
84
108
|
|
|
85
109
|
## Ownership
|