hyperflash 1.1.0__tar.gz → 1.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperflash
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: Universal Engineering Reliability Runtime & Multi-Agent Verification Guardrails
5
5
  Author: Virat Ghatge
6
6
  License: MIT
@@ -74,6 +74,10 @@ HyperFlash is a **model-agnostic, harness-agnostic engineering reliability runti
74
74
 
75
75
  Whether you are using fast economy engines (**Gemini 3.8 Flash**, **Claude 3.5 Haiku**, **GPT-4o-mini**) or frontier reasoning models (**Claude 3.7 Sonnet**, **OpenAI o1/o3**, **Gemini 3 Pro / Hydrogen**, **DeepSeek-R1**), HyperFlash guarantees that code modifications are surgical, complete, type-safe, and empirically verified before completion is ever granted.
76
76
 
77
+ > [!NOTE]
78
+ > **Origins & Multi-Platform Evolution:**
79
+ > HyperFlash was originally conceived and engineered specifically with **Google Antigravity** in mind to solve the notorious `/boost` token burn, lazy code truncation (`// ... rest of code`), and premature victory hallucinations. Having achieved rock-solid reliability in Antigravity through native lifecycle hooks and permission asymmetry, we are now actively expanding HyperFlash to bring that same disciplined engineering rigor to **all major platforms**—including **OpenCode**, **Claude Code**, **Cursor**, **Windsurf**, and standalone CLI workflows.
80
+
77
81
  ---
78
82
 
79
83
  ## 🌐 Universal Model & Harness Compatibility
@@ -423,7 +427,7 @@ hyperflash init --target git
423
427
  ```yaml
424
428
  repos:
425
429
  - repo: https://github.com/Virat-Ghatge/hyperflash
426
- rev: v1.1.0
430
+ rev: v1.1.1
427
431
  hooks:
428
432
  - id: hyperflash-zero-elision
429
433
  - id: hyperflash-verify
@@ -652,6 +656,14 @@ hyperflash/
652
656
  <b>Yes.</b> HyperFlash is completely harness-agnostic. The repository includes configurations, constitutions, and CLI scripts for <b>Claude Code</b>, <b>OpenCode / OpenHands</b>, <b>Cursor</b>, <b>Windsurf</b>, standalone terminal workflows, and Git pre-commit hooks.
653
657
  </details>
654
658
 
659
+ <details>
660
+ <summary><b>Wasn't HyperFlash originally built for Google Antigravity?</b></summary>
661
+ <br/>
662
+ <b>Yes!</b> HyperFlash was originally created specifically for Google Antigravity to solve real-world autonomous coding frustrations: ungrounded mutations, code truncation, and the heavy token burn of Antigravity's default <code>/boost</code> swarm.
663
+ <br/><br/>
664
+ However, software engineering reliability is a universal challenge across all AI developer tools. We are actively bringing HyperFlash to the entire ecosystem—supporting <b>OpenCode</b>, <b>Claude Code</b>, <b>Cursor</b>, <b>Windsurf</b>, and custom agent runtimes through our universal <code>hyperflash init</code> CLI and local MCP server.
665
+ </details>
666
+
655
667
  <details>
656
668
  <summary><b>How does HyperFlash physically prevent code truncation (`// ... rest of code`)?</b></summary>
657
669
  <br/>
@@ -49,6 +49,10 @@ HyperFlash is a **model-agnostic, harness-agnostic engineering reliability runti
49
49
 
50
50
  Whether you are using fast economy engines (**Gemini 3.8 Flash**, **Claude 3.5 Haiku**, **GPT-4o-mini**) or frontier reasoning models (**Claude 3.7 Sonnet**, **OpenAI o1/o3**, **Gemini 3 Pro / Hydrogen**, **DeepSeek-R1**), HyperFlash guarantees that code modifications are surgical, complete, type-safe, and empirically verified before completion is ever granted.
51
51
 
