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.
- {hyperflash-1.1.0/src/hyperflash.egg-info → hyperflash-1.1.1}/PKG-INFO +14 -2
- {hyperflash-1.1.0 → hyperflash-1.1.1}/README.md +13 -1
- {hyperflash-1.1.0 → hyperflash-1.1.1}/pyproject.toml +1 -1
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash/__init__.py +1 -1
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash/cli.py +13 -5
- {hyperflash-1.1.0 → hyperflash-1.1.1/src/hyperflash.egg-info}/PKG-INFO +14 -2
- {hyperflash-1.1.0 → hyperflash-1.1.1}/tests/test_cli.py +29 -4
- {hyperflash-1.1.0 → hyperflash-1.1.1}/LICENSE +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/setup.cfg +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash/core.py +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash/mcp_server.py +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash/polyglot.py +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash.egg-info/SOURCES.txt +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash.egg-info/dependency_links.txt +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash.egg-info/entry_points.txt +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash.egg-info/requires.txt +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/src/hyperflash.egg-info/top_level.txt +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/tests/test_core.py +0 -0
- {hyperflash-1.1.0 → hyperflash-1.1.1}/tests/test_mcp.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyperflash
|
|
3
|
-
Version: 1.1.
|
|
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.
|
|
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.
|
|
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/>
|
|
@@ -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"
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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", "--
|
|
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",
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|