@unson/brainbase-mcp 0.2.1 → 0.2.2

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/README.md CHANGED
@@ -28,17 +28,19 @@ npm run onboard:start -- --target codex
28
28
 
29
29
  `onboard:start`は日本語の初回導入コマンドです。最小ディレクトリだけを作り、本人、プロジェクト、関係者、判断、メール、カレンダー、ドライブ、タスクの事実は、利用者が承認するまで保存しません。通常表示は次の一手だけに絞り、全項目は`--details`で確認できます。
30
30
 
31
- 公開CLIをインストール済みなら、次の3ステップです。
31
+ 公開CLIをインストール済みなら、次の5ステップです。
32
32
 
33
33
  ```bash
34
34
  brainbase onboard:start --target codex
35
35
  # 表示された onboard:seed を確認して実行
36
- brainbase onboard:demo --scenario "実際に試す依頼"
36
+ brainbase onboard:install --target codex --dry-run
37
+ # 設定を承認・反映し、Codexを再起動
38
+ # 新しいCodexでBrainbaseのget_context/searchを使って実際の依頼を試す
37
39
  ```
38
40
 
39
- リポジトリをcloneした場合は、同じ流れを`npm run onboard:start -- --target codex`、表示された`npm run`コマンド、`npm run onboard:demo -- --scenario "実際に試す依頼"`で進めます。
41
+ リポジトリをcloneした場合も、`npm run onboard:start -- --target codex`から同じ順序で進めます。
40
42
 
41
- 利用者がBrainbaseの導入を依頼したら、エージェントはチェックリストを返すだけでなく、この公開CLIを実行します。最小文脈を確認し、承認された事実だけを`onboard:seed`で保存し、現実の依頼で`onboard:demo`を実行します。プロンプト、出力、説明し直さずに済んだ前提、まだ終わっていない運用化を分けて示します。`ready: true`、`first_value_demo_ready`、Skillsやルーティンの生成、`onboard:install --dry-run`だけでは導入完了ではありません。
43
+ 利用者がBrainbaseの導入を依頼したら、エージェントはチェックリストを返すだけでなく、この公開CLIを実行します。承認された最小文脈を保存し、MCP設定を反映した新しい実エージェントで`get_context`と`search`を使って現実の依頼へ回答します。その実回答を見た本人が「役立った」と判断して初めて初回価値です。`ready: true`、`cli_sample_ready`、CLIの処理時間、合成ペルソナ評価、Skillsやルーティンの生成、`onboard:install --dry-run`だけでは導入完了ではありません。
42
44
 
43
45
  For a Google Workspace / Google Drive / local-notes setup, pass the known answers and let the command surface what still needs approval:
44
46
 
@@ -83,21 +85,22 @@ brainbase onboard:seed \
83
85
  --relationship "Key Partner|collaborator|Context you want AI tools to remember"
84
86
  ```
85
87
 
86
- Run the first value demo with a real request. This is the onboarding completion signal:
88
+ Optionally preview the saved context locally. This is not an onboarding completion signal:
87
89
 
88
90
  ```bash
89
91
  brainbase onboard:demo --scenario "Draft the first note I should send to Key Partner about Current project"
90
92
  ```
91
93
 
92
- `onboard:demo` reads only locally saved, approved facts. It does not call an LLM, hosted backend, or raw source collector. If it returns `ready: true`, the agent still needs to show the try-this prompt, sample result, and plain-language value: the user did not have to explain the saved work premise or person context again.
94
+ `onboard:demo` reads only locally saved, approved facts. It does not call an LLM, an agent, or a hosted backend. Its result is only a preview. Continue through MCP installation, restart the selected agent, make a real request using `get_context` and `search`, and ask the user whether that actual answer was useful.
95
+
96
+ After the demo, keep onboarding open: the preview is not the first-value gate. Continue until a real agent uses Brainbase and the human user confirms that the result was useful.
93
97
 
94
- After the demo, keep onboarding open until the operationalization checklist is either completed or explicitly deferred:
98
+ After seed, install and verify MCP before asking for the human value judgment:
95
99
 
96
100
  ```bash
97
- brainbase onboard:skills --target codex
98
- brainbase onboard:routines --target codex --cwd /path/to/brainbase
99
101
  brainbase onboard:install --target codex --dry-run
100
102
  brainbase doctor