52
+ > [!NOTE]
53
+ > **Origins & Multi-Platform Evolution:**
54
+ > HyperFlash was originally conceived and engineered specifically with **Google Antigravity** in mind to solve the notorious `/boost` token burn, lazy code truncation (`// ... rest of code`), and premature victory hallucinations. Having achieved rock-solid reliability in Antigravity through native lifecycle hooks and permission asymmetry, we are now actively expanding HyperFlash to bring that same disciplined engineering rigor to **all major platforms**—including **OpenCode**, **Claude Code**, **Cursor**, **Windsurf**, and standalone CLI workflows.
55
+
52
56
  ---
53
57
 
54
58
  ## 🌐 Universal Model & Harness Compatibility
@@ -398,7 +402,7 @@ hyperflash init --target git
398
402
  ```yaml
399
403
  repos:
400
404
  - repo: https://github.com/Virat-Ghatge/hyperflash
401
- rev: v1.1.0
405
+ rev: v1.1.1
402
406
  hooks:
403
407
  - id: hyperflash-zero-elision
404
408
  - id: hyperflash-verify
@@ -627,6 +631,14 @@ hyperflash/
627
631
  <b>Yes.</b> HyperFlash is completely harness-agnostic. The repository includes configurations, constitutions, and CLI scripts for <b>Claude Code</b>, <b>OpenCode / OpenHands</b>, <b>Cursor</b>, <b>Windsurf</b>, standalone terminal workflows, and Git pre-commit hooks.
628
632
  </details>
629
633
 
634
+ <details>
635
+ <summary><b>Wasn't HyperFlash originally built for Google Antigravity?</b></summary>
636
+ <br/>
637
+ <b>Yes!</b> HyperFlash was originally created specifically for Google Antigravity to solve real-world autonomous coding frustrations: ungrounded mutations, code truncation, and the heavy token burn of Antigravity's default <code>/boost</code> swarm.
638
+ <br/><br/>
639
+ However, software engineering reliability is a universal challenge across all AI developer tools. We are actively bringing HyperFlash to the entire ecosystem—supporting <b>OpenCode</b>, <b>Claude Code</b>, <b>Cursor</b>, <b>Windsurf</b>, and custom agent runtimes through our universal <code>hyperflash init</code> CLI and local MCP server.
640
+ </details>
641
+
630
642
  <details>
631
643
  <summary><b>How does HyperFlash physically prevent code truncation (`// ... rest of code`)?</b></summary>
632
644
  <br/>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hyperflash"
7
- version = "1.1.0"
7
+ version = "1.1.1"
8
8
  description = "Universal Engineering Reliability Runtime & Multi-Agent Verification Guardrails"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -14,7 +14,7 @@ from hyperflash.core import (
14
14
  save_contract,
15
15
  )
16
16
 
17
- __version__: str = "1.1.0"
17
+ __version__: str = "1.1.1"
18
18
 
