forgexa-cli 1.85.4__tar.gz → 1.86.0__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.
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/PKG-INFO +1 -1
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/__init__.py +1 -1
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/daemon.py +7 -4
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli.egg-info/PKG-INFO +1 -1
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/pyproject.toml +1 -1
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/README.md +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/_build_config.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/_local_bind.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/agent_core.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/autoupgrade.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/aws_evidence.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/aws_logs_evidence.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/main.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/observability_contract.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/observability_evidence.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/py.typed +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/runtime_evidence.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli/zcode_protocol.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli.egg-info/SOURCES.txt +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli.egg-info/dependency_links.txt +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli.egg-info/entry_points.txt +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli.egg-info/requires.txt +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/forgexa_cli.egg-info/top_level.txt +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/setup.cfg +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_auth_and_runtime_commands.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_autoupgrade.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_check_command.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_expiry_warnings_and_revoke.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_local_bind_commands.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_publish_script.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_runtime_credentials.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_session_credentials.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_silent_install.py +0 -0
- {forgexa_cli-1.85.4 → forgexa_cli-1.86.0}/tests/test_upgrade_observability.py +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""forgexa-cli — Forgexa command-line client."""
|
|
2
|
-
__version__ = "1.
|
|
2
|
+
__version__ = "1.86.0"
|
|
@@ -1234,7 +1234,7 @@ except (ImportError, ModuleNotFoundError):
|
|
|
1234
1234
|
# DAEMON_VERSION is the protocol/logic version of the daemon code.
|
|
1235
1235
|
# Kept in sync with pyproject.toml version via bump-version.sh.
|
|
1236
1236
|
# CLIENT_TYPE identifies which packaging/distribution this daemon runs in.
|
|
1237
|
-
DAEMON_VERSION = "1.
|
|
1237
|
+
DAEMON_VERSION = "1.86.0"
|
|
1238
1238
|
|
|
1239
1239
|
|
|
1240
1240
|
def _detect_client_type() -> str:
|
|
@@ -1663,7 +1663,7 @@ _RUNTIME_CRITIC_TIMEOUT_SECONDS = 300
|
|
|
1663
1663
|
_RUNTIME_CRITIC_DIFF_MAX_CHARS = 30_000
|
|
1664
1664
|
_RUNTIME_CRITIC_OUTPUT_MAX_CHARS = 20_000
|
|
1665
1665
|
_RUNTIME_CRITIC_SOURCE_MAX_BYTES = 1_000_000
|
|
1666
|
-
|
|
1666
|
+
_RUNTIME_CRITIC_SOURCE_MAX_FILES = 128
|
|
1667
1667
|
_RUNTIME_CRITIC_SOURCE_TIMEOUT_SECONDS = 200
|
|
1668
1668
|
_RUNTIME_CRITIC_SYSTEM_PROMPT = """You are the Critic Agent for a software delivery gate.
|
|
1669
1669
|
Review only the supplied task context, code diff and committed source snapshots. You are running in an
|
|
@@ -14077,10 +14077,14 @@ class RuntimeDaemon:
|
|
|
14077
14077
|
)
|
|
14078
14078
|
if isinstance(baseline, dict) and re.fullmatch(r"[0-9a-fA-F]{40}", after_sha):
|
|
14079
14079
|
planned = baseline.get("task") or {}
|
|
14080
|
-
source_deadline = time.monotonic() + _RUNTIME_CRITIC_SOURCE_TIMEOUT_SECONDS if planned.get("type") == "design" else None
|
|
14081
14080
|
paths = agent_core.missing_planned_task_files({
|
|
14082
14081
|
"files": planned.get("files") or [], "items": planned.get("items") or [],
|
|
14083
14082
|
}, [])
|
|
14083
|
+
source_file_limit = (
|
|
14084
|
+
_RUNTIME_CRITIC_SOURCE_MAX_FILES if planned.get("type") == "design"
|
|
14085
|
+
else min(_RUNTIME_CRITIC_SOURCE_MAX_FILES, max(20, len(set(paths + changed_files))))
|
|
14086
|
+
)
|
|
14087
|
+
source_deadline = time.monotonic() + _RUNTIME_CRITIC_SOURCE_TIMEOUT_SECONDS if source_file_limit > 20 else None
|
|
14084
14088
|
assigned_paths = list(paths)
|
|
14085
14089
|
primary_paths = list(paths)
|
|
14086
14090
|
if planned.get("type") in ("testing", "review") and getattr(task, "requirement_key", ""):
|
|
@@ -14229,7 +14233,6 @@ class RuntimeDaemon:
|
|
|
14229
14233
|
coverage["candidate_files"] = len(paths)
|
|
14230
14234
|
remaining = _RUNTIME_CRITIC_DIFF_MAX_CHARS - len(diff or "")
|
|
14231
14235
|
source_context = []
|
|
14232
|
-
source_file_limit = _RUNTIME_CRITIC_DESIGN_MAX_FILES if planned.get("type") == "design" else 20
|
|
14233
14236
|
for path in paths[:source_file_limit]:
|
|
14234
14237
|
source_timeout = 10
|
|
14235
14238
|
if source_deadline is not 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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|