claude-code-conductor 2.75.0__tar.gz → 2.77.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/CLAUDE.md +16 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/code-review-checklist.md +8 -2
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/parallel-agents/SKILL.md +1 -1
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/CHANGELOG.md +45 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/PKG-INFO +1 -1
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/__init__.py +1 -1
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/.gitignore +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/architect.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/code-reviewer.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/design-critic.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/developer.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/doc-writer.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/interviewer.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/planner.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/project-setup.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/security-reviewer.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/systematic-debugger.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/tester.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/wt_developer.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/wt_systematic-debugger.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/wt_tester.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/breaking-changes.txt +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/deletions.txt +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/autonomous-mode-onboarding.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/config-policy.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/nul-boundary.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/parallel-agents-setup.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/platform-adapters.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/settings.json.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/_hook_utils.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/check_agent_invocation.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/consolidate_memory.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/patterns_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/planner_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/post_tool.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/pre_compact.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/pre_tool.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/recall_autorebuild.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/recall_inject.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/report_contract_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/report_path_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/restore_session.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/select_tier.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_mode_watch.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_start.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_stop.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_utils.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/statusline.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/stop.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/tier_autoapply.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/tier_gap_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/worktree_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/memory/.gitkeep +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/memory/archive/.gitkeep +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/memory/sessions/.gitkeep +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/reports/.gitkeep +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/rules/judgment-principles.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/rules/promoted/index.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/settings.json +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/autonomous-mode/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/autonomous-mode/scripts/mode_line.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/brainstorm/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/codex-review/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/c3-omission-declaration.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/design-critic-rubric.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/design-rubric.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/interview-rubric.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/plan-design-guidelines.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/reachability-map.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/record-protocol.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/references/security-review-checklist.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/scripts/detect_execution_verification.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/scripts/record_agent_outcome.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/scripts/record_review_decision.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/scripts/review_hint_inject.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/develop/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/doc/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/extract-lib/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/init-session/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/init-session/scripts/session_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/mcp-config/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/pattern-status/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/promote-pattern/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/recall/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/report-timestamp/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/report-timestamp/scripts/get_timestamp.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/review-phase/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/setup/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/setup/reference.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/setup/templates/coding-standards-template.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/setup/templates/project-conventions-template.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/start/SKILL.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/start/scripts/archive_reports.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/state/.gitkeep +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/state/setup_done.flag +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/tmp/.gitkeep +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.gitignore +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/ARCHITECTURE.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/LICENSE +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/LICENSES/fastembed-LICENSE +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/LICENSES/fastembed-NOTICE +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/LICENSES/numpy-LICENSE +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/LICENSES/onnxruntime-LICENSE +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/LICENSES/paraphrase-multilingual-MiniLM-L12-v2-LICENSE +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/README.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/hatch_build.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/pyproject.toml +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/__main__.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/_db_params.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/_excludes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/_terminal.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/adapters.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_ask.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_doctor.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_init.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_list.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_metrics.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_plan.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_recall.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_run.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_tier.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/cli_update.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/db.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/embedding.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/gitutil.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/mcp_server.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrate.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/001_initial.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/002_agent_cost_runs.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/003_tier_cost.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/004_agent_outcomes.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/005_drop_agent_tier_bandit.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/006_review_decisions_severity.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/007_review_decisions_resolution.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/008_drop_agent_runs.sql +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/README.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/__init__.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/paths.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/plan_validator.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/platforms.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/pricing.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/question.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/recall_chunker.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/recall_index.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/refgraph.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/usage_ingester.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/__init__.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/_pre_compact_helpers.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/_sync_semantics.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/conftest.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/fixtures/usage/README.md +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/fixtures/usage/mainline.jsonl +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/fixtures/usage/subagents/agent-deadbeef.jsonl +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/fixtures/usage/subagents/agent-deadbeef.meta.json +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/__init__.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_check_agent_invocation.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_consolidate_memory.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_detect_execution_verification.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_hook_utils.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_pip_reinstall_reminder.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_planner_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_planner_check_dev.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_post_tool.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_pre_tool.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_recall_autorebuild.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_recall_inject.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_record_agent_outcome.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_record_review_decision.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_report_path_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_restore_session.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_review_hint_inject.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_select_tier.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_select_tier_escalation.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_session_start.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_session_stop.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_session_utils.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_settings_local_absolute_paths.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_settings_tier_autoapply_registration.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_similarity_boost.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_statusline.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_statusline_reconfigure_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_statusline_template_sync.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_sync_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_template_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_tier_autoapply.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_tier_gap_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_tier_security_fixes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/__init__.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/_skill_helpers.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_c3_omission_declaration.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_dev_workflow_no_task_type.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_e0_verification_exit.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_init_session_no_task_type.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_marker_compliance.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_parallel_agents_skill_tier.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_planner_lightweight.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_reachability_map.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_recall_skill.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_session_backlog_reconciliation.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_session_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_setup_templates.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_start_skill_bugfix_flow.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_start_skill_new_flow.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/skills/test_start_skill_security_audit_phase.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_adapters.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_archive_reports.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_audit_review_decisions.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_check_deletions.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_ci_workflows.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_claude_gitignore.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_ask.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_doctor.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_doctor_launcher.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_entry.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_init.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_init_symlink_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_list.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_metrics.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_plan.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_recall.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_run.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_tier.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_update_breaking_changes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_cli_update_deletions.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_db.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_db_connect_lint.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_docstring_consistency.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_embedding.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_excludes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_extract_breaking_changes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_gitutil.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_hooks_stdin_idiom.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_init_only_patterns.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_mcp_server_elicit.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_migrate.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_mode_line.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_no_bare_python_launcher.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_no_passonly_tests.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_nul_boundary_lint.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_paths.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_patterns_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_permission_handler_removal.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_plan_validator.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_pre_compact.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_pre_tool_hook.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_precompact_additional.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_precompact_toctou_fixes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_pricing.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_recall_chunker.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_recall_index.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_references_migration.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_refgraph.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_refgraph_query.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_refgraph_structural.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_report_contract_check.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_scripts_src_bootstrap.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_scripts_stdout_encoding.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_session_mode_watch.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_session_utils_additional.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_settings_hooks_registration.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_skill_no_builtin_conflict.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_start_skill_archive_contract.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_statusline.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_stop_additional.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_stop_agent_memory_warn.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_stop_hook.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_stop_precompact_fixes.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_sync_template_stop.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_template_pre_tool_hook.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_three_file_sync.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_usage_ingester.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_verify_wheel.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_worktree_guard.py +0 -0
- {claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/test_wt_agent_sync.py +0 -0
|
@@ -14,6 +14,22 @@ C3 は、業務アプリケーション開発で製品としての品質を保
|
|
|
14
14
|
|
|
15
15
|
背景: 業務アプリは機密情報を扱い、作って終わりではなく保守・運用が続く。
|
|
16
16
|
|
|
17
|
+
## 根本解決の原則(監査・レビューを通すための対応をしない)
|
|
18
|
+
|
|
19
|
+
- 監査(C-3)・レビュー(E)・テストの指摘に対して、**指摘を消すためだけの対応(言い換え・周辺の付け足し・機構の差し替え)を行わない**
|
|
20
|
+
- 指摘の背後にある**根本問題を 1 文で書き**、それを解く手段を採る。根本問題を解いているかは、OS・ライブラリの一次資料(ソース・公式ドキュメント)と実測で裏取りしてから確定する
|
|
21
|
+
- **影響範囲が大きくても、コストがかかっても、根本解決できるものは必ず根本解決の手段を取る。** 同じコストを払うなら、修正範囲が広い根本解決の方が、後から積む機能への影響が少なくトータルコストが安い
|
|
22
|
+
- 監査・レビューを通すためだけの対応に払うコストは、開発で最も無駄なコストである。ゲートが緑になることは目的の達成を意味しない
|
|
23
|
+
- 対症療法しか取れない場合は、その理由(根本解決が構造的に不可能・現時点の情報では原因が確定しない等)を明記し、根本解決へ戻るトリガーをセッションファイルの残タスクに残す。「後で直す」をトリガーなしに先送りしない
|
|
24
|
+
|
|
25
|
+
判断の手順:
|
|
26
|
+
|
|
27
|
+
1. 指摘・欠陥の**根本問題を 1 文で書く**
|
|
28
|
+
2. 候補となる対策が、その根本問題を**解くのか・隠すのか**を分ける。隠す対策は採らない
|
|
29
|
+
3. 解く対策の修正範囲が大きい場合も、設計(architecture-report)と計画(plan-report)に載せて実施する。範囲の大きさを理由に縮小する裁定はユーザーが行う
|
|
30
|
+
4. 実装前に一次資料と再現実験で仮説を裏取りする。仮説が反証されたら実装せず再調査する
|
|
31
|
+
5. 是正後は「指摘が消えたか」ではなく「根本問題が解けたか」を実測で示す(Red → Green の反転・本番経路での再現条件の消失)
|
|
32
|
+
|
|
17
33
|
## 設計思想
|
|
18
34
|
|
|
19
35
|
- 対策・規約は「書きやすい場所」ではなく「効く場所」に置く。読み手(agent / skill)の Read 経路に届いていない規約は存在しないのと同じ
|
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
- [ ] [CR-E-004] ユーザーへのエラーメッセージが適切か(内部情報を含まないか・わかりやすいか)
|
|
30
30
|
- [ ] [CR-E-005] エラーの伝播方法が適切か(再スロー・ラップ・変換が適切か)
|
|
31
31
|
|
|
32
|
+
### リソース管理
|
|
33
|
+
- [ ] [CR-RS-001] 取得したリソース(ファイル・DB接続・ソケット・サブプロセス・一時ファイル)が正常系・異常系の両方で解放されているか(with / try-finally / using / defer 等。異常系のみを見る観点は [CR-E-003])
|
|
34
|
+
- [ ] [CR-RS-002] 登録したものが解除されているか(イベントリスナー・タイマー・シグナルハンドラ・購読・コールバック)
|
|
35
|
+
- [ ] [CR-RS-003] 無制限に増加するコレクション・キャッシュ・バッファがないか(上限・退去ポリシー・弱参照の検討)
|
|
36
|
+
- [ ] [CR-RS-004] 長時間稼働・ループ反復でメモリ使用量が単調増加しないか(反復ごとに解放されているか。作成物の種別を問わず確認する)
|
|
37
|
+
|
|
32
38
|
### ログ
|
|
33
39
|
- [ ] [CR-L-001] ログ出力が適切なレベル(DEBUG / INFO / WARN / ERROR)で行われているか
|
|
34
40
|
- [ ] [CR-L-002] 個人情報・秘密情報がログに出力されていないか
|
|
@@ -78,7 +84,7 @@
|
|
|
78
84
|
|
|
79
85
|
### フロントエンド向け
|
|
80
86
|
- [ ] [CR-FE-001] 不要な再レンダリングが発生していないか(メモ化・依存配列の設定等)
|
|
81
|
-
- [ ] [CR-FE-002]
|
|
87
|
+
- [ ] [CR-FE-002] メモリリークが発生していないか(イベントリスナー・タイマーの解放。フロントエンド固有の具体化であり、リーク全般は [CR-RS-001]〜[CR-RS-004] で確認する)
|
|
82
88
|
- [ ] [CR-FE-003] 大量データのレンダリングに仮想スクロール等の対策があるか
|
|
83
89
|
- [ ] [CR-FE-004] アクセシビリティ(aria属性・キーボード操作・コントラスト)が考慮されているか
|
|
84
90
|
- [ ] [CR-FE-005] 国際化(i18n)対応が必要な場合に対応されているか
|
|
@@ -86,7 +92,7 @@
|
|
|
86
92
|
### バッチ処理 / 非同期処理向け
|
|
87
93
|
- [ ] [CR-BC-001] 冪等性が担保されているか(同じ処理を複数回実行しても問題ないか)
|
|
88
94
|
- [ ] [CR-BC-002] 処理の途中失敗時にリカバリできるか(再実行・チェックポイント)
|
|
89
|
-
- [ ] [CR-BC-003]
|
|
95
|
+
- [ ] [CR-BC-003] ピークメモリ使用量が適切か(大量データを一括ロードしていないか・ストリーム処理等。時間経過に伴う単調増加は [CR-RS-004])
|
|
90
96
|
- [ ] [CR-BC-004] キューの詰まり・バックプレッシャーへの対策があるか
|
|
91
97
|
|
|
92
98
|
### ライブラリ / SDK向け
|
|
@@ -157,7 +157,7 @@ wave を起動する前に `git status` が空(未コミット変更なし)
|
|
|
157
157
|
各 Agent ツール呼び出しに以下を指定:
|
|
158
158
|
|
|
159
159
|
- `subagent_type`: 上記マッピング表の値
|
|
160
|
-
- `model`: **親 Claude は `model:` を指定しない**。`wt_developer` タスクは起動時に PreToolUse hook(`.claude/hooks/tier_autoapply.py`)が `[tier-routing 推奨]`(developer 基準)の推奨 Tier を `model:` へ自動適用する(機械適用・親 Claude が model: を転記する必要はない)。この推奨 Tier の SSOT は `.claude/state/tier_selection.json` の `tier`(無ければ `suggested_model`)であり、kickoff の UserPromptSubmit で 1 度確定して以降 wave をまたいで安定する(`[tier-routing 推奨]` の表示テキストはその派生表示)。hook は実適用した model を `.claude/state/tier_autoapply.jsonl` に記録する(適用者=記録 SSOT)。並列 wave 内に複数の `wt_developer` が居る場合、**全 wt_developer は同一の推奨 Tier(単一 tier_selection.json.tier)で起動される。これは本 MVP の設計として明示的に許容する**(per-task complexity に応じて wt_developer ごとに tier を変える機能は本 MVP のスコープ外・フェーズ 3 以降)。推奨と異なる Tier を使いたい場合のみ `model:` を明示指定する(明示指定は hook
|
|
160
|
+
- `model`: **親 Claude は `model:` を指定しない**。`wt_developer` タスクは起動時に PreToolUse hook(`.claude/hooks/tier_autoapply.py`)が `[tier-routing 推奨]`(developer 基準)の推奨 Tier を `model:` へ自動適用する(機械適用・親 Claude が model: を転記する必要はない)。この推奨 Tier の SSOT は `.claude/state/tier_selection.json` の `tier`(無ければ `suggested_model`)であり、kickoff の UserPromptSubmit で 1 度確定して以降 wave をまたいで安定する(`[tier-routing 推奨]` の表示テキストはその派生表示)。hook は実適用した model を `.claude/state/tier_autoapply.jsonl` に記録する(適用者=記録 SSOT)。並列 wave 内に複数の `wt_developer` が居る場合、**全 wt_developer は同一の推奨 Tier(単一 tier_selection.json.tier)で起動される。これは本 MVP の設計として明示的に許容する**(per-task complexity に応じて wt_developer ごとに tier を変える機能は本 MVP のスコープ外・フェーズ 3 以降)。推奨と異なる Tier を使いたい場合のみ `model:` を明示指定する(明示指定は hook に尊重され上書きされない)。**上流環境変数の注意**: `CLAUDE_CODE_SUBAGENT_MODEL_FORCE`(Claude Code v2.1.257+)が設定されていると、ハーネスは per-spawn の `model:`(hook 注入・明示指定とも)と agent 定義の `model:` を無視して全サブエージェントを強制モデルで起動する。hook は注入と `tier_autoapply.jsonl` 記録を行うため、記録された tier と実適用モデルが乖離する。C3 は同変数を設定しない。tier-routing を使う環境ではこの変数を設定しないこと(`CLAUDE_CODE_SUBAGENT_MODEL` は既定値扱いで注入が優先されるため影響なし・v2.1.251+)。`wt_tester` は **test- タスク(Red)に限り機械適用対象**(`C3_TASK_ID` マーカーの `test-` プレフィックスで RED_APPLY_ROLES 注入・confirm- 等の非 test- タスクは対象外=frontmatter 任せ)。`wt_systematic-debugger` / `code-reviewer` / `security-reviewer` は **model: 指定対象外**(frontmatter/元 agent 任せ・機械適用対象外)。fork は model 上書き不可のため対象外。
|
|
161
161
|
- `isolation`: **`read_only: false` タスクのみ `"worktree"` を指定する。ただし `writes` が全て gitignored ファイル(実質 `.claude/reports/` のレポートのみ)のタスク(confirm- 系が典型)は git 的に「未変更」の worktree となるため Agent 完了時に auto-cleanup され、親が取り込む前に成果物が消失する(2026-07-26 実測)ため、worktree を使わず `isolation` を省略して main 直接経路・素の agent(読み替え: `wt_tester`→`tester` 等)で起動する。`read_only: true`(code-reviewer / security-reviewer)はソースを変更しないため worktree 不要。`isolation` を省略して main リポジトリで直接実行し、レポートを main の `.claude/reports/` に直接書かせる。**
|
|
162
162
|
> **R5 hook による機械強制**: 上記ルールに違反して `read_only: true` のレビュータスクに `isolation: "worktree"` を指定した場合、`.claude/hooks/check_agent_invocation.py`(PreToolUse Agent hook)が exit 2 でブロックする。詳細は `.claude/skills/dev-workflow/references/plan-design-guidelines.md` R5 参照。
|
|
163
163
|
- `run_in_background`: `true`
|
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.77.0] - 2026-09-09
|
|
4
|
+
|
|
5
|
+
### 追加
|
|
6
|
+
|
|
7
|
+
- **`code-review-checklist.md` の必須チェック項目(全作成物共通)に「リソース管理」節を新設した**
|
|
8
|
+
(`[CR-RS-001]`〜`[CR-RS-004]`)。取得したリソース(ファイル・DB接続・ソケット・サブプロセス・
|
|
9
|
+
一時ファイル)の正常系・異常系両方での解放、登録したもの(イベントリスナー・タイマー・
|
|
10
|
+
シグナルハンドラ・購読・コールバック)の解除、無制限に増加するコレクション・キャッシュ・
|
|
11
|
+
バッファの有無、長時間稼働・ループ反復でのメモリ使用量の単調増加、の 4 観点を作成物の種別を
|
|
12
|
+
問わない共通項目として立てた。
|
|
13
|
+
従来メモリリークに関する観点は作成物別チェック項目の `[CR-FE-002]`(フロントエンド向け)にしか
|
|
14
|
+
存在せず、バッチ処理・Web API バックエンド・ライブラリのリークには該当 ID が無かった。
|
|
15
|
+
`[CR-BC-003]` はピーク使用量、`[CR-E-003]` は異常系のリソース解放を見る項目であり、
|
|
16
|
+
時間経過に伴う累積を射程に含まない。実利用先(業務バッチ)で code-reviewer / security-reviewer
|
|
17
|
+
とも 0 指摘で通過したメモリリークが外部レビューで検出された事例を受けた是正
|
|
18
|
+
|
|
19
|
+
### 変更
|
|
20
|
+
|
|
21
|
+
- `[CR-FE-002]` と `[CR-BC-003]` に射程の相互参照を追記した。`[CR-FE-002]` は
|
|
22
|
+
「フロントエンド固有の具体化であり、リーク全般は `[CR-RS-001]`〜`[CR-RS-004]` で確認する」を、
|
|
23
|
+
`[CR-BC-003]` は「ピークメモリ使用量」への限定と「時間経過に伴う単調増加は `[CR-RS-004]`」を
|
|
24
|
+
明示した。「メモリリークはフロントエンド固有の関心事」という誤読が今回の見落としの構造要因で
|
|
25
|
+
あったため、共通項目の新設と併せて射程を明文化したもの
|
|
26
|
+
|
|
27
|
+
## [2.76.0] - 2026-09-04
|
|
28
|
+
|
|
29
|
+
### 追加
|
|
30
|
+
|
|
31
|
+
- `.claude/CLAUDE.md` に「根本解決の原則(監査・レビューを通すための対応をしない)」節を追加した。
|
|
32
|
+
監査(C-3)・レビュー(E)・テストの指摘に対し、指摘を消すためだけの対応(言い換え・周辺の付け足し・
|
|
33
|
+
機構の差し替え)を禁じ、根本問題を 1 文で書いてそれを解く手段を採る原則 5 項目と、判断の手順 5 段階
|
|
34
|
+
(根本問題の 1 文化 → 解く/隠すの仕分け → 修正範囲が大きくても設計・計画に載せる → 一次資料と再現実験で
|
|
35
|
+
裏取り → 根本問題が解けたことを実測で示す)を定めた。対症療法しか取れない場合は理由を明記し、
|
|
36
|
+
根本解決へ戻るトリガーをセッションファイルの残タスクに残す。是正ループの打切条件(3 連続で前提を疑う)は
|
|
37
|
+
dev-workflow E-3 を唯一の正本とし、本節には重複記述を置かない。利用先プロジェクトで運用して不足と
|
|
38
|
+
判明した規約を C3 本体へ取り込んだもの
|
|
39
|
+
|
|
40
|
+
### 変更
|
|
41
|
+
|
|
42
|
+
- `parallel-agents` skill の `model:` 指定規則と `docs/spec/02-hooks.md` の tier_autoapply 仕様表に、
|
|
43
|
+
Claude Code v2.1.257 で追加された環境変数 `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` の注意を追記した。
|
|
44
|
+
同変数が設定されていると per-spawn の `model:`(hook 注入・明示指定とも)と agent 定義の `model:` が
|
|
45
|
+
ハーネス側で無視され、tier_autoapply が記録した tier と実適用モデルが乖離する。C3 は同変数を設定しない
|
|
46
|
+
(`CLAUDE_CODE_SUBAGENT_MODEL` は v2.1.251 以降既定値扱いで注入が優先されるため影響なし)
|
|
47
|
+
|
|
3
48
|
## [2.75.0] - 2026-08-16
|
|
4
49
|
|
|
5
50
|
### 追加
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: claude-code-conductor
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.77.0
|
|
4
4
|
Summary: Multi-agent orchestration framework for Claude Code with Codex/Cursor adapters (C3)
|
|
5
5
|
Project-URL: Homepage, https://github.com/satoh-y-0323/claude-code-conductor
|
|
6
6
|
Project-URL: Repository, https://github.com/satoh-y-0323/claude-code-conductor
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/code-reviewer.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/design-critic.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/project-setup.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/security-reviewer.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/systematic-debugger.md
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/agents/wt_developer.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/parallel-agents-setup.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/docs/platform-adapters.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/consolidate_memory.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/patterns_guard.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/planner_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/recall_autorebuild.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/recall_inject.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/report_contract_check.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/report_path_guard.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/restore_session.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_mode_watch.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_start.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/session_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/tier_autoapply.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/tier_gap_check.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/hooks/worktree_guard.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/memory/archive/.gitkeep
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/memory/sessions/.gitkeep
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/rules/judgment-principles.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/rules/promoted/index.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/brainstorm/SKILL.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/codex-review/SKILL.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/dev-workflow/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/develop/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/extract-lib/SKILL.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/init-session/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/mcp-config/SKILL.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/pattern-status/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/recall/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/review-phase/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/.claude/skills/setup/reference.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/001_initial.sql
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/src/c3/migrations/003_tier_cost.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/fixtures/usage/README.md
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/fixtures/usage/mainline.jsonl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_consolidate_memory.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_hook_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_planner_check.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_planner_check_dev.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_recall_autorebuild.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_recall_inject.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_report_path_guard.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_restore_session.py
RENAMED
|
File without changes
|
{claude_code_conductor-2.75.0 → claude_code_conductor-2.77.0}/tests/hooks/test_review_hint_inject.py
RENAMED
|
File without changes
|