agent-bios 0.19.1 → 0.19.3
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 +58 -30
- package/INSTALL.md +4 -4
- package/README.md +105 -28
- package/claude/CLAUDE.md +1 -1
- package/claude/guides/claude-prompting.md +1 -1
- package/claude/guides/cli-multi-model-workflow.md +4 -4
- package/claude/guides/coding-staged-workflow.md +17 -0
- package/claude/guides/documentation-hygiene.md +3 -0
- package/claude/guides/gpt-prompting.md +1 -1
- package/claude/guides/korean-writing.md +153 -0
- package/claude/guides/learning-flow.md +4 -4
- package/claude/guides/llm-capability-boundary.md +7 -1
- package/claude/guides/session-distill-workflow.md +8 -8
- package/claude/guides/slide-writing/RUNBOOK.md +5 -5
- package/claude/guides/tooling-gotchas.md +20 -1
- package/claude/guides/ui-design/visual-direction.md +88 -0
- package/claude/guides/ui-design.md +90 -0
- package/claude/guides/verification-discipline.md +10 -1
- package/claude/hooks/tooling-gotchas-hook.py +41 -0
- package/claude/skills/repo-charter/SKILL.md +3 -3
- package/claude/skills/understand/SKILL.md +5 -5
- package/codex/AGENTS.md +1 -1
- package/codex/guides/claude-prompting.md +1 -1
- package/codex/guides/cli-multi-model-workflow.md +4 -4
- package/codex/guides/coding-staged-workflow.md +17 -0
- package/codex/guides/documentation-hygiene.md +3 -0
- package/codex/guides/gpt-prompting.md +1 -1
- package/codex/guides/korean-writing.md +153 -0
- package/codex/guides/learning-flow.md +4 -4
- package/codex/guides/llm-capability-boundary.md +7 -1
- package/codex/guides/session-distill-workflow.md +8 -8
- package/codex/guides/slide-writing/RUNBOOK.md +5 -5
- package/codex/guides/tooling-gotchas.md +20 -1
- package/codex/guides/ui-design/visual-direction.md +88 -0
- package/codex/guides/ui-design.md +90 -0
- package/codex/guides/verification-discipline.md +10 -1
- package/compose/app_bridge/SKILL.md +12 -12
- package/compose/app_bridge/scripts/bridge.py +35 -10
- package/compose/app_desktop/server.py +250 -0
- package/compose/assemble.py +5 -5
- package/compose/bootstrap/SKILL.md +18 -18
- package/compose/canary.sh +4 -4
- package/compose/check-domains.py +6 -6
- package/compose/corpus-state.py +16 -1168
- package/compose/corpus.py +13 -402
- package/compose/corpus_app.py +14 -450
- package/compose/corpus_catalog.py +15 -926
- package/compose/corpus_import.py +14 -523
- package/compose/corpus_install.py +14 -1847
- package/compose/corpus_session.py +16 -848
- package/compose/corpus_setup.py +16 -672
- package/compose/corpus_setup_cli.py +15 -580
- package/compose/corpus_setup_i18n.py +20 -324
- package/compose/corpus_setup_ui.py +18 -645
- package/compose/corpus_store.py +16 -1664
- package/compose/corpus_transaction.py +15 -284
- package/compose/corpus_ui.py +17 -972
- package/compose/corpus_ui_runtime.py +16 -274
- package/compose/corpus_understand.py +13 -671
- package/compose/domains.json +3 -1
- package/compose/host_platform.py +121 -0
- package/compose/instructions-state.py +1178 -0
- package/compose/instructions.py +409 -0
- package/compose/instructions_app.py +697 -0
- package/compose/instructions_catalog.py +931 -0
- package/compose/instructions_import.py +537 -0
- package/compose/instructions_install.py +1932 -0
- package/compose/instructions_session.py +852 -0
- package/compose/instructions_setup.py +713 -0
- package/compose/instructions_setup_cli.py +607 -0
- package/compose/instructions_setup_i18n.py +327 -0
- package/compose/instructions_setup_ui.py +647 -0
- package/compose/instructions_store.py +1668 -0
- package/compose/instructions_transaction.py +308 -0
- package/compose/instructions_ui.py +975 -0
- package/compose/instructions_ui_runtime.py +279 -0
- package/compose/instructions_understand.py +678 -0
- package/compose/native_cli.py +52 -0
- package/compose/register-hooks.py +1 -1
- package/compose/runtime_entry.py +58 -0
- package/compose/setup/START.md +11 -11
- package/compose/windows_deploy.py +719 -0
- package/docs/advanced-launch.md +11 -11
- package/docs/instructions-compatibility.md +86 -0
- package/docs/{corpus.md → instructions.md} +36 -8
- package/docs/recovery.md +10 -10
- package/docs/releases/0.19.2.md +38 -0
- package/docs/releases/0.19.3.md +107 -0
- package/docs/session-model.md +31 -20
- package/docs/setup.md +63 -26
- package/docs/understand.md +6 -6
- package/docs/windows.md +99 -0
- package/install.sh +71 -69
- package/launch/agent-launch.py +309 -293
- package/launch/agent-launch.toml +2 -2
- package/launch/agent-launch.zsh +11 -1
- package/launch/i18n/en.toml +55 -55
- package/launch/i18n/ja.toml +56 -56
- package/launch/i18n/ko.toml +56 -56
- package/launch/shell_integration.py +4 -4
- package/learn/collect-learning.py +10 -10
- package/learn/learning.schema.json +1 -1
- package/learn/migrate-learnings.py +51 -51
- package/package.json +33 -12
- package/provenance.json +1 -1
- /package/docs/assets/{corpus-studio.svg → instructions-studio.svg} +0 -0
package/DEPENDENCIES.md
CHANGED
|
@@ -17,33 +17,33 @@ The verification column states the scope of each check.
|
|
|
17
17
|
|
|
18
18
|
The supported operating systems are macOS and Linux (`package.json` `os`). Private
|
|
19
19
|
transactions, instruction capture and app registration use POSIX file locks, file
|
|
20
|
-
descriptors and symlinks. The JSON setup protocol, machine-mode
|
|
20
|
+
descriptors and symlinks. The JSON setup protocol, machine-mode instructions operations,
|
|
21
21
|
import and app context use Python standard libraries. Interactive installation,
|
|
22
|
-
package/current-checkout
|
|
22
|
+
package/current-checkout Instructions Studio and the private/current-checkout launcher's
|
|
23
23
|
rich entrypoint load the shipped
|
|
24
24
|
offline UI dependencies. Optional learning validation and retained compatibility clients
|
|
25
25
|
have separate runtime requirements below.
|
|
26
26
|
|
|
27
27
|
| Tool | Required by | Required capability | Verified |
|
|
28
28
|
| --- | --- | --- | --- |
|
|
29
|
-
| `python3` | `compose/
|
|
29
|
+
| `python3` | `compose/instructions*.py`, app bridge helper, `session-cost.py`, `launch/agent-launch.py` | Python 3.11+ (`tomllib`) for the private store, offline installer UI loader, import evidence, app receipts and native session adapter | 3.14.5 · version report · 2026-09-12 |
|
|
30
30
|
| `bash` | `install.sh`, shell adapters, provisioner and app helper command dispatch | Bash arrays and argument-preserving execution; macOS system Bash is supported | 3.2.57 · version report · 2026-09-12 |
|
|
31
31
|
| `git` | conversation source acquisition, clone updates and version-control workflows | clone and detached checkout for a fixed source commit; worktrees and modern revision operations for development. No Git checkout is required to use an installed npm package | 2.50.1 · version report · 2026-09-12 |
|
|
32
32
|
| `zsh` | `launch/agent-launch.zsh`, optional `launch/shell_integration.py` connection | shell functions, TTY checks and argument-preserving dispatch. Used by the explicit private shell connection as well as compatibility installation; it is not required for ordinary private storage or app context use | 5.9 · version report · 2026-09-12 |
|
|
33
33
|
| `mktemp`, `cp` | wrapper temporary homes and shell utilities | BSD or GNU command interfaces | local inventory checks command availability; no package-version claim |
|
|
34
34
|
| `ioreg`, `ps` | conversation setup machine/process identity on macOS | local OS identity probes. Linux uses machine-id and `/proc`; machine identity has a host/filesystem fallback, while missing process evidence leaves a running attempt unconfirmed | source-defined probes; no separate tool version pin |
|
|
35
|
-
| Node.js | npm delivery, optional npm host installation and selected slide jobs | `package.json` requires Node >=18 for npm package delivery. The optional Claude npm recipe requires Node >=22; Codex npm installation and slide runtimes retain their own requirements. The Python
|
|
35
|
+
| Node.js | npm delivery, optional npm host installation and selected slide jobs | `package.json` requires Node >=18 for npm package delivery. The optional Claude npm recipe requires Node >=22; Codex npm installation and slide runtimes retain their own requirements. The Python instructions runtime does not require Node | 26.0.0 · version report · 2026-09-12 |
|
|
36
36
|
| `npm` | package delivery and optional host installation recipes | normal global package installation using the user's configured prefix/registry | 12.0.2 · version report · 2026-09-12 |
|
|
37
37
|
| Homebrew (`brew`) | optional setup installation recipes | available formula/cask installation commands selected in the reviewed setup plan; setup does not install Homebrew itself | local `--version` probe; no installation version pin |
|
|
38
38
|
| Python `venv`, `ensurepip` and pip | explicitly selected managed-environment installation | create an isolated environment using `AGENT_LAUNCH_PYTHON` (default `python3`); not prerequisites for loading the bundled installation UI. Some Linux Python distributions provide these components separately | clean venv creation and `pip check` · Python 3.14.5 · 2026-09-12 |
|
|
39
|
-
| Bundled Textual UI runtime | interactive `install`/`onboard`, package/current-checkout
|
|
39
|
+
| Bundled Textual UI runtime | interactive `install`/`onboard`, package/current-checkout Instructions Studio TTY entrypoint, private/current-checkout launcher rich entrypoint | pure-Python wheels shipped under `compose/ui_runtime/`; the loader verifies and extracts them temporarily before UI imports. No system/managed Textual, pip installation or runtime network access is needed | manifest versions/hashes/licenses; offline clean-interpreter, TTY and backend-handoff checks · 2026-09-12 |
|
|
40
40
|
| Managed `textual` | standalone compatibility launcher copies, retained in-process APIs and author tests | optional environment at `${AGENT_LAUNCH_VENV:-$HOME/.local/share/agent-launch/venv}`. Its installation target is `TEXTUAL_PIN`; current package CLI UI paths use the shipped bundle | 8.2.8 · clean-venv installation/import, `pip check` and UI tests · 2026-09-12 |
|
|
41
41
|
| `rich` | Textual clients | included with the installer UI bundle and otherwise provided transitively by Textual; not a separate setup choice. Plain editing needs no optional syntax-highlighting packages | managed Textual environment and UI tests · 2026-09-12; bundled version belongs to the manifest |
|
|
42
42
|
| `jsonschema` | `learn/collect-learning.py`, `learn/check-learning.py` | Draft 2020-12 validation for user learning capture and author verification. `learn` uses a usable system validator, otherwise the configured managed interpreter. Installation target is `JSONSCHEMA_PIN` in the provisioner; `--learning-only` installs it without adding Textual | 4.26.0 · clean-venv installation/import and `pip check` · 2026-09-12 |
|
|
43
43
|
|
|
44
44
|
`agent-bios install` and `onboard` are interactive unless `--non-interactive` is explicit.
|
|
45
45
|
Selection flags seed the UI, and a non-TTY default call fails before writes. Python
|
|
46
|
-
3.11+ is still required. `compose/
|
|
46
|
+
3.11+ is still required. `compose/instructions_ui_runtime.py` validates the shipped bundle
|
|
47
47
|
before UI imports and uses one process-owned temporary extraction, cleaned on normal
|
|
48
48
|
exit and released by the launcher before backend `execve`. It creates no persistent UI
|
|
49
49
|
package installation. Missing, damaged or conflicting bundle state produces repair
|
|
@@ -53,8 +53,8 @@ in-process APIs retain their existing dependency contract; CLI bundle activation
|
|
|
53
53
|
explicit at the real entrypoints.
|
|
54
54
|
|
|
55
55
|
The terminal installer language chooser and its English/Korean/Japanese messages are
|
|
56
|
-
owned by `compose/
|
|
57
|
-
probes, not another
|
|
56
|
+
owned by `compose/instructions_setup_i18n.py`. This is a per-run UI choice before dependency
|
|
57
|
+
probes, not another instructions language or persisted host setting. Locale variables suggest
|
|
58
58
|
a starting choice; the user still sees the chooser. The JSON setup protocol accepts an
|
|
59
59
|
explicit review language while retaining its stable field names and exact values.
|
|
60
60
|
|
|
@@ -73,7 +73,7 @@ Setup probes installed commands without installing or signing in. Available depe
|
|
|
73
73
|
actions have fixed argv and run only after explicit selection and Apply. The app bridge
|
|
74
74
|
retains the configured managed-environment path for later learning calls. Host sign-in,
|
|
75
75
|
user MCP credentials, browser/job bindings and personal skills remain separate setup
|
|
76
|
-
steps; absence of an optional route does not make the local
|
|
76
|
+
steps; absence of an optional route does not make the local instructions store unavailable.
|
|
77
77
|
Manager recipes are offered only after their version probe succeeds. Creating a new
|
|
78
78
|
managed environment requires the selected Python venv/ensurepip bootstrap; an existing
|
|
79
79
|
managed interpreter does not need to bootstrap again. The provisioner checks Python
|
|
@@ -84,14 +84,14 @@ managed interpreter does not need to bootstrap again. The provisioner checks Pyt
|
|
|
84
84
|
| CLI | Required by | Required capability | Verification |
|
|
85
85
|
| --- | --- | --- | --- |
|
|
86
86
|
| Claude Code | native Claude sessions and Claude worker/review routes | `--model`, `--effort`, `--agents`, per-call `--append-system-prompt`, `--session-id`, `--resume`, `--mcp-config`, `--plugin-dir`, and the selected permission mode; native global/project loading remains native | 2.1.268 · 2026-09-12 |
|
|
87
|
-
| Codex CLI | `compose/
|
|
87
|
+
| Codex CLI | `compose/instructions_session.py`, launcher and Codex worker/review adapters | per-call `-c`; cwd-aware `app-server --stdio` `config/read`; durable `thread/start`, `thread/inject_items`, `thread/read`; `codex resume`; `codex exec` and agent-config projection | local 0.153.4; isolated compatibility 0.154.0 · 2026-09-12 |
|
|
88
88
|
|
|
89
89
|
The Claude row reports the installed command version. The Codex row distinguishes the
|
|
90
90
|
installed runtime from the newer isolated compatibility check. Native protocol and
|
|
91
91
|
execution evidence have narrower scope:
|
|
92
92
|
|
|
93
93
|
- Optional global-instruction exclusion requires Claude Code **2.1.263+**, enforced by
|
|
94
|
-
`compose/
|
|
94
|
+
`compose/instructions_session.py`. The adapter supplies `claudeMdExcludes` through one
|
|
95
95
|
`--settings` argument and refuses a conflicting existing argument. Include/exclude/
|
|
96
96
|
resume startup preserving project sources was observed on 2026-09-08. The current
|
|
97
97
|
Codex adapter has no supported global-only exclusion in the verified 0.154.0 protocol;
|
|
@@ -104,16 +104,16 @@ execution evidence have narrower scope:
|
|
|
104
104
|
and `--mcp-config`; parser/projection verification used 2.1.263. Its allowed tools and
|
|
105
105
|
effort choices come from the launch bindings. A parser check is not a model-generation
|
|
106
106
|
receipt.
|
|
107
|
-
- Native
|
|
107
|
+
- Native instructions hooks use the common installed Python carrier and typed event/matcher.
|
|
108
108
|
Claude plugin delivery was exercised with 2.1.268; Codex inline hook discovery and
|
|
109
109
|
local-transport execution controls used 0.153.4. Existing host hooks, enablement and
|
|
110
110
|
native trust remain in force. Discovery alone does not prove execution.
|
|
111
111
|
- Codex deep-review flag checks used 0.146.0. The Claude `ultracode` keyword trigger was
|
|
112
112
|
read from the 2.1.220 installed bundle. These feature observations are not refreshed
|
|
113
|
-
by the current `--version` reports. Authenticated
|
|
113
|
+
by the current `--version` reports. Authenticated instructions-agent execution and post-fix
|
|
114
114
|
authenticated resume remain unverified.
|
|
115
115
|
|
|
116
|
-
## Codex app
|
|
116
|
+
## Codex app
|
|
117
117
|
|
|
118
118
|
The Codex desktop app is a separate host from the Codex CLI. Its optional bridge needs
|
|
119
119
|
native skill discovery for `~/.agents/skills/agent-bios`, the explicit-invocation policy in
|
|
@@ -129,7 +129,7 @@ or run `session use`; native task identity is required for task-context receipts
|
|
|
129
129
|
Review/apply context instead binds the machine, user, paths, package, working directory
|
|
130
130
|
and effect-relevant environment. Status receipts describe recorded attempts; `handoff`
|
|
131
131
|
separates package/runtime verification from helper registration, integrity and usability.
|
|
132
|
-
Read-only `try_transaction_lock` in `compose/
|
|
132
|
+
Read-only `try_transaction_lock` in `compose/instructions_transaction.py` permits current
|
|
133
133
|
checks without waiting for another writer or creating synchronization state. If it
|
|
134
134
|
cannot acquire safe synchronization, handoff reports `verification: "deferred"` and
|
|
135
135
|
unobserved readiness fields as `null`, while status still returns recorded progress.
|
|
@@ -141,11 +141,35 @@ skill discovery. The engine does not install or configure the host's file/comman
|
|
|
141
141
|
|
|
142
142
|
`app session preview/use/off/status` manages **returned task context**, not a new Codex
|
|
143
143
|
CLI session. This route uses no separate Codex CLI subprocess, no Textual runtime and
|
|
144
|
-
no direct model SDK.
|
|
144
|
+
no direct model SDK. Instructions Studio needs a terminal; rich UI remains optional. App use
|
|
145
145
|
requires explicit selection, enables no native hooks or agents, and Off cannot retract
|
|
146
146
|
previously returned text. Registration is off by default and owns only its discovery
|
|
147
147
|
link, preserving global instruction files and foreign entries.
|
|
148
148
|
|
|
149
|
+
## Claude Desktop
|
|
150
|
+
|
|
151
|
+
Claude Desktop has no launch to project into and no skill root an installer can reach,
|
|
152
|
+
so it pulls through a local MCP server. `agent-bios app desktop` writes a `.mcpb` bundle
|
|
153
|
+
under the private state root; the user installs it through Desktop's own dialog, and
|
|
154
|
+
agent-bios writes nothing into Desktop's directories or `claude_desktop_config.json`.
|
|
155
|
+
The bundle's server (`compose/app_desktop/server.py`) is standard-library Python speaking
|
|
156
|
+
MCP 2025-11-25 over stdio, with no network service. Desktop resolves a bare `python3`
|
|
157
|
+
through the user's login-shell `PATH` and ships no Python of its own, so the manifest names
|
|
158
|
+
the absolute interpreter that generated it; that interpreter must stay installed, and the
|
|
159
|
+
bundle is regenerated after it changes. The server resolves the confirmed private release
|
|
160
|
+
on every call.
|
|
161
|
+
|
|
162
|
+
Desktop sends no conversation identity with a tool call, so `app session --host
|
|
163
|
+
claude-desktop` mints one on preview or use. Measured on Desktop 2.16120.0 (macOS,
|
|
164
|
+
2026-09-30): the bundle route, protocol 2025-11-25, a 140,666-byte result delivered
|
|
165
|
+
inline, and delivery with end-marker confirmation in both chat and the Code tab. The Code
|
|
166
|
+
tab runs Claude Code on the user's own `~/.claude`, but its extension server still starts
|
|
167
|
+
outside the session's working directory, so project scope stays excluded there too.
|
|
168
|
+
Windows and `roots/list` are unverified. Local tests do not establish that a given Desktop
|
|
169
|
+
version loads the bundle.
|
|
170
|
+
|
|
171
|
+
## Instruction import
|
|
172
|
+
|
|
149
173
|
Local instruction import also needs no model SDK or parser framework. Standard-library
|
|
150
174
|
code discovers fixed instruction filenames at known global and explicit project roots,
|
|
151
175
|
captures redacted evidence through `learn/redact.py`, and validates source digests,
|
|
@@ -154,17 +178,17 @@ consumption placement and trigger descriptions; it is not a deterministic classi
|
|
|
154
178
|
Planning/applying requires an installed baseline. Original native files remain intact
|
|
155
179
|
and may still be loaded independently by the host.
|
|
156
180
|
|
|
157
|
-
## Private
|
|
181
|
+
## Private instructions assets
|
|
158
182
|
|
|
159
|
-
- **Native
|
|
183
|
+
- **Native instructions hooks and agents** require explicit `--instructions-native` and a supported
|
|
160
184
|
installed carrier. Claude agents retain their authored frontmatter in per-item
|
|
161
185
|
plugins; names are plugin-qualified. Codex agent-semantic translation remains separate
|
|
162
186
|
work. Neither route registers global hooks by default.
|
|
163
187
|
- **Codex role templates** (`codex/agents/*.toml`) are carried in the immutable private
|
|
164
188
|
release. Private installation does not require copies under the native host home.
|
|
165
189
|
- **Management bootstrap** (`compose/bootstrap/SKILL.md`) and selected requested
|
|
166
|
-
procedures are private snapshot resources. **No-
|
|
167
|
-
|
|
190
|
+
procedures are private snapshot resources. **No-instructions mode omits the bootstrap and
|
|
191
|
+
agent-bios instruction text.** The optional app discovery bridge is a separate entry;
|
|
168
192
|
registration alone does not select task context.
|
|
169
193
|
|
|
170
194
|
## Models and optional integrations
|
|
@@ -177,7 +201,7 @@ Agent-bios does not install credentials or infer a model account from dependency
|
|
|
177
201
|
The selected static path needs Python standard libraries for preparation and acceptance;
|
|
178
202
|
rendering additionally needs a job-bound Node executable, Playwright module, `pdf-lib`
|
|
179
203
|
beside that module, and a Chromium-family browser executable. These are not installed
|
|
180
|
-
by
|
|
204
|
+
by instructions delivery. The 2026-09-09 job verification used Node 24.19.0, Playwright 1.62.1,
|
|
181
205
|
pdf-lib 1.17.1 and browser 152.0.7977.83; it is separate from the current host Node report.
|
|
182
206
|
- **Deep review** — uses the configured host CLI rather than another core tool. Codex
|
|
183
207
|
runs its own read-only exec route with a self-contained packet; the frontier model
|
|
@@ -189,11 +213,14 @@ Agent-bios does not install credentials or infer a model account from dependency
|
|
|
189
213
|
`codex-helm.sh` and `claude-run.sh` from the selected package. Their command paths,
|
|
190
214
|
binding, reach and fallback are declared in the launch contract. An unavailable or
|
|
191
215
|
unauthenticated opposite-family route is reported, not credited as a completed review.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
216
|
+
<!-- mcp-inventory:start -->
|
|
217
|
+
<!-- facts: {"bundlers": {"compose/app_desktop/server.py": ["compose/instructions_app.py"]}, "capabilities": [], "servers": ["compose/app_desktop/server.py"]} -->
|
|
218
|
+
- **MCP servers** — derived from source by `gates/check-mcp-inventory.py`.
|
|
219
|
+
Shipped servers: `compose/app_desktop/server.py` (bundled by `compose/instructions_app.py`).
|
|
220
|
+
Launch capabilities offering `mcp-stdio-v1`: none, so no shipped review method requires MCP; the launcher registers a user-specific server only through a selected capability that declares it.
|
|
221
|
+
<!-- mcp-inventory:end -->
|
|
195
222
|
- **spreadsheet-processing** — an optional skill referenced by the spreadsheet rule
|
|
196
|
-
when
|
|
223
|
+
when those instructions are selected. If unavailable, its inline plain-tools/code and real
|
|
197
224
|
spreadsheet-engine validation fallback applies.
|
|
198
225
|
|
|
199
226
|
Host `config.toml`, `settings.json`, `hooks.json` and credentials are untracked,
|
|
@@ -208,7 +235,7 @@ python3 -B - <<'PY'
|
|
|
208
235
|
import json, os, pathlib, sys
|
|
209
236
|
repo = pathlib.Path.cwd()
|
|
210
237
|
sys.path.insert(0, str(repo / 'compose'))
|
|
211
|
-
from
|
|
238
|
+
from instructions_setup import dependency_inventory
|
|
212
239
|
for row in dependency_inventory(repo, {**os.environ, 'PYTHONDONTWRITEBYTECODE': '1'}):
|
|
213
240
|
print(json.dumps({key: row[key] for key in ('id', 'status', 'version', 'path', 'manual_reason')}, ensure_ascii=False))
|
|
214
241
|
PY
|
|
@@ -218,8 +245,9 @@ Inspect the installed private state using this checkout's runtime:
|
|
|
218
245
|
|
|
219
246
|
```bash
|
|
220
247
|
bash install.sh verify
|
|
221
|
-
bash install.sh
|
|
248
|
+
bash install.sh instructions status --json
|
|
222
249
|
bash install.sh app status --json
|
|
250
|
+
bash install.sh app desktop --dry-run --json
|
|
223
251
|
```
|
|
224
252
|
|
|
225
253
|
Provision packages only when explicitly requested for learning validation, compatibility
|
|
@@ -247,7 +275,7 @@ machine inventory:
|
|
|
247
275
|
```bash
|
|
248
276
|
python3 -B - <<'PY'
|
|
249
277
|
import pathlib
|
|
250
|
-
paths = list(pathlib.Path('compose').glob('
|
|
278
|
+
paths = list(pathlib.Path('compose').glob('instructions*.py')) + [pathlib.Path('launch/agent-launch.py')]
|
|
251
279
|
for path in paths:
|
|
252
280
|
compile(path.read_text(), str(path), 'exec')
|
|
253
281
|
PY
|
|
@@ -264,8 +292,8 @@ zsh -n launch/agent-launch.zsh
|
|
|
264
292
|
| `launch/provision-venv.sh` | Textual root pin, `JSONSCHEMA_PIN` and explicit managed package installation |
|
|
265
293
|
| `gates/build-ui-runtime.py` | author-side bundle generation and offline check/self-test |
|
|
266
294
|
| `compose/ui_runtime/manifest.json` | generated exact UI wheel inventory, versions, hashes and licenses |
|
|
267
|
-
| `compose/
|
|
268
|
-
| `compose/
|
|
295
|
+
| `compose/instructions_ui_runtime.py` | offline verification, process-lifetime extraction and release |
|
|
296
|
+
| `compose/instructions_setup.py` | shared SetupController, local inventory and reviewed dependency recipes |
|
|
269
297
|
| `package.json` and runtime validators | supported platforms and required runtime minimums |
|
|
270
298
|
| guide `Environment Binding` and launch profile | role/model bindings and feature-specific host evidence |
|
|
271
299
|
| guide `Evidence Base` | measured behavior and numeric defaults |
|
package/INSTALL.md
CHANGED
|
@@ -74,8 +74,8 @@ resolved paths remain inside the source; do not follow links to outside files:
|
|
|
74
74
|
|
|
75
75
|
- `INSTALL.md`
|
|
76
76
|
- `install.sh`
|
|
77
|
-
- `compose/
|
|
78
|
-
- `compose/
|
|
77
|
+
- `compose/instructions_setup_cli.py`
|
|
78
|
+
- `compose/instructions_setup.py`
|
|
79
79
|
- `compose/setup/START.md`
|
|
80
80
|
|
|
81
81
|
If they are missing, explain that the selected public revision/package does not
|
|
@@ -105,8 +105,8 @@ Require a successful JSON response with `kind: "agent-bios-setup-start"`,
|
|
|
105
105
|
`setup_argv`, keeping the same source, working directory and reviewed execution
|
|
106
106
|
context. Do not fall back to a PATH command if validation fails.
|
|
107
107
|
|
|
108
|
-
The detailed guide collects
|
|
108
|
+
The detailed guide collects instructions, optional dependencies, app connection and
|
|
109
109
|
instruction-source choices, then prepares the exact review for authorized Apply.
|
|
110
110
|
Use the existing authorization for concrete effects already accepted by the user.
|
|
111
111
|
Preserve global/project `AGENTS.md` and `CLAUDE.md`. Installation and app connection
|
|
112
|
-
do not authorize
|
|
112
|
+
do not authorize instructions content in this task; that remains a separate explicit use.
|
package/README.md
CHANGED
|
@@ -5,21 +5,52 @@
|
|
|
5
5
|
Build an instruction library you can inspect, edit, and reuse. Choose what each
|
|
6
6
|
CLI session or Codex app task uses, while preserving your existing global instruction files.
|
|
7
7
|
|
|
8
|
-
[
|
|
8
|
+
[0.19.3 release notes](docs/releases/0.19.3.md)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## Purpose
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
<!-- product-purpose:start -->
|
|
13
|
+
agent-bios exists to let workers compose, share, and inherit team work environments
|
|
14
|
+
from Instructions, Domain knowledge, and Decision memory, so they can perform
|
|
15
|
+
their roles within the standards and context of their team, industry, and organization.
|
|
16
|
+
|
|
17
|
+
A team is the basic unit for selecting, adopting, and sharing a work environment.
|
|
18
|
+
|
|
19
|
+
The goal is efficient work and continuity. Shared environments provide reusable
|
|
20
|
+
defaults that workers can adapt to their repository and personal working needs;
|
|
21
|
+
they are not a mechanism for enforcing uniform working methods.
|
|
22
|
+
|
|
23
|
+
Workers should be able to select an environment appropriate to their role and
|
|
24
|
+
team, collaborate from shared standards and decision context, and continue
|
|
25
|
+
the work when a worker, model, session, or device changes. Shared context does
|
|
26
|
+
not require identical outputs or erase personal, team, and organizational boundaries.
|
|
27
|
+
<!-- product-purpose:end -->
|
|
28
|
+
|
|
29
|
+
The current service provides the Instructions library and host launch/delivery
|
|
30
|
+
integration. Shared environment editions, Domain knowledge, and Decision memory
|
|
31
|
+
are the design direction; this purpose statement does not claim they are shipped.
|
|
32
|
+
|
|
33
|
+
[Quick start](#quick-start) · [Instructions Studio](#your-instruction-library) · [How it works](#how-sessions-work) · [Understand!](#understand-the-reasoning) · [Documentation](#documentation) · [한국어](ko/README.md)
|
|
34
|
+
|
|
35
|
+

|
|
36
|
+
|
|
37
|
+
*Actual 0.18.0 UI, captured with Textual enabled and the bundled instructions
|
|
38
|
+
in an isolated test environment. This earlier capture retains its Corpus Studio title;
|
|
39
|
+
the current UI is named Instructions Studio.*
|
|
14
40
|
|
|
15
41
|
## Make your instructions your own
|
|
16
42
|
|
|
17
|
-
agent-bios ships
|
|
18
|
-
|
|
43
|
+
agent-bios ships **Instructions**: rules, guides, and procedures for how you work.
|
|
44
|
+
You decide which parts belong in your working environment. The CLI command is
|
|
45
|
+
`instructions`, and the library UI is named **Instructions Studio**.
|
|
46
|
+
|
|
47
|
+
These names apply to this source revision. If your installed version does not
|
|
48
|
+
recognize `agent-bios instructions`, use `agent-bios corpus`; this revision also
|
|
49
|
+
accepts that older command name. See [compatibility](docs/instructions-compatibility.md).
|
|
19
50
|
|
|
20
51
|
| What you want to do | What agent-bios provides |
|
|
21
52
|
| --- | --- |
|
|
22
|
-
| See what your instructions say | Browse and search documents in
|
|
53
|
+
| See what your instructions say | Browse and search documents in Instructions Studio; follow a rule's links to its guides. |
|
|
23
54
|
| Adapt them to your work | Edit supplied items, create personal ones, and choose their delivery method. |
|
|
24
55
|
| Choose what a session uses | Switch individual items on or off without deleting their content or edits. |
|
|
25
56
|
| Recover the starting point | Restore supplied content, recover personal items, or preview a full reset. |
|
|
@@ -27,25 +58,50 @@ agent-bios ships a starting library of rules, guides, and procedures, called a
|
|
|
27
58
|
This is an instruction and launch layer, not a replacement for either host CLI.
|
|
28
59
|
It does not train the model or guarantee that the model follows every instruction.
|
|
29
60
|
|
|
61
|
+
## Windows native preview
|
|
62
|
+
|
|
63
|
+
A Windows x64 installer with a bundled Python runtime is built by the Windows
|
|
64
|
+
workflow. It provides `agent-bios.exe` and `agent-launch.exe` without npm or WSL.
|
|
65
|
+
The same workflow also qualifies a script distribution that uses an approved or
|
|
66
|
+
provisioned CPython 3.13 with signed PowerShell commands and no custom EXE.
|
|
67
|
+
Each Windows script release page carries the one-line PowerShell command for
|
|
68
|
+
that release, and the fixed address below serves an explicitly promoted one.
|
|
69
|
+
See [Windows installation and validation limits](docs/windows.md).
|
|
70
|
+
|
|
30
71
|
## Quick start
|
|
31
72
|
|
|
32
73
|
Use the terminal installer or set up through a Codex app conversation. Both offer
|
|
33
|
-
language, dependency,
|
|
74
|
+
language, dependency, instructions and optional app/import choices.
|
|
34
75
|
See [setup and prerequisites](docs/setup.md).
|
|
35
76
|
|
|
36
77
|
### In a terminal
|
|
37
78
|
|
|
38
|
-
|
|
39
|
-
|
|
79
|
+
One line per platform. Each downloads from the project's installation page, which
|
|
80
|
+
serves an explicitly promoted release rather than a moving latest.
|
|
81
|
+
|
|
82
|
+
On **Windows** — from PowerShell, the Command Prompt or the Run box. The current
|
|
83
|
+
release is an unsigned preview, which is what the trailing flag accepts:
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr 'https://kangminlee-maker.github.io/agent-bios/install.ps1' -UseBasicParsing -OutFile (Join-Path ([IO.Path]::GetTempPath()) 'agent-bios-install.ps1') -ErrorAction Stop; & (Join-Path ([IO.Path]::GetTempPath()) 'agent-bios-install.ps1') -AcceptUnsignedPreview"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
On **macOS or Linux**, where **Python 3.11+** and **Node.js 18+ with npm** must
|
|
90
|
+
already be present:
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
curl -fsSL https://kangminlee-maker.github.io/agent-bios/install.sh | bash
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Then deploy the work environment:
|
|
40
97
|
|
|
41
98
|
```bash
|
|
42
|
-
npm install -g agent-bios@0.19.1
|
|
43
99
|
agent-bios install
|
|
44
100
|
```
|
|
45
101
|
|
|
46
102
|
The installer opens a guided terminal UI with English, Korean and Japanese. Its
|
|
47
103
|
verified Textual bundle is included; a separate UI installation is unnecessary.
|
|
48
|
-
Choose only the dependencies and
|
|
104
|
+
Choose only the dependencies and instructions you want. [Full setup options →](docs/setup.md)
|
|
49
105
|
|
|
50
106
|
To launch a CLI session, install and authenticate that host CLI, then run this from
|
|
51
107
|
your project:
|
|
@@ -56,13 +112,19 @@ your project:
|
|
|
56
112
|
|
|
57
113
|
Use `codex` instead of `claude` for a Codex CLI session.
|
|
58
114
|
|
|
115
|
+
The full path is deliberate: `agent-bios install` deploys the launcher to
|
|
116
|
+
`~/.local/bin`, which your shell may not search. Add that directory to `PATH` to
|
|
117
|
+
type `agent-launch` directly, and run `agent-bios shell restore` to make a bare
|
|
118
|
+
`claude` or `codex` open the launcher (`agent-bios shell remove` undoes it).
|
|
119
|
+
Installation reports both when they are not in place.
|
|
120
|
+
|
|
59
121
|
1. Choose a Builder preset or **Custom**.
|
|
60
122
|
2. Review the model, review setup, and permissions. **Some presets request
|
|
61
123
|
permission bypass**; select settings appropriate for your project.
|
|
62
124
|
3. Start the session. Choose **Software Engineer / Vanilla** to use the host's
|
|
63
|
-
native setup without an agent-bios
|
|
125
|
+
native setup without an agent-bios instructions snapshot.
|
|
64
126
|
|
|
65
|
-
Open **
|
|
127
|
+
Open **Instructions Studio** from the launcher or run `agent-bios instructions` to inspect the
|
|
66
128
|
library. `agent-bios status` shows the installed private release and its location.
|
|
67
129
|
|
|
68
130
|
<details>
|
|
@@ -96,18 +158,33 @@ Install https://github.com/kangminlee-maker/agent-bios
|
|
|
96
158
|
```
|
|
97
159
|
|
|
98
160
|
The agent follows [INSTALL.md](INSTALL.md), obtains a fixed source revision, and
|
|
99
|
-
asks for English, 한국어 or 日本語. Choose dependencies, no active
|
|
100
|
-
|
|
161
|
+
asks for English, 한국어 or 日本語. Choose dependencies, no active instructions or specific
|
|
162
|
+
instructions, and optional app connection or instruction-file capture. Review the effects
|
|
101
163
|
before Apply. You do not need to supply a local path or install Codex CLI.
|
|
102
164
|
|
|
103
165
|
Once the registered command appears in the app, use `$agent-bios` for setup or management.
|
|
104
|
-
To add
|
|
105
|
-
Installation and opening
|
|
106
|
-
[App use, off, and personal instruction import →](docs/setup.md#use-
|
|
166
|
+
To add instructions to a task, explicitly ask it to use your chosen instructions there.
|
|
167
|
+
Installation and opening Instructions Studio do not activate task context.
|
|
168
|
+
[App use, off, and personal instruction import →](docs/setup.md#use-instructions-in-a-codex-app-task)
|
|
169
|
+
|
|
170
|
+
### In Claude Desktop
|
|
171
|
+
|
|
172
|
+
Claude Desktop opens conversations without a launcher, so agent-bios reaches it as a
|
|
173
|
+
local extension you install once. After installing agent-bios on the same Mac, run:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
agent-bios app desktop
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Open the `.mcpb` file it reports with Claude Desktop and confirm the installation.
|
|
180
|
+
In a conversation, ask for your agent-bios instructions: the extension returns your
|
|
181
|
+
saved selection as context for that conversation only. Nothing is added until you ask,
|
|
182
|
+
and a conversation already in progress receives nothing on its own.
|
|
183
|
+
[Desktop use, confirmation and limits →](docs/setup.md#use-instructions-in-claude-desktop)
|
|
107
184
|
|
|
108
185
|
## Your instruction library
|
|
109
186
|
|
|
110
|
-
Open **
|
|
187
|
+
Open **Instructions Studio** in the launcher, or run `agent-bios instructions`.
|
|
111
188
|
In the app, `$agent-bios` can manage the same library through conversation.
|
|
112
189
|
|
|
113
190
|
- **Read as you navigate.** Arrow keys move between reading controls and update
|
|
@@ -128,7 +205,7 @@ Individual on/off choices take precedence over default domain/core selections.
|
|
|
128
205
|
Off is not deletion: content and edits remain available, including for learning.
|
|
129
206
|
Updates retain those choices; a full reset returns to installed defaults.
|
|
130
207
|
|
|
131
|
-
[
|
|
208
|
+
[Instructions controls, keyboard navigation, delivery methods, and included guides →](docs/instructions.md)
|
|
132
209
|
|
|
133
210
|
## How sessions work
|
|
134
211
|
|
|
@@ -149,8 +226,8 @@ does not. Project instructions and prior conversation content are separate.
|
|
|
149
226
|
|
|
150
227
|
## Understand the reasoning
|
|
151
228
|
|
|
152
|
-
Choose **Understand!** in the launcher to explore why the
|
|
153
|
-
way
|
|
229
|
+
Choose **Understand!** in the launcher to explore why the instructions are written the
|
|
230
|
+
way they are. Select a coherent learning bundle rather than memorizing separate files.
|
|
154
231
|
|
|
155
232
|
The tutor chooses a small set of core learning points and tracks questions by their
|
|
156
233
|
source bullet. No bullet receives more than ten questions, including follow-ups.
|
|
@@ -187,29 +264,29 @@ requires your confirmation.
|
|
|
187
264
|
| When you need more detail | Read |
|
|
188
265
|
| --- | --- |
|
|
189
266
|
| Install, connect the app, or import existing instructions | [Setup](docs/setup.md) |
|
|
190
|
-
| Author, enable, restore, or inspect
|
|
267
|
+
| Author, enable, restore, or inspect instructions items | [Instructions](docs/instructions.md) |
|
|
191
268
|
| Understand snapshots, storage, and session evidence | [Session model](docs/session-model.md) |
|
|
192
269
|
| Migrate, reset, or resolve installation conflicts | [Recovery](docs/recovery.md) |
|
|
193
270
|
| Configure presets, globals, shell connection, native hooks, or review | [Advanced launch](docs/advanced-launch.md) |
|
|
194
|
-
| Learn the
|
|
271
|
+
| Learn the instructions and preserve a discovery | [Understand!](docs/understand.md) |
|
|
195
272
|
| Check prerequisites and optional tools | [Dependencies](DEPENDENCIES.md) |
|
|
196
273
|
| Develop this repository | [Contributing](CONTRIBUTING.md) — requires a checkout |
|
|
197
274
|
|
|
198
|
-
Use `agent-bios help` and `agent-bios
|
|
275
|
+
Use `agent-bios help` and `agent-bios instructions --help` for command discovery.
|
|
199
276
|
Source references: [delivery surfaces](SURFACES.md), [network contract](ENDPOINTS.md),
|
|
200
277
|
and [terminology](LEXICON.md).
|
|
201
278
|
|
|
202
279
|
## Adopting elsewhere
|
|
203
280
|
|
|
204
281
|
Review the `(private)` bindings and environment-specific dependencies before
|
|
205
|
-
adopting the defaults. Keep personal adjustments in
|
|
282
|
+
adopting the defaults. Keep personal adjustments in Instructions Studio, or follow
|
|
206
283
|
[the source-authoring workflow](CONTRIBUTING.md#adopting-elsewhere) when changing
|
|
207
284
|
what the package ships.
|
|
208
285
|
|
|
209
286
|
## Scope
|
|
210
287
|
|
|
211
288
|
The package contains instruction sources and runtime machinery, not your
|
|
212
|
-
personal
|
|
289
|
+
personal instructions state, learning events, session pins, credentials, or native settings.
|
|
213
290
|
|
|
214
291
|
## License
|
|
215
292
|
|
package/claude/CLAUDE.md
CHANGED
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
- For composing a prompt, packet, or tool description aimed at a specific model family — including cross-family review dispatch, porting a prompt written for an older model, or choosing a reasoning-effort level for a model family — read and use `${CLAUDE_CONFIG_DIR:-$HOME/.claude}/guides/gpt-prompting.md` for gpt-family targets and `${CLAUDE_CONFIG_DIR:-$HOME/.claude}/guides/claude-prompting.md` for claude-family targets as scoped extensions of this section.
|
|
91
91
|
- Allocate models by difficulty × blast radius, not phase name; when implementation ran on a cheaper tier, compensate by raising reviewer effort or adding a reviewer kind — never economize on implementation and verification at once.
|
|
92
92
|
- Judge a review by how much independence it actually bought, per reviewer and in this order: different provider, then different model, then strictly higher effort, then the two-perspective floor. A lower effort earns nothing — cheaper is not another perspective. Isolation is a gate rather than a rung: a reviewer you cannot show ran in a fresh context is not a weak review but no review, so exclude it instead of grading it low. Several ready methods are coverage, not proof the perspectives differed; and a clean verdict is PROPOSED until a receipt evidences a fresh dispatch of the declared packet on the exact seat, since a model echo is not evidence.
|
|
93
|
-
- When the user asks for design AND two or more providers are reachable at frontier tier, run dual-provider frontier design drafts: two independent drafts from the same blind packet, one per provider, compared and synthesized into the working draft. The consent gate is about metered spend, not the fan-out: a provider reached via an OAuth session (subscription-covered, no marginal cost) proceeds WITHOUT asking — if a non-main-context OAuth frontier provider exists, just run the dual-provider design; do not ask. Explicit per-request approval (never standing) is required ONLY before dispatching to a provider reachable solely via a metered API key, and it approves that spend. If withholding un-approved API spend leaves fewer than two providers, run single-provider rather than blocking the design on approval. Inject the
|
|
93
|
+
- When the user asks for design AND two or more providers are reachable at frontier tier, run dual-provider frontier design drafts: two independent drafts from the same blind packet, one per provider, compared and synthesized into the working draft. The consent gate is about metered spend, not the fan-out: a provider reached via an OAuth session (subscription-covered, no marginal cost) proceeds WITHOUT asking — if a non-main-context OAuth frontier provider exists, just run the dual-provider design; do not ask. Explicit per-request approval (never standing) is required ONLY before dispatching to a provider reachable solely via a metered API key, and it approves that spend. If withholding un-approved API spend leaves fewer than two providers, run single-provider rather than blocking the design on approval. Inject the instructions design principles (concept economy, LLM/capability boundary, staged workflow) into every dispatched design packet — an external model does not load these instructions.
|
|
94
94
|
- Never retry-storm a live rate limit: give unattended batches you author a code-level circuit breaker with per-item completion tracking (thresholds, backoff, and dead-letter rules in the guide); for third-party dispatchers, confirm equivalent protection exists or attend the run.
|
|
95
95
|
- On any resumed, cleared, or relocated session, re-verify where you are (pwd; in a repo, branch and HEAD) before acting on prior-session assumptions — against the pinned handoff state when one exists.
|
|
96
96
|
|
|
@@ -49,7 +49,7 @@ Claude.
|
|
|
49
49
|
|
|
50
50
|
Use the shared recipe and checklist together with the section for the model being
|
|
51
51
|
prompted, even when a subagent uses a different model from the main. Model-specific
|
|
52
|
-
tuning preserves the
|
|
52
|
+
tuning preserves the instructions' permission boundaries and required verification.
|
|
53
53
|
|
|
54
54
|
| Target | Apply |
|
|
55
55
|
| --- | --- |
|
|
@@ -35,7 +35,7 @@ Scoped extension of the global Multi-Model Workflow rules. Rules use portable ro
|
|
|
35
35
|
|
|
36
36
|
Main-context pollution is usually costlier than spawn overhead. Apply these gates in order; the first that fires decides:
|
|
37
37
|
|
|
38
|
-
1. **Independence:** verification and review go outside your own reasoning, not merely outside your conversation. A child carries the standing
|
|
38
|
+
1. **Independence:** verification and review go outside your own reasoning, not merely outside your conversation. A child carries the standing instructions on both hosts, except Claude's built-in `Explore` and `Plan`, which omit the CLAUDE.md hierarchy. Otherwise a Claude child starts fresh, while Codex `spawn_agent` forks by default — `fork_turns` defaults to `all`, so the child also holds the parent's turn input unless the call passes `none` or a turn count. What a spawn buys is graded by the seat — see Review Independence — never by the fact that it happened.
|
|
39
39
|
Verify a spawn from the artifact: Claude writes the child to its own `agent-<id>.jsonl` beside the session transcript; Codex writes a rollout whose header carries `parent_thread_id`, `agent_nickname`, `agent_path`, `agent_role`. Codex's `--json` stream cannot see a spawn at all — its `collab_tool_call` object is identical whether or not one occurred.
|
|
40
40
|
2. **Parallelism:** independent items spawn in parallel with per-item tracking.
|
|
41
41
|
3. **Residual context:** spawn work whose working log is much larger than the conclusion the main needs, such as broad reads, searches, tests, or implementation bursts.
|
|
@@ -67,10 +67,10 @@ Delegate execution, not decisions. A unit is delegable only when it is decision-
|
|
|
67
67
|
- Use a resident teammate only for dependent slices in one burst. Verify that the CLI preserves its model and context; resume-after-completion may silently change both. Retire after the burst or cache TTL, and persist durable knowledge in files.
|
|
68
68
|
- After a discard or direction change, respawn once a routine round costs about as much as a fresh slice. Recover unique in-flight state to files first.
|
|
69
69
|
- Redirects to busy workers may queue rather than preempt. Check artifacts before destructive redirects, phrase them conditionally, and stop an actively harmful worker by scoped PID/worktree authority.
|
|
70
|
-
- Idle/progress notifications are hypotheses; verify repo artifacts before re-dispatch. An idle signal is liveness decoupled from the report: a subagent can go idle without ever delivering its result, so idle-without-report is not done — request the report explicitly rather than waiting. Cross-reset state belongs in files, not task boards or transcripts. When polling concurrent async jobs, pin the exact id/handle received at dispatch — a "latest" convenience selector can silently point at a sibling job and return plausible-but-wrong results.
|
|
70
|
+
- Idle/progress notifications are hypotheses; verify repo artifacts before re-dispatch. An idle signal is liveness decoupled from the report: a subagent can go idle without ever delivering its result, so idle-without-report is not done — request the report explicitly rather than waiting. A delivered report can also arrive cut off with no marker — mid-table or mid-finding — and asking for it again inline truncates the same way. When a report is longer than a short summary or must outlive the turn, name an output file in the brief: the worker writes the full report there and returns the path and a one-line summary. Treat a report that ends mid-item as incomplete and switch to the file rather than re-requesting inline. Cross-reset state belongs in files, not task boards or transcripts. When polling concurrent async jobs, pin the exact id/handle received at dispatch — a "latest" convenience selector can silently point at a sibling job and return plausible-but-wrong results.
|
|
71
71
|
- Give reviewers/subagents a read-only diff, snapshot, or isolated worktree — not the live tree the main is editing — and forbid destructive git ops (checkout --, reset --hard, stash, clean) on any tree with uncommitted work; re-verify tree integrity before trusting results produced mid-edit.
|
|
72
72
|
- Codex `spawn_agent` decides how much of the parent crosses: `fork_turns` defaults to `all`, and takes `none` or a turn count. A `SubagentStart` hook there receives `agent_type` and may return `continue: false`, so a tier rule can be enforced rather than stated.
|
|
73
|
-
- No per-spawn
|
|
73
|
+
- No per-spawn instructions suppression exists on either host: the subagent definition carries model and effort, not scope. Excluding the standing instructions is a process-level act — `claude --setting-sources ''`, or `CODEX_HOME` pointed at a directory holding only `auth.json` — and it removes the tier definitions with them, so a reader without those instructions and a pinned tier cannot come from one process. An emptied `CODEX_HOME` without `auth.json` fails 401; skills still load.
|
|
74
74
|
- Review cost scales with the diff, so layered review preserves delegation savings. Lower reviewer tier before dropping a review kind.
|
|
75
75
|
|
|
76
76
|
## Driving Codex CLI Directly
|
|
@@ -143,7 +143,7 @@ How much independence a review actually bought, as an ordinal grade per reviewer
|
|
|
143
143
|
|
|
144
144
|
- Trigger: the task is design — high-level shape and implementation process, before any code — AND two or more providers are reachable at frontier tier. Reachability via an OAuth session is subscription-covered — no marginal spend, so no approval and no question: if a non-main-context OAuth frontier provider exists, proceed with the dual-provider design directly. The consent gate applies ONLY to a provider reachable solely via a metered API key: dispatching to it needs the user's explicit per-request approval of that spend (per-request, not standing — an old approval does not carry to the next design). If the only way to reach a second provider is un-approved metered API spend, stay single-provider rather than blocking the design.
|
|
145
145
|
- Mechanics: compose ONE blind packet (evidence, constraints, rubric, neutral alternatives — the escalation-gate packet shape) and dispatch it unchanged to one frontier-tier model per provider; drafts stay independent — neither sees the other's output. Then adjudicate: compare the two dual-provider frontier design drafts against the rubric, take the winner as the skeleton, graft the loser's superior parts, and record what differed and why the synthesis chose as it did (FRONTIER disposition line).
|
|
146
|
-
- Packet injection: a dispatched designer is hermetic — it reads only its packet and never loads
|
|
146
|
+
- Packet injection: a dispatched designer is hermetic — it reads only its packet and never loads these instructions. Inject the design principles the instructions would have supplied: concept economy (reuse/extend/rename/split, compact concept graph), the LLM/tools-code capability boundary, the staged design rules (smallest viable path, falsifiable done-when), and any domain-specific principles the design touches. A draft produced without the principles is not comparable to one produced with them.
|
|
147
147
|
|
|
148
148
|
## Unattended Batch Safety
|
|
149
149
|
|
|
@@ -25,6 +25,11 @@ change introduced. The stages below are for work that outgrows that sentence.
|
|
|
25
25
|
|
|
26
26
|
When the user asks to "설계" or design, stay in design mode. Focus on high-level design and implementation-process design, then present the plan, tradeoffs, review gates, and implementation trigger. Move to implementation after the user asks to implement or approves the plan.
|
|
27
27
|
|
|
28
|
+
For operational user-interface flows, information layout, visual hierarchy or
|
|
29
|
+
interaction design, use `${CLAUDE_CONFIG_DIR:-$HOME/.claude}/guides/ui-design.md`.
|
|
30
|
+
Keep bounded corrections on the lightweight path; this pointer does not require
|
|
31
|
+
a full UI redesign.
|
|
32
|
+
|
|
28
33
|
## When To Use
|
|
29
34
|
|
|
30
35
|
- Use this workflow for architecture changes, new features, cross-module behavior changes, ontology changes, review-driven fixes, or work that affects user-visible behavior, authority, lifecycle, validation, failure handling, or roadmap commitments.
|
|
@@ -88,6 +93,18 @@ blast radius. Re-mapping a level obliges enumerating every reader of that field,
|
|
|
88
93
|
commonly gates shipping, repair, retry, and display at once. A deferred defect is pinned as a
|
|
89
94
|
strict expected failure, never a silent pass.
|
|
90
95
|
|
|
96
|
+
**Choose the failure posture by what the next step reads.** Across these instructions, an
|
|
97
|
+
unqualified instruction to fail loud or fail clearly means surface the problem and reject the bad
|
|
98
|
+
local result; it does not by itself decide whether a whole production run stops. In development,
|
|
99
|
+
tests, and gates, stop and name the problem, because a silent pass hides a defect. On a production
|
|
100
|
+
runtime path, warn loudly and halt only when continuing would contaminate what the next step
|
|
101
|
+
reads: an input is stale or marked not reusable (partial, failed, blocked); a contract-failing
|
|
102
|
+
value is about to be recorded as valid; or an external write has an unknown outcome. Otherwise —
|
|
103
|
+
an isolated item failure, a tripped breaker, an exhausted budget — warn and continue: work already
|
|
104
|
+
done stays valid, work not done is recorded as not done, and the next run picks it up. This
|
|
105
|
+
default assumes recoverable state kept in artifacts rather than only in the running process. The
|
|
106
|
+
system's owner can redefine it. In no stage does a problem pass silently.
|
|
107
|
+
|
|
91
108
|
## Review Loop
|
|
92
109
|
|
|
93
110
|
- At each stage, run review loops as appropriate: self review, subagent review when available, and structured multi-lens review when the repository or domain supports one (concrete tool: Environment Binding below).
|
|
@@ -17,6 +17,9 @@ core_rules:
|
|
|
17
17
|
|
|
18
18
|
# Documentation Hygiene
|
|
19
19
|
|
|
20
|
+
Before writing, revising, or translating Korean prose, read and apply
|
|
21
|
+
`${CLAUDE_CONFIG_DIR:-$HOME/.claude}/guides/korean-writing.md` in full.
|
|
22
|
+
|
|
20
23
|
A scoped extension of the global Documentation Hygiene section. The subject is placement: **prose
|
|
21
24
|
about the past and prose about the present need different addresses.**
|
|
22
25
|
|
|
@@ -225,7 +225,7 @@ that sample, not Astra measurements or promised gains on another workload.
|
|
|
225
225
|
|
|
226
226
|
The GPT-5.6 section is derived from `prompt-guidance-gpt-5p6`; the GPT-6 Astra
|
|
227
227
|
section from `model-guidance-gpt-6-astra`. The shared recipe retains task, evidence,
|
|
228
|
-
tool, and validation practices from the GPT-5.6 guidance and the
|
|
228
|
+
tool, and validation practices from the GPT-5.6 guidance and the instructions; model
|
|
229
229
|
behavior claims belong only to their matching section. `source_pins` records the
|
|
230
230
|
exact bytes used for this derivation so later vendor edits can be detected.
|
|
231
231
|
|