feat(system): Fix doctor action messages (remove setup.sh refs) + expand scaffold startup protocol (.trinity, inbox, init_report)

Co-Authored-By: @devpulse <devpulse@aipass>
This commit is contained in:
AIOSAI
2026-05-07 20:31:02 -07:00
co-authored by @devpulse
parent 1d1ed0a0e6
commit a3d29c81b1
3 changed files with 12 additions and 6 deletions
@@ -67,6 +67,12 @@ def claude_md(name: str) -> str:
"and respond with the status.\n"
"\n"
f"**Read:** `{name}_REGISTRY.json`, `README.md`, `STATUS.local.md`\n"
"**Read:** `.trinity/passport.json`, `.trinity/local.json`, `.trinity/observations.json`\n"
"**Check:** If `.ai_mail.local/inbox.json` exists, read it. Process any mail.\n"
"**Check:** If `dropbox/init_report.json` exists, read it — this is your birth certificate. "
"Use it to understand your role, the project context, and any setup instructions. "
"If it mentions missing provider settings (hooks, env vars, permissions), "
"tell the user what needs configuring and where.\n"
"**Run:** `git status`\n"
"\n"
"Then check the registry for agents and report status.\n"
+4 -4
View File
@@ -232,7 +232,7 @@ def _check_provider_manifest() -> List[CheckResult]:
if manifest_path is None:
results.append(
CheckResult(
"hooks", GLYPH_WARN, "manifest not found", "Run setup.sh or create .claude/provider_manifest.json"
"hooks", GLYPH_WARN, "manifest not found", "Expected .claude/provider_manifest.json in project root"
)
)
return results
@@ -270,7 +270,7 @@ def _check_provider_manifest() -> List[CheckResult]:
"hooks",
GLYPH_WARN,
f"{len(missing_hooks)} hook(s) missing: {', '.join(missing_hooks)}",
"Run setup.sh or copy from .claude/hooks/ — see .claude/hooks/README.md",
"Copy missing hooks to ~/.claude/hooks/ — see .claude/hooks/README.md",
)
)
@@ -294,7 +294,7 @@ def _check_provider_manifest() -> List[CheckResult]:
"env vars",
GLYPH_WARN,
f"{len(missing_env)} env var(s) missing: {', '.join(missing_env)}",
"Run setup.sh to configure provider settings",
"Add to ~/.claude/settings.json env block — see provider_manifest.json",
)
)
@@ -329,7 +329,7 @@ def _check_provider_manifest() -> List[CheckResult]:
"permissions",
GLYPH_WARN,
f"{total_missing} permission rule(s) missing",
"Run setup.sh to configure provider permissions",
"Add to ~/.claude/settings.json permissions — see provider_manifest.json",
)
)
+2 -2
View File
@@ -207,10 +207,10 @@ def test_init_project_claude_md_content(tmp_path):
assert "## Getting Started" in content
assert "## Available Commands" in content
assert "## Startup Protocol" in content
# Startup protocol reads registry, not .trinity/
startup_idx = content.index("## Startup Protocol")
startup_section = content[startup_idx:]
assert ".trinity/" not in startup_section
assert ".trinity/passport.json" in startup_section
assert "init_report.json" in startup_section
assert "aipass init agent" in content
assert "ZETA_REGISTRY.json" in content