neurain 0.1.0-alpha.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/CHANGELOG.md +19 -0
- package/LICENSE +57 -0
- package/README.md +205 -0
- package/SECURITY.md +22 -0
- package/bin/neurain.mjs +7 -0
- package/docs/comparison-mem0.en.md +22 -0
- package/docs/connect-claude.en.md +48 -0
- package/docs/connect-claude.kr.md +51 -0
- package/docs/connect-codex.en.md +38 -0
- package/docs/connect-codex.kr.md +40 -0
- package/docs/connect-gemini.en.md +71 -0
- package/docs/connect-gemini.kr.md +71 -0
- package/docs/connect-runtime.en.md +61 -0
- package/docs/connect-runtime.kr.md +61 -0
- package/docs/development-status.en.md +157 -0
- package/docs/development-status.kr.md +157 -0
- package/docs/knowledge-os.en.md +105 -0
- package/docs/knowledge-os.kr.md +106 -0
- package/docs/pricing.en.md +14 -0
- package/docs/privacy-and-data-flow.en.md +25 -0
- package/docs/public-saas-readiness.en.md +39 -0
- package/docs/quickstart.en.md +64 -0
- package/docs/quickstart.kr.md +64 -0
- package/docs/release-checklist.en.md +38 -0
- package/docs/safety.en.md +36 -0
- package/docs/self-improvement-90-roadmap.en.md +429 -0
- package/docs/self-improvement-90-roadmap.kr.md +429 -0
- package/docs/self-improving-workflows.en.md +163 -0
- package/docs/self-improving-workflows.kr.md +163 -0
- package/docs/support.en.md +17 -0
- package/docs/troubleshooting.en.md +35 -0
- package/package.json +36 -0
- package/src/cli.mjs +261 -0
- package/src/core/adopt.mjs +304 -0
- package/src/core/answer_eval.mjs +450 -0
- package/src/core/capabilities.mjs +217 -0
- package/src/core/capture_durable.mjs +181 -0
- package/src/core/classify.mjs +237 -0
- package/src/core/compile_desk.mjs +324 -0
- package/src/core/complete.mjs +108 -0
- package/src/core/config.mjs +142 -0
- package/src/core/connect.mjs +355 -0
- package/src/core/curator.mjs +351 -0
- package/src/core/daemon.mjs +536 -0
- package/src/core/digest.mjs +155 -0
- package/src/core/doctor.mjs +115 -0
- package/src/core/durable.mjs +96 -0
- package/src/core/envelope.mjs +97 -0
- package/src/core/flush.mjs +190 -0
- package/src/core/fs.mjs +121 -0
- package/src/core/init.mjs +194 -0
- package/src/core/journal.mjs +269 -0
- package/src/core/labels.mjs +117 -0
- package/src/core/lessons.mjs +793 -0
- package/src/core/lifecycle.mjs +1138 -0
- package/src/core/link_check.mjs +180 -0
- package/src/core/live_cases.mjs +221 -0
- package/src/core/onboard.mjs +175 -0
- package/src/core/plan_receipt.mjs +177 -0
- package/src/core/plan_writeback.mjs +176 -0
- package/src/core/queue.mjs +62 -0
- package/src/core/queue_archive.mjs +87 -0
- package/src/core/queue_model.mjs +161 -0
- package/src/core/queue_write.mjs +28 -0
- package/src/core/recall.mjs +1802 -0
- package/src/core/recall_bench.mjs +275 -0
- package/src/core/recall_corpus.mjs +152 -0
- package/src/core/recall_facts.mjs +233 -0
- package/src/core/recall_intel.mjs +233 -0
- package/src/core/recall_lexical.mjs +269 -0
- package/src/core/recap.mjs +78 -0
- package/src/core/review_queue.mjs +131 -0
- package/src/core/review_worker.mjs +284 -0
- package/src/core/route.mjs +73 -0
- package/src/core/safety.mjs +57 -0
- package/src/core/scheduler.mjs +697 -0
- package/src/core/search.mjs +54 -0
- package/src/core/secret_scan.mjs +143 -0
- package/src/core/semantic.mjs +187 -0
- package/src/core/source_digest.mjs +56 -0
- package/src/core/source_digest_gen.mjs +311 -0
- package/src/core/stage.mjs +105 -0
- package/src/core/status.mjs +175 -0
- package/src/core/vault_state.mjs +115 -0
- package/src/core/watch.mjs +282 -0
- package/src/core/wiki_log.mjs +29 -0
- package/src/core/wrap.mjs +62 -0
- package/src/mcp/server.mjs +865 -0
- package/templates/starter-vault/README.md +9 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Gemini CLI 연결
|
|
2
|
+
|
|
3
|
+
Version: v0.1
|
|
4
|
+
|
|
5
|
+
Gemini CLI는 MCP로 Neurain에 연결할 수 있습니다. Neurain은 제한된 tool allowlist를 사용하므로 Gemini가 상태, 검색, recall, eval, preview report를 읽을 수 있지만 조용히 durable write를 수행하는 도구는 받지 않습니다.
|
|
6
|
+
|
|
7
|
+
## 미리보기
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx neurain connect gemini ~/NeurainDemo --dry-run
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
dry-run은 실제로 실행될 `gemini mcp add` 명령을 보여줍니다. Gemini 설정은 바꾸지 않습니다.
|
|
14
|
+
|
|
15
|
+
## 적용
|
|
16
|
+
|
|
17
|
+
출력을 확인한 뒤 같은 명령에서 `--dry-run`만 제거합니다.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx neurain connect gemini ~/NeurainDemo
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
기본은 project scope입니다. 필요하면 scope를 직접 고를 수 있습니다.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx neurain connect gemini ~/NeurainDemo --scope user
|
|
27
|
+
npx neurain connect gemini ~/NeurainDemo --scope project
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 수동 설정 fallback
|
|
31
|
+
|
|
32
|
+
Gemini CLI는 `settings.json`의 `mcpServers` 설정도 지원합니다. 수동 설정을 원하면 아래 형태를 사용합니다.
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"mcpServers": {
|
|
37
|
+
"neurain": {
|
|
38
|
+
"command": "npx",
|
|
39
|
+
"args": ["-y", "neurain", "mcp", "--root", "/path/to/NeurainDemo"],
|
|
40
|
+
"env": {
|
|
41
|
+
"NEURAIN_ROOT": "/path/to/NeurainDemo"
|
|
42
|
+
},
|
|
43
|
+
"trust": false,
|
|
44
|
+
"includeTools": [
|
|
45
|
+
"neurain_status",
|
|
46
|
+
"neurain_search",
|
|
47
|
+
"neurain_adopt_scan",
|
|
48
|
+
"neurain_recall_hybrid_search",
|
|
49
|
+
"neurain_answer_quality_eval",
|
|
50
|
+
"neurain_live_cases_scaffold",
|
|
51
|
+
"neurain_wrap_preview"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Lifecycle boundary
|
|
59
|
+
|
|
60
|
+
Gemini MCP 연결은 지원됩니다. 다만 native Gemini lifecycle hook 자동화는 이번 alpha에서는 manual-only입니다. boundary receipt가 필요하면 명시적으로 lifecycle command를 실행합니다.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx neurain lifecycle emit ~/NeurainDemo --host gemini --event turn_end --session-id gemini-session-1 --turn-id turn-1 --confirm "1건 저장 진행"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 안전 기준
|
|
67
|
+
|
|
68
|
+
- MCP는 preview와 eval을 실행할 수 있습니다.
|
|
69
|
+
- MCP는 lesson을 조용히 승격하거나 durable wiki knowledge를 쓰지 않습니다.
|
|
70
|
+
- Gemini allowlist는 기본적으로 raw capture를 제외합니다.
|
|
71
|
+
- redacted live-case scaffold는 hash-only source ref를 반환하고 raw source text를 저장하지 않습니다.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Connect Agent Runtime
|
|
2
|
+
|
|
3
|
+
Agent Runtime means a generic AI host that owns prompt assembly, model calls, tool execution, and session lifecycle. It is not an LLM. The clean Neurain path is to let the runtime stay in front while Neurain runs behind it as a bounded MCP knowledge server.
|
|
4
|
+
|
|
5
|
+
Preview a bounded runtime MCP config:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx neurain connect runtime ~/NeurainDemo --dry-run
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The alpha does not edit any host config directly. It prints a bounded config snippet like this:
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
mcp_servers:
|
|
15
|
+
neurain:
|
|
16
|
+
command: "npx"
|
|
17
|
+
args: ["-y", "neurain", "mcp", "--root", "/path/to/NeurainDemo"]
|
|
18
|
+
env:
|
|
19
|
+
NEURAIN_ROOT: "/path/to/NeurainDemo"
|
|
20
|
+
tools:
|
|
21
|
+
include:
|
|
22
|
+
- neurain_status
|
|
23
|
+
- neurain_search
|
|
24
|
+
- neurain_recall_search
|
|
25
|
+
- neurain_recall_status
|
|
26
|
+
- neurain_recall_verify
|
|
27
|
+
- neurain_recall_cross_host_eval
|
|
28
|
+
- neurain_lifecycle_report
|
|
29
|
+
- neurain_watch_report
|
|
30
|
+
- neurain_review_worker
|
|
31
|
+
- neurain_scheduler_tick
|
|
32
|
+
- neurain_scheduler_eval
|
|
33
|
+
- neurain_wrap_preview
|
|
34
|
+
resources: false
|
|
35
|
+
prompts: false
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
After adding the snippet to the target host config, reload MCP using that host's normal reload flow.
|
|
39
|
+
|
|
40
|
+
Safety boundary:
|
|
41
|
+
|
|
42
|
+
- The agent runtime gets a small read-heavy Neurain tool surface.
|
|
43
|
+
- Neurain does not become dependent on any single runtime.
|
|
44
|
+
- MCP cannot silently promote lessons, rebuild recall cache, or write durable wiki knowledge.
|
|
45
|
+
- Durable Neurain writes still require explicit CLI confirmation.
|
|
46
|
+
- The alpha snippet does not support paths containing newline or control bytes.
|
|
47
|
+
- Scheduler access is read-only and cannot install background jobs or start daemons.
|
|
48
|
+
- Scheduler eval access is read-only and checks trigger precision, trigger recall, no-recursion, private-boundary handling, case-file size limits, and target-root non-write snapshots.
|
|
49
|
+
- Lifecycle access is read-only through MCP. The runtime can inspect session lineage, while deeper lifecycle event emission uses the separate host-proxy contract below.
|
|
50
|
+
|
|
51
|
+
## Lifecycle Boundary
|
|
52
|
+
|
|
53
|
+
Runtime does not have a Neurain-owned native config writer in alpha. Instead, Neurain exposes a host-proxy lifecycle contract that an agent runtime can call when it knows a turn boundary:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx neurain connect runtime ~/NeurainDemo --lifecycle-hooks --dry-run
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The preview prints a JSON contract with the command and supported direct lifecycle events such as `session_start`, `turn_start`, `turn_end`, `review_due`, `compaction`, `resume`, and `session_end`.
|
|
60
|
+
|
|
61
|
+
This is not a claim that Neurain owns the agent loop. The runtime remains the front agent host. Neurain receives only boundary metadata, requires explicit confirmation in the command, and does not store prompt bodies, messages, transcript paths, tool stdout, or tool stderr.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Agent Runtime 연결
|
|
2
|
+
|
|
3
|
+
Agent Runtime은 prompt assembly, model call, tool execution, session lifecycle을 소유하는 일반 AI host를 뜻합니다. LLM 자체가 아닙니다. Neurain의 깔끔한 방향은 runtime을 앞단에 두고, Neurain은 뒤에서 bounded MCP knowledge server로 동작하게 하는 것입니다.
|
|
4
|
+
|
|
5
|
+
Bounded runtime MCP config를 preview합니다.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx neurain connect runtime ~/NeurainDemo --dry-run
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Alpha에서는 어떤 host config도 직접 수정하지 않습니다. 대신 아래와 같은 bounded config snippet을 출력합니다.
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
mcp_servers:
|
|
15
|
+
neurain:
|
|
16
|
+
command: "npx"
|
|
17
|
+
args: ["-y", "neurain", "mcp", "--root", "/path/to/NeurainDemo"]
|
|
18
|
+
env:
|
|
19
|
+
NEURAIN_ROOT: "/path/to/NeurainDemo"
|
|
20
|
+
tools:
|
|
21
|
+
include:
|
|
22
|
+
- neurain_status
|
|
23
|
+
- neurain_search
|
|
24
|
+
- neurain_recall_search
|
|
25
|
+
- neurain_recall_status
|
|
26
|
+
- neurain_recall_verify
|
|
27
|
+
- neurain_recall_cross_host_eval
|
|
28
|
+
- neurain_lifecycle_report
|
|
29
|
+
- neurain_watch_report
|
|
30
|
+
- neurain_review_worker
|
|
31
|
+
- neurain_scheduler_tick
|
|
32
|
+
- neurain_scheduler_eval
|
|
33
|
+
- neurain_wrap_preview
|
|
34
|
+
resources: false
|
|
35
|
+
prompts: false
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Snippet을 대상 host config에 추가한 뒤, 해당 host의 일반 MCP reload flow를 사용합니다.
|
|
39
|
+
|
|
40
|
+
Safety boundary:
|
|
41
|
+
|
|
42
|
+
- Agent runtime은 작은 read-heavy Neurain tool surface만 받습니다.
|
|
43
|
+
- Neurain은 특정 runtime에 dependency를 갖지 않습니다.
|
|
44
|
+
- MCP는 lesson을 조용히 promote하거나 recall cache를 rebuild하거나 durable wiki knowledge를 write할 수 없습니다.
|
|
45
|
+
- Durable Neurain write는 여전히 explicit CLI confirmation이 필요합니다.
|
|
46
|
+
- Alpha snippet은 newline 또는 control byte가 포함된 path를 지원하지 않습니다.
|
|
47
|
+
- Scheduler access는 read-only이며 background job을 설치하거나 daemon을 시작할 수 없습니다.
|
|
48
|
+
- Scheduler eval access도 read-only이며 trigger precision, trigger recall, no-recursion, private-boundary handling, case-file size limit, target-root non-write snapshot을 확인합니다.
|
|
49
|
+
- Lifecycle access는 MCP에서 read-only입니다. Runtime은 session lineage를 읽을 수 있고, 더 깊은 lifecycle event emission은 아래 host-proxy contract를 사용합니다.
|
|
50
|
+
|
|
51
|
+
## Lifecycle Boundary
|
|
52
|
+
|
|
53
|
+
Alpha에서 Neurain은 runtime native config writer를 소유하지 않습니다. 대신 agent runtime이 turn boundary를 알고 있을 때 호출할 수 있는 host-proxy lifecycle contract를 제공합니다.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx neurain connect runtime ~/NeurainDemo --lifecycle-hooks --dry-run
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Preview는 command와 지원하는 direct lifecycle event가 포함된 JSON contract를 출력합니다. 지원 event는 `session_start`, `turn_start`, `turn_end`, `review_due`, `compaction`, `resume`, `session_end` 등을 포함합니다.
|
|
60
|
+
|
|
61
|
+
이것은 Neurain이 agent loop를 소유한다는 뜻이 아닙니다. Runtime은 앞단 agent host로 남고, Neurain은 boundary metadata만 받습니다. Command에는 explicit confirmation이 필요하며 prompt body, messages, transcript path, tool stdout, tool stderr는 저장하지 않습니다.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Development Status
|
|
2
|
+
|
|
3
|
+
Version: v0.1
|
|
4
|
+
Last updated: 2026-06-09 KST
|
|
5
|
+
Package: `neurain@0.1.0-alpha.0`
|
|
6
|
+
Latest documented commit: `3496262 Add E24 onboarding and Gemini MCP connector`
|
|
7
|
+
|
|
8
|
+
This document is the canonical product development snapshot for the public package. It tracks what is shipped, what has evidence, and what must not be claimed yet.
|
|
9
|
+
|
|
10
|
+
## Current Product Stage
|
|
11
|
+
|
|
12
|
+
Neurain is a publish-ready alpha CLI and MCP package. It is ready for private beta or alpha user tests, not public SaaS GA.
|
|
13
|
+
|
|
14
|
+
Current verified score:
|
|
15
|
+
|
|
16
|
+
| Gate | Result |
|
|
17
|
+
|---|---:|
|
|
18
|
+
| `npm test` | 37/37 pass |
|
|
19
|
+
| `node scripts/readiness.mjs --json` | `ok:true`, score `100`, 35 checks |
|
|
20
|
+
| `npm run readiness -- --json` | `ok:true`, score `100` |
|
|
21
|
+
| `npm audit` | 0 vulnerabilities |
|
|
22
|
+
| `npm pack --dry-run` | pass |
|
|
23
|
+
| Temporary tarball install smoke | pass |
|
|
24
|
+
|
|
25
|
+
## Shipped Development
|
|
26
|
+
|
|
27
|
+
### Foundation Before E21
|
|
28
|
+
|
|
29
|
+
- Starter vault initialization with `neurain init`.
|
|
30
|
+
- Existing folder adoption scan, apply, receipt, and rollback.
|
|
31
|
+
- Local doctor, search, capabilities, recap, and wrap preview.
|
|
32
|
+
- Event journal add/list/verify with explicit confirmation.
|
|
33
|
+
- Lesson list, candidates, eval, promotion, and rollback.
|
|
34
|
+
- Watch report, review worker, scheduler tick, scheduler monitor, foreground daemon.
|
|
35
|
+
- Curator status, run preview, confirmed status updates, snapshot, and rollback.
|
|
36
|
+
- Optional SQLite FTS5 recall DB with markdown fallback and rebuild receipts.
|
|
37
|
+
- Answer-quality eval with synthetic and reviewed case-file modes.
|
|
38
|
+
|
|
39
|
+
### E21: Native Lifecycle Automation Eval
|
|
40
|
+
|
|
41
|
+
Status: shipped.
|
|
42
|
+
|
|
43
|
+
- CLI: `neurain lifecycle eval <folder>`.
|
|
44
|
+
- MCP: `neurain_lifecycle_eval`, read-only.
|
|
45
|
+
- Replays Claude Code, Codex, Runtime, and generic lifecycle payloads through actual adapters in isolated temp roots.
|
|
46
|
+
- Proves prompt bodies, transcript paths, tool stdout, tool stderr, secret-like content, and injection-like content are not persisted.
|
|
47
|
+
- Gates malformed, unsupported, missing-session, traversal, target-root non-write, coverage, and temp cleanup.
|
|
48
|
+
- Honest scope: this is a lifecycle safety gate. It does not make Neurain own the host model loop and does not claim automatic background self-improvement.
|
|
49
|
+
|
|
50
|
+
### E22: Semantic Recall Quality
|
|
51
|
+
|
|
52
|
+
Status: shipped.
|
|
53
|
+
|
|
54
|
+
- CLI: `neurain recall semantic-search`, `neurain recall eval --semantic`.
|
|
55
|
+
- MCP: `neurain_recall_semantic_search`, `neurain_recall_semantic_eval`, read-only.
|
|
56
|
+
- Adds deterministic local lexical-semantic recall using stemming, curated synonyms, and fuzzy character-trigram matching.
|
|
57
|
+
- Makes no model call, has no external dependency, and keeps provider replacement possible.
|
|
58
|
+
- Honest scope: this is not neural semantic understanding. It improves paraphrase recall within its local lexical scope.
|
|
59
|
+
|
|
60
|
+
### Hybrid Recall Fix
|
|
61
|
+
|
|
62
|
+
Status: shipped after real-content live-eval exposed a regression.
|
|
63
|
+
|
|
64
|
+
- CLI: `neurain recall hybrid-search`.
|
|
65
|
+
- MCP: `neurain_recall_hybrid_search`, read-only.
|
|
66
|
+
- Combines exact-token recall with local lexical-semantic recall.
|
|
67
|
+
- Guarantees the hybrid union is not worse than exact-token for covered results.
|
|
68
|
+
- `--top` is per branch, so returned union can be longer than `--top`.
|
|
69
|
+
|
|
70
|
+
### E23: Live Use Eval Infrastructure
|
|
71
|
+
|
|
72
|
+
Status: shipped for first increment and redacted scaffold.
|
|
73
|
+
|
|
74
|
+
- CLI: `neurain recall live-eval <folder>`.
|
|
75
|
+
- CLI: `neurain live-cases scaffold <folder>`.
|
|
76
|
+
- MCP: `neurain_live_cases_scaffold`, read-only.
|
|
77
|
+
- Live-eval measures real-folder recall coverage without storing source content.
|
|
78
|
+
- Scaffold creates hash-only source refs and reviewed case templates without raw source text, absolute local paths, secret-like content, or injection-like content.
|
|
79
|
+
- Scaffold intentionally reports `reviewed_live_user_evidence:false` and `human_judged:false` until a human fills cases.
|
|
80
|
+
- Honest scope: this prepares safe live evidence. It does not fabricate external user proof, and three real user walkthroughs are still required for that claim.
|
|
81
|
+
|
|
82
|
+
### E24: Non-Developer Onboarding
|
|
83
|
+
|
|
84
|
+
Status: shipped.
|
|
85
|
+
|
|
86
|
+
- CLI: `neurain onboard <folder>`.
|
|
87
|
+
- Read-only first screen for new users.
|
|
88
|
+
- Tells a user whether to initialize, scan an existing folder, connect a host, or preview wrap.
|
|
89
|
+
- Reports what Neurain stores and does not store.
|
|
90
|
+
- Makes no model call, no external call, and no durable write.
|
|
91
|
+
|
|
92
|
+
### E25: Installable CLI Readiness
|
|
93
|
+
|
|
94
|
+
Status: shipped as publish-ready alpha.
|
|
95
|
+
|
|
96
|
+
- `package.json` exposes the `neurain` binary.
|
|
97
|
+
- README, quickstart, safety, privacy, support, pricing, troubleshooting, and release checklist exist.
|
|
98
|
+
- CI workflow, issue templates, PR template, license, and security doc exist.
|
|
99
|
+
- Full readiness verifies npm audit, pack dry-run, and temporary tarball install smoke.
|
|
100
|
+
- Honest scope: npm publish or package name reservation still requires an explicit release action.
|
|
101
|
+
|
|
102
|
+
### E26: Thin MCP Connector
|
|
103
|
+
|
|
104
|
+
Status: shipped.
|
|
105
|
+
|
|
106
|
+
- Codex MCP command dry-run and apply command generation.
|
|
107
|
+
- Claude Code MCP command dry-run and apply command generation.
|
|
108
|
+
- Gemini CLI MCP command dry-run and apply command generation with bounded read-first tool allowlist.
|
|
109
|
+
- Runtime MCP config-preview snippet.
|
|
110
|
+
- MCP server exposes bounded alpha tools for status, search, scan, recall, eval, live-case scaffold, lesson preview, scheduler preview, lifecycle report/eval, and wrap preview.
|
|
111
|
+
- MCP does not expose silent durable wiki writes, lifecycle emit, daemon run/stop, curator write, recall rebuild write, or lesson promotion.
|
|
112
|
+
|
|
113
|
+
## Current Connector Truth Table
|
|
114
|
+
|
|
115
|
+
| Host | MCP connection | Lifecycle hook preview | Notes |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| Codex | shipped | shipped | `.codex/hooks.json` preview |
|
|
118
|
+
| Claude Code | shipped | shipped | Claude settings preview |
|
|
119
|
+
| Gemini CLI | shipped | manual lifecycle only | MCP config and `gemini mcp add` command supported |
|
|
120
|
+
| Agent Runtime | config-preview shipped | host-proxy contract shipped | Neurain does not edit Runtime config |
|
|
121
|
+
|
|
122
|
+
## Still Not Shipped
|
|
123
|
+
|
|
124
|
+
- External user walkthrough evidence from at least three real folders.
|
|
125
|
+
- Non-developer GUI.
|
|
126
|
+
- Hosted control plane.
|
|
127
|
+
- Public Trust Center and status page.
|
|
128
|
+
- npm publish or package name reservation.
|
|
129
|
+
- Public GitHub publication if the repo is intentionally kept private during beta.
|
|
130
|
+
|
|
131
|
+
## Documentation Maintenance Rule
|
|
132
|
+
|
|
133
|
+
Update this file and the Korean pair whenever any of the following changes:
|
|
134
|
+
|
|
135
|
+
- CLI command surface.
|
|
136
|
+
- MCP tool surface.
|
|
137
|
+
- Safety, privacy, write, rollback, or lifecycle boundary.
|
|
138
|
+
- Readiness score, test count, or package version.
|
|
139
|
+
- E milestone status.
|
|
140
|
+
- Product claim level, such as alpha, private beta, public beta, or SaaS GA.
|
|
141
|
+
|
|
142
|
+
Minimum update procedure:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npm test
|
|
146
|
+
node scripts/readiness.mjs --json
|
|
147
|
+
npm run readiness -- --json
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Then update:
|
|
151
|
+
|
|
152
|
+
- `README.md`
|
|
153
|
+
- `docs/development-status.en.md`
|
|
154
|
+
- `docs/development-status.kr.md`
|
|
155
|
+
- affected connector docs
|
|
156
|
+
- affected workflow, readiness, or release docs
|
|
157
|
+
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# 개발 진행 상태
|
|
2
|
+
|
|
3
|
+
Version: v0.1
|
|
4
|
+
Last updated: 2026-06-09 KST
|
|
5
|
+
Package: `neurain@0.1.0-alpha.0`
|
|
6
|
+
Latest documented commit: `3496262 Add E24 onboarding and Gemini MCP connector`
|
|
7
|
+
|
|
8
|
+
이 문서는 public package 기준의 canonical 개발 상태 스냅샷입니다. 무엇이 shipped인지, 어떤 증거가 있는지, 아직 주장하면 안 되는 것이 무엇인지 함께 기록합니다.
|
|
9
|
+
|
|
10
|
+
## 현재 제품 단계
|
|
11
|
+
|
|
12
|
+
Neurain은 publish-ready alpha CLI 및 MCP package입니다. private beta 또는 alpha user test에는 들어갈 수 있지만 public SaaS GA는 아닙니다.
|
|
13
|
+
|
|
14
|
+
현재 검증된 상태:
|
|
15
|
+
|
|
16
|
+
| Gate | Result |
|
|
17
|
+
|---|---:|
|
|
18
|
+
| `npm test` | 37/37 pass |
|
|
19
|
+
| `node scripts/readiness.mjs --json` | `ok:true`, score `100`, 35 checks |
|
|
20
|
+
| `npm run readiness -- --json` | `ok:true`, score `100` |
|
|
21
|
+
| `npm audit` | 0 vulnerabilities |
|
|
22
|
+
| `npm pack --dry-run` | pass |
|
|
23
|
+
| Temporary tarball install smoke | pass |
|
|
24
|
+
|
|
25
|
+
## shipped 개발 범위
|
|
26
|
+
|
|
27
|
+
### E21 이전 foundation
|
|
28
|
+
|
|
29
|
+
- `neurain init` starter vault initialization.
|
|
30
|
+
- 기존 폴더 adoption scan, apply, receipt, rollback.
|
|
31
|
+
- local doctor, search, capabilities, recap, wrap preview.
|
|
32
|
+
- 명시적 confirmation이 필요한 event journal add/list/verify.
|
|
33
|
+
- lesson list, candidates, eval, promotion, rollback.
|
|
34
|
+
- watch report, review worker, scheduler tick, scheduler monitor, foreground daemon.
|
|
35
|
+
- curator status, run preview, confirmed status update, snapshot, rollback.
|
|
36
|
+
- markdown fallback과 rebuild receipt가 있는 optional SQLite FTS5 recall DB.
|
|
37
|
+
- synthetic 및 reviewed case-file mode를 지원하는 answer-quality eval.
|
|
38
|
+
|
|
39
|
+
### E21: Native Lifecycle Automation Eval
|
|
40
|
+
|
|
41
|
+
Status: shipped.
|
|
42
|
+
|
|
43
|
+
- CLI: `neurain lifecycle eval <folder>`.
|
|
44
|
+
- MCP: read-only `neurain_lifecycle_eval`.
|
|
45
|
+
- Claude Code, Codex, Runtime, generic lifecycle payload를 실제 adapter로 격리된 temp root에서 재생합니다.
|
|
46
|
+
- prompt body, transcript path, tool stdout, tool stderr, secret-like content, injection-like content가 저장되지 않음을 증명합니다.
|
|
47
|
+
- malformed, unsupported, missing-session, traversal, target-root non-write, coverage, temp cleanup을 gate로 봅니다.
|
|
48
|
+
- 정직한 범위: lifecycle 안전 gate입니다. Neurain이 host model loop를 소유한다거나 automatic background self-improvement를 완성했다고 주장하지 않습니다.
|
|
49
|
+
|
|
50
|
+
### E22: Semantic Recall Quality
|
|
51
|
+
|
|
52
|
+
Status: shipped.
|
|
53
|
+
|
|
54
|
+
- CLI: `neurain recall semantic-search`, `neurain recall eval --semantic`.
|
|
55
|
+
- MCP: read-only `neurain_recall_semantic_search`, `neurain_recall_semantic_eval`.
|
|
56
|
+
- stemming, curated synonym, fuzzy char-trigram matching을 이용한 deterministic local lexical-semantic recall을 추가합니다.
|
|
57
|
+
- model call이 없고, external dependency가 없고, provider 교체 가능성을 유지합니다.
|
|
58
|
+
- 정직한 범위: neural semantic understanding은 아닙니다. local lexical scope 안에서 paraphrase recall을 개선합니다.
|
|
59
|
+
|
|
60
|
+
### Hybrid Recall Fix
|
|
61
|
+
|
|
62
|
+
Status: real-content live-eval이 regression을 잡은 뒤 shipped.
|
|
63
|
+
|
|
64
|
+
- CLI: `neurain recall hybrid-search`.
|
|
65
|
+
- MCP: read-only `neurain_recall_hybrid_search`.
|
|
66
|
+
- exact-token recall과 local lexical-semantic recall을 합칩니다.
|
|
67
|
+
- covered result 기준 hybrid union이 exact-token보다 나빠지지 않게 합니다.
|
|
68
|
+
- `--top`은 branch별 후보 깊이라 반환 union은 `--top`보다 길어질 수 있습니다.
|
|
69
|
+
|
|
70
|
+
### E23: Live Use Eval Infrastructure
|
|
71
|
+
|
|
72
|
+
Status: first increment와 redacted scaffold shipped.
|
|
73
|
+
|
|
74
|
+
- CLI: `neurain recall live-eval <folder>`.
|
|
75
|
+
- CLI: `neurain live-cases scaffold <folder>`.
|
|
76
|
+
- MCP: read-only `neurain_live_cases_scaffold`.
|
|
77
|
+
- live-eval은 source content를 저장하지 않고 실제 폴더의 recall coverage를 측정합니다.
|
|
78
|
+
- scaffold는 raw source text, absolute local path, secret-like content, injection-like content 없이 hash-only source ref와 reviewed case template을 만듭니다.
|
|
79
|
+
- scaffold는 사람이 case를 채우기 전까지 의도적으로 `reviewed_live_user_evidence:false`, `human_judged:false`를 보고합니다.
|
|
80
|
+
- 정직한 범위: 안전한 live evidence 준비물입니다. 외부 사용자 증거를 만들었다고 주장하지 않으며, 최소 3개 실제 user walkthrough는 아직 필요합니다.
|
|
81
|
+
|
|
82
|
+
### E24: Non-Developer Onboarding
|
|
83
|
+
|
|
84
|
+
Status: shipped.
|
|
85
|
+
|
|
86
|
+
- CLI: `neurain onboard <folder>`.
|
|
87
|
+
- 신규 사용자를 위한 read-only 첫 화면입니다.
|
|
88
|
+
- 사용자가 initialize, existing-folder scan, host connect, wrap preview 중 무엇을 해야 하는지 알려줍니다.
|
|
89
|
+
- Neurain이 저장하는 것과 저장하지 않는 것을 설명합니다.
|
|
90
|
+
- model call, external call, durable write가 없습니다.
|
|
91
|
+
|
|
92
|
+
### E25: Installable CLI Readiness
|
|
93
|
+
|
|
94
|
+
Status: publish-ready alpha로 shipped.
|
|
95
|
+
|
|
96
|
+
- `package.json`이 `neurain` binary를 노출합니다.
|
|
97
|
+
- README, quickstart, safety, privacy, support, pricing, troubleshooting, release checklist가 존재합니다.
|
|
98
|
+
- CI workflow, issue template, PR template, license, security doc이 존재합니다.
|
|
99
|
+
- full readiness가 npm audit, pack dry-run, temporary tarball install smoke를 검증합니다.
|
|
100
|
+
- 정직한 범위: npm publish 또는 package name reservation은 별도 release action이 필요합니다.
|
|
101
|
+
|
|
102
|
+
### E26: Thin MCP Connector
|
|
103
|
+
|
|
104
|
+
Status: shipped.
|
|
105
|
+
|
|
106
|
+
- Codex MCP command dry-run 및 apply command generation.
|
|
107
|
+
- Claude Code MCP command dry-run 및 apply command generation.
|
|
108
|
+
- Gemini CLI MCP command dry-run 및 bounded read-first tool allowlist가 포함된 apply command generation.
|
|
109
|
+
- Runtime MCP config-preview snippet.
|
|
110
|
+
- MCP server는 status, search, scan, recall, eval, live-case scaffold, lesson preview, scheduler preview, lifecycle report/eval, wrap preview용 bounded alpha tool을 노출합니다.
|
|
111
|
+
- MCP는 silent durable wiki write, lifecycle emit, daemon run/stop, curator write, recall rebuild write, lesson promotion을 노출하지 않습니다.
|
|
112
|
+
|
|
113
|
+
## 현재 connector truth table
|
|
114
|
+
|
|
115
|
+
| Host | MCP connection | Lifecycle hook preview | Notes |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| Codex | shipped | shipped | `.codex/hooks.json` preview |
|
|
118
|
+
| Claude Code | shipped | shipped | Claude settings preview |
|
|
119
|
+
| Gemini CLI | shipped | manual lifecycle only | MCP config와 `gemini mcp add` command 지원 |
|
|
120
|
+
| Agent Runtime | config-preview shipped | host-proxy contract shipped | Neurain은 Runtime config를 직접 수정하지 않음 |
|
|
121
|
+
|
|
122
|
+
## 아직 shipped가 아닌 것
|
|
123
|
+
|
|
124
|
+
- 최소 3개 실제 폴더 기준 external user walkthrough evidence.
|
|
125
|
+
- non-developer GUI.
|
|
126
|
+
- hosted control plane.
|
|
127
|
+
- public Trust Center 및 status page.
|
|
128
|
+
- npm publish 또는 package name reservation.
|
|
129
|
+
- beta 동안 repo를 private으로 유지한다면 public GitHub publication.
|
|
130
|
+
|
|
131
|
+
## 문서 유지관리 규칙
|
|
132
|
+
|
|
133
|
+
아래가 바뀌면 이 문서와 영어 pair를 업데이트합니다.
|
|
134
|
+
|
|
135
|
+
- CLI command surface.
|
|
136
|
+
- MCP tool surface.
|
|
137
|
+
- safety, privacy, write, rollback, lifecycle boundary.
|
|
138
|
+
- readiness score, test count, package version.
|
|
139
|
+
- E milestone status.
|
|
140
|
+
- alpha, private beta, public beta, SaaS GA 같은 product claim level.
|
|
141
|
+
|
|
142
|
+
최소 업데이트 절차:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npm test
|
|
146
|
+
node scripts/readiness.mjs --json
|
|
147
|
+
npm run readiness -- --json
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
그 다음 아래 문서를 업데이트합니다.
|
|
151
|
+
|
|
152
|
+
- `README.md`
|
|
153
|
+
- `docs/development-status.en.md`
|
|
154
|
+
- `docs/development-status.kr.md`
|
|
155
|
+
- 영향을 받은 connector docs
|
|
156
|
+
- 영향을 받은 workflow, readiness, release docs
|
|
157
|
+
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Neurain Knowledge OS
|
|
2
|
+
|
|
3
|
+
Version: 0.2
|
|
4
|
+
|
|
5
|
+
Neurain Knowledge OS is the external product name for Neurain's local-first knowledge layer.
|
|
6
|
+
|
|
7
|
+
For current shipped scope, test evidence, and remaining gaps, see `docs/development-status.en.md`.
|
|
8
|
+
|
|
9
|
+
It is designed for a simple customer promise:
|
|
10
|
+
|
|
11
|
+
> Bring your folder, keep your knowledge, use any AI agent.
|
|
12
|
+
|
|
13
|
+
## What It Is
|
|
14
|
+
|
|
15
|
+
Neurain Knowledge OS is a source-grounded operating layer for a user's working folder.
|
|
16
|
+
|
|
17
|
+
It gives AI agents a consistent way to:
|
|
18
|
+
|
|
19
|
+
- understand the folder structure
|
|
20
|
+
- keep a durable wiki
|
|
21
|
+
- preserve source evidence
|
|
22
|
+
- capture important work
|
|
23
|
+
- expose reviewed lessons from prior sessions
|
|
24
|
+
- avoid unsafe durable writes
|
|
25
|
+
- recover and continue across agents
|
|
26
|
+
|
|
27
|
+
## What It Is Not
|
|
28
|
+
|
|
29
|
+
Neurain is not an LLM.
|
|
30
|
+
|
|
31
|
+
It does not replace Claude, GPT, Gemini, DeepSeek, or local models. It also does not need one fixed model provider to work.
|
|
32
|
+
|
|
33
|
+
Neurain is also not a hidden cloud memory database. The default product direction is local-first. The user's folder and Neurain vault remain the source of truth unless the user explicitly connects another service.
|
|
34
|
+
|
|
35
|
+
## Layer Model
|
|
36
|
+
|
|
37
|
+
Neurain should be explained with three layers.
|
|
38
|
+
|
|
39
|
+
| Layer | Examples | Job |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| Model layer | Claude, GPT, Gemini, DeepSeek, local models | Generate reasoning and text |
|
|
42
|
+
| Agent runtime layer | Agent Runtime, Codex, Claude Code, Gemini CLI, OpenClaw | Assemble prompts, call models, execute tools, manage turns |
|
|
43
|
+
| Knowledge OS layer | Neurain Knowledge OS | Store source-grounded knowledge, memory, wiki, lessons, receipts, and recovery state |
|
|
44
|
+
|
|
45
|
+
Agent Runtime means a generic AI host that owns prompt assembly, model calls, tool execution, and session lifecycle. In this document, "Agent Runtime" always refers to a runtime, not an LLM. Comparing a runtime to Claude or Gemini model families is a category mistake.
|
|
46
|
+
|
|
47
|
+
## Why Use Neurain With An Agent Runtime
|
|
48
|
+
|
|
49
|
+
Runtime can own the agent loop and provide a strong self-improving runtime. Neurain's role is different.
|
|
50
|
+
|
|
51
|
+
Neurain helps when the user wants:
|
|
52
|
+
|
|
53
|
+
- the working folder to remain the durable source of truth
|
|
54
|
+
- knowledge to be portable across Codex, Claude Code, Gemini CLI, Agent Runtime, and future hosts
|
|
55
|
+
- source-grounded wiki pages instead of chat-only memory
|
|
56
|
+
- safety gates before durable writes
|
|
57
|
+
- rollback receipts for changes
|
|
58
|
+
- private material to stay local
|
|
59
|
+
- a plain markdown fallback when the AI host changes
|
|
60
|
+
|
|
61
|
+
The preferred relationship is not "runtime versus Neurain." It is "runtime in front, Neurain behind" when the user wants an agent runtime to own the loop.
|
|
62
|
+
|
|
63
|
+
Before/after example:
|
|
64
|
+
|
|
65
|
+
- Before Neurain: the user repeats project context whenever they switch from Codex to Claude Code or Agent Runtime.
|
|
66
|
+
- After Neurain: each host can read the same local startup, wiki, receipts, and reviewed lessons, so the folder carries the memory instead of one chat.
|
|
67
|
+
|
|
68
|
+
## Product Vocabulary
|
|
69
|
+
|
|
70
|
+
Use these terms in external product material:
|
|
71
|
+
|
|
72
|
+
- Neurain Knowledge OS
|
|
73
|
+
- local-first knowledge layer
|
|
74
|
+
- source-grounded wiki
|
|
75
|
+
- portable AI memory
|
|
76
|
+
- reviewed lessons
|
|
77
|
+
- safety receipts
|
|
78
|
+
- folder adoption
|
|
79
|
+
- agent-independent continuity
|
|
80
|
+
|
|
81
|
+
Avoid these claims until they are proven by product evidence:
|
|
82
|
+
|
|
83
|
+
- fully autonomous self-improvement
|
|
84
|
+
- automatic durable learning
|
|
85
|
+
- public SaaS ready
|
|
86
|
+
- enterprise governance ready
|
|
87
|
+
- better than a dedicated runtime as a runtime
|
|
88
|
+
|
|
89
|
+
## First-Run Customer Story
|
|
90
|
+
|
|
91
|
+
1. The user has a work folder.
|
|
92
|
+
2. The user runs `npx neurain init <folder>`.
|
|
93
|
+
3. Neurain creates a clean local vault.
|
|
94
|
+
4. The user runs `npx neurain adopt <work-folder> --dry-run`.
|
|
95
|
+
5. Neurain scans before writing and explains the plan.
|
|
96
|
+
6. The user connects Codex, Claude Code, Gemini CLI, Agent Runtime, or another host.
|
|
97
|
+
7. During work, the user runs `neurain wrap <folder> --dry-run`.
|
|
98
|
+
8. Neurain previews the state, risks, recap, and lesson candidates.
|
|
99
|
+
9. Durable changes require explicit human confirmation.
|
|
100
|
+
|
|
101
|
+
## Branding Rule
|
|
102
|
+
|
|
103
|
+
For external-facing docs, prefer "Neurain Knowledge OS" on first mention. After that, "Neurain" is fine.
|
|
104
|
+
|
|
105
|
+
For internal engineering docs, "AI Knowledge OS" may still describe the category, but "Neurain Knowledge OS" is the product brand.
|