/
davydov
/
NGPowers
Обзор
Документация
Войти
/
davydov
/
NGPowers
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/archive_task.py
40 строк
2 KB
Roman Davydov
feat(ngpowers): implement pre-archival safety gate and task auto-archiving safety
11 авг 2026, 01:33
11 авг 2026, 01:33
add1f7e
Код
Авторство
О чём код?
#!/usr/bin/env python3 import os import sys import argparse from pathlib import Path # Add project root scripts to sys.path script_dir = os.path.dirname(os.path.abspath(__file__)) project_root = os.path.abspath(os.path.join(script_dir, "..", "..")) if script_dir not in sys.path: sys.path.insert(0, script_dir) from load_config import get_docs_config, get_docs_path, load_config from state_db import resolve_db_path def main(): parser = argparse.ArgumentParser(description="Archive active task based on .ngpowers/config.yml settings") parser.add_argument("--task", required=True, help="Task ID or folder name (e.g. TASK-18)") parser.add_argument("--db", default=None, help="Path to SQLite database file (optional)") args = parser.parse_args() resolved_db = resolve_db_path(args.db) # Delegate to the canonical task archiver in skills/ngpowers-verify/scripts skill_archiver = os.path.join(project_root, ".agents", "skills", "ngpowers-verify", "scripts", "archive_task.py") if os.path.exists(skill_archiver): import importlib.util spec = importlib.util.spec_from_file_location("archive_task_skill", skill_archiver) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) res = module.archive_task(args.task, project_root, resolved_db) print(res.get("message", str(res))) if res.get("status") != "success": sys.exit(1) else: print(f"Error: Skill archiver script not found at {skill_archiver}", file=sys.stderr) sys.exit(1) if __name__ == "__main__": main()