claude-dev-env 2.16.0 → 2.17.0
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.
- package/.agents/agents/AGENTS.md +6 -0
- package/.agents/skills/AGENTS.md +34 -35
- package/.agents/skills/_shared/pr-loop/AGENTS.md +22 -15
- package/.agents/skills/_shared/pr-loop/portable-driver.md +6 -7
- package/.agents/skills/_shared/pr-loop/prompts/AGENTS.md +2 -2
- package/.agents/skills/_shared/pr-loop/scripts/AGENTS.md +1 -1
- package/.agents/skills/_shared/pr-loop/scripts/portable_converge_driver.py +25 -16
- package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +1 -5
- package/.agents/skills/autoconverge/reference/convergence-gates.md +31 -0
- package/.agents/skills/autoconverge/reference/convergence.md +8 -10
- package/.agents/skills/autoconverge/reference/gotchas.md +1 -1
- package/.agents/skills/autoconverge/reference/stop-conditions.md +1 -1
- package/.agents/skills/autoconverge/workflow/converge.codex-gate.test.mjs +1 -1
- package/.agents/skills/autoconverge/workflow/converge.contract.test.mjs +1 -1
- package/.agents/skills/autoconverge/workflow/converge.mjs +3 -3
- package/.agents/skills/cert-classification-rule/SKILL.md +224 -0
- package/.agents/skills/cert-classification-rule/scripts/resort_cert_folders.py +158 -0
- package/.agents/skills/eli5/SKILL.md +128 -0
- package/.agents/skills/eli5/reference/task-seeds.md +11 -0
- package/.agents/skills/fresh-branch/scripts/test_create_fresh_branch.py +2 -3
- package/.agents/skills/name-by-capability-audit/SKILL.md +67 -0
- package/.agents/skills/name-by-capability-audit/reference/fetch-commands.md +29 -0
- package/.agents/skills/name-by-capability-audit/reference/offense-examples.md +32 -0
- package/.agents/skills/name-by-capability-audit/reference/report-template.md +29 -0
- package/.agents/skills/name-by-capability-audit/reference/rule-checklist.md +38 -0
- package/.agents/skills/name-by-capability-audit/reference/task-seeds.md +9 -0
- package/.agents/skills/pr-cleanup/SKILL.md +99 -0
- package/.agents/skills/prototype/reference/honest-limitations.md +1 -1
- package/.agents/skills/prototype/reference/promotion-tasks.md +1 -1
- package/.agents/skills/prototype/scripts/test_build_sandbox_settings.py +2 -2
- package/.agents/skills/prototype/workflows/promotion.md +2 -2
- package/.agents/skills/review-router/SKILL.md +51 -0
- package/.agents/skills/review-router/reference/route-policy.json +7 -0
- package/.agents/skills/review-router/reference/task-seeds.md +1 -0
- package/.agents/skills/review-router/scripts/conftest.py +4 -0
- package/.agents/skills/review-router/scripts/review_router.py +50 -0
- package/.agents/skills/review-router/scripts/review_router_cli.py +211 -0
- package/.agents/skills/review-router/scripts/review_router_constants/__init__.py +1 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/__init__.py +0 -0
- package/.agents/skills/review-router/scripts/review_router_constants/config/constants.py +13 -0
- package/.agents/skills/review-router/scripts/test_review_router.py +23 -0
- package/.agents/skills/review-router/scripts/test_review_router_cli.py +47 -0
- package/.agents/skills/review-tier/SKILL.md +56 -0
- package/.agents/skills/review-tier/reference/task-seeds.md +1 -0
- package/.agents/skills/review-tier/reference/tier-policy.json +9 -0
- package/.agents/skills/review-tier/scripts/conftest.py +4 -0
- package/.agents/skills/review-tier/scripts/review_tier.py +332 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/__init__.py +1 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/__init__.py +0 -0
- package/.agents/skills/review-tier/scripts/review_tier_constants/config/constants.py +29 -0
- package/.agents/skills/review-tier/scripts/test_generation.py +171 -0
- package/.agents/skills/review-tier/scripts/test_review_tier.py +33 -0
- package/.agents/skills/session-log/SKILL.md +1 -1
- package/.agents/skills/shared-extraction-audit/SKILL.md +160 -0
- package/.agents/skills/shared-extraction-audit/reference/examples.md +46 -0
- package/.agents/skills/shared-extraction-audit/reference/offense-taxonomy.md +100 -0
- package/.agents/skills/source-command-logifix/SKILL.md +29 -0
- package/.agents/skills/source-command-sr-loop/SKILL.md +58 -0
- package/.agents/skills-archived/AGENTS.md +45 -0
- package/.agents/{skills → skills-archived}/anthropic-plan/AGENTS.md +1 -1
- package/.agents/{skills → skills-archived}/bugteam/scripts/reflow_skill_md.py +3 -3
- package/.agents/{skills → skills-archived}/codex-review/test_skill_scaffold.py +1 -1
- package/.agents/{skills → skills-archived}/copilot-finding-triage/SKILL.md +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/SKILL.md +6 -6
- package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/AGENTS.md +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/constants.py +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/reference/multi-pr-orchestration.md +1 -1
- package/.agents/{skills → skills-archived}/pr-converge/reference/per-tick.md +3 -3
- package/.agents/{skills → skills-archived}/pr-converge/scripts/reflow_skill_md.py +2 -2
- package/.agents/{skills → skills-archived}/pr-converge/test_portable_pacer_gate.py +6 -2
- package/.agents/{skills → skills-archived}/pr-converge/workflows/schedule-wakeup-loop.md +1 -1
- package/.agents/{skills → skills-archived}/split-pr/reference/proposal-format.md +1 -1
- package/AGENTS.md +34 -58
- package/_shared/AGENTS.md +2 -0
- package/_shared/advisor/reference/sol-rung.md +2 -2
- package/_shared/advisor/reference/third-party-bind.md +1 -1
- package/_shared/pr-loop/audit-reply-template.md +4 -0
- package/_shared/pr-loop/fix-protocol.md +7 -6
- package/_shared/pr-loop/gh-payloads.md +8 -6
- package/_shared/pr-loop/precatch-rubric.md +6 -5
- package/_shared/pr-loop/scripts/AGENTS.md +15 -0
- package/_shared/pr-loop/scripts/_pr_converge_path_setup.py +38 -0
- package/_shared/pr-loop/scripts/check_bugbot_ci.py +279 -0
- package/_shared/pr-loop/scripts/check_convergence.py +923 -0
- package/_shared/pr-loop/scripts/check_convergence_availability.py +275 -0
- package/_shared/pr-loop/scripts/check_convergence_gates.py +279 -0
- package/_shared/pr-loop/scripts/check_convergence_thread_gates.py +219 -0
- package/_shared/pr-loop/scripts/check_pending_reviews.py +154 -0
- package/_shared/pr-loop/scripts/codex_down_classifier.py +98 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/AGENTS.md +18 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/__init__.py +1 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/classifier_constants.py +35 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +82 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/findings_constants.py +18 -0
- package/_shared/pr-loop/scripts/codex_review_scripts_constants/run_constants.py +53 -0
- package/_shared/pr-loop/scripts/codex_usage_probe.py +570 -0
- package/_shared/pr-loop/scripts/conftest.py +43 -0
- package/_shared/pr-loop/scripts/fetch_copilot_reviews.py +134 -0
- package/_shared/pr-loop/scripts/fixtures/auth_failure_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/config_load_failure_v0.125.0.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/freeform_findings_v0.144.3.txt +6 -0
- package/_shared/pr-loop/scripts/fixtures/model_rejection_v0.125.0.jsonl +5 -0
- package/_shared/pr-loop/scripts/fixtures/structured_findings.txt +13 -0
- package/_shared/pr-loop/scripts/fixtures/success_stream_v0.144.3.jsonl +6 -0
- package/_shared/pr-loop/scripts/fixtures/unknown_failure_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/fixtures/usage_limit_synthetic.txt +1 -0
- package/_shared/pr-loop/scripts/parse_codex_findings.py +207 -0
- package/_shared/pr-loop/scripts/post_fix_reply.py +168 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/AGENTS.md +18 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/__init__.py +0 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +70 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/pr_converge_constants.py +118 -0
- package/_shared/pr-loop/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +13 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/.claude/CLAUDE.md +1 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/AGENTS.md +26 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/__init__.py +0 -0
- package/_shared/pr-loop/scripts/pr_converge_skill_constants/constants.py +69 -0
- package/_shared/pr-loop/scripts/run_codex_review.py +609 -0
- package/_shared/pr-loop/scripts/test__pr_converge_path_setup.py +30 -0
- package/_shared/pr-loop/scripts/test_check_bugbot_ci.py +312 -0
- package/_shared/pr-loop/scripts/test_check_convergence.py +438 -0
- package/_shared/pr-loop/scripts/test_check_convergence_availability.py +391 -0
- package/_shared/pr-loop/scripts/test_check_convergence_codex.py +517 -0
- package/_shared/pr-loop/scripts/test_check_convergence_contract.py +400 -0
- package/_shared/pr-loop/scripts/test_check_convergence_fixture.py +179 -0
- package/_shared/pr-loop/scripts/test_check_convergence_gates.py +84 -0
- package/_shared/pr-loop/scripts/test_check_convergence_thread_gates.py +99 -0
- package/_shared/pr-loop/scripts/test_codex_down_classifier.py +143 -0
- package/_shared/pr-loop/scripts/test_codex_usage_probe.py +683 -0
- package/_shared/pr-loop/scripts/test_parse_codex_findings.py +130 -0
- package/_shared/pr-loop/scripts/test_run_codex_review.py +969 -0
- package/_shared/pr-loop/scripts/tests/test_claude_permissions_common.py +1 -1
- package/_shared/pr-loop/scripts/tests/test_code_rules_gate.py +1 -1
- package/_shared/pr-loop/scripts/tests/test_fix_hookspath.py +1 -1
- package/_shared/pr-loop/state-schema.md +20 -28
- package/_shared/process-tree/AGENTS.md +3 -3
- package/bin/ever-shipped-skills.mjs +29 -1
- package/bin/install-constants.mjs +15 -6
- package/bin/install.agents-home.test.mjs +13 -0
- package/bin/install.cursor-rules.test.mjs +3 -3
- package/bin/install.mjs +80 -20
- package/bin/install.profile-root.test.mjs +1 -1
- package/bin/install.prune.test.mjs +23 -204
- package/bin/install.test.mjs +8 -5
- package/bin/resolve-install-root.mjs +21 -0
- package/bin/resolve-package-managed-directory.mjs +4 -4
- package/commands/AGENTS.md +2 -0
- package/commands/sr-loop.md +3 -0
- package/docs/references/prose-style-enforcement.md +3 -7
- package/hooks/AGENTS.md +0 -3
- package/hooks/blocking/AGENTS.md +0 -2
- package/hooks/blocking/ask_user_question_shape_blocker.py +83 -0
- package/hooks/blocking/pre_tool_use_dispatcher.py +2 -19
- package/hooks/blocking/state_description_blocker.py +1 -1
- package/hooks/blocking/test_ask_user_question_shape.py +69 -0
- package/hooks/blocking/test_pre_tool_use_dispatcher.py +17 -58
- package/hooks/blocking/test_pre_tool_use_dispatcher_native.py +9 -104
- package/hooks/blocking/test_state_description_blocker.py +1 -0
- package/hooks/blocking/test_stop_dispatcher.py +1 -26
- package/hooks/hooks.json +1 -1
- package/hooks/hooks_constants/AGENTS.md +0 -3
- package/hooks/hooks_constants/ask_user_question_shape.py +1 -1
- package/hooks/hooks_constants/ask_user_question_shape_constants.py +73 -0
- package/hooks/hooks_constants/bot_mention_comment_blocker_constants.py +1 -2
- package/hooks/hooks_constants/code_rules_path_utils_constants.py +0 -1
- package/hooks/hooks_constants/pre_tool_use_dispatcher_constants.py +0 -7
- package/hooks/hooks_constants/stop_dispatcher_constants.py +0 -1
- package/hooks/hooks_constants/test_ask_user_question_shape.py +1 -1
- package/hooks/hooks_constants/test_prose_metrics_parity.py +29 -107
- package/hooks/hooks_constants/test_stop_dispatcher_constants.py +0 -1
- package/hooks/hooks_constants/working_style_prompt_constants.py +9 -10
- package/hooks/session/AGENTS.md +4 -1
- package/hooks/session/test_working_style_prompt.py +8 -4
- package/hooks/session/working_style_prompt.py +4 -2
- package/package.json +1 -4
- package/rules/AGENTS.md +2 -5
- package/rules/asd-ste100-language.md +39 -0
- package/rules/ask-user-question-required.md +1 -1
- package/rules/long-horizon-autonomy.md +1 -1
- package/scripts/AGENTS.md +1 -0
- package/scripts/Show-Asset.ps1 +106 -0
- package/scripts/test_validate_instruction_pairs.py +30 -3
- package/scripts/tests/test_engine.py +4 -4
- package/scripts/tests/test_rules.py +5 -5
- package/system-prompts/AGENTS.md +8 -0
- package/system-prompts/software-engineer.xml +8 -3
- package/.agents/skills/grokify/evals/README.md +0 -72
- package/.agents/skills/grokify/evals/parse-payload.test.mjs +0 -171
- package/.agents/skills/grokify/evals/run-capability-evals.mjs +0 -545
- package/_shared/pr-loop/scripts/README.md +0 -21
- package/docs/imagegen.md +0 -22
- package/hooks/blocking/eli11_reply_enforcer.py +0 -436
- package/hooks/blocking/plain_language_blocker.py +0 -758
- package/hooks/blocking/test_eli11_reply_enforcer.py +0 -390
- package/hooks/blocking/test_plain_language_blocker.py +0 -683
- package/hooks/blocking/test_plain_language_blocker_allowlist.py +0 -228
- package/hooks/diagnostic/AGENTS.md +0 -75
- package/hooks/diagnostic/CLAUDE.md +0 -1
- package/hooks/diagnostic/hook_log_extractor.py +0 -875
- package/hooks/diagnostic/hook_log_init.py +0 -202
- package/hooks/diagnostic/hook_log_stop_wrapper.py +0 -26
- package/hooks/diagnostic/migrations/2026-04-25-drop-themes-hook-events.sql +0 -3
- package/hooks/diagnostic/migrations/AGENTS.md +0 -16
- package/hooks/diagnostic/migrations/CLAUDE.md +0 -1
- package/hooks/diagnostic/migrations/README.md +0 -76
- package/hooks/diagnostic/queries/AGENTS.md +0 -19
- package/hooks/diagnostic/queries/CLAUDE.md +0 -1
- package/hooks/diagnostic/queries/block_details_for_hook.sql +0 -26
- package/hooks/diagnostic/queries/blocks_by_category.sql +0 -10
- package/hooks/diagnostic/queries/blocks_by_tool.sql +0 -9
- package/hooks/diagnostic/queries/blocks_last_7_days.sql +0 -11
- package/hooks/diagnostic/queries/top_blockers_last_24_hours.sql +0 -12
- package/hooks/diagnostic/queries/top_blockers_overall.sql +0 -12
- package/hooks/diagnostic/requirements-hook-logs-dev.txt +0 -2
- package/hooks/diagnostic/requirements-hook-logs.txt +0 -1
- package/hooks/diagnostic/schema.sql +0 -51
- package/hooks/diagnostic/test_hook_log_extractor.py +0 -1518
- package/hooks/diagnostic/test_hook_log_init.py +0 -227
- package/hooks/diagnostic/test_hook_log_stop_wrapper.py +0 -17
- package/hooks/hooks_constants/eli11_reply_enforcer_constants.py +0 -94
- package/hooks/hooks_constants/hook_log_extractor_constants.py +0 -233
- package/hooks/hooks_constants/plain_language_blocker_constants.py +0 -366
- package/hooks/hooks_constants/test_hook_log_extractor_constants.py +0 -123
- package/rules/doc-prose-cuts.md +0 -58
- package/rules/eli11-replies.md +0 -36
- package/rules/opus5-communication-contract.md +0 -45
- package/rules/plain-language.md +0 -9
- /package/.agents/{skills → skills-archived}/anthropic-plan/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/anthropic_plan_scripts_constants/validate_packet_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/test_validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/scripts/validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/README.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/build-prompt.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/reuse-audit.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/source-map.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/templates/visual-plan.template.html +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/test_skill_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/plan-packet.contract.test.mjs +0 -0
- /package/.agents/{skills → skills-archived}/anthropic-plan/workflow/plan-packet.mjs +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/auditing-claude-config/reference/probe-hook.md +0 -0
- /package/.agents/{skills → skills-archived}/beat-sheet/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/beat-sheet/reference/visual-beats.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/CONSTRAINTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/EXAMPLES.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/PROMPTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/README.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/audit-and-teammates.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/copilot-gap-analysis.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/design-rationale.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/github-pr-reviews.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-assign-ids.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-capture-excerpts.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-walk-categories.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/audit-write-xml.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-append-summary.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-apply-fixes.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-git-add-commit.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-git-push.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-post-reply.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-publish-summary.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-py-compile.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-read-files.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-resolve-thread.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-test-suite.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-violation-count.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/obstacles/fix-write-xml.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/reference/team-setup.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/README.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_code_rules_gate.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_fix_hookspath.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_preflight.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/probe_code_rules_enforcer_check_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/reflow_skill_md_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/bugteam_scripts_constants/windows_safe_rmtree_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/probe_code_rules_enforcer_check.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_code_rules_gate.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_fix_hookspath.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_bugteam_preflight.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_probe_code_rules_enforcer_check.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/test_windows_safe_rmtree.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/scripts/windows_safe_rmtree.py +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/sources.md +0 -0
- /package/.agents/{skills → skills-archived}/bugteam/test_skill_additions.py +0 -0
- /package/.agents/{skills → skills-archived}/closeout/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/closeout/reference/handoff-prompt-template.md +0 -0
- /package/.agents/{skills → skills-archived}/closeout/reference/pii-redaction-checklist.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/cli-contract.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/reference/loop-integration.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_down_classifier.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/classifier_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/codex_usage_probe_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/findings_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_review_scripts_constants/run_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/codex_usage_probe.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/auth_failure_synthetic.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/config_load_failure_v0.125.0.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/freeform_findings_v0.144.3.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/model_rejection_v0.125.0.jsonl +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/structured_findings.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/success_stream_v0.144.3.jsonl +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/unknown_failure_synthetic.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/fixtures/usage_limit_synthetic.txt +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/parse_codex_findings.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/run_codex_review.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_codex_down_classifier.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_codex_usage_probe.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_parse_codex_findings.py +0 -0
- /package/.agents/{skills → skills-archived}/codex-review/scripts/test_run_codex_review.py +0 -0
- /package/.agents/{skills → skills-archived}/comments/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/condensing-instructions/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/reference/tier-rubric.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/conftest.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/copilot_finding_triage_constants/config/notify_ntfy_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/notify_ntfy.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/scripts/test_notify_ntfy.py +0 -0
- /package/.agents/{skills → skills-archived}/copilot-finding-triage/templates/notification.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/copilot-review/templates/subagent-prompt.md +0 -0
- /package/.agents/{skills → skills-archived}/descriptions/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/emergencies/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/grokify/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/grokify/capability-claims.test.mjs +0 -0
- /package/.agents/{skills → skills-archived}/grokify/templates/handoff-template.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/final-validation-tasks.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/model-routing.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/packet-contract.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/packet-schema.json +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/process-inventory.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/review-loop.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/run-record.schema.json +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/self-audit-tasks.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/task-seeds.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/reference/task-ticket.md +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/config/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/config/constants.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/create_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/load_skill_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_create_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_protocol.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/test_validate_run.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_packet.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_protocol.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/scripts/validate_run.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/test_skill_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/plan-to-pr/test_task_ticket_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/pr_converge_skill_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/convergence-gates.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/examples.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/fix-protocol.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/ground-rules.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-post-replies.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-publish-summary.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-push.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-read-filelines.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-reset-state.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-resolve-threads.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-spawn-clean-coder.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-stage-commit.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-trigger-bugbot.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/obstacles/fix-write-test.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/progress-checklist.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/state-schema.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/reference/stop-conditions.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/README.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/_pr_converge_path_setup.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/caller-window-pid.ps1 +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_bugbot_ci.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_availability.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_convergence_thread_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/check_pending_reviews.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/conftest.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue-caller.cmd +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue-stop-others.ps1 +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue.ahk +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/cursor-agents-continue.cmd +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/fetch_copilot_reviews.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/post_fix_reply.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/convergence_gate_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/pr_converge_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/pr_converge_scripts_constants/reflow_skill_md_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test__pr_converge_path_setup.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_bugbot_ci.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_availability.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_codex.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_fixture.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_check_convergence_thread_gates.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_cursor_agents_continue.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/scripts/test_reflow_skill_md.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/test_step5_host_branch.py +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/workflows/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-converge/workflows/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-fix-protocol/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/reference/identity-and-hooks.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-cloud-transport/reference/substitution-matrix.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-lifecycle/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/pr-loop-lifecycle/reference/teardown-publish-permissions.md +0 -0
- /package/.agents/{skills → skills-archived}/recall/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/recall/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/recall/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/release-notes-html/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/remember/.claude/CLAUDE.md +0 -0
- /package/.agents/{skills → skills-archived}/remember/AGENTS.md +0 -0
- /package/.agents/{skills → skills-archived}/remember/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/reviewer-gates/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/reviews/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/show/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/accessibility.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/art.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/charts.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/core-design.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/erds.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/flowcharts.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/host-and-html.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/illustrative-diagrams.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/interaction.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/mockups.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/quality-gates.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/structural-diagrams.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/subject-inventory.md +0 -0
- /package/.agents/{skills → skills-archived}/show/references/svg-contract.md +0 -0
- /package/.agents/{skills → skills-archived}/show/routing.yaml +0 -0
- /package/.agents/{skills → skills-archived}/show/samples/pr1262-v2.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/scripts/README.md +0 -0
- /package/.agents/{skills → skills-archived}/show/scripts/validate-artifact.py +0 -0
- /package/.agents/{skills → skills-archived}/show/scripts/validate-package.py +0 -0
- /package/.agents/{skills → skills-archived}/show/templates/html-widget.html +0 -0
- /package/.agents/{skills → skills-archived}/show/templates/svg-base.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/css-var.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/dead-ref.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/filled-glyph.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/inherited-fill.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/invalid.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/large-canvas.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/unfilled-connector.svg +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/fixtures/valid.html +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/test_validate-artifact.py +0 -0
- /package/.agents/{skills → skills-archived}/show/tests/test_validators.py +0 -0
- /package/.agents/{skills → skills-archived}/show/workflows/create-visual.md +0 -0
- /package/.agents/{skills → skills-archived}/show/workflows/review-visual.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/SKILL.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/reference/path-layers.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/reference/split-further-loop.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/reference/splitting-principles.md +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/analyze_pr.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/categorize_files.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/__init__.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/dependency_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/git_operations_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/packing_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/plan_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/config/split_pr_constants.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/execute_split_slices.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/pack_files_into_slices.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_git_operations.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_layer_order.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_paginate.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_process_runner.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_script_types.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/split_pr_title.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_analyze_pr.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_categorize_files.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_categorize_files_packing.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_execute_split_slices.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_git_operations.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_layer_order.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_paginate.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_script_types.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_split_pr_title.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan_contract.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/test_verify_plan_path_normalization.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/verify_dependency_graph.py +0 -0
- /package/.agents/{skills → skills-archived}/split-pr/scripts/verify_plan.py +0 -0
package/.agents/agents/AGENTS.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Agent definition files installed into `~/.agents/agents/` by `bin/install.mjs`. `~/.claude/agents` is a directory pointer to that folder. Each `.md` file defines a named subagent: its description (shown in the Claude Code UI), allowed tools, and behavioral instructions.
|
|
4
4
|
|
|
5
|
+
Agent definitions use `~/.claude/rules/asd-ste100-language.md` for user-facing word choice, sentence style, tone, punctuation, and prose form. Each agent keeps its role-specific return format.
|
|
6
|
+
|
|
7
|
+
When the global presentation envelope applies, ELI5 owns beginner framing,
|
|
8
|
+
large visuals, minimal text, one stable self-contained HTML artifact,
|
|
9
|
+
update-in-place continuity, and sharing.
|
|
10
|
+
|
|
5
11
|
## Agent files
|
|
6
12
|
|
|
7
13
|
| File | Agent name | Role |
|
package/.agents/skills/AGENTS.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Each skill is a self-contained folder Claude Code loads on demand. At startup, only the skill's `name` and `description` metadata load. The full `SKILL.md` body and any support files load only when a skill becomes relevant to the conversation.
|
|
4
4
|
|
|
5
|
+
Skill bodies use `~/.claude/rules/asd-ste100-language.md` for user-facing word choice, sentence style, tone, punctuation, and prose form. Each skill keeps its capability-specific output contract.
|
|
6
|
+
|
|
5
7
|
## Skill folder convention
|
|
6
8
|
|
|
7
9
|
| Item | Role |
|
|
@@ -15,6 +17,8 @@ Each skill is a self-contained folder Claude Code loads on demand. At startup, o
|
|
|
15
17
|
|
|
16
18
|
Skills install to `~/.agents/skills/<skill-name>/` via `packages/claude-dev-env/bin/install.mjs`. Claude Code looks them up at `~/.claude/skills/<skill-name>/`, a directory pointer to that folder. See `docs/references/skill-install-system.md` for the install pipeline.
|
|
17
19
|
|
|
20
|
+
Retired skills live in `../skills-archived/` — versioned in the repo, not installed, not under the `.claude/skills` pointer. See `../skills-archived/AGENTS.md` for the archive index.
|
|
21
|
+
|
|
18
22
|
## Shared support code
|
|
19
23
|
|
|
20
24
|
**`skills/_shared/`** — skill-local PR-loop helpers plus `@` stubs that name
|
|
@@ -24,49 +28,44 @@ contracts, runtime scripts). Map: `skills/_shared/.claude/CLAUDE.md`. End-of-run
|
|
|
24
28
|
## Skill groups
|
|
25
29
|
|
|
26
30
|
**Planning and implementation**
|
|
27
|
-
- `
|
|
28
|
-
- `orchestrator` —
|
|
29
|
-
- `
|
|
30
|
-
- `
|
|
31
|
-
- `grokify` — builds a paste-ready Grok Build handoff with a Claude advisor charter
|
|
32
|
-
- `grok-spawn` — orchestrator playbook for fleets of headless grok CLI workers (preflight, batch spec, `spawn_grok_batch.py`)
|
|
31
|
+
- `orchestrator` — turns the session into the orchestrator: it spawns executor subagents to do the code edits and test runs; hard decisions go to a shared advisor
|
|
32
|
+
- `orchestrator-refresh` — re-asserts orchestrator discipline on a one-shot delayed wake
|
|
33
|
+
- `team-advisor` — binds one advisor at the strongest reachable tier
|
|
34
|
+
- `grok-spawn` — orchestrator playbook for fleets of headless grok CLI workers
|
|
33
35
|
|
|
34
36
|
**PR review and convergence**
|
|
37
|
+
|
|
38
|
+
- `shared-extraction-audit` — audits workflow packages for helpers that belong in shared libraries; extracts in small tested CLs
|
|
39
|
+
- `name-by-capability-audit` — audits PR paths/titles for driver/motive words on reusable capability code
|
|
40
|
+
- `review-tier` — classifies `review_tier_constants` from change axes, hard triggers, and user overrides
|
|
41
|
+
- `review-router` — resolves and arms one supported `route_review_config` route through the registered Agent|Task gate
|
|
42
|
+
- `pr-cleanup` — one-agent end-to-end PR cleanup: extraction → naming → sr-loop → small-cl; apply and validate fixes as they return
|
|
35
43
|
- `autoconverge` — autonomous single-run workflow that drives a PR to ready
|
|
36
|
-
- `
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
39
|
-
- `copilot-finding-triage` — tiers each Copilot gate finding, verifies each code concern with an executed check, then routes it (auto-fix a confirmed defect, resolve a refuted one, page the user only for an inconclusive one)
|
|
40
|
-
- `reviewer-gates` — availability gates for external reviewers (opt-out parse, Copilot quota, Bugbot trigger/detect)
|
|
41
|
-
- `pr-fix-protocol` — applies reviewer findings as verified fixes and drives unresolved review threads to zero
|
|
42
|
-
- `pr-loop-lifecycle` — opens and closes a PR-loop run (grant, teardown, PR description, revoke, report)
|
|
43
|
-
- `pr-loop-cloud-transport` — six-step transport workflow that lets any PR-loop skill run in a session whose `gh` CLI is absent or cannot act on the PR (MCP schema load, origin/HEAD fix, identity rules, the gh-to-MCP substitution matrix, the Copilot status rule, and the post self-check)
|
|
44
|
-
|
|
45
|
-
**Code review guides (Google eng-practices, adapted for an AI reviewer)**
|
|
46
|
-
- `small-cl` — the Small CLs guide; refs: handling reviewer comments
|
|
47
|
-
- `comments` — writing review comments and handling reviewer comments; refs: the review standard, pushback, respectful code reviews
|
|
48
|
-
- `reviews` — the reviewer guide: standard, what to look for, navigating a CL, speed, pushback; refs: CL descriptions, review comments, emergencies, style guides, the two guide indexes
|
|
49
|
-
- `descriptions` — writing good CL descriptions
|
|
50
|
-
- `emergencies` — what counts as an emergency change; refs: what to look for, speed
|
|
51
|
-
- Focused pull request guidance: [`small-cl/SKILL.md`](small-cl/SKILL.md)
|
|
44
|
+
- `e-code-review` — max-recall code review at a selectable effort level
|
|
45
|
+
- `e-simplify` — cleanup-only pass on the current diff
|
|
46
|
+
- `small-cl` — the Small CLs guide for scope and split decisions
|
|
52
47
|
|
|
53
48
|
**Research and discovery**
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- `
|
|
49
|
+
- `everything-search` — file-system search via the Everything `es.exe` CLI on Windows
|
|
50
|
+
- `eli5` — owns beginner framing, large visuals, minimal text, one stable self-contained HTML artifact, update-in-place continuity, and sharing
|
|
51
|
+
|
|
52
|
+
**Source commands**
|
|
53
|
+
- `source-command-logifix` — restore the Logitech Gaming Software tray icon on Windows
|
|
54
|
+
- `source-command-sr-loop` — converging cleanup loop: simplify then code-review until clean
|
|
55
|
+
|
|
56
|
+
**Samsung certification**
|
|
57
|
+
- `cert-classification-rule` — add or change a Samsung cert-failure classification rule
|
|
59
58
|
|
|
60
59
|
**Session and workflow management**
|
|
61
60
|
- `session-log` — logs a session report to the Obsidian vault
|
|
62
61
|
- `session-tidy` — tidies the session folder
|
|
63
62
|
- `task-build` — gathers open tasks
|
|
64
|
-
- `issue-tracker` —
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
67
|
-
- `
|
|
68
|
-
- `
|
|
69
|
-
- `
|
|
70
|
-
- `usage-pause` — waits out the 5-hour usage window in ScheduleWakeup stages that keep agent contexts warm; probes the OAuth usage endpoint or takes a manual reset override
|
|
63
|
+
- `issue-tracker` — GitHub epic and sub-issue workflow
|
|
64
|
+
- `privacy-hygiene` — full-repo personal-data and secret sweep
|
|
65
|
+
- `update` — fast-forwards a local `main` branch
|
|
66
|
+
- `fresh-branch` — creates a clean branch off main in a worktree
|
|
67
|
+
- `rebase` — rebases onto main with verification gates
|
|
68
|
+
- `usage-pause` — waits out the usage window in ScheduleWakeup stages
|
|
71
69
|
- `skill-builder` — complete skill-building lifecycle
|
|
72
|
-
- `
|
|
70
|
+
- `run-claude-dev-env` — build, install, and test the claude-dev-env installer
|
|
71
|
+
- `prototype` — isolated hookless worktree sandbox for proof-of-concept builds
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
# pr-loop
|
|
2
2
|
|
|
3
|
-
Shared infrastructure for
|
|
4
|
-
|
|
5
|
-
runtime scripts
|
|
6
|
-
|
|
3
|
+
Shared infrastructure for autoconverge PR convergence: XML prompt templates,
|
|
4
|
+
portable-driver phase machine scripts under `skills/_shared/pr-loop/scripts/`,
|
|
5
|
+
and runtime convergence/Codex scripts under `~/.claude/_shared/pr-loop/scripts/`.
|
|
6
|
+
Retired entry skills (`bugteam`, `pr-converge`, and others) are archived under
|
|
7
|
+
`packages/claude-dev-env/.agents/skills-archived/` for reference only.
|
|
7
8
|
|
|
8
9
|
## Subdirectories
|
|
9
10
|
|
|
10
11
|
| Directory | Role |
|
|
11
12
|
|---|---|
|
|
12
|
-
| `prompts/` | XML agent prompt templates. |
|
|
13
|
-
| `scripts/` |
|
|
13
|
+
| `prompts/` | XML agent prompt templates for internal lenses. |
|
|
14
|
+
| `scripts/` | Portable pacer scripts: pacer selection, loop state, portable driver, prompt builders, handoff. |
|
|
14
15
|
|
|
15
16
|
## Canonical-path stubs (`~/.claude/_shared/pr-loop/`)
|
|
16
17
|
|
|
@@ -34,17 +35,23 @@ Open a stub, then load the `@` target:
|
|
|
34
35
|
| File | Role |
|
|
35
36
|
|---|---|
|
|
36
37
|
| `portable-driver.md` | Continuous in-session pacer when Workflow / ScheduleWakeup are absent. |
|
|
37
|
-
| `prompts/pr-consistency-audit.xml` |
|
|
38
|
+
| `prompts/pr-consistency-audit.xml` | Cross-file consistency audit prompt for autoconverge self-review lanes. |
|
|
38
39
|
| `scripts/select_converge_pacer.py` | Maps entry skill + host tool flags to `workflow`, `schedule_wakeup`, or `portable`. |
|
|
39
|
-
| `scripts/build_audit_prompt.py` | Assembles
|
|
40
|
-
| `scripts/build_fix_prompt.py` | Assembles
|
|
41
|
-
| `scripts/init_loop_state.py` | Initializes
|
|
42
|
-
| `scripts/write_audit_outcomes.py` | Writes
|
|
43
|
-
| `scripts/write_fix_outcomes.py` | Writes
|
|
44
|
-
| `scripts/preflight_worktree.py` | Verifies the working directory is a healthy worktree for the target PR
|
|
40
|
+
| `scripts/build_audit_prompt.py` | Assembles audit agent prompts from loop state (portable pacer). |
|
|
41
|
+
| `scripts/build_fix_prompt.py` | Assembles fix agent prompts from loop state and findings. |
|
|
42
|
+
| `scripts/init_loop_state.py` | Initializes per-PR loop state JSON for portable runs. |
|
|
43
|
+
| `scripts/write_audit_outcomes.py` | Writes per-loop audit outcome XML into the workspace. |
|
|
44
|
+
| `scripts/write_fix_outcomes.py` | Writes per-loop fix outcome XML into the workspace. |
|
|
45
|
+
| `scripts/preflight_worktree.py` | Verifies the working directory is a healthy worktree for the target PR. |
|
|
45
46
|
| `scripts/teardown_worktrees.py` | Removes loop worktrees on clean exit. |
|
|
46
|
-
| `scripts/write_handoff.py` | Writes durable resume-handoff files under `~/.claude/runtime/pr-loop/<run-name
|
|
47
|
+
| `scripts/write_handoff.py` | Writes durable resume-handoff files under `~/.claude/runtime/pr-loop/<run-name>/`. |
|
|
48
|
+
| `scripts/portable_converge_driver.py` | Portable phase machine for autoconverge when `pacer=portable`. |
|
|
49
|
+
| `scripts/build_converge_task_list.py` | Step-1 task list for portable runs. |
|
|
47
50
|
| `scripts/_path_resolver.py` | Resolves workspace and worktree paths from PR metadata. |
|
|
48
51
|
| `scripts/_cli_utils.py` | Shared CLI argument parsing helpers. |
|
|
49
52
|
| `scripts/_xml_utils.py` | XML serialization helpers. |
|
|
50
|
-
| `scripts/skills_pr_loop_constants/` | Named constants
|
|
53
|
+
| `scripts/skills_pr_loop_constants/` | Named constants for portable-driver scripts. |
|
|
54
|
+
|
|
55
|
+
Runtime convergence checks, Codex review, and shared gates live in
|
|
56
|
+
`packages/claude-dev-env/_shared/pr-loop/scripts/` (installed to
|
|
57
|
+
`~/.claude/_shared/pr-loop/scripts/`).
|
|
@@ -5,7 +5,7 @@ clean stamps, ready decisions, task lists, and “what next” never live as pro
|
|
|
5
5
|
for the agent to invent. The agent runs scripts, reads JSON, and only performs
|
|
6
6
|
judgment steps the JSON names.
|
|
7
7
|
|
|
8
|
-
## Step 1 — task list (every autoconverge
|
|
8
|
+
## Step 1 — task list (every autoconverge portable run)
|
|
9
9
|
|
|
10
10
|
```
|
|
11
11
|
python "$HOME/.claude/skills/_shared/pr-loop/scripts/build_converge_task_list.py" \
|
|
@@ -25,7 +25,7 @@ shared HEAD. Do not invent tasks in prose.
|
|
|
25
25
|
|
|
26
26
|
```
|
|
27
27
|
python "$HOME/.claude/skills/_shared/pr-loop/scripts/select_converge_pacer.py" \
|
|
28
|
-
--skill
|
|
28
|
+
--skill autoconverge \
|
|
29
29
|
--has-workflow <0|1> \
|
|
30
30
|
--has-schedule-wakeup <0|1>
|
|
31
31
|
```
|
|
@@ -46,8 +46,7 @@ ScheduleWakeup path. When `pacer=portable`, use the control script below.
|
|
|
46
46
|
3. Confirm the working directory is the PR’s own repo on the PR head SHA:
|
|
47
47
|
`python "$HOME/.claude/skills/_shared/pr-loop/scripts/preflight_worktree.py" --owner <O> --repo <R> --mode strict`.
|
|
48
48
|
Non-zero exit → report the `ABORT` line and stop.
|
|
49
|
-
4. Cross-repo routing
|
|
50
|
-
runs with cwd set to the **PR worktree**.
|
|
49
|
+
4. Cross-repo routing: every local review and edit runs with cwd set to the **PR worktree** (see autoconverge pre-flight and `preflight_worktree.py --mode strict`).
|
|
51
50
|
|
|
52
51
|
`open-run` runs the same strict preflight before seeding state.
|
|
53
52
|
|
|
@@ -65,7 +64,7 @@ ok; `1` = contract failure; `2` = usage error.
|
|
|
65
64
|
|---|---|
|
|
66
65
|
| `open-run` | Require `portable`; preflight; seed state + task list; when `--codex-down` is off, set `codex_required` from CLI force-on or the weekly usage probe (same rule as `check_convergence`); next=`run_code_review` |
|
|
67
66
|
| `after-code-review` | From returncode / dirty_tree / served_command |
|
|
68
|
-
| `after-bugteam` | From pushed / converged |
|
|
67
|
+
| `after-bugteam` | From pushed / converged (bug-audit phase on portable pacer) |
|
|
69
68
|
| `after-bugbot` | From classification / inline lag |
|
|
70
69
|
| `after-codex` | From classification clean / dirty / down |
|
|
71
70
|
| `after-copilot-wait` | From review surfaced / wait cap |
|
|
@@ -105,7 +104,7 @@ Copilot quota pre-check:
|
|
|
105
104
|
|---|---|---|
|
|
106
105
|
| `run_code_review` | Run `commands` | `after-code-review` |
|
|
107
106
|
| `apply_fixes_and_push` | Fix protocol; commit; push | re-review then `after-code-review` |
|
|
108
|
-
| `run_bugteam` |
|
|
107
|
+
| `run_bugteam` | Bug-audit lens / worker spawn body | `after-bugteam` |
|
|
109
108
|
| `run_bugbot_gate` | Bugbot helper scripts | `after-bugbot` |
|
|
110
109
|
| `run_codex_review` | Run Codex review step | `after-codex` |
|
|
111
110
|
| `request_copilot_review` | Request Copilot | `after-copilot-wait` |
|
|
@@ -140,7 +139,7 @@ sections unchanged.
|
|
|
140
139
|
| Worktree | `preflight_worktree.py` |
|
|
141
140
|
| Code review | `$HOME/.claude/scripts/invoke_code_review.py` |
|
|
142
141
|
| Workers | `$HOME/.claude/scripts/resolve_worker_spawn.py` |
|
|
143
|
-
| Ready |
|
|
142
|
+
| Ready | `$HOME/.claude/_shared/pr-loop/scripts/check_convergence.py` |
|
|
144
143
|
| Handoff | `write_handoff.py` |
|
|
145
144
|
|
|
146
145
|
## Fail closed
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# prompts
|
|
2
2
|
|
|
3
|
-
XML agent prompt templates for
|
|
3
|
+
XML agent prompt templates for autoconverge internal lenses and portable pacer audits.
|
|
4
4
|
|
|
5
5
|
## Key files
|
|
6
6
|
|
|
7
7
|
| File | Role |
|
|
8
8
|
|---|---|
|
|
9
|
-
| `pr-consistency-audit.xml` | Structured prompt
|
|
9
|
+
| `pr-consistency-audit.xml` | Structured prompt for the cross-file consistency audit. Defines the agent role, scope anchors, a ten-rule detection workflow, and output format. Autoconverge self-review and portable bug-audit lanes inject this prompt from `~/.claude/skills/_shared/pr-loop/prompts/pr-consistency-audit.xml`. |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# scripts
|
|
2
2
|
|
|
3
|
-
Python scripts
|
|
3
|
+
Python scripts for autoconverge portable pacer control and loop helpers. Runtime convergence checks, Codex review, and shared gates live in `~/.claude/_shared/pr-loop/scripts/`.
|
|
4
4
|
|
|
5
5
|
## Two script homes
|
|
6
6
|
|
|
@@ -122,8 +122,6 @@ from skills_pr_loop_constants.portable_driver_constants import ( # noqa: E402
|
|
|
122
122
|
CLI_SESSION_MODEL_FLAG,
|
|
123
123
|
CLI_STATE_DIR_FLAG,
|
|
124
124
|
CLI_STATE_FILE_FLAG,
|
|
125
|
-
CODEX_REVIEW_SCRIPTS_DIRNAME,
|
|
126
|
-
CODEX_REVIEW_SKILL_DIRNAME,
|
|
127
125
|
COMMAND_AFTER_BUGBOT,
|
|
128
126
|
COMMAND_AFTER_BUGTEAM,
|
|
129
127
|
COMMAND_AFTER_CODE_REVIEW,
|
|
@@ -140,7 +138,6 @@ from skills_pr_loop_constants.portable_driver_constants import ( # noqa: E402
|
|
|
140
138
|
EXIT_USAGE_ERROR,
|
|
141
139
|
INLINE_LAG_STREAK_CAP,
|
|
142
140
|
INVOKE_CODE_REVIEW_RELATIVE_PATH,
|
|
143
|
-
PORTABLE_SCRIPTS_TO_SKILLS_PARENT_HOPS,
|
|
144
141
|
NEXT_APPLY_FIXES,
|
|
145
142
|
NEXT_CHECK_READY,
|
|
146
143
|
NEXT_MARK_READY,
|
|
@@ -200,19 +197,31 @@ from skills_pr_loop_constants.preflight_constants import ( # noqa: E402
|
|
|
200
197
|
REPO_ARG_FLAG,
|
|
201
198
|
)
|
|
202
199
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
200
|
+
def _resolve_shared_pr_loop_scripts_directory() -> Path:
|
|
201
|
+
"""Return the installed or package ``_shared/pr-loop/scripts`` directory."""
|
|
202
|
+
scripts_directory = Path(__file__).resolve().parent
|
|
203
|
+
skill_directory = scripts_directory.parent
|
|
204
|
+
shared_skill_directory = skill_directory.parent
|
|
205
|
+
skills_directory = shared_skill_directory.parent
|
|
206
|
+
skills_home_directory = skills_directory.parent
|
|
207
|
+
package_or_user_home = (
|
|
208
|
+
skills_home_directory.parent
|
|
209
|
+
if skills_home_directory.name == ".agents"
|
|
210
|
+
else skills_home_directory
|
|
211
|
+
)
|
|
212
|
+
shared_under_package = package_or_user_home / "_shared" / "pr-loop" / "scripts"
|
|
213
|
+
shared_under_claude = (
|
|
214
|
+
package_or_user_home / ".claude" / "_shared" / "pr-loop" / "scripts"
|
|
215
|
+
)
|
|
216
|
+
if shared_under_package.is_dir():
|
|
217
|
+
return shared_under_package
|
|
218
|
+
return shared_under_claude
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
_shared_pr_loop_scripts_directory = _resolve_shared_pr_loop_scripts_directory()
|
|
222
|
+
_shared_scripts_text = str(_shared_pr_loop_scripts_directory)
|
|
223
|
+
if _shared_scripts_text not in sys.path:
|
|
224
|
+
sys.path.insert(0, _shared_scripts_text)
|
|
216
225
|
|
|
217
226
|
from codex_review_scripts_constants.codex_usage_probe_constants import ( # noqa: E402
|
|
218
227
|
USAGE_REPORT_KEY_PERCENT_LEFT,
|
package/.agents/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py
CHANGED
|
@@ -169,13 +169,9 @@ DEFAULT_SESSION_MODEL: str = "third-party"
|
|
|
169
169
|
|
|
170
170
|
INVOKE_CODE_REVIEW_RELATIVE_PATH: str = ".claude/scripts/invoke_code_review.py"
|
|
171
171
|
CHECK_CONVERGENCE_RELATIVE_PATH: str = (
|
|
172
|
-
".claude/
|
|
172
|
+
".claude/_shared/pr-loop/scripts/check_convergence.py"
|
|
173
173
|
)
|
|
174
174
|
|
|
175
|
-
CODEX_REVIEW_SKILL_DIRNAME: str = "codex-review"
|
|
176
|
-
CODEX_REVIEW_SCRIPTS_DIRNAME: str = "scripts"
|
|
177
|
-
PORTABLE_SCRIPTS_TO_SKILLS_PARENT_HOPS: int = 3
|
|
178
|
-
|
|
179
175
|
EXIT_SUCCESS: int = 0
|
|
180
176
|
EXIT_USAGE_ERROR: int = 2
|
|
181
177
|
EXIT_CONTRACT_ERROR: int = 1
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Convergence gates — printed labels
|
|
2
|
+
|
|
3
|
+
`check_convergence.py` in `packages/claude-dev-env/_shared/pr-loop/scripts/`
|
|
4
|
+
re-derives every readiness condition from GitHub and prints one numbered
|
|
5
|
+
PASS/FAIL line per gate. When Bugbot is down, the bugbot review-body gate is
|
|
6
|
+
omitted from the numbered list.
|
|
7
|
+
|
|
8
|
+
## Exact printed labels (script order)
|
|
9
|
+
|
|
10
|
+
When every gate is required and passes:
|
|
11
|
+
|
|
12
|
+
1. `bugbot_clean_at == current_head`
|
|
13
|
+
2. `bugbot review body clean` (omitted when Bugbot is down)
|
|
14
|
+
3. `bugteam_clean_at == current_head`
|
|
15
|
+
4. `copilot_clean_at == current_head`
|
|
16
|
+
5. `codex_clean_at == current_head`
|
|
17
|
+
6. `zero unresolved bot threads`
|
|
18
|
+
7. `PR is mergeable`
|
|
19
|
+
8. `no pending requested reviews`
|
|
20
|
+
|
|
21
|
+
Success ends with:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
All pre-conditions met — PR is ready to mark ready.
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Failure ends with:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
One or more pre-conditions not met — do not mark ready.
|
|
31
|
+
```
|
|
@@ -6,7 +6,7 @@ Before the first round, the workflow checks once whether the PR branch conflicts
|
|
|
6
6
|
with `origin/main`. When GitHub reports a conflict (`mergeable` false or
|
|
7
7
|
`mergeable_state` dirty), one `clean-coder` rebases the branch onto `origin/main`
|
|
8
8
|
and resolves every conflict — the edit remains in the working tree, review and
|
|
9
|
-
verification follow the [
|
|
9
|
+
verification follow the [precatch rubric](../../_shared/pr-loop/precatch-rubric.md),
|
|
10
10
|
and the commit step force-pushes with lease. The bug checks then run on a
|
|
11
11
|
conflict-free diff.
|
|
12
12
|
|
|
@@ -62,15 +62,14 @@ confirmation gates that are expected to return zero.
|
|
|
62
62
|
3. Run three reading lenses in parallel on that HEAD, each over the full
|
|
63
63
|
`origin/main...HEAD` diff. Each lens receives the preflight's changed-file
|
|
64
64
|
list and diffstat and reads only the files it needs from that list rather than
|
|
65
|
-
re-deriving the diff; each lens applies the [
|
|
65
|
+
re-deriving the diff; each lens applies the [precatch rubric](../../_shared/pr-loop/precatch-rubric.md#review-judgment).
|
|
66
66
|
- **Code-review lens** — a correctness-focused review pass (`code-quality-agent`),
|
|
67
67
|
report-only workflow agent — see runCodeReviewLens in workflow/converge.mjs for its configuration.
|
|
68
68
|
The built-in `/code-review` command is a separate surface outside this
|
|
69
69
|
workflow path. On `pacer=workflow`, this lens runs inside `converge.mjs`.
|
|
70
|
-
On `pacer=portable`, the continuous driver uses the
|
|
71
|
-
|
|
72
|
-
([`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)
|
|
73
|
-
[`../../pr-converge/reference/per-tick.md`](../../pr-converge/reference/per-tick.md)).
|
|
70
|
+
On `pacer=portable`, the continuous driver uses the CODE_REVIEW phase
|
|
71
|
+
through `invoke_code_review.py` instead of `runCodeReviewLens`
|
|
72
|
+
([`../../_shared/pr-loop/portable-driver.md`](../../_shared/pr-loop/portable-driver.md)).
|
|
74
73
|
- **Bug-audit lens** — the bug-audit (`code-quality-agent`) applying the
|
|
75
74
|
shared A–P rubric from `_shared/pr-loop/audit-contract.md`, then its
|
|
76
75
|
adversarial second pass, and the doc-parity, test-assertion, and
|
|
@@ -85,7 +84,7 @@ re-deriving the diff; each lens applies the [review guide](../../reviews/SKILL.m
|
|
|
85
84
|
text, and collects every distinct bot thread id so the fix lens resolves all
|
|
86
85
|
colliding threads.
|
|
87
86
|
5. **Any findings** → one `clean-coder` applies every fix per the
|
|
88
|
-
|
|
87
|
+
shared [fix protocol](../../_shared/pr-loop/fix-protocol.md): a single
|
|
89
88
|
test-first commit, a push, then a reply and resolve on each finding that
|
|
90
89
|
carries a GitHub review thread. Before its turn ends, the edit step dry-runs
|
|
91
90
|
the CODE_RULES commit gate (`code_rules_gate.py --staged`) over its staged
|
|
@@ -195,7 +194,7 @@ bugbot-flagged path does not satisfy the round; its clean verdict is not a clean
|
|
|
195
194
|
|
|
196
195
|
## The ready definition
|
|
197
196
|
|
|
198
|
-
`check_convergence.py` (`pr-
|
|
197
|
+
`check_convergence.py` (`packages/claude-dev-env/_shared/pr-loop/scripts/check_convergence.py`) is the single
|
|
199
198
|
source of truth for readiness. Ready means the script exits `0` and prints:
|
|
200
199
|
|
|
201
200
|
```
|
|
@@ -204,8 +203,7 @@ All pre-conditions met — PR is ready to mark ready.
|
|
|
204
203
|
|
|
205
204
|
The script re-derives every condition from GitHub and prints one PASS/FAIL line
|
|
206
205
|
per label. The exact printed labels (script order) live in
|
|
207
|
-
[`
|
|
208
|
-
§ (f) Mark ready and report — the seven-label block under "Exact printed labels".
|
|
206
|
+
[`convergence-gates.md`](convergence-gates.md).
|
|
209
207
|
|
|
210
208
|
The script has no Claude APPROVED review gate. Agent-side checks (Claude
|
|
211
209
|
reviewer presence, broader unresolved-thread sweeps) sit outside this machine
|
|
@@ -52,7 +52,7 @@ fails in a new way.
|
|
|
52
52
|
|
|
53
53
|
- **Commit or push fails after a repair.** Read the hook or command output,
|
|
54
54
|
repair the named issue, and record the rerun. Apply the
|
|
55
|
-
[
|
|
55
|
+
[precatch rubric](../../_shared/pr-loop/precatch-rubric.md) before retrying.
|
|
56
56
|
|
|
57
57
|
- **A Copilot "down" verdict is valid only after the full poll budget.** A
|
|
58
58
|
successful review request means the review is in flight — Copilot typically
|
|
@@ -59,7 +59,7 @@ skill still runs teardown (revoke permissions, final report).
|
|
|
59
59
|
|
|
60
60
|
## Not a blocker (the run continues)
|
|
61
61
|
|
|
62
|
-
Each reviewer-down condition below skips its own convergence-check gate. The flag and the matching `CLAUDE_REVIEWS_DISABLED` token for each condition are the single flag-per-condition table in [`../../reviewer-gates/SKILL.md`](../../reviewer-gates/SKILL.md)
|
|
62
|
+
Each reviewer-down condition below skips its own convergence-check gate. The flag and the matching `CLAUDE_REVIEWS_DISABLED` token for each condition are the single flag-per-condition table in [`../../skills-archived/reviewer-gates/SKILL.md`](../../skills-archived/reviewer-gates/SKILL.md) — "Convergence-check bypass flags"; the token carries the bypass into the mark-ready blocker hook's no-flag re-check.
|
|
63
63
|
|
|
64
64
|
- **Clean-audit post bypassed** — every review lens is clean on HEAD, but the
|
|
65
65
|
environment refuses the CLEAN bugteam review post (the `post_audit_thread.py`
|
|
@@ -413,7 +413,7 @@ test('CONFIG expands home for the codex-review scripts directory', () => {
|
|
|
413
413
|
);
|
|
414
414
|
assert.match(
|
|
415
415
|
convergeSource,
|
|
416
|
-
/codexScripts:\s*`\$\{homeDirectory\}\/\.claude\/
|
|
416
|
+
/codexScripts:\s*`\$\{homeDirectory\}\/\.claude\/_shared\/pr-loop\/scripts`/,
|
|
417
417
|
'expected codexScripts to expand homeDirectory rather than embed $HOME',
|
|
418
418
|
);
|
|
419
419
|
assert.doesNotMatch(
|
|
@@ -19,7 +19,7 @@ function loadReviewResultParser() {
|
|
|
19
19
|
|
|
20
20
|
test('review tasks apply the canonical review guide and return a review result', () => {
|
|
21
21
|
assert.match(workflowSource, /function runReviewTask\(task, context\)/)
|
|
22
|
-
assert.match(workflowSource, /
|
|
22
|
+
assert.match(workflowSource, /_shared\/pr-loop\/precatch-rubric\.md/)
|
|
23
23
|
assert.match(workflowSource, /REVIEW_RESULT: PASS/)
|
|
24
24
|
assert.match(workflowSource, /REVIEW_RESULT: FINDINGS/)
|
|
25
25
|
})
|
|
@@ -40,15 +40,15 @@ const CONFIG = {
|
|
|
40
40
|
codexReviewTimeoutSeconds: 2400,
|
|
41
41
|
codexReviewPollIntervalSeconds: 120,
|
|
42
42
|
codexReviewMaxPolls: 21,
|
|
43
|
-
sharedScripts: '$HOME/.claude/
|
|
43
|
+
sharedScripts: '$HOME/.claude/_shared/pr-loop/scripts',
|
|
44
44
|
prLoopScripts: '$HOME/.claude/_shared/pr-loop/scripts',
|
|
45
|
-
codexScripts: `${homeDirectory}/.claude/
|
|
45
|
+
codexScripts: `${homeDirectory}/.claude/_shared/pr-loop/scripts`,
|
|
46
46
|
bugteamRubric: '$HOME/.claude/_shared/pr-loop/audit-contract.md',
|
|
47
47
|
precatchRubric: '$HOME/.claude/_shared/pr-loop/precatch-rubric.md',
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
const REVIEWER_GATE_SENTINEL = 'CLAUDE_REVIEWER_GATE=autoconverge '
|
|
51
|
-
const REVIEW_GUIDE_REFERENCE = '
|
|
51
|
+
const REVIEW_GUIDE_REFERENCE = '_shared/pr-loop/precatch-rubric.md'
|
|
52
52
|
const REVIEW_RESULT_PASS_MARKER = 'REVIEW_RESULT: PASS'
|
|
53
53
|
const REVIEW_RESULT_FINDINGS_MARKER = 'REVIEW_RESULT: FINDINGS'
|
|
54
54
|
const REVIEW_RESULT_INSTRUCTION =
|