nexscope-cli 0.1.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.
- nexscope_cli-0.1.0/ACCEPTANCE.md +525 -0
- nexscope_cli-0.1.0/ASSET-NOTICES.md +9 -0
- nexscope_cli-0.1.0/LICENSE +202 -0
- nexscope_cli-0.1.0/MANIFEST.in +6 -0
- nexscope_cli-0.1.0/NOTICE +20 -0
- nexscope_cli-0.1.0/PKG-INFO +257 -0
- nexscope_cli-0.1.0/README.md +217 -0
- nexscope_cli-0.1.0/THIRD-PARTY-NOTICES.md +27 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/__init__.py +4 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/api-contract.json +37 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/capabilities/__init__.py +3 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/capabilities/catalog.py +73 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/capabilities/mock.py +53 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/capabilities/plan.py +142 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/catalog.json +69 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/compat/__init__.py +4 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/compat/legacy.py +143 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/__init__.py +3 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/auth.py +81 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/datasets.py +305 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/errors.py +11 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/evidence.py +134 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/execution.py +171 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/remote.py +22 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/core/transport.py +61 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/dependencies.lock +282 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/dependency-lock.json +371 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/doctor.py +136 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/main.py +313 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/reports/__init__.py +3 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/reports/compare.py +135 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/reports/formats.py +99 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/__init__.py +3 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/fields.json +33 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/mock-products.json +9 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/products-sample.csv +5 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/products-sample.json +6 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/products-template.csv +1 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/products.schema.json +182 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/resources/report.html +15 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/runner.py +43 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-product-detail/SKILL.md +170 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-product-detail/references/api.md +239 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-product-detail/requirements.txt +1 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-product-detail/scripts/amazon_product_detail.py +26 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-search/SKILL.md +197 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-search/references/api.md +189 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-search/requirements.txt +1 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/skills/amazon-search/scripts/amazon_search.py +26 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/workflows/__init__.py +3 -0
- nexscope_cli-0.1.0/cli/nexscope_cli/workflows/compare.py +213 -0
- nexscope_cli-0.1.0/cli/nexscope_cli.egg-info/PKG-INFO +257 -0
- nexscope_cli-0.1.0/cli/nexscope_cli.egg-info/SOURCES.txt +112 -0
- nexscope_cli-0.1.0/cli/nexscope_cli.egg-info/dependency_links.txt +1 -0
- nexscope_cli-0.1.0/cli/nexscope_cli.egg-info/entry_points.txt +2 -0
- nexscope_cli-0.1.0/cli/nexscope_cli.egg-info/requires.txt +2 -0
- nexscope_cli-0.1.0/cli/nexscope_cli.egg-info/top_level.txt +1 -0
- nexscope_cli-0.1.0/docs/HANDOFF-MACOS.md +375 -0
- nexscope_cli-0.1.0/pyproject.toml +35 -0
- nexscope_cli-0.1.0/scripts/check_resources.py +49 -0
- nexscope_cli-0.1.0/scripts/installed_checks.py +206 -0
- nexscope_cli-0.1.0/scripts/test_verify_wheel.py +28 -0
- nexscope_cli-0.1.0/scripts/verify_os_keyring.py +78 -0
- nexscope_cli-0.1.0/scripts/verify_wheel.py +141 -0
- nexscope_cli-0.1.0/setup.cfg +4 -0
- nexscope_cli-0.1.0/tests/test_comparison.py +93 -0
- nexscope_cli-0.1.0/tests/test_datasets.py +129 -0
- nexscope_cli-0.1.0/tests/test_evidence.py +189 -0
- nexscope_cli-0.1.0/tests/test_execution.py +127 -0
- nexscope_cli-0.1.0/third-party-notices/backports-tarfile/LICENSE +17 -0
- nexscope_cli-0.1.0/third-party-notices/certifi/LICENSE +20 -0
- nexscope_cli-0.1.0/third-party-notices/cffi/LICENSE +23 -0
- nexscope_cli-0.1.0/third-party-notices/charset-normalizer/LICENSE +21 -0
- nexscope_cli-0.1.0/third-party-notices/cryptography/LICENSE +3 -0
- nexscope_cli-0.1.0/third-party-notices/cryptography/LICENSE.APACHE +202 -0
- nexscope_cli-0.1.0/third-party-notices/cryptography/LICENSE.BSD +27 -0
- nexscope_cli-0.1.0/third-party-notices/idna/LICENSE.md +31 -0
- nexscope_cli-0.1.0/third-party-notices/importlib-metadata/LICENSE +73 -0
- nexscope_cli-0.1.0/third-party-notices/jaraco-classes/LICENSE +17 -0
- nexscope_cli-0.1.0/third-party-notices/jaraco-context/LICENSE +18 -0
- nexscope_cli-0.1.0/third-party-notices/jaraco-functools/LICENSE +18 -0
- nexscope_cli-0.1.0/third-party-notices/jeepney/LICENSE +21 -0
- nexscope_cli-0.1.0/third-party-notices/keyring/LICENSE +18 -0
- nexscope_cli-0.1.0/third-party-notices/more-itertools/LICENSE +19 -0
- nexscope_cli-0.1.0/third-party-notices/pycparser/LICENSE +27 -0
- nexscope_cli-0.1.0/third-party-notices/pywin32-ctypes/LICENSE.txt +28 -0
- nexscope_cli-0.1.0/third-party-notices/requests/LICENSE +175 -0
- nexscope_cli-0.1.0/third-party-notices/requests/NOTICE +2 -0
- nexscope_cli-0.1.0/third-party-notices/secretstorage/LICENSE +25 -0
- nexscope_cli-0.1.0/third-party-notices/urllib3/LICENSE.txt +21 -0
- nexscope_cli-0.1.0/third-party-notices/zipp/LICENSE +18 -0
- nexscope_cli-0.1.0/uv.lock +451 -0
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
# CLI acceptance record
|
|
2
|
+
|
|
3
|
+
Date: 2026-10-26, Asia/Taipei. Current version: `0.1.0` (first independent version).
|
|
4
|
+
The acceptance source baseline is `0.1.2.dev9` at
|
|
5
|
+
`0252b0ec8a02ecdceb4deb691f3c3d0c12b8ed65`. The user selected `0.1.0` for the
|
|
6
|
+
first independent version after dev11 source verification. Historical
|
|
7
|
+
records below retain their original uncommitted/local-candidate context.
|
|
8
|
+
|
|
9
|
+
This record covers implementation in the independent CLI repository, adapted
|
|
10
|
+
from plugin commit `814f28016af6b3ff57ef12093a6bb133c4fb20b9`.
|
|
11
|
+
It does not certify the entire R2 release or any published plugin package.
|
|
12
|
+
|
|
13
|
+
## Implemented
|
|
14
|
+
|
|
15
|
+
- Prefer documented numeric `extractedPrice`, falling back to numeric `price`
|
|
16
|
+
only when the first is absent/null; preserve zero, reject invalid numbers.
|
|
17
|
+
- Preserve products with unqualified remote currency symbols. Comparable price
|
|
18
|
+
and currency remain unknown; `unresolvedCurrency`/`unresolvedPrice` and exact
|
|
19
|
+
response evidence preserve the source values. Never infer USD from `$`.
|
|
20
|
+
- `workflow compare --resume` validates a completed candidates checkpoint,
|
|
21
|
+
imports its search evidence, rebuilds registered detail requests and applies
|
|
22
|
+
the original cumulative budget. Market, source type, auth mode and origin
|
|
23
|
+
remain bound. Historical search imports do not enter session caches.
|
|
24
|
+
- Versioned datasets can generate HTML/CSV/Markdown offline while preserving
|
|
25
|
+
provenance, input hashes, errors and request accounting. Raw input receipts
|
|
26
|
+
and original dataset references have distinct meanings.
|
|
27
|
+
- Bounded manifests, duplicate-key/non-finite checks, safe relative filenames,
|
|
28
|
+
link/reparse refusal, field validation, evidence/product/request/plan/result
|
|
29
|
+
consistency, non-overwriting outputs and portable report links.
|
|
30
|
+
- Raw input limits: 10 MiB and 10,000 rows. Normalized datasets: 32 MiB;
|
|
31
|
+
complete evidence: 64 MiB. Large CSV fields respect the file limit and restore
|
|
32
|
+
the standard library's previous field limit afterward.
|
|
33
|
+
- Public standard-library regressions, resource/version checker, wheel verifier,
|
|
34
|
+
six-job CI matrix, independent repository documentation and corrected notices.
|
|
35
|
+
Current resource hashes change; historical Skill source snapshot hashes do not.
|
|
36
|
+
|
|
37
|
+
## Real-service acceptance and dev9 correction
|
|
38
|
+
|
|
39
|
+
The user authorized real paid testing and separately confirmed the browser's
|
|
40
|
+
connection action. An already logged-in **test-environment** account approved
|
|
41
|
+
the connection; CLI credentials were stored only in Windows Credential Manager.
|
|
42
|
+
The existing production environment key was not used. New persistent access was
|
|
43
|
+
confirmed before creation, and the authorized test connection remains available
|
|
44
|
+
for revocation in the test site's API Access page.
|
|
45
|
+
|
|
46
|
+
Maximum authorized data calls: **4**. Actual data calls: **4** (one search, three
|
|
47
|
+
details). CLI automatic retries: **0**. No further data request was issued after
|
|
48
|
+
the budget was exhausted. Authentication/account reads are separate from these
|
|
49
|
+
four data calls. No production database write, deployment or refund was made.
|
|
50
|
+
|
|
51
|
+
| Invocation | Actual result | Confirmed charge |
|
|
52
|
+
| --- | --- | --- |
|
|
53
|
+
| dev8 keyword search, one page, `desk lamp` | Business 13007; upstream errcode 10000, no matching results; no candidates | 0 credits, provider diagnostic |
|
|
54
|
+
| dev8 detail `B072MQ5BRX` | Server code 0 with one product, but CLI rejected `currency: "$"` as INVALID_PRODUCT | 90 credits, ledger |
|
|
55
|
+
| dev8 detail `B08N5WRWNW` | Server code 0, empty products; CLI EMPTY_DATA | 10 credits, ledger |
|
|
56
|
+
| dev9 detail `B072MQ5BRX`, one explicit verification call after the fix | COMPLETE / SUCCESS, exit 0, one product; no cache hit | 45 credits, ledger |
|
|
57
|
+
|
|
58
|
+
**Total attributed charge: 145 credits**, confirmed by three test-ledger debit
|
|
59
|
+
records and their user/route/time matches. The 10-credit empty-data debit remains
|
|
60
|
+
a real charge; no refund was requested or performed. The whole account balance
|
|
61
|
+
also changed because of concurrent activity, so its total delta was not used as
|
|
62
|
+
the attribution measure. The bounded provider-log sample includes the original
|
|
63
|
+
three attempts; the last verification is independently evidenced by its saved
|
|
64
|
+
request/response and matching ledger time/route. Complete distributed-trace
|
|
65
|
+
correlation and the registration/payment funnel are not certified here.
|
|
66
|
+
|
|
67
|
+
The live defect was reproduced with a failing regression, then fixed in the
|
|
68
|
+
shared validator and mapper. Remote currency metadata must be a string; an
|
|
69
|
+
unqualified symbol is retained as unresolved metadata, while normalized currency
|
|
70
|
+
and comparable price stay null. The saved real response revalidates offline with
|
|
71
|
+
dev9 and preserves the original source price `15.27` and symbol `$`. The original
|
|
72
|
+
dev8 FAILED record is unchanged, rather than relabeled as a successful run.
|
|
73
|
+
|
|
74
|
+
Historical pre-publication wheel: `dist/nexscope_cli-0.1.2.dev9-py3-none-any.whl`, SHA-256
|
|
75
|
+
`eaf560de2d949444b266308f9058acd679cfc622027e66f8ec616fb15f68a5e5`.
|
|
76
|
+
Installed-wheel regressions: **30 pass on Windows and 30 on Ubuntu WSL2**;
|
|
77
|
+
offline commands, loopback dual-auth, legacy adapters/runner, and dev8↔dev9
|
|
78
|
+
upgrade/rollback pass. Windows's real isolated OS-store persistence and cleanup
|
|
79
|
+
checks also pass. The live detail succeeded after these checks. Bundled adapter
|
|
80
|
+
version pins and current hashes were updated; historical source snapshots were
|
|
81
|
+
retained.
|
|
82
|
+
|
|
83
|
+
Evidence is under `dist/live-20261026-1600/` (Git ignored): immutable dev8/dev9
|
|
84
|
+
request bundles, filtered account snapshots, the four-call journal, read-only
|
|
85
|
+
ledger evidence, bounded redacted log metadata, offline revalidation, and three
|
|
86
|
+
original-failure audit report formats. `live-test-summary.json` indexes hashes
|
|
87
|
+
and results. Secrets and raw unfiltered logs are excluded. The failure reports
|
|
88
|
+
faithfully retain zero successful products from the original run; they are not
|
|
89
|
+
presented as a successful comparison.
|
|
90
|
+
|
|
91
|
+
**Disposition: partial acceptance.** Real account connection, valid live detail,
|
|
92
|
+
charge reconciliation and the currency correction pass. Successful keyword
|
|
93
|
+
selection/resume and a complete live multi-product comparison remain unaccepted
|
|
94
|
+
because the search returned no candidates and the original second detail was
|
|
95
|
+
empty. Mock/replay checks do not substitute for those missing live outcomes.
|
|
96
|
+
|
|
97
|
+
## Initial local verification (before the additional acceptance below)
|
|
98
|
+
|
|
99
|
+
- All 28 regression tests pass on Windows with Python 3.11.9 and 3.12.14.
|
|
100
|
+
- Actual wheel built with Python 3.12.14, pip 26.2.1, setuptools 84.0.0.
|
|
101
|
+
- Fresh venv outside the checkout; actual wheel installed without editable mode
|
|
102
|
+
or dependencies. Source path injection removed; imports checked against
|
|
103
|
+
`site-packages` in that environment. Wheel subpackages, resources and license
|
|
104
|
+
files inspected. No bytecode or plugin metadata included in the wheel.
|
|
105
|
+
- Network and keyring/requests imports blocked for offline checks: template,
|
|
106
|
+
samples, schema, doctor, plans, three report formats, versioned re-exports,
|
|
107
|
+
fictional three-ASIN task, keyword selection/resume and partial failure.
|
|
108
|
+
Paths contain spaces and Chinese characters.
|
|
109
|
+
- 10,000-row input and a near-10-MiB input with a larger normalized output;
|
|
110
|
+
rejection of row/byte overflow, malformed input and inconsistent evidence.
|
|
111
|
+
- Fictional loopback HTTP service exercises both auth contexts, keyword resume,
|
|
112
|
+
price-only detail responses and authenticated redirect refusal. Browser auth
|
|
113
|
+
uses an in-memory fake keyring backend. It never accesses a real OS credential
|
|
114
|
+
store, service account or billable Nexscope endpoint.
|
|
115
|
+
- Standalone installed legacy scripts preserve page/batch input, flags and env
|
|
116
|
+
behavior. The legacy browser `run` path also passes with reviewed hash-pinned
|
|
117
|
+
dependencies installed from PyPI. No arbitrary dependency is auto-installed
|
|
118
|
+
during a query.
|
|
119
|
+
- Explicit old wheel supplied to the verifier: install `dev7`, upgrade to `dev8`,
|
|
120
|
+
roll back to `dev7`, restore `dev8`; command version checks pass. User-report
|
|
121
|
+
and test environment-key sentinels survive. This does not test real OS-keyring
|
|
122
|
+
credential persistence across installer operations.
|
|
123
|
+
|
|
124
|
+
## Public source and hosted CI
|
|
125
|
+
|
|
126
|
+
The repository is public at <https://github.com/nexscope-ai/nexscope-cli> and the
|
|
127
|
+
initial implementation was pushed to `main` as commit
|
|
128
|
+
`d5ed885ef87a248f82827a8c6252760e340d7a7a`. Its
|
|
129
|
+
[installed-wheel workflow](https://github.com/nexscope-ai/nexscope-cli/actions/runs/40296830306)
|
|
130
|
+
completed successfully on Windows, Ubuntu and macOS with Python 3.11 and 3.12:
|
|
131
|
+
all six jobs passed. These are builds from an immutable Git commit. Private
|
|
132
|
+
live-test artifacts and credentials were excluded from the commit and push.
|
|
133
|
+
|
|
134
|
+
This closes the corresponding hosted installation/offline/loopback matrix,
|
|
135
|
+
including Windows Python 3.11. It does not certify a local Mac's Keychain,
|
|
136
|
+
real-account connection, real comparison workflows, Linux desktop credential
|
|
137
|
+
services, refunds or host integrations. No package release, tag or plugin upload
|
|
138
|
+
was made. See `docs/HANDOFF-MACOS.md` for the remaining Mac work.
|
|
139
|
+
|
|
140
|
+
## Additional executable acceptance, 2026-10-26
|
|
141
|
+
|
|
142
|
+
The same wheel was tested again, without changing its runtime code:
|
|
143
|
+
`nexscope_cli-0.1.2.dev8-py3-none-any.whl`, SHA-256
|
|
144
|
+
`653e86eb614ee649fddd58b10b36631dc9ce2c949af534c6b3371fc9b18b1024`.
|
|
145
|
+
|
|
146
|
+
| Acceptance item | Evidence and outcome |
|
|
147
|
+
| --- | --- |
|
|
148
|
+
| Windows external wheel installation | PASS: Python 3.12.14; 28 installed regressions, offline CLI/report/workflow cases, loopback dual-auth and legacy scripts/runner |
|
|
149
|
+
| Windows real Credential Manager | PASS: actual `keyring.backends.Windows`, unique fictional service entry, write/read and fingerprint verification; original account entries untouched |
|
|
150
|
+
| Windows credential persistence | PASS: test credential survives dev8→dev7→dev8 and package uninstall/reinstall; final deletion confirmed |
|
|
151
|
+
| Ubuntu WSL2 external installation | PASS: Python 3.12.3, glibc 2.39, Linux 6.6.87.2 WSL2; 28 installed regressions, offline cases, loopback dual-auth and legacy scripts/runner |
|
|
152
|
+
| Ubuntu WSL2 upgrade/rollback | PASS: dev7→dev8→dev7→dev8, executable version checks and user-report preservation |
|
|
153
|
+
| Linux desktop credential store prerequisite | BLOCKED: actual backend is `keyring.backends.fail`; CLI rejection confirmed (`UNAVAILABLE_FAIL_CLOSED`); no plaintext fallback |
|
|
154
|
+
| Real test API unauthenticated account request | PASS for negative authentication only: GET `/api/cli/account`, HTTP 200, business code 12003, no data returned; one request, no credentials sent |
|
|
155
|
+
| Live-data prerequisites before paid-test approval | The configured environment key belonged to production and was not used; later paid testing used a separately approved test browser connection as recorded above |
|
|
156
|
+
|
|
157
|
+
Ubuntu's system Python lacks `ensurepip`, and passwordless sudo was unavailable.
|
|
158
|
+
The verifier instead created an ordinary isolated venv and bootstrapped pip from
|
|
159
|
+
the explicit Python-bundled `pip-25.0.1-py3-none-any.whl`, SHA-256
|
|
160
|
+
`c46efd13b6aa8279f33f2864459c8ce587ea6a1a59ee20de055868d8f7688f7f`.
|
|
161
|
+
Application imports still came exclusively from the new venv's `site-packages`.
|
|
162
|
+
No system package, sudo configuration or WSL configuration was changed.
|
|
163
|
+
|
|
164
|
+
Repeat the Windows OS-store check with:
|
|
165
|
+
|
|
166
|
+
```sh
|
|
167
|
+
python scripts/verify_wheel.py dist/nexscope_cli-0.1.2.dev8-py3-none-any.whl --previous-wheel /path/to/nexscope_cli-0.1.2.dev7-py3-none-any.whl --with-dependencies --with-os-keyring
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
For WSL2, run the same verifier with its Linux Python, use mounted absolute wheel
|
|
171
|
+
paths and supply `--pip-wheel /path/to/reviewed/pip.whl` if ensurepip is missing.
|
|
172
|
+
`--with-os-keyring` requires a working real desktop credential store; the regular
|
|
173
|
+
dependency check also records availability and verifies fail-closed rejection.
|
|
174
|
+
|
|
175
|
+
Evidence files, ignored by Git and containing no credential values:
|
|
176
|
+
|
|
177
|
+
- `dist/verification-windows-os-keyring-py312.txt`
|
|
178
|
+
- `dist/verification-linux-wsl2-py312.txt`
|
|
179
|
+
- `dist/live-route-prerequisites.json`
|
|
180
|
+
- `dist/credential-prerequisites.json`
|
|
181
|
+
- `dist/acceptance-20261026.json` (artifact/test/verifier fingerprints)
|
|
182
|
+
|
|
183
|
+
That pre-live acceptance changed only verification scripts and documentation.
|
|
184
|
+
Its dev8 artifact and provenance remain unchanged. The later live correction is
|
|
185
|
+
separately versioned dev9, with its own wheel and checks recorded above.
|
|
186
|
+
|
|
187
|
+
The historical local wheel hashes and external-install transcripts are saved in
|
|
188
|
+
`dist/`, which is ignored by Git. Those tests predated source publication. Record
|
|
189
|
+
`git rev-parse HEAD` and the actual built wheel hash for each subsequent run;
|
|
190
|
+
documentation and build timestamps can change wheel bytes. A versioned release
|
|
191
|
+
still requires review and verification from an immutable source commit.
|
|
192
|
+
|
|
193
|
+
## Outstanding release gates
|
|
194
|
+
|
|
195
|
+
| Gate | Status |
|
|
196
|
+
| --- | --- |
|
|
197
|
+
| Windows fresh wheel, offline and loopback checks | Locally verified as described above |
|
|
198
|
+
| Real Windows OS keyring | Verified with isolated synthetic credentials, including upgrade/rollback/uninstall and cleanup |
|
|
199
|
+
| Real Nexscope login and valid test-account calls | PASS for an existing logged-in test account, approved CLI connection, and one successful dev9 live detail; new-user registration is not tested |
|
|
200
|
+
| Linux WSL2 install, offline, loopback and upgrade/rollback | Verified locally on Ubuntu Python 3.12.3; does not certify all Linux hosts |
|
|
201
|
+
| Linux Secret Service/KWallet | BLOCKED on this headless WSL2 host: `keyring.backends.fail`, fail-closed rejection verified; no desktop-store persistence acceptance |
|
|
202
|
+
| macOS install, OS keyring and upgrade/rollback | PASS locally for arm64/macOS 27.0, Python 3.11.15/3.12.13; real Keychain dev9↔dev10 and uninstall persistence/cleanup on Python 3.12.13, with an explicitly approved browser connection; see completion record below |
|
|
203
|
+
| Real search/detail response shapes, balance, pricing, billed/refund outcomes | PARTIAL: Mac live comparison and 2-success/1-failure case pass with 6 calls / 230-credit reconciliation; search failed, so live resume is BLOCKED. Earlier Windows 145 credits are separate. Refund/server-attribution gates remain unaccepted |
|
|
204
|
+
| Codex/Claude Code natural-language three-ASIN, keyword and partial tasks | Offline/mock tasks pass in both actual hosts. Claude dev10 and fresh configured Codex dev11 live direct/partial pass. Live search/resume and published-plugin gates remain unaccepted; see fresh-session correction below |
|
|
205
|
+
| Registration → effective call → payment/refund server attribution | Existing CLI metadata only; backend/web chain not implemented or certified here |
|
|
206
|
+
| Named pilot owners, compatibility window, support and acceptance sample | Needs product/release assignment |
|
|
207
|
+
| Source commit and CI | Verify the checked-out commit with `git rev-parse HEAD` and inspect its actual CI results; the local evidence above predates source publication |
|
|
208
|
+
| Versioned releases and downstream Skills/plugin migration | No package release, tag or plugin upload; separate acceptance and release authorization remain required |
|
|
209
|
+
| Official published plugin contents | Not inspected or modified |
|
|
210
|
+
|
|
211
|
+
Do not mark the R2 release accepted, replace existing published Skills, or
|
|
212
|
+
describe fictional fixtures as live acceptance until the relevant gates pass.
|
|
213
|
+
The three known CLI defects are addressed; these external gates remain explicit.
|
|
214
|
+
|
|
215
|
+
## Local macOS free-phase record, 2026-10-26 (Asia/Taipei)
|
|
216
|
+
|
|
217
|
+
Actual checkout: `main`, HEAD `0252b0ec8a02ecdceb4deb691f3c3d0c12b8ed65`;
|
|
218
|
+
new clone, initially clean. No pre-existing checkout or user changes were replaced.
|
|
219
|
+
Platform: **macOS 27.0 (26A428), arm64**. Executed interpreters:
|
|
220
|
+
Python **3.11.15** (uv) and **3.12.13** (mise). System Python 3.9.6 was not used
|
|
221
|
+
for the package. No x86_64, other local OS, or post-change hosted CI claim is made.
|
|
222
|
+
|
|
223
|
+
The final dev10 candidate is that HEAD **plus local uncommitted fixes and version
|
|
224
|
+
pins**, not an immutable dev10 Git commit. No commit, push, tag, release, PyPI
|
|
225
|
+
publication or downstream plugin update was performed. Wheel bytes were compared
|
|
226
|
+
against every current packaged source/resource file and matched.
|
|
227
|
+
|
|
228
|
+
| Artifact | Actual SHA-256 |
|
|
229
|
+
| --- | --- |
|
|
230
|
+
| Initial Mac dev9 wheel, `dist/nexscope_cli-0.1.2.dev9-py3-none-any.whl` | `55606905a9c5acf5c0d5c7e63c517a7525109e825922a0388dc8446ff73ea13c` |
|
|
231
|
+
| Rebuilt, verified dev9 predecessor, `dist/rebuilt/nexscope_cli-0.1.2.dev9-py3-none-any.whl` | `618c18c6c7e134eb992479242d60fa672d9ac99bfd2519b8b3529bc2d7fff02e` |
|
|
232
|
+
| Final local dev10, `dist/dev10/nexscope_cli-0.1.2.dev10-py3-none-any.whl` | `eb36658d08cf523c714444bb82ce5fc3acf16a305248fbcbd688f3c5fc25744e` |
|
|
233
|
+
|
|
234
|
+
### PASS
|
|
235
|
+
|
|
236
|
+
- `python scripts/check_resources.py`: resource integrity and paired adapter
|
|
237
|
+
pins pass. Historical `sourceSnapshot` hashes are unchanged.
|
|
238
|
+
- Actual wheels installed into fresh environments outside the checkout;
|
|
239
|
+
source-path injection removed and imports checked against `site-packages`.
|
|
240
|
+
Dev9: **30 installed regressions per interpreter**. Dev10: **31 per
|
|
241
|
+
interpreter**, offline reports, space/non-ASCII paths, failure exits, output
|
|
242
|
+
preservation and fictional loopback dual-auth checks pass.
|
|
243
|
+
- Real `keyring.backends.macOS` on Python 3.12.13: unique synthetic credential
|
|
244
|
+
write/read, dev9→dev10→dev9→dev10 persistence, uninstall/reinstall retention,
|
|
245
|
+
and deletion verification pass. Only verifier-owned synthetic entries were
|
|
246
|
+
deleted; Keychain protections were not changed. Python 3.11 rollback/version
|
|
247
|
+
and user-report retention pass; real-store persistence was exercised on 3.12.
|
|
248
|
+
- User logged into the test frontend and explicitly approved **Connect
|
|
249
|
+
Nexscope** before a persistent CLI Key was created. Installed dev10 completed
|
|
250
|
+
`auth poll`; browser and CLI account matched. Credential exists in Keychain,
|
|
251
|
+
pending credential was removed, and its value was absent from this run's
|
|
252
|
+
controlled text artifacts. This is not a whole-disk secret audit.
|
|
253
|
+
- Browser-account `account` with an unrelated environment sentinel still
|
|
254
|
+
matched the browser account. Installed-wheel negative checks show that an
|
|
255
|
+
empty browser namespace does not use an environment key, and missing env-mode
|
|
256
|
+
variables neither read Keychain nor fall back to the connected browser.
|
|
257
|
+
Both negatives exited 1 with network blocked. Loopback positive dual-auth
|
|
258
|
+
coverage remains distinct from two real-account positive modes.
|
|
259
|
+
- Actual **Codex CLI 0.163.0** and **Claude Code 2.1.308** received natural-language
|
|
260
|
+
tasks and drove the installed dev10 CLI: three-product COMPLETE (3 successes,
|
|
261
|
+
exit 0, 3 mock requests), keyword CANDIDATES_READY (1), saved `--resume`
|
|
262
|
+
COMPLETE (2 new requests, cumulative 3, exit 0), PARTIAL (2 successes + 1
|
|
263
|
+
EMPTY_DATA, exit 1, 3 requests), all three report formats and offline
|
|
264
|
+
re-export. Search evidence was byte-identical on resume, and ASIN-selected
|
|
265
|
+
mock detail fields now match their candidates. These are **offline/mock host
|
|
266
|
+
runs**, not live data or published-plugin acceptance. Both hosts also ran the
|
|
267
|
+
original dev9; its original outputs and the discovered mismatch are retained.
|
|
268
|
+
- Own-account **API Access → Call Details** provides a read-only reconciliation
|
|
269
|
+
entry with UTC time, masked key, route, actual credits, request and diagnostic
|
|
270
|
+
IDs. Only older calls appeared in the observed latest page; the new Mac key
|
|
271
|
+
had no data-call row. No CSV/key export, credential discovery or database access
|
|
272
|
+
was used. The whole account balance delta was not attributed to this task.
|
|
273
|
+
|
|
274
|
+
### FAIL, preserved and corrected
|
|
275
|
+
|
|
276
|
+
- Original `verify_wheel.py` copied the Python executable. Both local Python
|
|
277
|
+
distributions aborted with SIGABRT; direct reproduction showed dyld could not
|
|
278
|
+
find relative `libpython3.12.dylib`. A failing verifier regression was added
|
|
279
|
+
before the fix. Using the platform's normal venv symlink behavior on POSIX
|
|
280
|
+
fixed both interpreters; Windows retains copies. The external-wheel regression
|
|
281
|
+
and final installed checks pass. Original failure logs remain unchanged.
|
|
282
|
+
- Actual Claude host inspection exposed known mock ASINs receiving another
|
|
283
|
+
fixture's title/price in detail responses. The new regression failed for the
|
|
284
|
+
three candidates before the correction. Dev10 selects a matching fixture by
|
|
285
|
+
ASIN, preserving the existing deterministic fallback for arbitrary fictional
|
|
286
|
+
IDs. Both hosts re-executed against the rebuilt dev10 and confirmed matching
|
|
287
|
+
fields. Static mock keyword data remains intentionally fictional.
|
|
288
|
+
|
|
289
|
+
### BLOCKED / separate gates
|
|
290
|
+
|
|
291
|
+
- Live successful multi-product comparison, keyword/resume, real partial
|
|
292
|
+
completion and corresponding live-host tasks: **this free-phase checkpoint preceded the later 20-call authorization;
|
|
293
|
+
see the post-approval record below for actual outcomes**. Prior four-call authorization is
|
|
294
|
+
exhausted. No new live product/search request has been sent.
|
|
295
|
+
- A second real env-api-key account has not been provisioned or used. Positive
|
|
296
|
+
real env-mode account isolation is unaccepted; no browser credential was
|
|
297
|
+
exported into the environment to simulate it.
|
|
298
|
+
- Refunds, complete server-side attribution, registration/payment funnel,
|
|
299
|
+
Linux desktop keyrings, named pilot/support ownership and downstream release
|
|
300
|
+
gates remain separate. Existing Codex host startup reported a stale
|
|
301
|
+
`nexscope_test` MCP OAuth `invalid_grant`; offline CLI tasks used no MCP query
|
|
302
|
+
and no host settings were changed. Published-plugin discovery was not tested.
|
|
303
|
+
|
|
304
|
+
New **Nexscope data calls: 0; automatic data retries: 0**. Five CLI auth/account
|
|
305
|
+
HTTP requests were made: one start, one poll, one acknowledgement and two account
|
|
306
|
+
reads; browser login/approval traffic is separate. No newly attributed data
|
|
307
|
+
debit exists in this run's evidence; this is not a complete account-ledger audit.
|
|
308
|
+
The old **145 credits** remain historical and are not charged to this Mac run.
|
|
309
|
+
Claude's two host runs separately reported model list-price costs of
|
|
310
|
+
USD 0.4659312 and 0.6272848; these are not independently reconciled charges or
|
|
311
|
+
Nexscope credits. Codex supplied token usage without a monetary amount.
|
|
312
|
+
|
|
313
|
+
Commands (replace `python` with the recorded 3.11 or 3.12 interpreter):
|
|
314
|
+
|
|
315
|
+
```sh
|
|
316
|
+
python -m pip wheel --no-deps --wheel-dir dist/dev10 .
|
|
317
|
+
python scripts/check_resources.py
|
|
318
|
+
python scripts/verify_wheel.py dist/dev10/nexscope_cli-0.1.2.dev10-py3-none-any.whl --previous-wheel dist/rebuilt/nexscope_cli-0.1.2.dev9-py3-none-any.whl --with-dependencies --with-os-keyring
|
|
319
|
+
python scripts/test_verify_wheel.py dist/dev10/nexscope_cli-0.1.2.dev10-py3-none-any.whl
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Python 3.11 ran the verifier with `--previous-wheel`, without the two keyring/
|
|
323
|
+
dependency flags. Private evidence: **`dist/macos-20261026/` (Git ignored)**,
|
|
324
|
+
including original failures, build/install/verification transcripts, auth/account
|
|
325
|
+
snapshots without keys, read-only billing table, host prompts/events, copied host
|
|
326
|
+
outputs, `acceptance-summary.json` and file hashes. Offline reruns are explicitly
|
|
327
|
+
labeled and never replace original failures. The external `live-env` and host
|
|
328
|
+
working directories under `~/.local/share/nexscope-cli-acceptance/20261026/` are
|
|
329
|
+
retained for pending acceptance; no task worktrees or branches were created.
|
|
330
|
+
|
|
331
|
+
## Post-approval live acceptance on this Mac
|
|
332
|
+
|
|
333
|
+
The user explicitly expanded authorization to **20 data calls, no credit ceiling**,
|
|
334
|
+
and delegated sample selection. Fixed samples: `B072MQ5BRX`, `B07FZ8S74R`, with
|
|
335
|
+
`B08N5WRWNW` solely as the historical failure sample; one keyword,
|
|
336
|
+
**`wireless mouse`**, on `amazon.com`. All runs used the installed dev10 wheel
|
|
337
|
+
SHA-256 `eb36658d08cf523c714444bb82ce5fc3acf16a305248fbcbd688f3c5fc25744e`
|
|
338
|
+
outside the checkout, origin `https://test-claw-callback.nexscope.ai`, and the
|
|
339
|
+
approved Mac browser-account Keychain connection. Source remains the recorded
|
|
340
|
+
dev9 HEAD plus local uncommitted dev10 changes. No production call occurred.
|
|
341
|
+
|
|
342
|
+
| Gate | Status and evidence |
|
|
343
|
+
| --- | --- |
|
|
344
|
+
| Actual Claude Code direct two-product workflow | **PASS**: COMPLETE, 2/2 successes, exit 0; 2 requests, no cache hits/retries; three report formats and original responses |
|
|
345
|
+
| Single live keyword search | **FAIL, upstream**: business 13007, empty candidates, exit 1; 1 request; original failure preserved |
|
|
346
|
+
| Live keyword `--resume` | **BLOCKED**: no completed CANDIDATES_READY checkpoint; no duplicate search, altered keyword or extra selection |
|
|
347
|
+
| Actual Claude Code partial workflow | **PASS**: B072MQ5BRX and B07FZ8S74R succeed; B08N5WRWNW EMPTY_DATA; PARTIAL, 2/3 successes, exit 1, 3 requests; three formats retain errors |
|
|
348
|
+
| Live dataset offline re-export | **PASS**: direct and partial outputs re-export into HTML/CSV/Markdown, preserving source data, original request bytes/hashes, errors, accounting and relative evidence links; clearly offline revalidation |
|
|
349
|
+
| Actual Codex CLI live execution | **BLOCKED**: workspace-write host sandbox produced KeyringError before workflow artifacts; the host execution failed and was not retried. No Keychain or sandbox protections were weakened. Offline host checks remain separate PASS |
|
|
350
|
+
| Bounded read-only billing reconciliation | **PASS**: six new-key call-detail rows and new-key summary match 6 requests / 230 charged credits; separate from old key's 145 credits |
|
|
351
|
+
|
|
352
|
+
**Actual data calls: 6 / 20; unused: 14; automatic retries: 0.** Five details and
|
|
353
|
+
one search were sent. The direct result contains coffee and Echo Dot products;
|
|
354
|
+
this is functional comparison acceptance, not a claim they are competing
|
|
355
|
+
products. Both remote `$` currencies remain unresolved, prices unknown for
|
|
356
|
+
comparison, with original numeric prices retained as evidence.
|
|
357
|
+
|
|
358
|
+
| Phase, UTC 2026-10-26 | ASIN/query | Actual CLI outcome | Visible charged credits |
|
|
359
|
+
| --- | --- | --- | --- |
|
|
360
|
+
| Direct, 10:02:03 | B072MQ5BRX | SUCCESS | 45 |
|
|
361
|
+
| Direct, 10:02:04 | B07FZ8S74R | SUCCESS | 90 |
|
|
362
|
+
| Search, 10:05:00 | wireless mouse | BUSINESS_13007, no candidates | `—` in call detail; no additional numeric debit in matched key summary |
|
|
363
|
+
| Partial, 10:06:08 | B072MQ5BRX | SUCCESS | 45 |
|
|
364
|
+
| Partial, 10:06:09 | B07FZ8S74R | SUCCESS | 45 |
|
|
365
|
+
| Partial, 10:06:10 | B08N5WRWNW | EMPTY_DATA | 5 |
|
|
366
|
+
|
|
367
|
+
The five numeric detail charges total **230 credits**, matching the new key's
|
|
368
|
+
six-call summary. The empty-data debit is real and was not refunded. Do not
|
|
369
|
+
translate the search detail's dash into an independently certified zero, or use
|
|
370
|
+
response `cost` as credits. API usage labels all six admitted requests SUCCESS;
|
|
371
|
+
that label does not override the saved CLI business failure or empty result.
|
|
372
|
+
Matching uses the isolated new key, UTC intervals and routes; private billing
|
|
373
|
+
request/diagnostic IDs are retained. Detail payload trace IDs were null, and
|
|
374
|
+
the search provider trace ID is not asserted equal to the billing diagnostic ID.
|
|
375
|
+
Full distributed tracing and refund/server attribution remain separate gates.
|
|
376
|
+
|
|
377
|
+
Earlier account call-table snapshots had no new rows. A fresh page and current
|
|
378
|
+
Last 7 days query subsequently exposed all six; those initial snapshots remain
|
|
379
|
+
unaltered, and their temporary billing BLOCKED status is superseded by this
|
|
380
|
+
bounded reconciliation. The account balance also changed with concurrent work;
|
|
381
|
+
its delta was never used as this run's expense.
|
|
382
|
+
|
|
383
|
+
Installed commands were driven by natural-language prompts in actual Claude
|
|
384
|
+
Code, with the CLI pinned and no MCP data calls. Each phase saved a dry-run and
|
|
385
|
+
one execution: direct `--asins B072MQ5BRX,B07FZ8S74R --max-calls 2`; search
|
|
386
|
+
`--keyword "wireless mouse" --max-calls 3`; partial
|
|
387
|
+
`--asins B072MQ5BRX,B07FZ8S74R,B08N5WRWNW --max-calls 3`. Executions used
|
|
388
|
+
`--market amazon.com --auth-mode browser-account --execute --allow-paid --format all`.
|
|
389
|
+
Exact commands, UTC times and exits are in the private transcripts.
|
|
390
|
+
|
|
391
|
+
Private evidence: `dist/macos-20261026/live/`, including original host failure,
|
|
392
|
+
live bundles, offline re-exports, call-table/key-summary text, `live-summary.json`
|
|
393
|
+
and hashes. External `live-codex/` and `live-claude/` directories under the
|
|
394
|
+
recorded acceptance root are retained for pending gates. The persistent approved
|
|
395
|
+
test connection remains in Keychain and can be revoked in API Access. No key
|
|
396
|
+
value was exported into the environment or a file, no Windows credentials were
|
|
397
|
+
copied, and no refund/database write/deployment/publication was performed.
|
|
398
|
+
|
|
399
|
+
**Disposition remains partial acceptance.** Do not spend the remaining allowance
|
|
400
|
+
on automatic retries, new keywords or extra ASINs. Successful live search/resume,
|
|
401
|
+
supported Codex live credential access, positive real env-mode isolation, refund/
|
|
402
|
+
full server attribution and downstream release gates remain unaccepted.
|
|
403
|
+
|
|
404
|
+
### Final local dev11 correction and offline verification
|
|
405
|
+
|
|
406
|
+
Claude's partial-case offline re-export found another preflight defect:
|
|
407
|
+
`report compare --dry-run` returned PLAN_READY for a missing output parent,
|
|
408
|
+
while export failed. The existing output-preservation regression was extended
|
|
409
|
+
and failed before the fix. Dev11 checks the parent directory and output/evidence
|
|
410
|
+
collisions before either dry-run or export, without creating directories or
|
|
411
|
+
overwriting files. Repeated export after explicitly creating a parent is labeled
|
|
412
|
+
an **offline rerun**, never a new live call. Original host/export failures remain.
|
|
413
|
+
|
|
414
|
+
Final wheel: **`dist/dev11/nexscope_cli-0.1.2.dev11-py3-none-any.whl`**, SHA-256
|
|
415
|
+
**`5c94b388da7f691841aef346195806887fae9f1a6148f62aed130f6c1f2afa5c`**.
|
|
416
|
+
Its packaged bytes match the current local source/resources. Source HEAD is
|
|
417
|
+
unchanged; this remains an uncommitted local candidate. Version pins and current
|
|
418
|
+
adapter hashes match dev11; historical snapshots are unchanged.
|
|
419
|
+
|
|
420
|
+
**PASS**: source 31 regressions; actual dev11 installed wheel 31 regressions on
|
|
421
|
+
each Python 3.11.15/3.12.13; offline/loopback cases and resource checks; 3.12
|
|
422
|
+
hash-pinned dependency/legacy checks plus real macOS Keychain dev10↔dev11
|
|
423
|
+
write/read/rollback/uninstall retention/cleanup; 3.11 version/report rollback.
|
|
424
|
+
The separate external-environment verifier regression also passes. Commands:
|
|
425
|
+
|
|
426
|
+
```sh
|
|
427
|
+
python scripts/check_resources.py
|
|
428
|
+
python scripts/verify_wheel.py dist/dev11/nexscope_cli-0.1.2.dev11-py3-none-any.whl --previous-wheel dist/dev10/nexscope_cli-0.1.2.dev10-py3-none-any.whl --with-dependencies --with-os-keyring
|
|
429
|
+
python scripts/test_verify_wheel.py dist/dev11/nexscope_cli-0.1.2.dev11-py3-none-any.whl
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
The 3.11 verifier again omitted dependency/OS-keyring flags. Installed dev11
|
|
433
|
+
re-exported both original live dev10 datasets into all three formats offline,
|
|
434
|
+
preserving products/errors/accounting and every original request byte. Missing
|
|
435
|
+
parent dry-runs now exit 1 without creating outputs. **No dev11 live request was
|
|
436
|
+
sent**; live host outcomes above belong to the exact dev10 wheel, not dev11.
|
|
437
|
+
`live/dev11-offline-revalidation.json` records this distinction.
|
|
438
|
+
|
|
439
|
+
Additional Claude live-stage model usage reported USD 0.7058736 (direct),
|
|
440
|
+
0.2560884 (keyword) and 0.695398 (partial). These provider-reported list-price
|
|
441
|
+
figures are not independently reconciled payments and are separate from the
|
|
442
|
+
230 Nexscope credits. All raw live/host/export failures, final transcripts,
|
|
443
|
+
source diff and SHA-256 index remain in the ignored evidence directory.
|
|
444
|
+
|
|
445
|
+
## Fresh Codex session retest and permission-profile correction
|
|
446
|
+
|
|
447
|
+
The user requested a new session after suspecting a changed conversation key,
|
|
448
|
+
then explicitly narrowed further work to **Codex only**. No old Codex session
|
|
449
|
+
was resumed. The original `KeyringError` records remain unchanged.
|
|
450
|
+
|
|
451
|
+
**PASS / test-setup correction:** earlier child Codex runs had been launched
|
|
452
|
+
with an extra `--sandbox workspace-write` override. The user's existing local
|
|
453
|
+
configuration was already `sandbox_mode = "danger-full-access"`. A local
|
|
454
|
+
diagnostic reproduced `keyring.backends.macOS` → `KeyringError` → native
|
|
455
|
+
`Error(-50)` under the extra sandbox; Codex's denial capture reported blocked
|
|
456
|
+
`mach-lookup com.apple.securityd.xpc` and `com.apple.SecurityServer`. The same
|
|
457
|
+
credential read succeeded in the current host. This identifies an added test
|
|
458
|
+
restriction rather than an expired Nexscope connection. An initial diagnostic
|
|
459
|
+
script mistakenly called `client.store.load` and raised AttributeError; that
|
|
460
|
+
diagnostic failure was retained, corrected to `client.load`, and is not treated
|
|
461
|
+
as a CLI defect.
|
|
462
|
+
|
|
463
|
+
A fresh `codex exec --ephemeral --skip-git-repo-check --json` run, **without a
|
|
464
|
+
sandbox override**, inherited the user's existing permissions. No global config,
|
|
465
|
+
Keychain protection or OS security setting was changed; no new key was created,
|
|
466
|
+
and no credential was exported. Installed CLI was dev11, with the same recorded
|
|
467
|
+
wheel hash and unchanged local source HEAD.
|
|
468
|
+
|
|
469
|
+
| Fresh configured Codex gate | Outcome |
|
|
470
|
+
| --- | --- |
|
|
471
|
+
| Normal `account` | **PASS**, existing approved Mac account connected |
|
|
472
|
+
| Direct B072MQ5BRX/B07FZ8S74R | **PASS**, COMPLETE, 2 successes, exit 0, 2 requests |
|
|
473
|
+
| Single `wireless mouse` search | **FAIL**, BUSINESS_13007, exit 1, 1 request, no candidates |
|
|
474
|
+
| Real keyword `--resume` | **BLOCKED**, no completed candidates; not a Codex conversation-resume operation |
|
|
475
|
+
| Fixed three-ASIN partial case | **PASS**, 2 successes + B08N5WRWNW EMPTY_DATA, PARTIAL, exit 1, 3 requests |
|
|
476
|
+
| All reports and offline re-export | **PASS**, direct/partial HTML/CSV/Markdown; manifests and original request bytes preserved |
|
|
477
|
+
|
|
478
|
+
This closes **Codex live account/direct/partial acceptance for the user's current
|
|
479
|
+
configured profile**, not Keychain access under workspace-write restrictions.
|
|
480
|
+
New conversation creation does not resolve the server search error. A bounded
|
|
481
|
+
read-only log query for the new search trace returned zero matches; its deeper
|
|
482
|
+
provider cause remains unconfirmed. No backend fix or retry was attempted.
|
|
483
|
+
|
|
484
|
+
Before the user narrowed scope, one extra fresh Claude session re-tested only
|
|
485
|
+
the failed keyword (not its already-passing direct/partial cases): 1 request,
|
|
486
|
+
BUSINESS_13007, no resume. This extra call is explicitly counted. No further
|
|
487
|
+
Claude task was launched after the Codex-only instruction.
|
|
488
|
+
|
|
489
|
+
**New configured Codex requests: 6, charged 185 credits** (direct 45+45;
|
|
490
|
+
partial 45+45+5). The additional search detail rows display `—`; new-key summary
|
|
491
|
+
reconciles **13 cumulative Mac calls / 415 charged credits**. This is the earlier
|
|
492
|
+
6/230, one extra failed Claude search, plus Codex 6/185. **7 of 20 calls remain
|
|
493
|
+
unused; automatic retries 0.** Each repeated search was an explicit user-requested
|
|
494
|
+
fresh-session retest, not an automatic retry. The historical Windows key's 145
|
|
495
|
+
credits remain separate; account balance deltas and response `cost` are unused.
|
|
496
|
+
|
|
497
|
+
Private original/fresh-session prompts, exits, diagnostic exceptions/denials,
|
|
498
|
+
live dev11 bundles, offline reports and read-only billing rows are under
|
|
499
|
+
`dist/macos-20261026/retest/`, indexed by `retest-summary.json` and the parent
|
|
500
|
+
SHA-256 index. Original failures are retained. External `retest-codex/`,
|
|
501
|
+
`retest-codex-configured/`, and `retest-claude/` directories are retained for
|
|
502
|
+
reproducibility. No source/runtime change or publication was needed for this
|
|
503
|
+
retest. Remaining gates include live successful search/resume, positive real
|
|
504
|
+
env-key isolation, full backend/refund attribution and release authorization.
|
|
505
|
+
|
|
506
|
+
## First independent version: 0.1.0
|
|
507
|
+
|
|
508
|
+
At the user's request, the current version is **0.1.0**, replacing the development
|
|
509
|
+
version label. Package metadata, module version, dependency locks, paired Skill
|
|
510
|
+
requirements/adapter pins, installation instructions and CI wheel path agree.
|
|
511
|
+
Historical test versions and original failures above are preserved as recorded.
|
|
512
|
+
No runtime behavior or outstanding acceptance status changed with this renumbering.
|
|
513
|
+
|
|
514
|
+
Built from source baseline `430461255eff13a2119486912682742e68d7582e` plus this
|
|
515
|
+
version change: `dist/version-0.1.0/nexscope_cli-0.1.0-py3-none-any.whl`, SHA-256
|
|
516
|
+
`5703a4c748d32759903270fb4fbeeb2b84ea5e905e3c7dd29204eb551c8a9a47`.
|
|
517
|
+
Resource checks pass. Actual external installed-wheel verification passes on
|
|
518
|
+
Python 3.11.15 and 3.12.13: **31 regressions each**, offline/loopback checks and
|
|
519
|
+
version-transition/report preservation against the exact prior dev11 wheel.
|
|
520
|
+
Python 3.12 additionally passes hash-pinned dependencies/legacy checks and real
|
|
521
|
+
Keychain write/read, version-transition/uninstall persistence and cleanup.
|
|
522
|
+
This is a version transition, not a claim that 0.1.0 sorts above 0.1.2.dev11.
|
|
523
|
+
No new paid call was made; cumulative usage remains 13/20 and 415 credits.
|
|
524
|
+
Private transcripts are in ignored `dist/version-0.1.0/`. Source push is
|
|
525
|
+
authorized; PyPI, GitHub Release assets/tags and plugin publication are separate.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Bundled asset attribution
|
|
2
|
+
|
|
3
|
+
Copyright 2026 Nexscope.
|
|
4
|
+
|
|
5
|
+
This independent CLI contains report templates and fictional product samples.
|
|
6
|
+
Templates use system fonts, with no external font, JavaScript or image assets.
|
|
7
|
+
The original plugin icon and plugin entrypoint are not part of this distribution.
|
|
8
|
+
Apache-2.0 Section 6 governs trademark use; the copyright license does not grant
|
|
9
|
+
trademark rights or imply Nexscope endorsement of modified distributions.
|