From 76b4604e4f79b195e15788e47ba1297b6b1ae59b Mon Sep 17 00:00:00 2001 From: thrcle Date: Fri, 24 Jul 2026 19:32:07 +0900 Subject: [PATCH 1/3] =?UTF-8?q?docs:=20README=20V1=20=ED=98=84=ED=99=A9=20?= =?UTF-8?q?=EA=B0=B1=EC=8B=A0=20=EB=B0=8F=20=ED=8C=80=EC=9B=90=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 시멘틱 스코프 명칭 guild/channel/member → org/team/user 반영 - 다중 레이어 정의 주입 방식(★ 표시 + 전체 주입) 설명 추가 - term_custom kind/applies_to/tags 필드 추가 반영 - agent 도구 수 8 → 9개 (confirm_ingest 추가) - Does NOT yet에서 DB metadata auto-enrichment 제거 (V1 구현 완료) - 팀원 남경혜 → 조태민 변경 Co-Authored-By: Claude Sonnet 4.6 --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d072219..090357f 100644 --- a/README.md +++ b/README.md @@ -106,11 +106,13 @@ The bot exits loudly if `DISCORD_BOT_TOKEN` is unset. Full setup and hosting: ## What V1 does / does NOT do yet (honesty section) **Does:** -- 3-scope semantic federation (guild / channel / member) with most-specific-wins - resolution; `term_custom` registers definitions per scope (KV-backed). +- 3-scope semantic federation (org / team / user) — 동일 용어에 여러 레이어 정의가 + 존재하면 현재 채널 정의를 ★ 로 표시하고 전체 주입; LLM이 컨텍스트로 판단. + `term_custom` registers definitions per scope (KV-backed); + `kind`(metric/table/rule/dimension) · `applies_to` · `tags` 필드 지원. - Safety pipeline with the V1 layers (whitelist + timeout), gating every query. -- Agent loop with eight tools: `run_sql`, `explore_schema`, `enrich_schema`, - `term_custom`, `org_setup`, `ingest_doc`, `remember`, `ask_user`. +- Agent loop with nine tools: `run_sql`, `explore_schema`, `enrich_schema`, + `term_custom`, `org_setup`, `ingest_doc`, `confirm_ingest`, `remember`, `ask_user`. - Memory service (in-memory store + inject-all recall + manual `/remember`). - Discord frontend (bot, commands, session router, render). - Encrypted-at-rest secrets (Fernet) and SQLite-backed persistence. @@ -120,8 +122,8 @@ The bot exits loudly if `DISCORD_BOT_TOKEN` is unset. Full setup and hosting: canned `orders`/`users` schema and sample rows; real psycopg execution is v1.5. - **Reason without a key.** Without `OPENAI_API_KEY`, the `FakeLLM` returns deterministic canned tool cycles — useful for wiring tests, not for answers. -- DB metadata auto-enrichment, AST-precise SQL validation, function blocklists, - cost gating, `/semantic diff` / `/semantic promote`, keyword/vector recall, +- AST-precise SQL validation, function blocklists, cost gating, + `/semantic diff` / `/semantic promote`, keyword/vector recall, automatic fact extraction, URL/Notion ingestion — all scoped to v1.5+. - Persist across restarts by default: the V1 `SqliteStore` defaults to in-memory; point it at a file for durability. @@ -182,7 +184,7 @@ the [MIT License](https://opensource.org/licenses/MIT). 커뮤니티: [Discord]( | **AI Engineer** | 김경서 | ![Python](https://img.shields.io/badge/Python-Expert-3776AB) | LLM, FinNLP, FDS, RAG | | **Data Engineer** | 홍지영 | ![Python](https://img.shields.io/badge/Python-Expert-3776AB) | LLM, Data Engineering | | **Data Operator** | 이화림 | ![Python](https://img.shields.io/badge/Python-Expert-3776AB) | LLM, Data Engineering | -| **AI Engineer** | 남경혜 | ![Python](https://img.shields.io/badge/Python-Expert-3776AB) | LLM, RAG, Multi-Agent | +| **AI Engineer** | 조태민 | ![Python](https://img.shields.io/badge/Python-Expert-3776AB) | LLM, RAG, Multi-Agent | | **AI Engineer** | 심세원 | ![Python](https://img.shields.io/badge/Python-Expert-3776AB) | LLM, RAG, Multi-Agent | | **Business Analyst** | 서희진 | ![Python](https://img.shields.io/badge/Python-Intermediate-FF6C37) | LLM, Data Analysis | From 618c0c6dd12b4b8ad278c2b6780d8e617fe8b9f1 Mon Sep 17 00:00:00 2001 From: thrcle Date: Fri, 24 Jul 2026 19:41:10 +0900 Subject: [PATCH 2/3] =?UTF-8?q?docs:=20Extensibility=20=ED=97=A4=EB=8D=94?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0=20=EB=B0=8F=20=EB=A1=9C=EB=93=9C=EB=A7=B5?= =?UTF-8?q?=20=ED=98=84=EC=9E=AC=20=EC=83=81=ED=83=9C=20=ED=95=9C=20?= =?UTF-8?q?=EC=A4=84=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "outlets and appliances (콘센트/가전)" → "plug-in extension points" 로 자연스럽게 변경 - 본문 LED bulb 비유 간결하게 정리 - 로드맵 제목 아래 현재 버전 위치 한 줄 추가 (V1 완료, V1.5 선행 구현 항목 명시) Co-Authored-By: Claude Sonnet 4.6 --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 090357f..7d40200 100644 --- a/README.md +++ b/README.md @@ -40,13 +40,12 @@ interface, not the identity** — Slack/Web are adapters on the same core. | **③ Hermes memory** | Conversations, facts, and preferences persist instead of resetting each session. | | **④ Multi-interface** | Phase 1 Discord today; Slack/Web are future adapters. No platform lock-in. | -## Extensibility — outlets and appliances (콘센트/가전) +## Extensibility — plug-in extension points -V1 ships the **simplest single implementation** of each extension point, but the -**abstraction (port) is already in place**, so v1.5/v2 add a new implementation -*without touching existing code*. Like a wall outlet: the V1 socket has one LED -bulb plugged in, but because the socket is standard, you later plug in a fan or a -smart light without rewiring the wall. +V1 ships the **simplest single implementation** of each extension point, but +the **abstraction (port) is already in place**, so v1.5/v2 plug in a new +implementation without touching existing code — like a standard wall outlet +where you swap the appliance, not the wiring. Four ★ extension patterns sit behind `core/ports/`: @@ -132,6 +131,8 @@ The bot exits loudly if `DISCORD_BOT_TOKEN` is unset. Full setup and hosting: ## Roadmap at a glance +> **Current status: V1 complete** — `enrich_schema` and OKF bundle export are V1.5 features already shipped; next target is AST validation, SQLite file-mode default, and keyword recall. + | Area | V1 | V1.5 | V2 | V2.5 | |---|---|---|---|---| | **Safety** | whitelist + timeout | + AST validation, function blocklist, auto LIMIT, **metadata enrichment**, rate limit | + cost gate (EXPLAIN), per-engine pipelines | — | From 149aab62b960f07188fc2ea0b5301852aa77bf22 Mon Sep 17 00:00:00 2001 From: thrcle Date: Fri, 24 Jul 2026 19:43:57 +0900 Subject: [PATCH 3/3] =?UTF-8?q?docs:=20"The=20four=20pillars"=20=E2=86=92?= =?UTF-8?q?=20"Core=20capabilities"=20=ED=97=A4=EB=8D=94=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d40200..c96aa5d 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ interface, not the identity** — Slack/Web are adapters on the same core. --- -## The four pillars +## Core capabilities | Pillar | What it is | |---|---|