103
+ # restart Codex, use get_context/search for the real request, then ask whether it was useful
101
104
  ```
102
105
 
103
106
  The recommended order is public skills, `ohayo` / `oyasumi` / `retro` routines registered paused or confirmation-gated, real MCP config merge after approving the dry-run snippet, source allowlist / import / candidate review decisions, then `doctor` plus MCP `get_context` / `search` verification from a fresh agent session.
package/dist/cli.js CHANGED
@@ -256,7 +256,8 @@ async function onboardSeed(parsed, io) {
256
256
  '- 同じ文脈は更新しました。既存の別データは削除していません。',
257
257
  '',
258
258
  '次に実行:',
259
- `brainbase onboard:demo --dir ${shellArg(dataDir)} --scenario "保存した文脈を使って、次に進めるメモを作って"`,
259
+ `brainbase onboard:install --target codex --dir ${shellArg(dataDir)} --dry-run`,
260
+ '設定を承認・反映してエージェントを再起動した後、実際の依頼でBrainbaseのget_contextとsearchを使います。',
260
261
  ''
261
262
  ];
262
263
  write(io, summary.join('\n'));
@@ -934,10 +935,12 @@ function proposedPersonalOs(os, proposed) {
934
935
  return { ...os, ...proposed };
935
936
  }
936
937
  function usage() {
937
- return `最短で試す(3ステップ):
938
+ return `初回価値まで(5ステップ):
938
939
  1. brainbase onboard:start --target codex
939
940
  2. 表示された brainbase onboard:seed を確認して実行
940
- 3. brainbase onboard:demo --scenario "実際に試す依頼"
941
+ 3. brainbase onboard:install --target codex --dry-run
942
+ 4. 設定を承認・反映し、Codexを再起動
943
+ 5. 新しいエージェントで実際の依頼を送り、役立ったか本人が判断
941
944
 
942
945
  使い方:
943
946
  brainbase-mcp
@@ -70,6 +70,7 @@ export function buildGuidedFirstRun(input) {
70
70
  '--dir', input.dataDir,
71
71
  '--scenario', firstValueScenario
72
72
  ]);
73
+ const actualAgentPrompt = `Brainbaseのget_contextとsearchを使い、保存済み文脈を根拠に「${firstValueScenario}」へ回答してください。使った前提と未確認事項を分けてください。`;
73
74
  const projectDryRunCommand = project
74
75
  ? projectCommand(input.dataDir, project.project.name, input.project, project.project.sources, false)
75
76
  : undefined;
@@ -119,44 +120,50 @@ export function buildGuidedFirstRun(input) {
119
120
  nextCommands: [
120
121
  {
121
122
  id: 'self-seed',
122
- title: '最初のデモに必要な最小文脈を正本化する',
123
+ title: '最初の実利用に必要な最小文脈を正本化する',
123
124
  when: '名前、価値観、最初のプロジェクト、関係者文脈を本人が確認した後',
124
125
  command: selfSeedCommand
125
126
  },
127
+ {
128
+ id: 'install',
129
+ title: `${targetLabel(input.target)} 用のMCP設定を実configへmergeする`,
130
+ when: '最小文脈のseed直後。dry-runを確認し、承認後に実configへ反映する',
131
+ command: operationalization.pending.find((item) => item.id === 'mcp-config')?.command ?? command(['brainbase', 'onboard:install', '--target', input.target, '--dir', input.dataDir, '--dry-run'])
132
+ },
133
+ {
134
+ id: 'doctor',
135
+ title: 'doctor と MCP get_context/search で確認する',
136
+ when: 'MCP設定を実configへmergeし、対象エージェントを再起動した後',
137
+ command: operationalization.pending.find((item) => item.id === 'verification')?.command ?? command(['brainbase', 'doctor', '--dir', input.dataDir])
138
+ },
139
+ {
140
+ id: 'actual-agent-value',
141
+ title: '実エージェントで現実の依頼を試し、本人が価値を判断する',
142
+ when: 'MCP設定反映後の新しいエージェントセッション',
143
+ command: actualAgentPrompt
144
+ },
126
145
  {
127
146
  id: 'first-value-demo',
128
- title: '最初の価値体験を実行する',
129
- when: '最小文脈のseed直後。接続診断より先に実行する',
147
+ title: '必要ならCLI文脈プレビューを見る',
148
+ when: '実接続前に保存文脈から作れるサンプルだけ確認したい時。完了証拠にはしない',
130
149
  command: demoCommand
131
150
  },
132
151
  {
133
152
  id: 'skills',
134
153
  title: '公開オンボーディングskillsを配置する',
135
- when: 'first value demoを見せた後。agentが次回も同じ運用を辿れるようにする',
154
+ when: '実エージェントの回答を本人が役立つと確認した後',
136
155
  command: operationalization.pending.find((item) => item.id === 'public-skills')?.command ?? 'brainbase onboard:skills --target codex'
137
156
  },
138
157
  {
139
158
  id: 'routines',
140
159
  title: 'ohayo / oyasumi / retroを確認付きで登録する',
141
- when: 'first value demoを見せた後。最初はPAUSEDまたは確認付きで登録する',
160
+ when: '初回価値確認後、継続運用が必要になった時',
142
161
  command: operationalization.pending.find((item) => item.id === 'routines')?.command ?? 'brainbase onboard:routines --target codex --cwd <brainbase-checkout>'
143
162
  },
144
- {
145
- id: 'install',
146
- title: `${targetLabel(input.target)} 用のMCP設定を実configへmergeする`,
147
- when: 'first value demoとskills/routines確認後。dry-runをプレビューにして承認後に実configへ反映する',
148
- command: operationalization.pending.find((item) => item.id === 'mcp-config')?.command ?? command(['brainbase', 'onboard:install', '--target', input.target, '--dir', input.dataDir, '--dry-run'])
149
- },
150
- {
151
- id: 'doctor',
152
- title: 'doctor と MCP get_context/search で確認する',
153
- when: 'MCP設定を実configへmergeし、対象エージェントを再起動した後',
154
- command: operationalization.pending.find((item) => item.id === 'verification')?.command ?? command(['brainbase', 'doctor', '--dir', input.dataDir])
155
- },
156
163
  ...(projectDryRunCommand ? [{
157
164
  id: 'project-dry-run',
158
165
  title: 'プロジェクト登録内容を確認する',
159
- when: '最初のデモ後、プロジェクト詳細を追加したい時',
166
+ when: '実エージェントの回答確認後、プロジェクト詳細を追加したい時',
160
167
  command: projectDryRunCommand
161
168
  }] : []),
162
169
  ...(projectWriteCommand ? [{
@@ -168,13 +175,13 @@ export function buildGuidedFirstRun(input) {
168
175
  {
169
176
  id: 'source-diagnosis',
170
177
  title: 'メール・カレンダー・ドライブ・タスクの接続準備を診断する',
171
- when: '最初の価値体験の後、追加文脈が必要だと分かった時',
178
+ when: '実エージェントの回答を確認した後、追加文脈が必要だと分かった時',
172
179
  command: diagnoseCommand
173
180
  },
174
181
  {
175
182
  id: 'candidates',
176
183
  title: '候補ファクトをレビュー用に作る',
177
- when: '最初のデモ後、聞き取り内容をまだ正本化せずレビュー材料にしたい時',
184
+ when: '実エージェントの回答を確認した後、聞き取り内容をまだ正本化せずレビュー材料にしたい時',
178
185
  command: command([
179
186
  'brainbase',
180
187
  'onboard:candidates',
@@ -187,16 +194,16 @@ export function buildGuidedFirstRun(input) {
187
194
  ],
188
195
  approvalGates: [
189
196
  'OAuth token、password、API key、refresh tokenはチャットへ貼らない。',
190
- '接続診断や候補JSONを初回オンボーディングの完了扱いにしない。最初の価値体験を先に見る。',
197
+ '接続診断や候補JSONを初回オンボーディングの完了扱いにしない。実エージェントの回答と本人の価値判断を先に確認する。',
191
198
  'メール、カレンダー、ドライブ、タスクは最初はmetadata-firstで扱う。',
192
199
  'Google Driveとローカルファイルは明示されたfolder allowlistだけを見る。',
193
200
  'sources/ と candidates/ は二次材料であり、本人承認前にMCPの正本文脈へ入れない。',
194
201
  'プロジェクト、関係者、判断基準はdry-run確認後だけ --write または onboard:seed で正本化する。'
195
202
  ],
196
203
  completionCheck: [
197
- 'brainbase onboard:demo が、保存済み文脈を使った自然なプロンプトとサンプル回答を返す。',
198
- 'ready=true / first_value_demo_ready だけで完了扱いにせず、ユーザーが「説明し直さなくてよい」と分かる回答を見る。',
199
- 'doctor の valueDemo.ready が true になる。',
204
+ 'CLIサンプルは接続前プレビューであり、初回価値の達成証拠にしない。',
205
+ '新しい実エージェントがBrainbase MCPのget_context/searchを使って現実の依頼へ回答する。',
206
+ '実回答を見た本人が役立ったかを判断する。',
200
207
  '完了報告には、公開skills、ohayo/oyasumi/retro、MCP実config merge、source allowlist/import/candidate review、MCP get_context/search確認の未完了タスクを必ず出す。',
201
208
  `${targetLabel(input.target)} のMCP設定に Brainbase が実登録されている。`,
202
209
  '最初のプロジェクトが get_context/search で見える。',
@@ -212,11 +219,11 @@ export function renderGuidedFirstRun(input, format, details = false) {
212
219
  if (!details) {
213
220
  const next = guide.currentStatus.missing.length > 0
214
221
  ? guide.nextCommands.find((item) => item.id === 'self-seed')
215
- : guide.nextCommands.find((item) => item.id === 'first-value-demo');
222
+ : guide.nextCommands.find((item) => item.id === 'install');
216
223
  return [
217
224
  '# Brainbase 初回オンボーディング',
218
225
  '',
219
- `- 状態: ${guide.currentStatus.missing.length > 0 ? '最小文脈の保存待ち' : '初回価値を確認できます'}`,
226
+ `- 状態: ${guide.currentStatus.missing.length > 0 ? '最小文脈の保存待ち' : '実エージェント接続待ち'}`,
220
227
  `- データ: \`${guide.dataDir}\``,
