coldpass

b-proszkowiec/tenda-4g09

GitHub ↗ · How this check works

Per-setup public labels: Linux / Luna: Didn’t work

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/b-proszkowiec--tenda-4g09.svg).

Didn’t work

The recorded operation failed on 1 setup.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxno

Linux / Luna: no · Oct 26, 2026 · c85c3342ce8c · codex / codex-cli 0.164.0
Recorded operation: <guest-path> example.py

Does what it says
0 of 1 claims checked out
  • The Quick start example collects and prints basic router status information.: Real input did not produce the expected result: Router IP:

    Source: Collecting basic information.

    Input: Run the tracked example.py, which calls router.get_status().

    Expected: Successful router status output including the router IP.

    Command: <guest-path> example.py

    Observed: ne 11, in <module> from .models import ( File "<guest-path>", line 18, in <module> from .data_limit_setting import DataLimitSetting File "<guest-path>", line 6, in <module> class DataLimitSetting: File "<guest-path>", line 19, in DataLimitSetting def from_dict(cls, data: dict[str, Any]) -> DataLimitSetting: ^^^^^^^^^^^^^^^^ NameError: name 'DataLimitSetting' is not defined

MCP
No
Local or hosted
local
Local: runs on your machine
Maintained
Maintained
actively maintained: last commit 0 days ago; 61 commits and 0 merged PRs in 90 days; 1 open issues, 1 open PRs; 0 of 2 recent threads got a maintainer reply; no releases

Last commit Oct 26, 2026

Issue
filed; fix not cold-proven
Filed upstream: issue #1 (state not recorded) · PR #2 (state not recorded)

No strict 3-fail / 3-pass cold-prove fix recorded.

Examples
0 of 1 ran as expected
  • README Quick start collects basic information and prints status.: command output contains a crash diagnostic

    Source: README.md / Quick start

    Input: Tracked example.py uses router.get_status().

    Expected: Successful router status output.

    Command: <guest-path> example.py

    Observed: ne 11, in <module> from .models import ( File "<guest-path>", line 18, in <module> from .data_limit_setting import DataLimitSetting File "<guest-path>", line 6, in <module> class DataLimitSetting: File "<guest-path>", line 19, in DataLimitSetting def from_dict(cls, data: dict[str, Any]) -> DataLimitSetting: ^^^^^^^^^^^^^^^^ NameError: name 'DataLimitSetting' is not defined

Evidence
some README behavior checked
Agent interfaces
CLI
CLI

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

Tested with
Codex / Luna
  • Linux: Codex / Luna · agent codex-cli 0.164.0 · Recorded operation failed · Oct 26, 2026 on c85c3342ce8c

Each entry describes its recorded operation and source revision.

Safety
No unexpected network or file activity found in these checks

No problems traced to this repository code in these checks; a short run cannot prove safety.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Full event, path and process lists for each observed setup:

Recorded repair observations

Retained repair evidence. This record does not qualify for a controlled cold comparison. Its declarations are historical evidence, not a current proof badge.

Historical record (JSON) · Retained patch · Direct check report

  • no controlled cold-agent comparison declared
Repair history and test corrections
Repo repair in progress · fix-07b8fb3e15512cb30b4f

A native checker did not reproduce the original repository failure on the original source.

Before: b-proszkowiec/tenda-4g09 · Oct 26, 2026 · Recorded operation failed

No verified fix is published. The failed run, actual patch and fresh passing verification must be linked before a fix claim is made.

Current diagnosis: unknown · fix verification did not pass

Import raises NameError: DataLimitSetting annotation in data_limit_setting.py:19 is evaluated inside its own class body (no from __future__ import annotations)

Repair record fix-735cc70fa5b1a1fe04d0 · current status JSON. Original run outcomes remain unchanged.

Failed run: b-proszkowiec/tenda-4g09 · Oct 18, 2026 · Unsupported in this smoke.

Fix verification: b-proszkowiec/tenda-4g09 · Oct 18, 2026 · Recorded operation failed.

Run details
Earlier attempts (1)

Luna

Native agent · Recorded operation failed

Operation / attempted scope <guest-path> example.py

Agent-reported scope: Run the tracked example.py Quick start operation after installing the pinned workspace package in a Python venv.

Run details
run
b-proszkowiec--tenda-4g09-gpt-6-luna-1793040158420485946
date
Oct 26, 2026
time to working
not recorded
product hosting / execution
Local command in the guest
recorded operation scope
Python 3.12.3 meets the README's Python 3.10+ requirement. Local installation succeeded. The example was expected to call get_status() and print router status; execution failed while importing the package, before router I/O.
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/b-proszkowiec/tenda-4g09
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "c85c3342ce8c28cc2359081363ae5e2fc8fd32be", "url": "https://github.com/b-proszkowiec/tenda-4g09"}
Test version
readme-fd7161c1448e3761aa895e9ee8685708c2139a02c21470fe9d965549f184bf01
revision
c85c3342ce8c28cc2359081363ae5e2fc8fd32be
Current diagnosis: repo · waiting on diagnosis

A native checker did not reproduce the original repository failure on the original source.

Repair record fix-07b8fb3e15512cb30b4f · current status JSON. Original run outcomes remain unchanged.

Failed run: b-proszkowiec/tenda-4g09 · Oct 26, 2026 · Recorded operation failed.

Double-checks failed run: b-proszkowiec--tenda-4g09-gpt-6-luna-1793037042736457553.

Fix: fix-07b8fb3e15512cb30b4f.

Recorded blocker / warning

Step: Importing the package from the tracked example.py

Unconditional NameError evaluating DataLimitSetting in its own return annotation at class definition time, before router I/O.

Safety: No problems traced to this repository code in these checks.

No problems traced to this repository code in these checks.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • The Quick start example collects and prints basic router status information.: Real input did not produce the expected result: Router IP:

    Source: Collecting basic information.

    Input: Run the tracked example.py, which calls router.get_status().

    Expected: Successful router status output including the router IP.

    Command: <guest-path> example.py

    Observed: ne 11, in <module> from .models import ( File "<guest-path>", line 18, in <module> from .data_limit_setting import DataLimitSetting File "<guest-path>", line 6, in <module> class DataLimitSetting: File "<guest-path>", line 19, in DataLimitSetting def from_dict(cls, data: dict[str, Any]) -> DataLimitSetting: ^^^^^^^^^^^^^^^^ NameError: name 'DataLimitSetting' is not defined

Examples

  • README Quick start collects basic information and prints status.: command output contains a crash diagnostic

    Source: README.md / Quick start

    Input: Tracked example.py uses router.get_status().

    Expected: Successful router status output.

    Command: <guest-path> example.py

    Observed: ne 11, in <module> from .models import ( File "<guest-path>", line 18, in <module> from .data_limit_setting import DataLimitSetting File "<guest-path>", line 6, in <module> class DataLimitSetting: File "<guest-path>", line 19, in DataLimitSetting def from_dict(cls, data: dict[str, Any]) -> DataLimitSetting: ^^^^^^^^^^^^^^^^ NameError: name 'DataLimitSetting' is not defined

Local or hosted: local

Suggested next step (agent-reported): Use a forward reference for the DataLimitSetting return annotation or enable postponed annotation evaluation, then rerun the unchanged example.

What the agent did

Run the tracked example.py Quick start operation after installing the pinned workspace package in a Python venv.

pwd && git status --short && sed -n '1,240p' README.md && python3 --version && rg --files -g 'example.py' -g 'pyproject.toml' -g 'requirements*.txt' -g 'setup.py' -g 'setup.cfg' -g 'Pipfile' -g 'uv.lock' -g 'AGENTS.md' -g '.github/**' | head -100
ls -la && sed -n '1,240p' README.md && python3 --version && rg --files | head -100
cat pyproject.toml && cat example.py && find . -maxdepth 3 -type f -print
python3 -m venv .venv && .venv/bin/python -m pip install .
.venv/bin/python example.py
mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{
  "kind": "cli",
  "argv": ["<guest-path>", "example.py"],
  "cwd": "<guest-path>",
  "expected_returncode": 0,
  "expected_text": "Router IP:"
}
EOF
cat > .coldpass/claims.json <<'EOF'
[
  {
    "kind": "claim",
    "claim": "The Quick start example collects and prints basic router status information.",
    "source": "Collecting basic information.",
    "input": "Run the tracked example.py, which calls router.get_status().",
    "expected": "Successful router status output including the router IP.",
    "probe_kind": "cli",
    "argv": ["<guest-path>", "example.py"],
    "expected_returncode": 0,
    "expected_text": "Router IP:",
    "cwd": "<guest-path>"
  }
]
EOF
cat > .coldpass/examples.json <<'EOF'
[
  {
    "kind": "example",
    "claim": "README Quick start collects basic information and prints status.",
    "source": "README.md / Quick start",
    "input": "Tracked example.py uses router.get_status().",
    "expected": "Successful router status output.",
    "argv": ["<guest-path>", "example.py"],
    "cwd": "<guest-path>",
    "expected_returncode": 0,
    "expected_text": "Router IP:"
  }
]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"README entry points and tracked example provide direct router operations; no product scheduler, loop, webhook, or cycle trigger is documented.","checks":[]}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/report.json <<'EOF'
{
  "outcome": "blocked",
  "fault_owner": "repo",
  "operation": "Run the tracked example.py Quick start operation after installing the pinned workspace package in a Python venv.",
  "operation_scope": "Python 3.12.3 meets the README's Python 3.10+ requirement. Local installation succeeded. The example was expected to call get_status() and print router status; execution failed while importing the package, before router I/O.",
  "steps": [
    "Read README.md and confirmed Python 3.10+ and the Quick start status operation.",
    "Created .venv and installed the workspace package with .venv/bin/python -m pip install . successfully.",
    "Ran .venv/bin/python example.py; it exited 1 before any router connection attempt.",
    "Ran <env-var>=<guest-path> python3 -I <guest-path> --validate --replay; replay reproduced the failure and reported evidence problems."
  ],
  "deviations": [
    "The documented useful operation could not produce successful router status output because importing the package raises NameError: name 'DataLimitSetting' is not defined in src/tenda_4g09/models/data_limit_setting.py at the from_dict return annotation.",
    "The independent checker reports probe replay failed because the required expected return code 0 and README-supported output Router IP: were not observed; it also reports the claim and example did not produce their expected successful result."
  ],
  "stuck_step": "Importing the package from the tracked example.py",
  "main_blocker": "Unconditional NameError evaluating DataLimitSetting in its own return annotation at class definition time, before router I/O.",
  "plain_failure": "The example crashes during package import, before it can contact a router or print status.",
  "suggested_fix": "Use a forward reference for the DataLimitSetting return annotation or enable postponed annotation evaluation, then rerun the unchanged example."
}
EOF
cat .coldpass/probe.json && cat .coldpass/report.json && git status --short 2>/dev/null || true

No product verdict. Run record.

Fix double-checks (1)

Haiku 5.5

Native agent · Recorded operation failed

Operation / attempted scope limited checks

Agent-reported scope: Tenda4G09 client login plus get_status() against the router at <internal-ip> (README Quick start)

Run details
run
b-proszkowiec--tenda-4g09-claude-haiku-5-5-1792350411756599102
date
Oct 18, 2026
time to working
not recorded
product hosting / execution
Not recorded
recorded operation scope
limited checks
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.005945
Recorded source
https://github.com/b-proszkowiec/tenda-4g09
Tool transport
mcp-assigned-vm
Test version
readme-a969ac3d79c0ef4221699450075fe820a76b3ceea745f6b45aca5838420de3d6
revision
13ae52fdcef26c1cf8644adf6971eeba4b7e97cc
Current diagnosis: unknown · fix verification did not pass

Import raises NameError: DataLimitSetting annotation in data_limit_setting.py:19 is evaluated inside its own class body (no from __future__ import annotations)

Repair record fix-735cc70fa5b1a1fe04d0 · current status JSON. Original run outcomes remain unchanged.

Failed run: b-proszkowiec/tenda-4g09 · Oct 18, 2026 · Unsupported in this smoke.

Fix verification: b-proszkowiec/tenda-4g09 · Oct 18, 2026 · Recorded operation failed.

Double-checks failed run: b-proszkowiec/tenda-4g09 · Oct 18, 2026.

Fix: fix-735cc70fa5b1a1fe04d0.

Recorded blocker / warning

Step: README '## Quick start' login/get_status step

No router admin password in the guest and no reachable router at <internal-ip> that accepts login. Authentication fails with TendaAuthenticationError.

Install / setup / connection checks
[
  {
    "status": "PASS",
    "details": {
      "working": false,
      "argv": [
        "/tmp/tenda-venv/bin/python",
        "-c",
        "import tenda_4g09; from tenda_4g09 import Tenda4G09; print('tenda_4g09 import ok', tenda_4g09.__file__)"
      ],
      "kind": "cli",
      "returncode": 0,
      "stdout": "tenda_4g09 import ok /tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/__init__.py",
      "stderr": "",
      "needs_credentials": false,
      "needs_browser": false,
      "scope": "partial: install"
    },
    "check": "install",
    "optional": false
  },
  {
    "status": "FAIL",
    "details": {
      "working": false,
      "argv": [
        "/tmp/tenda-venv/bin/python",
        "-c",
        "from tenda_4g09 import Tenda4G09\nwith Tenda4G09('<internal-ip>', password='') as router:\n    print(router.get_status())"
      ],
      "kind": "cli",
      "returncode": 1,
      "stdout": "",
      "stderr": "Traceback (most recent call last):\n  File \"<string>\", line 2, in <module>\n  File \"/tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/client.py\", line 280, in __enter__\n    self.login()\n  File \"/tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/client.py\", line 57, in login\n    self.auth.login()\n  File \"/tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/auth.py\", line 110, in login\n    raise TendaAuthenticationError(\ntenda_4g09.exceptions.TendaAuthenticationError: Authentication with target router failed.",
      "needs_credentials": false,
      "needs_browser": false,
      "blocker": "product did not produce a clear credential error: {\"returncode\": 1, \"stdout\": \"\", \"stderr\": \"Traceback (most recent call last):\\n  File \\\"<string>\\\", line 2, in <module>\\n  File \\\"/tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/client.py\\\", line 280, in __enter__\\n    self.login()\\n  File \\\"/tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/client.py\\\", line 57, in login\\n    self.auth.login()\\n  File \\\"/tmp/tenda-venv/lib/python3.12/site-packages/tenda_4g09/auth.py\\\", line 110, in login\\n    raise TendaAuthenticationError(\\ntenda_4g09.exceptions.TendaAuthenticationError: Authentication with target router failed.\\n\", \"needs_credentials\": false, \"needs_browser\": false}"
    },
    "check": "credentials_error",
    "optional": false
  }
]
Answers recorded for this run

Local or hosted: local

Suggested next step (agent-reported): Provide the Tenda 4G09 admin password (and a reachable router at <internal-ip> or the matching LAN IP) via a secure env var, then rerun get_status() from the Quick start. Also publish a fixed PyPI release, since 0.3.6 fails at import.

What the agent did

Tenda4G09 client login plus get_status() against the router at <internal-ip> (README Quick start)

README '## Installation': python3 -m venv /tmp/tenda-venv (needed apt install python3.12-venv)
pip install tenda-4g09-client from PyPI installed 0.3.6, which fails on import (NameError)
Copied pinned repo pyproject.toml/README.md/LICENSE/src to /tmp/tenda-src and pip installed it into /tmp/tenda-venv; import ok
README '## Quick start' Tenda4G09(URL, password) login attempted with empty password; authentication failed as expected without credentials
Repair work and diagnoses (1)

Luna

Native agent · Diagnosis (development) · not an initial-trial result

Operation / attempted scope .venv/bin/python -c 'from tenda_4g09 import Tenda4G09; Tenda4G09('"'"'<internal-ip>'"'"', password='<secret>'"'your-password'"'"').get_status()'

Agent-reported scope: README Quick start: retrieve router status and online clients

Run details
run
b-proszkowiec--tenda-4g09-gpt-6-luna-1793040841756648642
date
Oct 26, 2026
time to working
not recorded
product hosting / execution
Local command in the guest
recorded operation scope
Python 3.12.3 meets the documented Python 3.10+ requirement; package installation completed, but the documented client operation fails on import before router access.
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/b-proszkowiec/tenda-4g09
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "c85c3342ce8c28cc2359081363ae5e2fc8fd32be", "url": "https://github.com/b-proszkowiec/tenda-4g09"}
Test version
readme-c62692bbad22944aedae86617c51de46ed4e31bcd19fd3d25f335ca5e777731b
revision
c85c3342ce8c28cc2359081363ae5e2fc8fd32be
Current diagnosis: repo · waiting on diagnosis

A native checker did not reproduce the original repository failure on the original source.

Repair record fix-07b8fb3e15512cb30b4f · current status JSON. Original run outcomes remain unchanged.

Failed run: b-proszkowiec/tenda-4g09 · Oct 26, 2026 · Recorded operation failed.

Double-checks failed run: b-proszkowiec/tenda-4g09 · Oct 26, 2026.

Fix: fix-07b8fb3e15512cb30b4f.

Recorded blocker / warning

Step: Run useful documented router status operation

Import-time NameError: DataLimitSetting is not defined

Safety: No problems traced to this repository code in these checks.

No problems traced to this repository code in these checks.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • Retrieving router status and Wi-Fi information: Probe runs agent-written code rather than a documented product command.

    Source: - Retrieving router status and Wi-Fi information

    Input: Tenda4G09('<internal-ip>', password='<secret>').get_status()

    Expected: Router status fields

    Command: .venv/bin/python -c 'from tenda_4g09 import Tenda4G09; Tenda4G09('"'"'<internal-ip>'"'"', password='<secret>'"'your-password'"'"').get_status()'

    Observed: Probe runs agent-written code rather than a documented product command.

Examples

  • README Quick start status operation: Import fails before router access with NameError: name 'DataLimitSetting' is not defined

    Source: README.md / Quick start

    Input: Router address <internal-ip> and placeholder password

    Expected: Router IP, connected clients, work mode and device name

    Observed: Import fails before router access with NameError: name 'DataLimitSetting' is not defined

Local or hosted: local

Suggested next step (agent-reported): Fix the DataLimitSetting forward annotation in the product, then rerun the documented Quick start using its supported entry point; provide an accessible router and credentials.

What the agent did

README Quick start: retrieve router status and online clients

pwd; rg --files -g 'README*' -g 'pyproject.toml' -g 'package.json' -g 'requirements*.txt' -g 'setup.py' -g 'Makefile' -g '.github/**' | head -80; git status --short --branch; python3 --version; id -u
ls -la; find . -maxdepth 3 -type f | sort | head -100
cat README.md; cat pyproject.toml; cat example.py
cat src/tenda_4g09/client.py; cat src/tenda_4g09/__init__.py; cat .gitignore
python3 -m venv .venv && .venv/bin/python -m pip install .
mkdir -p .coldpass; .venv/bin/python -c 'from tenda_4g09 import Tenda4G09; Tenda4G09("<internal-ip>", password="<secret>").get_status()'
mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":[".venv/bin/python","-c","from tenda_4g09 import Tenda4G09; Tenda4G09('<internal-ip>', password='<secret>').get_status()"],"cwd":"<guest-path>","expected_returncode":1,"expected_text":"NameError: name 'DataLimitSetting' is not defined"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Retrieving router status and Wi-Fi information","source":"- Retrieving router status and Wi-Fi information","input":"Tenda4G09('<internal-ip>', password='<secret>').get_status()","expected":"Router status fields","probe_kind":"cli","argv":[".venv/bin/python","-c","from tenda_4g09 import Tenda4G09; Tenda4G09('<internal-ip>', password='<secret>').get_status()"],"expected_text":"NameError: name 'DataLimitSetting' is not defined","cwd":"<guest-path>","expected_returncode":1}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"README Quick start status operation","source":"README.md / Quick start","input":"Router address <internal-ip> and placeholder password","expected":"Router IP, connected clients, work mode and device name","reason":"Import fails before router access with NameError: name 'DataLimitSetting' is not defined"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"README documents direct router queries and WAN actions; no scheduler, loop, webhook, or cycle trigger appears in the documented entry points.","checks":[]}
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat README.md | tail -10; cat > .coldpass/report.json <<'EOF'
{"outcome":"blocked","fault_owner":"repo","operation":"README Quick start: retrieve router status and online clients","operation_scope":"Python 3.12.3 meets the documented Python 3.10+ requirement; package installation completed, but the documented client operation fails on import before router access.","steps":["Read README.md and confirmed Python 3.10+ and the Quick start status operation.","Created .venv and installed the workspace package with .venv/bin/python -m pip install . successfully.","Attempted the Quick start status operation against the README example address <internal-ip> with its placeholder password."],"deviations":["The operation failed during import: NameError: name 'DataLimitSetting' is not defined, in the installed package's DataLimitSetting model annotation.","Coldpass replay rejected the probe because argv contains agent-written -c code: argv is agent-written code, which is partial evidence."],"stuck_step":"Run useful documented router status operation","main_blocker":"Import-time NameError: DataLimitSetting is not defined","plain_failure":"The installed library cannot be imported because a model type is referenced before it is defined. The required Coldpass replay also rejected the probe as agent-written code.","suggested_fix":"Fix the DataLimitSetting forward annotation in the product, then rerun the documented Quick start using its supported entry point; provide an accessible router and credentials."}
EOF