feat(system): credential model, stderr migration, DPLAN/FPLAN docs (#41)
* feat(system): stderr routing migration Phase 3 — 10 branches migrated (FPLAN-0033) Autonomous 3-wave migration: 15+ agents across 10 branches converted error/warning prints to CLI stderr functions. Seedgo stderr_routing checker refined (false positive fix for section headers). System avg 49%→94%. Skills self-fixed (100%). Credential model DPLAN updated. AIPASS.md moved to ~/.claude/CLAUDE.md (global culture layer). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(system): stderr routing cleanup — remaining violations fixed Final wave: ai_mail, backup, seedgo, commons, daemon migrated to CLI stderr functions. System stderr_routing avg now 97% (11 branches at 100%). Seedgo checker refinement confirmed (false positives eliminated). Only backup/google_drive_sync has remaining prints. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(system): /prep command + cleanup memo and pre-compact hook New /prep slash command for pre-compact preparation: saves memories, updates plans, checks git/inbox, flags loose ends. Workflow: /prep then /compact. Cleaned up /memo (stale field refs, flow.local.md → STATUS.local.md). Pre-compact hook: removed misleading Notepad reference, points to local.json and STATUS.local.md instead. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs(flow): DPLAN/FPLAN distinction in global prompt + DPLAN template self-documentation Global prompt now explains DPLAN vs FPLAN with brief breadcrumbs and adds the missing `master` command. DPLAN template now opens with a "What is a DPLAN?" section so agents understand the plan type on first read. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
518d6bf2d6
commit
8fedc053ec
@@ -20,10 +20,12 @@ from typing import List
|
||||
from aipass.prax.apps.modules.logger import system_logger as logger
|
||||
|
||||
try:
|
||||
from aipass.cli.apps.modules import console
|
||||
from aipass.cli.apps.modules import console, error
|
||||
except ImportError:
|
||||
from rich.console import Console
|
||||
console = Console()
|
||||
def error(msg: str) -> None:
|
||||
console.print(f"[red]{msg}[/red]")
|
||||
|
||||
from rich.panel import Panel
|
||||
|
||||
@@ -236,7 +238,7 @@ def _cmd_look(args: List[str]) -> bool:
|
||||
def _cmd_decorate(args: List[str]) -> bool:
|
||||
"""Place a decoration in a room."""
|
||||
if len(args) < 3:
|
||||
console.print('[red]Usage: commons decorate <room> "item_name" "description"[/red]')
|
||||
error('Usage: commons decorate <room> "item_name" "description"')
|
||||
return True
|
||||
|
||||
room_name = args[0].lower()
|
||||
@@ -245,14 +247,14 @@ def _cmd_decorate(args: List[str]) -> bool:
|
||||
|
||||
caller = get_caller_branch()
|
||||
if not caller:
|
||||
console.print("[red]Could not detect calling branch. Run from a branch directory.[/red]")
|
||||
error("Could not detect calling branch. Run from a branch directory.")
|
||||
return True
|
||||
|
||||
branch_name = caller["name"]
|
||||
result = place_decoration(room_name, item_name, description, branch_name)
|
||||
|
||||
if result.get("error"):
|
||||
console.print(f"[red]{result['error']}[/red]")
|
||||
error(result['error'])
|
||||
return True
|
||||
|
||||
if result["success"]:
|
||||
|
||||
Reference in New Issue
Block a user