221
228
  `- 不足: ${guide.currentStatus.missing.length > 0 ? guide.currentStatus.missing.map(canonicalAreaLabel).join('、') : 'なし'}`,
222
229
  '',
@@ -241,13 +248,13 @@ export function renderGuidedFirstRun(input, format, details = false) {
241
248
  `- 正本ファクト書き込み: ${guide.initialized.canonicalFactWrites ? 'あり' : 'なし'}`,
242
249
  `- 現在の不足: ${guide.currentStatus.missing.length > 0 ? guide.currentStatus.missing.map(canonicalAreaLabel).join('、') : 'なし'}`,
243
250
  '',
244
- '## まず試すこと',
251
+ '## 接続後に実エージェントで試すこと',
245
252
  guide.firstValueExperience.title,
246
253
  '',
247
254
  `- 試すプロンプト: 「${guide.firstValueExperience.tryPrompt}」`,
248
255
  `- 期待する価値: ${guide.firstValueExperience.expectedValue}`,
249
256
  '',
250
- '### サンプル回答',
257
+ '### 回答イメージ(接続前プレビュー)',
251
258
  guide.firstValueExperience.sampleResult,
252
259
  '',
253
260
  '## まだ残っている運用化',
@@ -266,7 +273,7 @@ export function renderGuidedFirstRun(input, format, details = false) {
266
273
  ...section.questions.map((question) => `- ${question}`)
267
274
  ]),
