fix: correct help source lists, add is_clean to status JSON

#327: mcp help now includes .claw.json in documented sources list
#328: agents help now includes ~/.codex/agents in documented sources list
#408: added is_clean boolean to status JSON workspace for unambiguous
  dirty-state detection; changed_files documented as total non-clean count
#338: resume help field consistency (committed earlier)

Also marked 52 items with explicit done/verified evidence as DONE
in ROADMAP.md, including product principles (1-6) and items with
confirmed fix text (13-75, 96, 200).

Generated with https://github.com/Yeachan-Heo/gajae-code
Co-authored-by: Gajae Code <dev@gajae-code.com>
This commit is contained in:
bellman
2026-06-05 04:46:10 +09:00
parent c0447e2be1
commit c7c5c11d1e
3 changed files with 78 additions and 75 deletions

File diff suppressed because one or more lines are too long

View File

@@ -4872,7 +4872,7 @@ fn render_agents_usage_json(unexpected: Option<&str>) -> Value {
"direct_cli": "claw agents [list|show <name>|create <name>|help]",
"format": "toml",
"create": "claw agents create <name>",
"sources": [".claw/agents", "~/.claw/agents", "$CLAW_CONFIG_HOME/agents"],
"sources": [".claw/agents", "~/.claw/agents", "~/.codex/agents", "$CLAW_CONFIG_HOME/agents"],
},
"unexpected": unexpected,
})
@@ -5002,7 +5002,7 @@ fn render_mcp_usage_json(unexpected: Option<&str>) -> Value {
"usage": {
"slash_command": "/mcp [list|show <server>|help]",
"direct_cli": "claw mcp [list|show <server>|help]",
"sources": [".claw/settings.json", ".claw/settings.local.json"],
"sources": [".claw.json", ".claw/settings.json", ".claw/settings.local.json"],
},
"unexpected": unexpected,
})
@@ -6873,7 +6873,7 @@ mod tests {
let help =
render_mcp_report_json_for(&loader, &workspace, Some("help")).expect("mcp help json");
assert_eq!(help["action"], "help");
assert_eq!(help["usage"]["sources"][0], ".claw/settings.json");
assert_eq!(help["usage"]["sources"][0], ".claw.json");
let _ = fs::remove_dir_all(workspace);
let _ = fs::remove_dir_all(config_home);

View File

@@ -9316,8 +9316,11 @@ fn status_json_value(
"project_root": context.project_root,
"git_branch": context.git_branch,
"git_state": context.git_summary.headline(),
// #408: changed_files counts ALL non-clean files (staged + unstaged + untracked + conflicted)
"changed_files": context.git_summary.changed_files,
"is_clean": context.git_summary.changed_files == 0,
"staged_files": context.git_summary.staged_files,
"unstaged_files": context.git_summary.unstaged_files,
"untracked_files": context.git_summary.untracked_files,
"session": context.session_path.as_ref().map_or_else(|| "live-repl".to_string(), |path| path.display().to_string()),