Skip to content

fix: correct click-to-mcp install advice to working git+ URL#43

Open
Coding-Dev-Tools wants to merge 1 commit into
mainfrom
cowork/improve-deploydiff-install-advice
Open

fix: correct click-to-mcp install advice to working git+ URL#43
Coding-Dev-Tools wants to merge 1 commit into
mainfrom
cowork/improve-deploydiff-install-advice

Conversation

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner

Summary

  • click-to-mcp is not published on PyPI — pip install click-to-mcp fails with No matching distribution found. The runtime error messages in cli.py and mcp_server.py that told users to pip install click-to-mcp were therefore wrong and left them stuck.
  • Restores the working git+https://github.com/Coding-Dev-Tools/click-to-mcp.git install form across both error paths. This was originally added in a5874e0 and accidentally reverted by aa004b0.

Changes

  • src/deploydiff/cli.py: error message install hint → pip install git+https://github.com/Coding-Dev-Tools/click-to-mcp.git
  • src/deploydiff/mcp_server.py: same fix in run_mcp() and run_for_app() error paths

Verification

  • pip index versions click-to-mcpNo matching distribution found (confirming PyPI absence).
  • Pure string change in 3 error messages; no logic touched.

Reviewed and approved via council_gate_code_edit (decision: APPROVE).

🤖 Generated with Hermes