268
275
  '',
269
- '## 接続準備(デモ後の任意ステップ)',
276
+ '## 追加接続(初回価値確認後の任意ステップ)',
270
277
  ...guide.sourceReadiness.flatMap((source) => [
271
278
  '',
272
279
  `### ${source.title}`,
@@ -300,11 +307,11 @@ function buildJapaneseInterview() {
300
307
  return [
301
308
  {
302
309
  id: 'value_target',
303
- title: '最初の価値体験',
310
+ title: '本人が価値を判断できる最初の実利用',
304
311
  questions: [
305
312
  'Codex / Claude Code に毎回説明し直したくない仕事文脈は何ですか?',
306
313
  '今日のオンボーディングで「これは便利」と判断できる実リクエストは何ですか?',
307
- '最初のデモは仕事前提、関係者、判断基準、プロジェクトのどれを使えれば成功ですか?'
314
+ '最初の実回答は仕事前提、関係者、判断基準、プロジェクトのどれを使えれば役立ったと判断できますか?'
308
315
  ]
309
316
  },
310
317
  {
@@ -313,7 +320,7 @@ function buildJapaneseInterview() {
313
320
  questions: [
314
321
  'あなたの名前、呼ばれ方、Codex / Claude Code に覚えてほしい仕事上の前提は何ですか?',
315
322
  '判断基準、重視する価値観、避けたい進め方は何ですか?',
316
- '最初のデモに必要な関係者は誰で、どういう文脈を覚えておくべきですか?'
323
+ '最初の実利用に必要な関係者は誰で、どういう文脈を覚えておくべきですか?'
317
324
  ]
318
325
  },
319
326
  {
@@ -329,24 +336,24 @@ function buildJapaneseInterview() {
329
336
  id: 'approval',
330
337
  title: '正本化の承認',
331
338
  questions: [
332
- '最初のデモに必要な本人、仕事、関係性の事実をこのままローカル正本に入れてよいですか?',
339
+ '最初の実利用に必要な本人、仕事、関係性の事実をこのままローカル正本に入れてよいですか?',
333
340
  '候補JSONではなく、会話上の要約として承認できますか?',
334
341
  'まだ正本化しない事実や除外したい文脈はありますか?'
335
342
  ]
336
343
  },
337
344
  {
338
345
  id: 'first_value_demo',
339
- title: 'デモ確認',
346
+ title: '実エージェント回答の確認',
340
347
  questions: [
341
- 'seed直後に brainbase onboard:demo を実行し、説明し直しが減ったか確認してください。',
342
- 'デモが足りない場合、どの文脈が不足していましたか?'
348
+ 'MCP設定反映と再起動後、実エージェントへ現実の依頼を送り、説明し直しが減ったか確認してください。',
349
+ '実回答が役立たない場合、どの文脈が不足していましたか?'
343
350
  ]
344
351
  },
345
352
  {
346
353
  id: 'sources',
347
- title: 'デモ後のメール・カレンダー・ドライブ・タスク',
354
+ title: '初回価値確認後のメール・カレンダー・ドライブ・タスク',
348
355
  questions: [
349
- '最初のデモ後に追加文脈が必要なら、メールは Gmail / Google Workspace / Outlook / Apple Mail / その他のどれですか?',
356
+ '初回価値確認後に追加文脈が必要なら、メールは Gmail / Google Workspace / Outlook / Apple Mail / その他のどれですか?',
350
357
  'カレンダーは Google Calendar / Outlook Calendar / Apple Calendar / その他のどれですか?',
351
358
  'ドキュメントは Google Drive / OneDrive / Dropbox / Notion / ローカルフォルダのどこにありますか?',
352
359
  'タスク管理は Notion / Todoist / Linear / GitHub Issues / NocoDB / CSV / カレンダーやメモ散在 / なし のどれですか?',
@@ -381,7 +388,7 @@ function buildFirstValueExperience(projectName, person) {
381
388
  '背景説明をもう一度求めず、保存した仕事メモを前提に最初の作業メモを出します。'
382
389
  ].join('\n');
383
390
  return {
384
- title: '最小メモを保存したら、まずこの一問で価値を確認します。',
391
+ title: '最小メモを保存して接続したら、実エージェントへこの一問を依頼します。',
385
392
  tryPrompt,
386
393
  expectedValue,
387
394
  sampleResult
@@ -160,7 +160,10 @@ export interface ValueDemo {
160
160
  valueExplanation: string;
161
161
  operationalization: OperationalizationPlan;
162
162
  nextStep: string;
163
- completionSignal: 'needs_seed' | 'first_value_demo_ready';
163
+ completionSignal: 'needs_seed' | 'cli_sample_ready';
164
+ onboardingComplete: false;
165
+ humanValueStatus: 'not_observed';
166
+ actualAgentPrompt: string;
164
167
  }
165
168
  export declare function buildAgentOnboardingProtocol(): AgentOnboardingProtocol;
166
169
  export declare function buildValueDemo(input: ValueDemoInput): ValueDemo;
@@ -41,12 +41,12 @@ export function buildAgentOnboardingProtocol() {
41
41
  },
42
42
  {
43
43
  id: 'first_value_demo',
44
- title: 'First value demo',
44
+ title: 'CLI preview and actual agent value check',
45
45
  questions: [
46
- 'Run brainbase onboard:demo with the real request the user chose.',
47
- 'Show the try-this prompt, sample result, and what the user did not have to explain again.',
48
- 'Treat the useful output, not ready=true or connector readiness, as the onboarding completion signal.',
49
- 'After showing the useful output, report the remaining operationalization actions instead of calling onboarding done.'
46
+ 'Optionally run brainbase onboard:demo to preview which saved context should be used.',
47
+ 'Install the MCP config after user approval and restart the selected agent.',
48
+ 'Send the real request through that agent and require get_context/search evidence.',
49
+ 'Ask the user whether the actual answer was useful. A CLI sample or synthetic evaluator is not onboarding completion.'
50
50
  ]
51
51
  },
52
52
  {
@@ -72,7 +72,10 @@ export function buildAgentOnboardingProtocol() {
72
72
  'brainbase onboard:init',
73
73
  'brainbase onboard:seed --name "<name>" --value "<what should not be re-explained>" --project "<current project>" --relationship "<person>|<role>|<context>"',
74
74
  'brainbase onboard:projects --name "<project>" --goal "<goal>" --status "<status>" --role "<your role>"',
75
- 'brainbase onboard:demo --scenario "<real request that should now work>"',
75
+ 'brainbase onboard:install --target codex --dry-run',
76
+ 'Restart the selected agent, then send the real request and require Brainbase get_context/search.',
77
+ 'Ask the user whether the actual answer was useful.',
78
+ 'brainbase onboard:demo --scenario "<optional local preview>"',
76
79
  'brainbase onboard:skills --target codex',
77
80
  'brainbase onboard:routines --target codex --cwd <brainbase-checkout>',
78
81
  'brainbase onboard:install --target codex --dry-run',
@@ -82,10 +85,11 @@ export function buildAgentOnboardingProtocol() {
82
85
  completionCheck: [
83
86
  'Personal OS directory exists.',
84
87
  'The approved self, work, and person context are saved locally.',
85
- 'brainbase onboard:demo returns a try-this prompt, sample result, and useful answer for the selected real request.',
86
- 'The user can see what they did not have to explain again.',
88
+ 'The CLI sample, if used, is labeled as a preview rather than an onboarding completion signal.',
87
89
  'The completion report lists public skills, ohayo/oyasumi/retro routines, real MCP config merge, source allowlists, and MCP get_context/search verification as unfinished operationalization work.',
88
90
  'The selected MCP client has a Brainbase config snippet merged into its real config after user approval.',
91
+ 'A fresh agent session used Brainbase get_context/search for the real request.',
92
+ 'The user personally confirmed that the actual agent answer was useful.',
89
93
  'Source diagnosis is optional follow-up work, but source allowlist/import/candidate review must be explicitly completed or deferred.'
90
94
  ]
91
95
  };
@@ -119,8 +123,9 @@ export function buildValueDemo(input) {
119
123
  dataDir: input.os.dataDir,
120
124
  firstValueReady: ready
121
125
  });
126
+ const actualAgentPrompt = `Brainbaseのget_contextとsearchを使い、保存済み文脈を根拠に「${scenario}」へ回答してください。使った前提と未確認事項を分けてください。`;
122
127
  return {
123
- goal: '追加設定へ進む前に、保存した文脈が役立つ回答を一つ確認する。',
128
+ goal: '実エージェント接続前に、保存した文脈から作れる出力をプレビューする。',
124
129
  ready,
125
130
  missing,
126
131
  scenario,
@@ -145,9 +150,12 @@ export function buildValueDemo(input) {
145
150
  valueExplanation,
146
151
  operationalization,
147
152
  nextStep: ready
148
- ? '必要なら --details で、スキル、ルーティン、MCP設定、参照許可、動作確認の残作業を確認します。'
153
+ ? 'MCP設定を反映して新しいエージェントを開き、実際の回答を確認した後、本人が役立ったかを判断します。'
149
154
  : `まず最小文脈を保存します: ${missing.map(missingLabel).join(', ')}。`,
150
- completionSignal: ready ? 'first_value_demo_ready' : 'needs_seed'
155
+ completionSignal: ready ? 'cli_sample_ready' : 'needs_seed',
156
+ onboardingComplete: false,
157
+ humanValueStatus: 'not_observed',
158
+ actualAgentPrompt
151
159
  };
152
160
  }
153
161
  export function buildSourceDiagnosis(input) {
@@ -504,12 +512,12 @@ export function renderValueDemo(input, format, details = false) {
504
512
  return `${JSON.stringify(demo, null, 2)}\n`;
505
513
  }
506
514
  const lines = [
507
- '# Brainbase 初回価値デモ',
515
+ '# Brainbase 文脈プレビュー',
508
516
  '',
509
517
  demo.goal,
510
518
  '',
511
519
  `- 状態: ${demo.ready ? '準備済み' : '要設定'}`,
512
- `- 完了シグナル: ${demo.completionSignal}`,
520
+ `- プレビュー状態: ${demo.completionSignal}`,
513
521
  `- 不足: ${demo.missing.length === 0 ? 'なし' : demo.missing.map(missingLabel).join(', ')}`,
514
522
  '',
515
523
  '## 今すぐ試す',
@@ -517,6 +525,7 @@ export function renderValueDemo(input, format, details = false) {
517
525
  '',
518
526
  '## サンプル結果',
519
527
  'これはCLIが保存済み文脈から組み立てたサンプルです。実際のエージェント応答ではありません。',
528
+ 'このサンプルだけでは初回価値の達成になりません。',
520
529
  '- 実エージェント接続: 未確認',
521
530
  `- 実応答の確認方法: ${demo.realVerification}`,
522
531
  '',
@@ -527,9 +536,10 @@ export function renderValueDemo(input, format, details = false) {
527
536
  '',
528
537
  '## 次に実行',
529
538
  demo.ready
530
- ? `\`brainbase onboard:demo --dir ${shellArg(input.os.dataDir)} --scenario ${shellArg(demo.scenario)} --details\``
539
+ ? `\`brainbase onboard:install --target codex --dir ${shellArg(input.os.dataDir)} --dry-run\``
531
540
  : `\`brainbase onboard:start --dir ${shellArg(input.os.dataDir)} --target codex\``,
532
541
  demo.nextStep,
542
+ ...(demo.ready ? ['', '## 実エージェントへ送る依頼', demo.actualAgentPrompt, '', '回答後、本人に役立ったかを確認してください。'] : []),
533
543
  ''
534
544
  ];
535
545
  if (details) {
@@ -780,7 +790,7 @@ function buildValueExplanation(input) {
780
790
  }
781
791
  function buildMissingDemoAnswer(missing) {
782
792
  return [
783
- 'まだ最初の価値体験はできません。',
793
+ 'まだ接続前プレビューを作れません。',
784
794
  `足りない最小メモ: ${missing.map(missingLabel).join(', ')}。`,
785
795
  'まず、あなたが毎回説明したくないことを一つだけ保存してから、同じプロンプトをもう一度試します。'
786
796
  ].join('\n');
@@ -6,12 +6,12 @@ export function buildOperationalizationPlan(input = {}) {
6
6
  const skillsTarget = target === 'claude' ? 'claude' : target === 'codex' ? 'codex' : 'portable';
7
7
  const routinesTarget = target === 'claude' ? 'claude' : 'codex';
8
8
  return {
9
- goal: '初回価値を確認した後、必要な運用設定だけを順に完了する。',
9
+ goal: 'CLIプレビュー後、実エージェントで本人が初回価値を確認するまでを順に完了する。',
10
10
  completed: input.firstValueReady
11
11
  ? [
12
12
  '承認した最小文脈をローカルへ保存済み。',
13
- 'doctorで初回価値デモの準備完了を確認可能。',
14
- 'onboard:demoでプロンプト、サンプル結果、価値の説明を確認済み。'
13
+ 'doctorでCLI文脈プレビューの準備完了を確認可能。',
14
+ 'onboard:demoを実行した場合も、確認できるのはローカルCLIサンプルだけ。'
15
15
  ]
16
16
  : [
17
17
  'Personal OSの準備を開始済み。'
@@ -59,9 +59,11 @@ export function buildOperationalizationPlan(input = {}) {
59
59
  }
60
60
  ],
61
61
  recommendedOrder: [
62
- '対象エージェントへ公開スキルを配置する。',
63
- 'ohayo / oyasumi / retroを生成し、一時停止または確認付きで登録する。',
64
62
  'Brainbase MCP設定を実際のCodex / Claude / CodeCode設定へ反映し、エージェントを再起動する。',
63
+ '新しいエージェントで現実の依頼を送り、MCP get_contextとsearchを使った実回答を確認する。',
64
+ '利用者本人に役立ったかを確認する。役立たなければ不足文脈だけを追加して再試行する。',
65
+ '対象エージェントへ公開スキルを配置する。',
66
+ '必要になった時だけohayo / oyasumi / retroを確認付きで登録する。',
65
67
  '追加文脈が必要な場合だけ参照許可範囲を決め、取込と候補レビューを行う。',
66
68
  'doctorを実行し、新しいエージェントセッションでMCP get_contextとsearchを確認する。'
67
69
  ],
@@ -72,7 +74,8 @@ export function buildOperationalizationPlan(input = {}) {
72
74
  '参照元の取込はローカル優先とし、正本化前にレビューします。'
73
75
  ],
74
76
  completionCheck: [
75
- '利用者が初回価値の出力を確認済み。',
77
+ '実際のエージェントがBrainbase MCP get_context/searchを使って現実の依頼へ回答済み。',
78
+ '利用者本人がその回答を役立つと確認済み。',
76
79
  '完了報告に残っている運用設定をすべて記載済み。',
77
80
  '実設定反映後、対象エージェントからBrainbase MCP get_context/searchを呼び出せる。',
78
81
  '参照許可範囲と候補レビューを完了、または明示的に延期済み。'
package/dist/skills.js CHANGED
@@ -23,21 +23,23 @@ const SKILL_DEFINITIONS = {
23
23
  '',
24
24
  '## 手順',
25
25
  '',
26
- '1. 最初に `brainbase onboard:agent` を実行し、メール、カレンダー、ドライブ/ドキュメント、タスク、権限、承認についてエージェントに確認させる。',
27
- '2. `brainbase onboard:init` でローカルPersonal OSディレクトリを作成する。',
28
- '3. ソースデータを集める前に、ユーザーの回答を使って `brainbase onboard:diagnose-sources` を実行する。',
29
- '4. `brainbase onboard:projects` で、現在のプロジェクト名、目的、状態、役割、関係者、許可されたソースをレビュー可能な形にする。',
30
- '5. `brainbase onboard:candidates --write`、またはsource import/extractの流れでレビュー候補を作る。',
31
- '6. ユーザーが明示的に承認した事実だけを `brainbase onboard:seed`、`brainbase onboard:projects --write`、または `brainbase onboard:apply --write` でcanonical SSOTへ昇格する。',
32
- '7. `brainbase onboard:install --target codex|claude|codecode --dry-run` でMCP設定スニペットを生成し、ユーザーに確認してもらう。',
33
- '8. 接続済みソースから最初の価値まで進める場合は `brainbase-connected-world-onboarding` Skillを使う。',
26
+ '1. 最初に、Brainbaseを使って試したい現実の依頼を一つ聞く。',
27
+ '2. `brainbase onboard:start --target codex|claude|codecode` を実行し、本人、プロジェクト、関係者、判断基準の最小候補を確認する。',
28
+ '3. ユーザーが明示的に承認した事実だけを `brainbase onboard:seed` で保存する。',
29
+ '4. `brainbase onboard:install --target codex|claude|codecode --dry-run` でMCP設定を確認し、承認後に実設定へ反映して対象エージェントを再起動する。',
30
+ '5. 新しい実際のエージェントで、Brainbaseの `get_context` と `search` を使うよう明示して最初の現実の依頼を実行する。',
31
+ '6. 実回答、使われた保存済み文脈、未確認事項をユーザーへ示し、本人に役立ったかを確認する。ここまでを10分以内の初回価値候補ジャーニーとして測る。',
32
+ '7. CLIの `onboard:demo` は必要なら接続前のプレビューに使えるが、CLIサンプルは初回価値の達成証拠にしない。',
33
+ '8. 本人が役立つと確認した後だけ、必要に応じてsource診断、追加候補、Skills、ルーティンへ進む。',
34
+ '9. 継続利用するプロジェクトの詳細が必要なら、本人確認後に `brainbase onboard:projects --write` で登録する。',
34
35
  '',
35
36
  '## 安全ルール',
36
37
  '',
37
38
  `- ${SECRET_RULE}`,
38
39
  '- Brainbaseはローカルファーストで扱う。ユーザーが別のローカルパスを明示しない限り、ローカルMCPサーバーと `~/.brainbase/personal-os/` を使う。',
39
40
  '- メール、カレンダー、ドライブ、タスク、メモの生データは `sources/` 配下の二次材料として扱う。',
40
- '- canonical contextは、ユーザー確認後の `graph.json`、`relationships.json`、`personal-kg.jsonl`、`decisions.jsonl` だけから作る。'
41
+ '- canonical contextは、ユーザー確認後の `graph.json`、`relationships.json`、`personal-kg.jsonl`、`decisions.jsonl` だけから作る。',
42
+ '- 終了コード0、`ready: true`、CLIサンプル、合成ペルソナ判定を、人間本人の価値認識に置き換えない。'
41
43
  ].join('\n')
42
44
  },
43
45
  'brainbase-connected-world-onboarding': {
package/dist/tools.js CHANGED
@@ -124,7 +124,7 @@ export function onboardingStatus(os) {
124
124
  ready: valueDemoReady,
125
125
  missing,
126
126
  command: `brainbase onboard:demo --dir ${shellArg(os.dataDir)} --scenario "<real request>"`,
127
- completionSignal: valueDemoReady ? 'first_value_demo_ready' : 'needs_seed'
127
+ completionSignal: valueDemoReady ? 'cli_sample_ready' : 'needs_seed'
128
128
  },
129
129
  operationalization,
130
130
  counts: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unson/brainbase-mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Local-first Brainbase MCP server and personal onboarding kit.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -61,5 +61,5 @@
61
61
  "engines": {
62
62
  "node": ">=20"
63
63
  },
64
- "gitHead": "6c4069e63aaa4586ac70e41be36ac67ddf2439ba"
64
+ "gitHead": "de6ebc16b28dd6ac37c05443f0f6fe8b5abd0602"
65
65
  }