fix: sync CLI flags across analyze/pdf/unified commands and fix workflow JSON config
Flag/option synchronization fixes: - analyze: add --dry-run, --api-key, and all workflow flags (--enhance-workflow, --enhance-stage, --var, --workflow-dry-run) via WORKFLOW_ARGUMENTS merge - pdf: add --api-key to PDF_ARGUMENTS; replace 5 hardcoded add_argument() calls in pdf_scraper.py:main() with add_pdf_arguments() to activate all defined args - unified: add --api-key and --enhance-level (global override) to UNIFIED_ARGUMENTS and standalone parser; wire enhance_level CLI override into run() per-source loop - codebase_scraper: fix --enhance-workflow to use action="append" (was type=str), enabling multiple workflow chaining instead of silently dropping all but last ConfigManager test isolation fix: - __init__ now reads self.CONFIG_DIR/CONFIG_FILE/PROGRESS_DIR class variables instead of calling _get_config_dir()/_get_progress_dir() directly, enabling monkeypatching in tests (fixes pre-existing test_add_and_retrieve_github_profile) Workflow JSON config support in unified_scraper: - Phase 5 now reads workflows/workflow_stages/workflow_vars from top-level JSON config and merges them with CLI args (CLI-first ordering); supports running workflows even when unified scraper is called without CLI args (args=None) Tests: 1,949 passed, 0 failed (added 18 new tests across 3 test files) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,8 @@ Includes preset system support for #268.
|
||||
import argparse
|
||||
from typing import Any
|
||||
|
||||
from .workflow import WORKFLOW_ARGUMENTS
|
||||
|
||||
ANALYZE_ARGUMENTS: dict[str, dict[str, Any]] = {
|
||||
# Core options
|
||||
"directory": {
|
||||
@@ -169,8 +171,27 @@ ANALYZE_ARGUMENTS: dict[str, dict[str, Any]] = {
|
||||
"help": "Enable verbose logging",
|
||||
},
|
||||
},
|
||||
# Dry-run and API key (parity with scrape/github/pdf)
|
||||
"dry_run": {
|
||||
"flags": ("--dry-run",),
|
||||
"kwargs": {
|
||||
"action": "store_true",
|
||||
"help": "Preview what will be analyzed without creating output",
|
||||
},
|
||||
},
|
||||
"api_key": {
|
||||
"flags": ("--api-key",),
|
||||
"kwargs": {
|
||||
"type": str,
|
||||
"help": "Anthropic API key (or set ANTHROPIC_API_KEY env var)",
|
||||
"metavar": "KEY",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
# Add workflow arguments (enhance_workflow, enhance_stage, var, workflow_dry_run, workflow_history)
|
||||
ANALYZE_ARGUMENTS.update(WORKFLOW_ARGUMENTS)
|
||||
|
||||
|
||||
def add_analyze_arguments(parser: argparse.ArgumentParser) -> None:
|
||||
"""Add all analyze command arguments to a parser."""
|
||||
|
||||
Reference in New Issue
Block a user