click-to-mcp is not published on PyPI (pip install click-to-mcp -> 'No
matching distribution found'), so the runtime error messages that tell
users to 'pip install click-to-mcp' are wrong and leave them stuck.
This restores the git+ install form (previously added in a5874e0 and
accidentally reverted by aa004b0) across cli.py and mcp_server.py.

Reviewed and approved by council_gate_code_edit (APPROVE).
@github-actions

Copy link
Copy Markdown

🤖 Automated Code Review

✅ Ruff Lint — No issues

⚠️ Ruff Format — Formatting needed

Would reformat: src/deploydiff/cli.py
Would reformat: src/deploydiff/cloudformation_parser.py
Would reformat: src/deploydiff/cost_estimator.py
Would reformat: src/deploydiff/diff_renderer.py
Would reformat: src/deploydiff/pulumi_parser.py
Would reformat: src/deploydiff/rollback.py
Would reformat: src/deploydiff/terraform_parser.py
Would reformat: tests/test_deploydiff.py
Would reformat: tests/test_edge_cases.py
9 files would be reformatted, 7 files already formatted

✅ Secret Detection — Clean

✅ Large Files — Within limits

📊 Diff Stats — 2 file(s) changed

 src/deploydiff/cli.py        | 2 +-
 src/deploydiff/mcp_server.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Verdict: ⚠️ Warnings — Lint/format issues found. Recommend fixing before merge.

Automated by Coding-Dev-Tools/.github reusable workflow.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Gate Verdict — APPROVE

Risk level: low | Agreement: 1.0 | Council session: council-56e41693-84ec-4b7e-a751-5f4c88cfee2e

Per-model scores (rubric: correctness / safety / style / tests / complexity)

  • nvidia/nemotron-3-ultra-550b-a55b: APPROVE (overall ?) —
  • deepseek-v4-flash: APPROVE (overall ?) —
  • gpt-5.5: APPROVE_WITH_NITS (overall ?) —
  • nvidia/nemotron-3-super-120b-a12b: APPROVE_WITH_NITS (overall ?) —

Engraphis reference

Council verdict persisted as mem_01KXMNB2WBEKSZYYK467ZEJ96W (workspace hermes-council).

Posted automatically by the council-gate PR review cron. Auth/security PRs are reviewed at risk_level=high.

@Coding-Dev-Tools Coding-Dev-Tools added the council-approved Council gate approved this PR (APPROVE / APPROVE_WITH_NITS) label Jul 16, 2026
@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Gate Verdict — APPROVE

Risk level: low | Agreement: 1.0 | Council session: council-17188d18-9646-4986-82a8-e86f0dec36d8

Per-model scores (rubric: correctness / safety / style / tests / complexity)

  • nvidia/nemotron-3-ultra-550b-a55b: APPROVE (overall n/a) — score n/a
  • gpt-5.5: APPROVE_WITH_NITS (overall n/a) — score n/a
  • nvidia/nemotron-3-super-120b-a12b: APPROVE (overall n/a) — score n/a
  • deepseek-v4-flash: APPROVE (overall n/a) — score n/a

Engraphis reference

Council verdict persisted as mem_01KXMNCCGV8DYPA6FAFSNMTQQD (workspace hermes-council).

Posted automatically by the council-gate PR review cron. Auth/security PRs are reviewed at risk_level=high.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

🔵 Council merge gate — cleared but blocked by branch protection

The model-council merge gate returned a clean APPROVE for this PR (council session council-d51f6bf3-66b8-446c-a172-3293081322ea), and all required CI checks are green. However, the automated merge was not performed:

X Pull request is not mergeable: the base branch policy prohibits the merge.

The base branch (main) protection rules require a condition the bot cannot satisfy automatically (a real GitHub approving review — the council records approval via label/comment, not a GitHub APPROVED review). This PR is council-cleared and left open; a maintainer with a GitHub approving review (or admin merge) can complete the merge. The gate deliberately does not use --admin.

Automated by council_gate_merge (cron).

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate: APPROVE (clean), but merge blocked by branch protection.

The model-council merge gate returned a clean APPROVE (session council-9f56553f-07cc-478d-9458-aa9da25e239d) and all required CI checks are green (code-review, ensure-pr, test 3.10–3.13 all pass; mergeable=MERGEABLE). However, the bot cannot merge this PR: the base branch policy requires a real GitHub approving review, which the council does not produce (it approves via the council-approved label). The auto-merge bot will not use --admin to override branch protection.

Action required: a human maintainer must submit a GitHub approving review (or merge directly), after which this PR is ready to land. No code rework is needed — this is a policy/permission gate, not a quality issue.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate — clean APPROVE, merge blocked by branch protection (recurring known state).

The model-council merge gate returned a clean APPROVE this cycle (council session council-536a366b-2a32-48f6-8985-6ec9ea246495) and all required checks pass. However, the automated squash-merge is blocked: mergeStateStatus=BLOCKED, mergeable=MERGEABLE — the base branch policy prohibits the bot merge.

Root cause: branch protection requires a real GitHub approving review, which the council posts as a label/comment rather than a formal GitHub approval (real_github_approval: false). This is a persistent cross-run state and will keep surfacing every cycle until a human submits a genuine approving review.

Action required (human): submit a GitHub approving review on this PR, then it will merge. The bot will not use --admin. Left open.

— cron:council_gate_merge · run council-merge-gate-20260716T062133Z

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate (run 20260716T064156Z, session council-a704a505-d55e-4f46-84cf-00611a79321d): clean APPROVE, all required checks green, but merge still policy-BLOCKED (mergeable=MERGEABLE, mergeStateStatus=BLOCKED). Recurring known state — branch protection requires a real GitHub approving review, which the council does not produce. Action required: a human approving review. Left open; no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate - REWORK

The model-council merge gate returned REWORK for this PR. Per repo policy, the PR is left open for rework.

Council session: council-2ee8fb72-cd12-46b9-ac2f-46dfb65355ad

Council merge gate: REWORK. Merge allowed.

Posted automatically by the council_gate_merge cron job.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate (run 20260716T072157Z, session council-934efe96-1565-4a78-80ca-431054ce54b9): clean APPROVE this cycle, all required checks green, but still policy-BLOCKED at merge (mergeable=MERGEABLE, mergeStateStatus=BLOCKED). Recurring known state — branch protection requires a real GitHub approving review, which the council does not produce (real_github_approval=false). Action required: human approving review. Left open, no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate (run 20260716T074206Z, session council-66e0669e-92a6-4547-9702-2b41ddeb1bf0): clean APPROVE, all required checks green, but still policy-BLOCKED (mergeable:MERGEABLE, mergeStateStatus:BLOCKED, real_github_approval:false). Action required = a human approving review; branch protection forbids the bot merge. Left open, no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Pre-PR Review — deploydiff #43

Verdict: APPROVE-pending (formal APPROVE withheld — PR age <6h, single cowork-bot author per merge-embargo). Trivial, safe fix; recommend merge after embargo window.

Scope

3-line doc/error-message fix: updates the click-to-mcp not installed guidance in cli.py and mcp_server.py from pip install click-to-mcp (which 404s — not on public PyPI) to the working pip install git+https://github.com/Coding-Dev-Tools/click-to-mcp.git.

Analysis

Pure string substitution, no logic change. Correctly reflects click-to-mcp's actual install method (confirmed by click-to-mcp #38's README/PyPI-badge change). No security, bug, or quality risk.

CI