19
19
  __all__: list[str] = [
20
20
  "__version__",
@@ -6,6 +6,7 @@ from __future__ import annotations
6
6
 
7
7
  import argparse
8
8
  import json
9
+ import os
9
10
  import shutil
10
11
  import subprocess
11
12
  import sys
@@ -177,7 +178,7 @@ def cmd_launch(args: argparse.Namespace) -> int:
177
178
  extra_args: list[str] = list(getattr(args, "extra_args", []) or [])
178
179
 
179
180
  cmd_map: dict[str, list[str]] = {
180
- "opencode": ["opencode", "--agent", "hyperflash"],
181
+ "opencode": ["opencode"],
181
182
  "antigravity": ["agy", "--agent", "hyperflash"],
182
183
  "agy": ["agy", "--agent", "hyperflash"],
183
184
  "claude": ["claude"],
@@ -190,14 +191,21 @@ def cmd_launch(args: argparse.Namespace) -> int:
190
191
  print(f"❌ Unknown harness '{harness}'. Choose from opencode, claude, cursor, windsurf, antigravity, agy.")
191
192
  return 1
192
193
 
193
- binary_name = base_cmd[0]
194
- if not shutil.which(binary_name):
194
+ binary_name: str = base_cmd[0]
195
+ resolved: str | None = shutil.which(binary_name)
196
+ if not resolved and os.name == "nt":
197
+ for ext in [".cmd", ".exe", ".bat", ".ps1"]:
198
+ resolved = shutil.which(f"{binary_name}{ext}")
199
+ if resolved:
200
+ break
201
+
202
+ if not resolved:
195
203
  print(f"❌ Harness '{harness}' not found in PATH. Please install it first.")
196
204
  return 1
197
205
 
198
- full_cmd: list[str] = base_cmd + extra_args
206
+ full_cmd: list[str] = [resolved or binary_name] + base_cmd[1:] + extra_args
199
207
  try:
200
- proc = subprocess.run(full_cmd)
208
+ proc = subprocess.run(full_cmd, shell=(os.name == "nt"))
201
209
  return proc.returncode
202
210
  except FileNotFoundError:
203
211
  print(f"❌ Harness '{harness}' not found in PATH. Please install it first.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyperflash
3
- Version: 1.1.0
3
+ Version: 1.1.1
4
4
  Summary: Universal Engineering Reliability Runtime & Multi-Agent Verification Guardrails
5
5
  Author: Virat Ghatge
6
6
  License: MIT
@@ -74,6 +74,10 @@ HyperFlash is a **model-agnostic, harness-agnostic engineering reliability runti
74
74
 
75
75
  Whether you are using fast economy engines (**Gemini 3.8 Flash**, **Claude 3.5 Haiku**, **GPT-4o-mini**) or frontier reasoning models (**Claude 3.7 Sonnet**, **OpenAI o1/o3**, **Gemini 3 Pro / Hydrogen**, **DeepSeek-R1**), HyperFlash guarantees that code modifications are surgical, complete, type-safe, and empirically verified before completion is ever granted.
76
76
 
77
+ > [!NOTE]
78
+ > **Origins & Multi-Platform Evolution:**
79
+ > HyperFlash was originally conceived and engineered specifically with **Google Antigravity** in mind to solve the notorious `/boost` token burn, lazy code truncation (`// ... rest of code`), and premature victory hallucinations. Having achieved rock-solid reliability in Antigravity through native lifecycle hooks and permission asymmetry, we are now actively expanding HyperFlash to bring that same disciplined engineering rigor to **all major platforms**—including **OpenCode**, **Claude Code**, **Cursor**, **Windsurf**, and standalone CLI workflows.
80
+
77
81
  ---
78
82
 
79
83
  ## 🌐 Universal Model & Harness Compatibility
@@ -423,7 +427,7 @@ hyperflash init --target git
423
427
  ```yaml
424
428
  repos:
425
429
  - repo: https://github.com/Virat-Ghatge/hyperflash
426
- rev: v1.1.0
430
+ rev: v1.1.1
427
431
  hooks:
428
432
  - id: hyperflash-zero-elision
429
433
  - id: hyperflash-verify
@@ -652,6 +656,14 @@ hyperflash/
652
656
  <b>Yes.</b> HyperFlash is completely harness-agnostic. The repository includes configurations, constitutions, and CLI scripts for <b>Claude Code</b>, <b>OpenCode / OpenHands</b>, <b>Cursor</b>, <b>Windsurf</b>, standalone terminal workflows, and Git pre-commit hooks.
653
657
  </details>
654
658
 
659
+ <details>
660
+ <summary><b>Wasn't HyperFlash originally built for Google Antigravity?</b></summary>
661
+ <br/>
662
+ <b>Yes!</b> HyperFlash was originally created specifically for Google Antigravity to solve real-world autonomous coding frustrations: ungrounded mutations, code truncation, and the heavy token burn of Antigravity's default <code>/boost</code> swarm.
663
+ <br/><br/>
664
+ However, software engineering reliability is a universal challenge across all AI developer tools. We are actively bringing HyperFlash to the entire ecosystem—supporting <b>OpenCode</b>, <b>Claude Code</b>, <b>Cursor</b>, <b>Windsurf</b>, and custom agent runtimes through our universal <code>hyperflash init</code> CLI and local MCP server.
665
+ </details>
666
+
655
667
  <details>
656
668
  <summary><b>How does HyperFlash physically prevent code truncation (`// ... rest of code`)?</b></summary>
657
669
  <br/>
@@ -5,6 +5,7 @@ Verifies subcommands: init, launch, verify, decide, status, check-elision, and -
5
5
  from __future__ import annotations
6
6
 
7
7
  import json
8
+ import os
8
9
  from pathlib import Path
9
10
  from unittest.mock import MagicMock, patch
10
11
 
@@ -29,7 +30,7 @@ def test_cli_version_flag(capsys: pytest.CaptureFixture[str]) -> None:
29
30
  parser.parse_args(["--version"])
30
31
  assert exc_info.value.code == 0
31
32
  captured = capsys.readouterr()
32
- assert "hyperflash 1.1.0" in captured.out
33
+ assert "hyperflash 1.1.1" in captured.out
33
34
 
34
35
 
35
36
  def test_cli_decide_updates_contract(tmp_path: Path) -> None:
@@ -189,7 +190,7 @@ def test_cli_launch_success_forwarding() -> None:
189
190
  parser = build_parser()
190
191
 
191
192
  cases: list[tuple[list[str], list[str]]] = [
192
- (["launch", "opencode", "--prompt", "fix it"], ["opencode", "--agent", "hyperflash", "--prompt", "fix it"]),
193
+ (["launch", "opencode", "--prompt", "fix it"], ["opencode", "--prompt", "fix it"]),
193
194
  (["launch", "antigravity", "--model", "gemini"], ["agy", "--agent", "hyperflash", "--model", "gemini"]),
194
195
  (["launch", "agy", "-i", "hello"], ["agy", "--agent", "hyperflash", "-i", "hello"]),
195
196
  (["launch", "claude"], ["claude"]),
@@ -199,14 +200,38 @@ def test_cli_launch_success_forwarding() -> None:
199
200
 
200
201
  for argv, expected_cmd in cases:
201
202
  args = parser.parse_args(argv)
202
- with patch("shutil.which", return_value="/bin/mock-binary"), patch("subprocess.run") as mock_run:
203
+ with patch("shutil.which", side_effect=lambda x: x), patch("subprocess.run") as mock_run:
203
204
  mock_proc = MagicMock()
204
205
  mock_proc.returncode = 0
205
206
  mock_run.return_value = mock_proc
206
207
 
207
208
  code = cmd_launch(args)
208
209
  assert code == 0
209
- mock_run.assert_called_once_with(expected_cmd)
210
+ mock_run.assert_called_once_with(expected_cmd, shell=(os.name == "nt"))
211
+
212
+
213
+ def test_cli_launch_windows_cmd_resolution() -> None:
214
+ """Verifies that cmd_launch on Windows resolves .cmd shims when bare binary is missing."""
215
+ parser = build_parser()
216
+ args = parser.parse_args(["launch", "opencode", "--prompt", "check"])
217
+
218
+ def mock_which(cmd: str) -> str | None:
219
+ if cmd == "opencode.cmd":
220
+ return r"C:\npm\opencode.cmd"
221
+ return None
222
+
223
+ with (
224
+ patch("hyperflash.cli.os.name", "nt"),
225
+ patch("shutil.which", side_effect=mock_which),
226
+ patch("subprocess.run") as mock_run,
227
+ ):
228
+ mock_proc = MagicMock()
229
+ mock_proc.returncode = 0
230
+ mock_run.return_value = mock_proc
231
+
232
+ code = cmd_launch(args)
233
+ assert code == 0
234
+ mock_run.assert_called_once_with([r"C:\npm\opencode.cmd", "--prompt", "check"], shell=True)
210
235
 
211
236
 
212
237
  def test_cli_check_elision_command(tmp_path: Path, capsys: pytest.CaptureFixture[str]) -> None:
File without changes
File without changes
File without changes