claude-dev-env 8.96.6 → 8.96.7

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.
@@ -87,6 +87,23 @@ def test_should_allow_a_run_a_tool_result_shows(
87
87
  assert run_gate(monkeypatch, capsys, MEASURED_REPLY, transcript_path) == (0, "")
88
88
 
89
89
 
90
+ def test_should_steer_a_skipped_check_to_an_open_line(
91
+ monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str]
92
+ ) -> None:
93
+ skipped_check_reply = "I have not checked the pivot, reach, or screen 26 captures yet."
94
+ _, stdout_text = run_gate(monkeypatch, capsys, skipped_check_reply)
95
+ block_reason = json.loads(stdout_text)["reason"]
96
+ assert "`Open: <check> - <next step>`" in block_reason
97
+ assert "leave the claim out" not in block_reason
98
+
99
+
100
+ def test_should_allow_an_open_line_for_a_skipped_check(
101
+ monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str]
102
+ ) -> None:
103
+ open_line = "Open: pivot, reach, and screen 26 checks - the next check-in measures them."
104
+ assert run_gate(monkeypatch, capsys, open_line) == (0, "")
105
+
106
+
90
107
  def test_should_allow_a_closing_reply_with_no_message(
91
108
  monkeypatch: pytest.MonkeyPatch, capsys: pytest.CaptureFixture[str]
92
109
  ) -> None:
@@ -1000,8 +1000,8 @@ def test_should_collect_each_question_card_prose_field() -> None:
1000
1000
  def test_should_quote_the_hedged_sentence() -> None:
1001
1001
  assert reply_length_gate.unvalidated_claim_violation("Done. It should take a few minutes.") == (
1002
1002
  'No tool validated this: "It should take a few minutes.". Run the check yourself or through'
1003
- " a subagent, then state what the run, log line, output, or file and line shows, or leave"
1004
- " the claim out."
1003
+ " a subagent, then state what the run, log line, output, or file and line shows. When you"
1004
+ " cannot run it this turn, report it as `Open: <check> - <next step>`."
1005
1005
  )
1006
1006
 
1007
1007
 
@@ -147,7 +147,8 @@ DURATION_CLAIM_PATTERN = re.compile(
147
147
  )
148
148
  UNVALIDATED_CLAIM_MESSAGE = (
149
149
  'No tool validated this: "{claim}". Run the check yourself or through a subagent,'
150
- " then state what the run, log line, output, or file and line shows, or leave the claim out."
150
+ " then state what the run, log line, output, or file and line shows. When you cannot run it"
151
+ " this turn, report it as `Open: <check> - <next step>`."
151
152
  )
152
153
  CITED_NUMBER_PATTERN = re.compile(
153
154
  r"/actions/runs/(\d+)|/pull/(\d+)|\b(?:run|job|check)\s+#?(\d{5,})\b", re.IGNORECASE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-dev-env",
3
- "version": "8.96.6",
3
+ "version": "8.96.7",
4
4
  "description": "Claude Code development standards — rules, hooks, agents, commands, and skills",
5
5
  "type": "module",
6
6
  "bin": {