test (3.10–3.13) ✅ pass · code-review ✅ pass · ensure-pr ✅ pass · mergeable ✅ MERGEABLE

Action: None required. Eligible to merge once the <6h / <3-contributor gate clears.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate (run 20260716T082220Z, session council-a9c611b3-685d-400d-b391-ad0d7e309187): clean council APPROVE this cycle, all required checks green, but merge still policy-BLOCKED (mergeable:MERGEABLE, mergeStateStatus:BLOCKED). Action required = a human GitHub approving review (branch protection requires one; the council approves via label, so real_github_approval:false). Left OPEN, no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate - REWORK

The model-council merge gate returned REWORK for this PR. Per repo policy, the PR is left open for rework.

Council session: council-2a9904e7-07d5-4048-9866-816903456afe

Council merge gate: REWORK. Merge allowed.

Posted automatically by the council_gate_merge cron job.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council merge gate (run 20260716T090123Z, session council-90566152-3700-4b35-bb2d-880b8cfff886): clean council APPROVE this cycle, all required checks green, but the merge remains policy-BLOCKED (mergeable:MERGEABLE, mergeStateStatus:BLOCKED, real_github_approval:false). Branch protection requires a real GitHub approving review, which the council does not produce. Action required: a human approving review. Left open; no --admin used.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle (run 20260716T092128Z, session council-1ede3e26-8038-4ef2-8b3e-f8f69d3d661b). All required checks green and content is MERGEABLE, but the merge is still policy-BLOCKED (mergeStateStatus: BLOCKED): branch protection requires a real GitHub approving review, which the council issues via label/comment only (real_github_approval: false). Action required: a human approving review. Left OPEN; no --admin override applied.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle (run 20260716T094122Z, session council-e63d4996-1357-486c-9919-b03ae1a94d29). All required checks green and mergeable:MERGEABLE, but the base branch policy still blocks the bot merge (mergeStateStatus:BLOCKED, real_github_approval:false). Action required: a human approving review — the council approves via label/comment, which branch protection does not accept. Left open; no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate - REWORK

The model-council merge gate returned REWORK for this PR. Per repo policy, the PR is left open for rework.

Council session: council-13b3952b-74a5-470c-802e-76ca6b8b3861

Council merge gate: REWORK. Merge allowed.

Posted automatically by the council_gate_merge cron job.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle (run council-merge-gate-20260716T102137Z, session council-15adb566-7736-4733-902b-a68a30ff32e8). All required checks green; PR is mergeable:MERGEABLE but mergeStateStatus:BLOCKED. Branch protection requires a real GitHub approving review, which the council does not produce (real_github_approval:false). Action required: a human maintainer must submit an approving review. Left open; not merging with --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Gate Verdict — APPROVE (re-review)

Risk level: low | Agreement: 1.0 | Council session: council-59716fba-9114-46f5-b80b-d64be158b850

Re-review triggered by new commits pushed after the prior verdict.

Per-model scores (rubric: correctness / safety / style / tests / complexity)

  • nvidia/nemotron-3-ultra-550b-a55b: APPROVE (overall 4.6) -- correctness=5.0, safety=5.0, style=5.0, tests=3.0, complexity=5.0
  • deepseek-v4-flash: APPROVE (overall 4.2) -- correctness=5.0, safety=5.0, style=5.0, tests=5.0, complexity=1.0
  • gpt-5.5: APPROVE_WITH_NITS (overall 4.2) -- correctness=5.0, safety=4.0, style=4.0, tests=3.0, complexity=5.0
  • nvidia/nemotron-3-super-120b-a12b: APPROVE (overall 4.8) -- correctness=5.0, safety=5.0, style=5.0, tests=4.0, complexity=5.0

Engraphis reference

Council verdict persisted as mem_01KXN9SHAQ45V36KJP6DKQ81EQ (workspace Coding-Dev-Tools).

Posted automatically by the council-gate PR review cron. Auth/security PRs are reviewed at risk_level=high.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle (run 20260716T172628Z).

The model-council merge gate returned APPROVE (quorum satisfied, not starved). All required checks are green. However, gh pr merge --squash is blocked by branch protection: base branch policy prohibits the mergemergeStateStatus: BLOCKED (mergeable content, policy-blocked). The council never produces a real GitHub approving review, so branch rules forbid the bot merge.

Action: left OPEN, no --admin used. Human approving review required to unblock. (Recurring cross-run state — not a new failure.)

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle (run council-merge-gate-20260716T194251Z, session council-47b1be46-ba5a-409e-a595-1f763a25eeed).

