🚑 docs + cleanup: ARCHITECTURE.md kebab-mcp + state.rs stale comment + schema test cap-flag (fb-30)
Final review fixes: - docs/ARCHITECTURE.md: add kebab-mcp to UI subgraph + directory tree (CLAUDE.md "add new crate" rule required this; missed in Task 12 doc sync). - state.rs: replace forward-reference Task 10 comment with current-state doc (config_path now wired by Task 10 commit4a30959). - tools_call_schema.rs: assert capabilities.mcp_server == true (already pinned in schema_report + cli_schema, this closes the gap in mcp's own test). Version bump 0.3.0 → 0.4.0 deferred to separate `chore/bump-v0.4.0` PR mirroring fb-27 precedent (commit73f5d73/ PR #105). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,11 +11,8 @@ use kebab_config::Config;
|
||||
#[derive(Clone)]
|
||||
pub struct KebabAppState {
|
||||
pub config: Arc<Config>,
|
||||
/// Original config file path passed via `--config <path>`, if any.
|
||||
/// Forwarded to `kebab_app::doctor_with_config_path` so the doctor
|
||||
/// report reflects the same config file the server was started with.
|
||||
/// Plan Task 10 (Cmd::Mcp wiring) will pass the actual path; all
|
||||
/// existing callers pass `None` which falls back to the XDG default.
|
||||
/// `--config <path>` from CLI when present, else `None` (XDG default
|
||||
/// fallback applies in `doctor_with_config_path`).
|
||||
pub config_path: Option<PathBuf>,
|
||||
}
|
||||
|
||||
|
||||
@@ -67,4 +67,9 @@ async fn schema_tool_returns_schema_v1_json() {
|
||||
Some("schema.v1"),
|
||||
"unexpected schema_version in: {v}"
|
||||
);
|
||||
assert_eq!(
|
||||
v.get("capabilities").and_then(|c| c.get("mcp_server")).and_then(|b| b.as_bool()),
|
||||
Some(true),
|
||||
"mcp_server capability flag should be true after fb-30",
|
||||
);
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ flowchart TB
|
||||
subgraph UI ["UI binary"]
|
||||
cli["kebab-cli"]
|
||||
tui["kebab-tui"]
|
||||
mcp["kebab-mcp<br/>(P9-FB-30)"]
|
||||
desktop["kebab-desktop<br/>(P9-5)"]
|
||||
end
|
||||
app["kebab-app<br/>(facade)"]
|
||||
@@ -71,6 +72,7 @@ flowchart TB
|
||||
|
||||
cli --> app
|
||||
tui --> app
|
||||
mcp --> app
|
||||
desktop --> app
|
||||
|
||||
app --> srcfs
|
||||
@@ -168,6 +170,7 @@ kebab/
|
||||
│ ├── kebab-parse-pdf/ # lopdf per-page text extractor (P7-1)
|
||||
│ ├── kebab-app/ # facade (P0 시그니처 + P3-5/P6-4/P7-3 본체)
|
||||
│ ├── kebab-tui/ # Ratatui shell + Library 패널 (P9-1)
|
||||
│ ├── kebab-mcp/ # stdio MCP server — tools: search, ask, doctor (P9-FB-30)
|
||||
│ └── kebab-cli/ # binary (P0 → 핫픽스로 --config flag wiring 강화)
|
||||
├── migrations/ # SQLite refinery V001/V002/V003
|
||||
└── fixtures/ # 테스트 fixture 트리
|
||||
|
||||
Reference in New Issue
Block a user