fix(foxess_h3_smart): watch the raw register-map files, not the repo root page - #130
Merged
Merged
Conversation
…root page manifests/foxess_h3_smart.yaml tracked upstream_docs as the nathanmarlor/foxess_modbus repo's root/landing page. The weekly watcher hashes that page's raw bytes, which include star/fork counts and relative commit timestamps that churn on a roughly weekly cadence with no actual register change underneath — six false-positive upstream-doc-changed issues in a row (#87, #101, #104, #109, #119, #125), each closed as not-planned after a manual register-by-register audit found nothing. Point the entry at the two files that are the actual register-map source of truth instead: entity_descriptions.py (telemetry registers) and remote_control_description.py (control/write registers), mirroring how nibe_local/myuplink already track a direct file URL rather than a landing page. upstream_docs is descriptive metadata only per spec/manifest-v2.md ("not copied into index.yaml and never affects how a driver is installed or run") and is not in CONTRIBUTING.md's list of signed-artifact fields (ders, protocol, tested_devices manufacturer/model_family), so no driver version bump applies. make sync-manifests confirms no manifest hash changed. Regenerated upstream-docs-state.json for the two new URLs only, leaving every other driver's watched-document baseline untouched. Closes #129. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011UEbhFwLUCC8JHbxPJhAyL Signed-off-by: Claude <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #129.
Summary
manifests/foxess_h3_smart.yamltrackedupstream_docsas thenathanmarlor/foxess_modbusrepo's root/landing page. The weekly watcher hashes that page's raw bytes, which include star/fork counts and relative "x months/days ago" commit timestamps that churn on a roughly weekly cadence with no actual register change underneath — six false-positiveupstream-doc-changedissues in a row (#87, #101, #104, #109, #119, #125), every one closed as not-planned after a manual register-by-register audit found nothing.This points the entry at the two files that are the actual register-map source of truth instead, mirroring how
nibe_local/myuplinkalready track a direct file URL rather than a landing page:entity_descriptions.py— telemetry registersremote_control_description.py— control/write registers#129 flagged one open question before implementing: whether
upstream_docsis a manifest field the signed channel publishes, since some manifest field changes require a version bump perCONTRIBUTING.md.spec/manifest-v2.md's own text answers it: "The field is descriptive metadata only: it is not copied intoindex.yamland never affects how a driver is installed or run." It's also not inCONTRIBUTING.md's list of fields that reach the signed artifact (ders,protocol,tested_devicesmanufacturer/model_family).make sync-manifestsconfirms no manifest hash changed. So no driver version bump applies here — the Lua source and its published bytes are untouched.upstream-docs-state.jsonis regenerated for only the two new URLs (fetched live, hashed, first-seen baseline recorded); every other driver's watched-document entries are byte-for-byte untouched, so this doesn't preempt or interfere with the scheduledwatch-upstream-docsworkflow's own detection of unrelated document changes.Driver evidence
foxess_h3_smartSafety
Package or promotion evidence
Not applicable — manifest metadata change only, no package version, target, or control contract changes.
foxess_h3_smartstays at0.9.5.Checks
Signed-off-by.uv run --frozen --extra package --extra dev python tools/validate_manifest.py manifests/foxess_h3_smart.yaml— OKuv run --frozen --extra package --extra dev pytest -q tests/test_upstream_docs.py tests/test_upstream_docs_watch.py— 25 passedmake check— everything green (boundary, sandbox, manifests/index/devices/support-status sync, FTW baseline, host API, fullpytest drivers/tests tests: 4404 passed, 1069 skipped) excepttools/generate_history.py --check/test_history_never_rewrites_a_published_version, which fails identically on a clean checkout ofmain(f3771d7) with no changes at all — confirmed by checking out that commit standalone. Pre-existing, environment-wide, unrelated to this diff; not something this PR can or should fix.🤖 Generated with Claude Code
https://claude.ai/code/session_011UEbhFwLUCC8JHbxPJhAyL
Generated by Claude Code