Council cleared the merge, but gh pr merge --squash is still policy-blocked (base branch protection requires a real GitHub approving review; the council approves via label/comment, not a GitHub APPROVED review). -> left OPEN, no --admin. Action required: a human approving review, then re-run.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE, still policy-BLOCKED

  • Run council-merge-gate-20260716T202247Z, council session council-0c1d62dd-7f15-4023-be13-1ec4ef16a1e2
  • Model-council verdict: APPROVE (quorum satisfied, starved=False).
  • Ground-truth readiness: MERGEABLE + all required checks green (the ensure-pr scope-denial is the known false-positive, ignored).
  • gh pr merge --squashthe base branch policy prohibits the merge. Action-required: a human approving review on the base branch. Left open, no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE, still policy-BLOCKED

  • Run council-merge-gate-20260716T204404Z, council session council-142df180-4ca8-4145-8d5b-26e1a1af8167 (quorum satisfied, low risk).
  • Ground-truth: mergeable=MERGEABLE, all required checks green.
  • gh pr merge --squash returned the base branch policy prohibits the merge → left OPEN, no --admin used.
  • Action required: a human must submit a real GitHub approving review (council approves via label/comment only, so real_github_approval=false). Once a human approving review lands, this PR merges cleanly.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate -- clean APPROVE, still policy-BLOCKED

  • Run council-merge-gate-2026-07-16T210238Z, council session council-fc4f77ff-f4bf-4612-944e-d806c516e404.
  • Ground-truth: mergeable=MERGEABLE, all required checks green.
  • gh pr merge --squash returned the base branch policy prohibits the merge -> left OPEN, no --admin used.
  • Action required: a human must submit a real GitHub approving review (council approves via label/comment only, so real_github_approval=false). Once a human approving review lands, this PR merges cleanly.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE, still policy-BLOCKED

  • Run council-merge-gate-20260716T212321Z, council session council-68442132-0126-4611-aba7-e5966e6e6b3e (quorum met, verdict APPROVE).
  • Ground-truth: PR is mergeable: MERGEABLE with required checks green, but gh pr merge --squash returned base branch policy prohibits the merge. This is genuine branch protection (the council never produces a real GitHub approving review).
  • Action required: a human must submit a real approving review, then re-run the merge. Left OPEN, no --admin used.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE, still policy-BLOCKED

  • Run council-merge-gate-20260716T214202Z, session council-3d584eb0-26f5-4811-9b06-1c0228fc5e5f
  • Ground truth: mergeable=MERGEABLE, mergeStateStatus=BLOCKED, all required checks green
  • gh pr merge --squashbase branch policy prohibits the merge (no --admin used)
  • Action required: a human approving review (branch protection requires real_github_approval, which the council does not produce)
  • Left OPEN — recurring block, no admin merge

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE, still policy-BLOCKED

  • Run council-merge-gate-20260716T220232Z, council session council-c6e1ae67-448c-4d4e-ba73-225914fcaced (quorum=4, clean APPROVE).
  • Ground-truth: mergeable=MERGEABLE, all required checks green.
  • Merge attempt hit branch protection: "base branch policy prohibits the merge" — needs a human approving review.
  • Left OPEN, no --admin. Action-required: human approving review.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle, still policy-BLOCKED.
Run council-merge-gate-20260716T222425Z, session council-1a006955-8139-4267-b9ce-c1408e483f4b (quorum=4).
Ground truth: MERGEABLE + green required CI, but base-branch protection prohibits the bot merge. Action-required: a human approving review. Left open, no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

test note

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE (session council-6f1caac1-2c98-4995-ace5-ab4775cd83ac, quorum=4), still policy-BLOCKED. MERGEABLE + green CI, but base-branch protection requires a human approving review. Left open, no --admin.

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner Author

Council Merge Gate — clean APPROVE this cycle, still policy-BLOCKED.
Run council-merge-gate-20260716T230332Z, session council-ebf9bbca-6fb0-4155-99e8-a7379ee8c4fc. Quorum=4. Ground-truth: mergeable=MERGEABLE, all required non-ensure-pr checks green. Merge blocked by base-branch policy (the base branch policy prohibits the merge) — requires a human approving review, which the council does not produce. Left OPEN; no --admin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

council-approved Council gate approved this PR (APPROVE / APPROVE_WITH_NITS)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant