fix(system): S61-S62 — API cleanup, drone path routing, naming checker, .backup→.recovery rename (#142)

- API: 18-item P0/P1/P2 cleanup (debug prints→logger, help gate fix, URL injection fix, key masking, unused imports)
- Drone: passport walk-up replaces hardcoded src/aipass/<branch> pattern, 13 naming bypasses removed
- Seedgo: naming checker fixed (__dunder__ skip + column-0 scope detection) — eliminates 71 false positives system-wide
- Spawn: .backup→.recovery rename (pre-change snapshots no longer conflict with backup branch namespace)
- .gitignore: .recovery/ added
- HERALD.md: Updated through S62 (backup audit, .recovery rename, night shift launch)
- README.md: Stats updated (141 PRs, 2900+ tests)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
AIPass
2026-03-29 01:55:21 -07:00
committed by GitHub
co-authored by Claude Opus 4.6
parent ae459853f0
commit 6772cacce2
27 changed files with 245 additions and 212 deletions
+2 -2
View File
@@ -97,7 +97,7 @@ def deep_merge(template_data: Any, existing_data: Any) -> Any:
def backup_json(file_path: Path) -> Path:
"""Create a timestamped backup of a JSON file before modifying.
The backup is placed in a ``.backup/`` directory alongside the file,
The backup is placed in a ``.recovery/`` directory alongside the file,
named with a timestamp suffix.
Args:
@@ -116,7 +116,7 @@ def backup_json(file_path: Path) -> Path:
raise FileNotFoundError(f"Cannot backup — file not found: {file_path}")
# Create backup directory alongside the file
backup_dir = file_path.parent / ".backup"
backup_dir = file_path.parent / ".recovery"
backup_dir.mkdir(parents=True, exist_ok=True)
# Timestamped backup name
+2 -2
View File
@@ -615,7 +615,7 @@ class TestBackupJson:
"""Tests for backup_json()."""
def test_creates_backup_file(self, tmp_path):
"""Backup should create a copy in .backup/ directory."""
"""Backup should create a copy in .recovery/ directory."""
from aipass.spawn.apps.handlers.json_ops import backup_json
source = tmp_path / "data.json"
@@ -624,7 +624,7 @@ class TestBackupJson:
backup_path = backup_json(source)
assert backup_path.exists()
assert ".backup" in str(backup_path)
assert ".recovery" in str(backup_path)
assert "data.json" in backup_path.name
assert ".backup" in backup_path.name