Skip to content

BrasilData 0.1.24: MapBiomas land cover for any year, vegetation disturbance alerts, Sentinel-1 radar, official municipal clips and complete drainage - #49

Merged
giswqs merged 7 commits into
opengeos:mainfrom
elpidioassinaturas:brasildata-0.1.18
Nov 8, 2026
Merged

giswqs merged 7 commits into
opengeos:mainfrom
elpidioassinaturas:brasildata-0.1.18

Conversation

@elpidioassinaturas

@elpidioassinaturas elpidioassinaturas commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Plugin: BrasilData (brasildata), elpidioassinaturas/BrasilData

What it does: this updates registry/brasildata.json from 0.1.16 to 0.1.24. Nothing else changes. Versions 0.1.17 to 0.1.23 were released while this PR was open, so their changes are included here.

Unchanged: the permissions (edit, files, network), the minimum RustGIS (0.5.0) and the categories.

0.1.24: MapBiomas land cover for any year

  • What changes: the MapBiomas land cover (Collection 11) could only be picked for 2025 in the tab; other years needed a script. The Área de trabalho panel now has a "MapBiomas: ano" slider (1985 to 2025, with step arrows) and a button for the map. The tab item uses the same year, because every plugin command receives the panel's values. Each year becomes its own layer, so years can be compared side by side. {"ano": 2003} still works in scripts.
  • Why a slider: one menu item per year does not fit (41 years; a menu takes up to 32 items), and RustGIS 0.5.0 opens no parameter dialog for plugin commands.
  • Fix: the MapBiomas command no longer swaps in the official municipal boundary first. In 0.1.23 its first click only loaded the boundary, which this nationwide map does not use.

0.1.23: clips follow IBGE's official municipal boundary, and a fix for two-zone areas

  • Official boundary: a municipality area now switches to the official Malha Municipal 2025 boundary (IBGE's WFS, the same layer as Limites › Municípios), loaded by RustGIS with layer.addUrl. Parsing it inside the plugin ran out of fuel for large municipalities (Manaus, 457 KB; Rio de Janeiro, 754 KB), so the plugin never reads it: it tags the layer with a malha field and checks the fields through info.project. The API's full-quality mesh stays as the fallback. Measured in Viçosa against the official line: the embedded intermediate mesh was up to 815 m off, the API's full-quality one up to 144 m.
  • Patches cut by the line: the alert patches are vectorised from the mosaic cut only to the area's bounding box and then clipped by the boundary (gp.run clip), so along the border they follow the line instead of 30 m cell steps.
  • Fix: geolibre:raster_to_vector_polygons cannot write EPSG:10857 (IBGE's Albers, which the grid uses when an area spans two UTM zones), so 0.1.22's status command failed there. The patches now come from a copy in degrees, and if they still fail, the raster stays visible. Above about 5 million grid cells the plugin keeps only the raster (vectorising a whole mesoregion took minutes).

0.1.22: alert patches with outlines, and municipal clips on IBGE's full-detail boundary

  • Patches: the DIST-S1 status now also comes as polygons (geolibre:raster_to_vector_polygons), each filled with its class colour and outlined in a darker shade of that colour, so light patches stay readable on a light basemap. A text field gives each class its name, so the legend reads "6 · Confirmada, alta confiança" instead of a bare code. The gridded raster stays in the project, hidden, for analysis.
  • Municipal boundary: the plugin embeds municipalities at IBGE's intermediate quality to keep the package small (Viçosa: 70 vertices). Clipping a raster to it left cells missing or extra along the border. Before any command that clips, the plugin now fetches that municipality's full-quality boundary from IBGE's API v4 (455 vertices for Viçosa; 117 KB for the largest municipality; CORS-enabled) and swaps it into the area layer, once per area. Without network access it keeps the intermediate one. States and meso/microregions were already embedded at full quality.

0.1.21: vegetation disturbance alerts (OPERA DIST-S1)

Four new commands under Desmatamento: the alert status, the date of first detection, the confidence and the disturbance metric, from JPL's OPERA DIST-S1 (Sentinel-1), found through the ASF DAAC search API.

  • Which products: each product covers one MGRS tile and accumulates the alerts since monitoring began, so the plugin takes the most recent product of each tile that crosses the area's polygon. Reprocessed products count once.
  • Processing: like the radar, each tile is reprojected onto the project grid, cut to the area and mosaicked (newest first where tiles overlap).
  • Status colours: a BrasilData palette by default: the hue gives the stage (first detection, provisional, confirmed, finished) and the darker shade gives high confidence. It was checked for colour-vision deficiency (smallest ΔE between classes: 25.6 normal, 17.8 deuteranopia, 21.5 protanopia, 9.5 tritanopia). OPERA's own palette is available with {"paleta": "oficial"}. The palette goes in through style.importQgis (paletted); no-disturbance (0) is hidden with raster.mask, because 0.5.0 draws an alpha-0 palette entry as white.
  • Limits: ASF currently has DIST-S1 products only from 2026-01-04 to 2026-02-28 (checked on 2026-11-08), so the layers show the end of February. The legend lists codes, because RustGIS 0.5.0 does not read class labels from a paletted style.
  • Shared code: the radar and DIST-S1 now share the area and Earthdata checks and the whole-file downloads; the radar output is unchanged (Viçosa VV re-run: same 4 bursts).

0.1.20: paged themes stay within the apps' download queue

  • The problem: in the RustGIS apps (web and desktop), each page of a paged theme arrives as a pending layer.addUrl download, and the app refuses the 17th waiting one ("16 downloads are already waiting"). The ANA drainage of a mesoregion needs up to 30 pages of 1,000 segments. The command failed, and the pages that had already started were never merged. I found this by testing 0.1.19 on web.rustgis.app; the CLI downloads synchronously, so it never hit the limit.
  • The fix: the plugin requests only the missing pages, until the queue is full. It treats that refusal as "stop for now", not as an error, and says how many pages have landed. The next run requests the rest, and once all pages are on the map it merges them. The drainage-by-zoom display filters now also get the right minimum area when the layer lands in a later run.
  • Tested:
    • In the RustGIS 0.5.0 web app, served locally with this package: the ANA drainage of the Sul/Sudoeste de Minas mesoregion (25 pages) took three clicks (16 pages, the other 9, then the merge). It arrived as one layer clipped to the area, and the display filters thin it out when zoomed out.
    • In rustgis-cli 0.5.0, the earlier results are unchanged.

0.1.19

Sentinel-1 radar. Three new commands under Uso e cobertura: Radar VV, Radar VH and the VH/VV ratio.

  • Data and search: the data is the 30 m terrain-corrected backscatter of OPERA RTC-S1 (JPL), found through the ASF DAAC search API.
  • Which bursts: the plugin takes the bursts that cross the area's polygon, from the most recent pass that covers the area almost as well as the best one.
  • Processing: each burst gets a 5 × 5 Lee filter, is reprojected onto the project grid and is cut to the area. The bursts are then mosaicked and shown in dB.
  • Earthdata sign-in: RustGIS handles it (earthdata.login). The plugin only checks earthdata.status and never sees the token.
  • Citation: the citation and licence are in the Fontes command.

Automatic grid: when the area spans more than one UTM zone, the grid now uses IBGE's Albers (EPSG:10857). Before, it used the Polyconic (EPSG:5880), which raster.project in RustGIS 0.5.0 does not support.

Layer style is kept. When a theme is fetched again for another area or view, the new layer keeps the style the user gave the old one: legend, colours, labels and transparency.

  • How: during a command, the plugin keeps each BrasilData vector layer's style as a temporary project style (style.new). At the end, it applies that style to the layer with the same name (style.apply) and removes it (style.remove).
  • During a download: the temporary style stays until the layer lands.
  • Limits: graduated classes keep their previous breaks, and rasters don't keep their style yet.

0.1.18: drainage by zoom

The ANA drainage layer (BHO 2017) shows the main rivers when zoomed out and adds smaller ones as the user zooms in.

  • How: it uses layer.displayFilters, keyed on each segment's upstream drainage area (nuareamont, km²). Strahler order is not used: it grows with mapping density and ranks the Amazon below rivers in the Southeast.
  • Fetch limit: at most 30,000 segments. The plugin picks the smallest drainage area that fits, using at most 4 counts. For all of Brazil, that is 10,000 km² or more, and a notice says which area was used.

0.1.17: complete BC250 drainage

  • The problem: RustGIS 0.5.0 reads one WFS page of 50,000 features, so a large area got only part of IBGE's BC250 drainage, with no warning.
  • The fix: the plugin now counts the segments first, requests them in pages of 20,000 (WFS 2.0 startIndex/count) and merges the pages.
  • Notice: when service.add reports a cut, the plugin shows that notice in Portuguese.

How I tested it

0.1.24, built from the same source:

  • rustgis-cli 0.5.0: the year from the panel value (1985), from a script (2003) and the default (2025), each as its own layer; a value outside the range (1984) is ignored and the slider keeps its year. The MapBiomas API answered for 1985, 2000 and 2024.
  • Desktop window (0.5.0 portable): installed from file; 2022 from the panel button and 1985 from the tab item, each in one click.
  • Release workflow: passed.

0.1.23, built from the same source:

  • rustgis-cli 0.5.0: Viçosa (official boundary, 3,786 vertices; 136 patches end on the line), Rio de Janeiro (29,189 vertices, soils clipped in 4 s), Manhuaçu (two UTM zones, Albers grid: 4,333 patches in 24 s), Zona da Mata (raster only, 1 min 37 s); scripts/smoke.py 0 failures.
  • Desktop window (0.5.0 portable): Viçosa from the panel tree: three clicks (the boundary, the tiles, the build).
  • Release workflow: passed.

0.1.22, built from the same source:

  • rustgis-cli 0.5.0: Viçosa (MG) chosen by code: the area switched to the full-quality boundary (455 vertices, "malha": "maxima"); the status gave 3,183 patches with names; the soils theme was clipped to the new boundary; the radar output is unchanged; scripts/smoke.py 0 failures.
  • Desktop window (0.5.0 portable): installed from file, Viçosa from the panel tree, status in two clicks, with outlines and named legend.
  • Release workflow: passed.

0.1.21, built from the same source:

  • rustgis-cli 0.5.0: Viçosa (MG), all four layers in 48 s; Zona da Mata (15 tiles across UTM zones 23 and 24, Albers grid), status and confidence in 3 min 16 s; both palettes, and the refusals (unknown palette, palette on a non-status layer, no area).
  • Desktop window (0.5.0 portable): installed from file, Viçosa status in two clicks (the first downloads, the second builds the layer), with the default palette.
  • Release workflow: passed, including scripts/smoke.py in rustgis-cli 0.5.0 (0 failures, also locally).
  • Not tested: the web app.

Earlier versions:

  • Registry: python scripts/build.py --check with this entry passes (Python 3.12): 1 new package, 12 already published. The release asset's SHA-256 matches the entry.
  • Release workflow: it ran the package through scripts/smoke.py in rustgis-cli 0.5.0, and the same smoke test passes locally (0 failures).

Built from the same source, in rustgis-cli 0.5.0:

  • Radar:
    • Viçosa (MG): 4 bursts in 42 s; the VH/VV ratio in 49 s.
    • Zona da Mata: 38 bursts in about 4 minutes.
    • Also run in the desktop window (Viçosa, VV and the ratio).
  • Style kept:
    • Municipalities fetched for Sergipe, recoloured, then fetched for Alagoas: the new layer kept the colour. With 0.1.18 it went back to the default.
    • A graduated legend (area_km2, 4 quantiles, Ember) kept its field, classes and ramp.
    • The saved project has no temporary style left.
  • BC250 drainage: a view with 53,740 segments arrives in 3 pages as one unbroken network.
  • BHO drainage: in a small area, the network gets denser from 1:1.5 million to 1:200,000.

Tested in web.rustgis.app (0.1.19, from this PR's preview registry): BC250 drainage complete over two mesoregions, including one that needed 2 pages; the layer style kept across two area changes; no temporary style left in the project.

Not tested: the desktop window.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • Updated the BrasilData plugin to release v0.1.24.

… large areas

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The BrasilData registry entry now points to release v0.1.24 instead of v0.1.16. Its SHA-256 checksum is updated.

Changes: BrasilData registry update

Layer / File(s) Summary
Update release pin
registry/brasildata.json
The registry entry points to release v0.1.24 and uses its updated SHA-256 checksum.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Feature

Possibly related PRs

Merge Risk: Minimal · up to 053b2

The registry points to the verified BrasilData 0.1.24 package. No actionable merge-blocking risk was identified.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title names the BrasilData 0.1.24 release and lists several of the included features (MapBiomas year selection, DIST-S1 alerts, Sentinel-1 radar, municipal clips, drainage). The PR only changes re…
Description check Passed The description follows the repository template in substance. It names the plugin and links its repository, and it explains what changes (the registry entry moves from 0.1.16 to 0.1.24). It also gives…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the BrasilData 0.1.24 release and lists several of the included features (MapBiomas year selection, DIST-S1 alerts, Sentinel-1 radar, municipal clips, drainage). The PR only changes registry/brasildata.json to point at v0.1.24, so the title describes the version bump and the release contents. It is long (149 characters, 19 words) and lists many features, but it is related to the change and does not describe anything absent from it.

Full details: Description check

Explanation

The description follows the repository template in substance. It names the plugin and links its repository, and it explains what changes (the registry entry moves from 0.1.16 to 0.1.24). It also gives testing details for the release, with RustGIS versions and desktop, web, and CLI environments. The template's two checklist items (source.url is a release asset with matching sha256, and permissions are minimal) are not ticked. The author states that permissions are unchanged, and the summary reports a matching SHA-256, but the checkboxes are absent from the description. The description is long and covers many earlier releases, but its required sections are present.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

A rabbit checks the release pin,
Then finds the checksum matches in.
From sixteen to twenty-four,
A fresh source waits behind the door.
One hop, one hash, the registry’s set.

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 26947fd6-5326-49a3-9e70-fdfb1d8d5896
Commits

Reviewing files that changed from the base of the PR and between a166e17 and 053b20e.

Files selected for processing: 1

  • registry/brasildata.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@github-actions

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found. The diff changes only the source.url and source.sha256 in registry/brasildata.json, and the version in the URL (v0.1.18) matches the package's plugin.json (0.1.18). The id matches.

Security

  • The WebAssembly module can't be read here, so I checked only its interface and the strings listed in module.txt. The imports are only rustgis.log, rustgis.call and rustgis.result, as required (high confidence).
  • The strings name layer.remove, edit.deleteField, table.remove, map.removeTiles, gp.run, raster.process and raster.mosaic. These are plausible for a data plugin that manages its own layers, but I can't confirm from here that they only touch layers the plugin created (low-medium confidence, worth a maintainer's glance at the source).
  • The permissions edit, files and network are unchanged from 0.1.16, and they fit a plugin that downloads public datasets and adds layers. The URLs all point at Brazilian public data services (IBGE, ANA, ANM, ANP, INCRA, ICMBio, MMA, FUNAI, IBAMA, INPE, SICAR, MapBiomas, BCB Olinda), Copernicus/OpenTopography DEM tiles on S3, and github.com/api.github.com for the plugin's own release check.
  • homepage leads to https://github.com/elpidioassinaturas/BrasilData, so the source is reachable.

Performance

  • None raised. The PR description says the plugin caps fetches at 30,000 segments and uses at most 4 count requests, to stay inside the 20 s per-fetch limit. I can't verify that from the compiled module.

Quality

  • The PR body is clear. It covers both 0.1.17 and 0.1.18, which fits since 0.1.17 was never registered.

CLAUDE.md

  • No applicable violations. The PR is a registry entry pointing at a released package, with no plugin source in this repository.

Plugin packages

id version runtime package size module size permissions module imports commands named in strings
brasildata 0.1.18 wasm 4,876,373 B 6,644,516 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.mosaic, raster.process, select.byAttributes, select.layerFromSelection, service.add, table.open, table.remove, tool.set

Assessment of brasildata: The package was downloaded, its SHA-256 was verified, and its manifest and interface are consistent with the registry entry. The new layer.displayFilters command, which the PR describes for drainage by zoom, appears in the strings and needs no extra permission. The description and the commands match the stated purpose. The compiled module can't be audited here, so this assessment rests on the manifest, the interface and the strings.

Change size

Compared: the whole PR against main (merge base cc60d40 to PR head d5293fe).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

@github-actions

github-actions Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

🧩 Plugin preview

Removed: the pull request is closed.

… fetched again

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@elpidioassinaturas elpidioassinaturas changed the title BrasilData 0.1.18: drainage by zoom, and complete BC250 drainage over large areas BrasilData 0.1.19: Sentinel-1 radar, layer style kept, drainage by zoom and complete BC250 drainage Nov 7, 2026
Comment thread registry/brasildata.json Outdated
"url": "https://github.com/elpidioassinaturas/BrasilData/releases/download/v0.1.16/brasildata-0.1.16.rgplugin",
"sha256": "b25d9e244594141f370f2b248c4a8552d8e544b2bf457d693601a2360922afaa"
"url": "https://github.com/elpidioassinaturas/BrasilData/releases/download/v0.1.19/brasildata-0.1.19.rgplugin",
"sha256": "9cb8ba93385e06afdf33c12d9bd83c7d1904e75f0c628dc24fb818b1be08fb98"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package at this URL/SHA-256 was inspected: the hash matched and the manifest (id, name, version 0.1.19) is consistent with the entry. A maintainer should still confirm the network permission is accepted by the registry and that the author's source tree matches the released wasm, because the module (6.7 MB) can't be read here. Confidence: medium.

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found in the diff. It changes only the source URL and SHA-256 in registry/brasildata.json, from 0.1.16 to 0.1.19 (high confidence).

Security

  • The package requests edit, files and network, and the PR says these are unchanged. The module names layer.remove, edit.deleteField, table.remove, gp.run and style.remove. They are plausible for a data-download plugin that replaces its own layers and temporary styles, but the compiled module can't be read here. A maintainer should confirm that layer.remove and edit.deleteField only touch BrasilData's own layers and fields (low-medium confidence).
  • The strings include https://api.github.com/repos/elpidioassinaturas/BrasilData/releases/latest, which looks like an update check. All other URLs are Brazilian government or open-data services, ASF/NASA (OPERA RTC-S1 search and download), Copernicus/OpenTopography DEMs, MapBiomas, BCB Olinda and IBGE. Nothing points at an unrelated host (confidence medium).
  • The PR says Earthdata sign-in is handled by RustGIS (earthdata.login) and that the plugin only checks earthdata.status. That string is not in the command list, so it can't be verified from here (low confidence).

Performance

  • The module is 6.7 MB and the package 4.9 MB. That is large but expected, because it bundles the IBGE municipality boundaries (low confidence that this matters).

Quality

  • The interface is as expected: the imports are only rustgis.log, rustgis.call and rustgis.result. The entry's id and version match plugin.json, and the homepage leads to the GitHub source.

CLAUDE.md

  • No guidelines apply beyond the registry entry format. No plugin source is added to the repository.

Plugin packages

id version runtime package module permissions module imports commands named in strings
brasildata 0.1.19 wasm 4,893,911 B 6,704,824 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.change, raster.function, raster.mosaic, raster.process, raster.stretch, select.byAttributes, select.layerFromSelection, service.add, style.apply, style.new, style.remove, table.open, table.remove, tool.set

Assessment: the package was downloaded and its hash verified. The manifest is consistent with the registry entry. The commands and URLs match the stated purpose of fetching public Brazilian data and Sentinel-1 radar. The module is compiled, so its code can't be reviewed here. The source is reachable at the linked GitHub repository. The permissions are unchanged from 0.1.16. No blocking issues found. The only open question for a maintainer is the unreadable-module caveat above.

Change size

The whole PR against main (merge base cc60d40 to PR head d398ffe).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@elpidioassinaturas elpidioassinaturas changed the title BrasilData 0.1.19: Sentinel-1 radar, layer style kept, drainage by zoom and complete BC250 drainage BrasilData 0.1.20: Sentinel-1 radar, layer style kept, drainage by zoom and complete BC250 drainage Nov 8, 2026
@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found in the diff. The diff is one entry: the source URL and SHA-256 move from 0.1.16 to 0.1.20. (High confidence)

Security

  • The package matches the pinned hash and the report shows no problems. The module imports only rustgis.log, rustgis.call and rustgis.result, and exports memory, rustgis_alloc and rustgis_call.
  • The permissions edit, files and network are unchanged from 0.1.16 and fit a data-download plugin. The layer.remove, edit.deleteField, gp.run and layer.addUrl commands are consistent with merging pages and replacing layers. The module is compiled, so the exact paths and parameters it sends with files commands can't be checked here. (Medium confidence)
  • 0.1.19 adds a call to the ASF DAAC search API and to NASA OPERA data on Earthdata. The description says RustGIS handles the sign-in through earthdata.login. The plugin only checks earthdata.status, and no earthdata.* command appears in the module strings, which fits that. (Medium confidence)
  • The module also contains https://api.github.com/repos/elpidioassinaturas/BrasilData/releases/latest, so it appears to check for new releases. That is a network call outside the data services. It's worth confirming that it only reads the version and doesn't download or install anything. (Low confidence)

Quality

  • Manifest id, name (BrasilData) and version (0.1.20) match the registry entry. homepage points to the GitHub source repository, so the source is reachable. The registry entry has no repository field; this is not a blocker.
  • The PR bundles four releases (0.1.17 to 0.1.20) into one bump, so the reviewed diff is a single hash change. Reviewers rely on the upstream changelog for the actual changes.

CLAUDE.md

  • No CLAUDE.md guidelines apply to this change. No plugin source was added; only the registry entry changed, which is in scope.

Plugin packages

id version runtime package module permissions module imports commands named in strings
brasildata 0.1.20 wasm 4,893,621 B 6,704,486 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.change, raster.function, raster.mosaic, raster.process, raster.stretch, select.byAttributes, select.layerFromSelection, service.add, style.apply, style.new, style.remove, table.open, table.remove, tool.set

brasildata: the package was inspected and the hash verified. The interface is valid, and the URLs point to public Brazilian government and open-data services (IBGE, ANA, ANEEL, ANP, MMA/ICMBio, INCRA, FUNAI, IBAMA, ANM, DNIT, BCB, MapBiomas), plus Copernicus DEM on S3 and NASA ASF/OPERA. Nothing suspicious turned up. The WebAssembly code can't be read here, so behaviour rests on the upstream source. A maintainer may want to spot-check the upstream repository at the v0.1.20 tag.

Change size

Compared: the whole PR against main (merge base cc60d40 to PR head eddc8db).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@elpidioassinaturas elpidioassinaturas changed the title BrasilData 0.1.20: Sentinel-1 radar, layer style kept, drainage by zoom and complete BC250 drainage BrasilData 0.1.21: vegetation disturbance alerts, Sentinel-1 radar, layer style kept and complete drainage Nov 8, 2026
Comment thread registry/brasildata.json Outdated
"url": "https://github.com/elpidioassinaturas/BrasilData/releases/download/v0.1.16/brasildata-0.1.16.rgplugin",
"sha256": "b25d9e244594141f370f2b248c4a8552d8e544b2bf457d693601a2360922afaa"
"url": "https://github.com/elpidioassinaturas/BrasilData/releases/download/v0.1.21/brasildata-0.1.21.rgplugin",
"sha256": "8c0636596d2ce0a19950beada10eae95740f15fbf1158bd1175c33c27e154bda"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version jumps from 0.1.16 to 0.1.21, so five releases ship in one review, and the new package is a compiled 6.7 MB module whose code can't be read here. Before merging, a maintainer should confirm the tag v0.1.21 in elpidioassinaturas/BrasilData builds to this SHA-256. The new strings name destructive commands (layer.remove, table.remove, edit.deleteField, style.remove, map.removeTiles) that don't seem needed for the stated purpose, and gp.run is a new addition too. The PR says style.remove and temp-layer cleanup are used, but nothing here proves layer.remove/edit.deleteField only touch layers or fields the plugin created. Confidence: low-medium.

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found in the diff. The change is a version and SHA-256 bump of registry/brasildata.json. Confidence: high.

Security

  • The 0.1.21 module's strings name destructive commands (layer.remove, table.remove, edit.deleteField, style.remove, map.removeTiles) and gp.run. The module is compiled, so I can't confirm they only act on layers, fields or styles the plugin created. Confidence: low-medium; see the inline comment.
  • The permissions list network, which is not one of the edit/files permissions this review checks. It is unchanged from 0.1.16, but a maintainer may want to confirm it is a supported permission. The PR text also lists files as unchanged. Confidence: low.
  • The module's strings contain URLs for ASF DAAC, NASA cumulus, IBGE, INDE/ICMBio/MMA, ANA, ANM, INCRA, CAR, IBAMA, BCB, Copernicus/OpenTopography, GitHub (api.github.com/.../releases/latest, ipea/geobr_prep_data) and others. These are public data services and fit the description.

Performance

  • Nothing to report. The PR describes bounded paging (30,000 segments at most, 16 queued downloads).

Quality

  • The PR title mentions radar, layer style and drainage, but the diff is only the 0.1.16 to 0.1.21 bump. It is a large jump to review in one step; the PR description does explain it. Confidence: medium.

CLAUDE.md

  • No CLAUDE.md issues. Only a registry entry is changed, no plugin source is added, and homepage points to the source repo, https://github.com/elpidioassinaturas/BrasilData.

Plugin packages

id version runtime package module permissions module imports commands named in strings
brasildata 0.1.21 wasm 4,909,401 B 6,762,680 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.change, raster.function, raster.mask, raster.mosaic, raster.process, raster.stretch, raster.symbology, select.byAttributes, select.layerFromSelection, service.add, style.apply, style.import, style.new, style.remove, table.open, table.remove, tool.set

Assessment of brasildata:

  • The package was downloaded and inspected. The manifest id, name and version (0.1.21) match the registry entry.
  • The imports are only rustgis.log, rustgis.call and rustgis.result, and the exports are memory, rustgis_alloc and rustgis_call, so the interface is valid.
  • Strings were readable, and no module.wat is provided.
  • The new 0.1.21 DIST-S1 feature matches the strings (api.daac.asf.alaska.edu and cumulus.asf.earthdatacloud.nasa.gov/OPERA/OPERA_L3_DIST-ALERT-S1_V1). raster.mask and style.import fit the described palette handling.
  • The source is reachable at the repository in homepage, but the module is compiled. A maintainer should verify the release build matches the tag and the SHA-256.
  • The files permission is unchanged. The Earthdata token is handled by RustGIS and not seen by the plugin, as the PR describes.

Change size

Compared: the whole PR against main (merge base cc60d40 to PR head a166e17).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

…n IBGE's full-detail boundary

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@elpidioassinaturas elpidioassinaturas changed the title BrasilData 0.1.21: vegetation disturbance alerts, Sentinel-1 radar, layer style kept and complete drainage BrasilData 0.1.22: vegetation disturbance alerts, Sentinel-1 radar, layer style kept and complete drainage Nov 8, 2026
@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found. The diff is one registry entry: the URL moves to the v0.1.22 release and the SHA-256 changes. The report confirms the package was downloaded and inspected. (high confidence)

Security

  • The permissions (edit, files, network) are the same as before, as the description says. The wasm module imports only rustgis.log, rustgis.call and rustgis.result, so it is sandboxed. (high)
  • The module's strings name destructive commands: layer.remove, edit.deleteField, table.remove, map.removeTiles and style.remove. They fit a plugin that replaces its own layers and temporary styles, and the PR describes that. The module is compiled, so I could not check which layers or fields they target. A maintainer may want to check that only BrasilData-created objects are removed. (low confidence)
  • The files permission gives access to layer.addUrl, service.add and gp.run. The URLs in module.txt are all public Brazilian and NASA services: IBGE, ANA, ANEEL, ICMBio, MMA, INPE, ASF/Earthdata, Copernicus DEM, OpenTopography, MapBiomas, BCB and the plugin's own GitHub release feed (api.github.com/.../releases/latest). I found no URL to an unrelated host. (medium)
  • The source repository is reachable through the manifest homepage (https://github.com/elpidioassinaturas/BrasilData). I did not compare the repository's code with the compiled module. (medium)

Performance

  • The package is 4.9 MB (module 6.8 MB), which is large but expected given the embedded municipal boundaries. The PR states that 0.1.22 fetches the full-detail boundary for each area (up to 117 KB), once per area.

Quality

  • The PR title ("vegetation disturbance alerts, Sentinel-1 radar, layer style kept and complete drainage") leaves out the headline 0.1.22 change (patch outlines and the full-detail municipal boundary). This is a nit. (low)
  • The entry keeps the registry/<id>.json form and adds no plugin source, so the repository's scope rule is met.

CLAUDE.md

  • No CLAUDE.md issues in the changed file.

Plugin packages

id version runtime package module permissions module imports commands named in strings
brasildata 0.1.22 wasm 4,915,279 B 6,786,756 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.visibility, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.change, raster.function, raster.mask, raster.mosaic, raster.process, raster.stretch, raster.symbology, select.byAttributes, select.layerFromSelection, service.add, style.add, style.apply, style.import, style.new, style.remove, table.open, table.remove, tool.set

Assessment: The manifest id, name and version (0.1.22) match the registry entry, and the module imports are only the three allowed ones. The commands named in strings match the description: data fetch, raster processing, styling, and replacing the plugin's own layers. The new style.* and raster.mask commands match the PR's description of kept layer style and hidden zero values. This is a compiled module, so I could not check the code. A maintainer should confirm that the repository's source matches the release asset. The PR says the plugin's release workflow ran scripts/smoke.py. I did not re-run it.

Change size

Compared: the whole PR against main (merge base cc60d40 to PR head d731989).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

…nd a fix for two-zone areas

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@elpidioassinaturas elpidioassinaturas changed the title BrasilData 0.1.22: vegetation disturbance alerts, Sentinel-1 radar, layer style kept and complete drainage BrasilData 0.1.23: vegetation disturbance alerts, Sentinel-1 radar, official municipal clips and complete drainage Nov 8, 2026
@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found in the diff: one registry entry, with the URL and SHA-256 moved from v0.1.16 to v0.1.23. The new URL follows the same release pattern, and the SHA-256 in the entry is the one the trusted step verified. (confidence: high)

Security

  • Permissions are unchanged (edit, files, network) and match the description, which lists many public data sources plus Earthdata. Every host the module names is a Brazilian government source or a known public host (IBGE, ASF/NASA, ANA, ANEEL, ANP, INCRA, FUNAI, IBAMA, DNIT, BCB, MapBiomas, Copernicus/OpenTopography). It also names the GitHub releases API, probably for an update check. (confidence: medium. The module is compiled, so I could only check its strings.)
  • files and network remain broad. The strings name layer.remove, table.remove, edit.deleteField and edit.enable. That is plausible for a plugin that manages its own layers and fields, but I could not confirm that it removes only its own. The author should confirm. (confidence: low)
  • homepage points to https://github.com/elpidioassinaturas/BrasilData, so the source is reachable for a maintainer to compare with the release. (confidence: high)

Performance

  • The module grew to about 6.8 MB (package 4.9 MB). The PR description reports that heavy areas fall back to raster-only output, which is a reasonable guard against runaway fuel use. (confidence: low)

Quality

  • The PR title ("vegetation disturbance alerts, Sentinel-1 radar, ...") covers 0.1.16→0.1.23 as a whole, while the description is structured per version. This is fine, but the squash commit message should state the net change. (confidence: high)
  • The description says the web app was not tested for 0.1.21 to 0.1.23. 0.1.20 was tested in the web app. (nit)

CLAUDE.md

  • No CLAUDE.md rules were violated. The PR is scoped correctly: a registry entry pointing at a released package, with no plugin source added.

Plugin packages

id version runtime package module permissions module imports commands named in strings
brasildata 0.1.23 wasm 4,917,153 B 6,797,049 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.visibility, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.change, raster.function, raster.mask, raster.mosaic, raster.process, raster.stretch, raster.symbology, select.byAttributes, select.layerFromSelection, service.add, style.add, style.apply, style.import, style.new, style.remove, table.open, table.remove, tool.set

Assessment: the manifest has id brasildata and version 0.1.23, matching the registry entry and the URL. The imports are only the three allowed (rustgis.call, rustgis.result, rustgis.log). The commands and URLs fit the stated purpose of fetching public data for an area, which is the gap the 0.1.17 to 0.1.23 changes fill (drainage, radar, DIST-S1, boundary handling, style keeping). None of them is a surprise for this plugin. No sign of anything outside that purpose. The compiled code can't be read here, so this rests on the manifest, the interface and the strings.

Change size

Compared: the whole PR against main (merge base cc60d40 to PR head afbdcc1).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@elpidioassinaturas elpidioassinaturas changed the title BrasilData 0.1.23: vegetation disturbance alerts, Sentinel-1 radar, official municipal clips and complete drainage BrasilData 0.1.24: MapBiomas land cover for any year, vegetation disturbance alerts, Sentinel-1 radar, official municipal clips and complete drainage Nov 8, 2026
@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Code review

Bugs

  • None found. The diff changes only the url and sha256 in registry/brasildata.json, from v0.1.16 to v0.1.24. The id still matches the manifest, and the categories are unchanged. (high confidence)

Security

  • The package is a WebAssembly module, so its code can't be read here and I judged it from the manifest and interface only. The command list comes from strings in the module, so commands built at run time wouldn't show up. (medium)
  • The commands named in strings include destructive ones: layer.remove, edit.deleteField, table.remove, style.remove, map.removeTiles. This fits a data plugin that replaces its own layers and fields, but a maintainer should confirm they only touch layers the plugin created. (low to medium)
  • The files and network permissions match the described purpose. The description covers many public Brazilian data services, and the URLs in module.txt point at IBGE, INPE, ANA, ANEEL, ANP, MapBiomas, ASF/NASA, Copernicus, BCB, DNIT, ANM and similar sources. One URL is api.github.com/.../releases/latest, apparently an update check. (medium)
  • homepage is https://github.com/elpidioassinaturas/BrasilData, which is the source repository. (high)

Performance

  • Nothing to flag for the registry change. The PR text describes fuel-limit workarounds in the plugin (the official boundary is no longer parsed inside the plugin, and vectorising is skipped above about 5 million cells). The 6.8 MB module is large but loads.

Quality

  • The PR jumps eight releases at once, 0.1.16 to 0.1.24, so the diff is a single hash change and the plugin's behaviour changes can't be reviewed from it. The PR description is the only summary of them. (low)
  • The manifest entry is plugin.wasm, and the package contains plugin.json and plugin.wasm. The module exports memory, rustgis_alloc and rustgis_call, and imports only rustgis.log, rustgis.call and rustgis.result. (high)

CLAUDE.md

  • No guideline issues found. The PR changes only a registry entry and adds no plugin source, so the scope rule is met.

Plugin packages

id version runtime package module permissions module imports commands named in strings
brasildata 0.1.24 wasm 4,917,424 B 6,797,170 B edit, files, network rustgis.log, rustgis.call, rustgis.result edit.addField, edit.calculateField, edit.deleteField, edit.enable, gp.run, host.addLayer, host.features, host.layers, host.notify, host.view, info.project, layer.addUrl, layer.displayFilters, layer.fields, layer.outline, layer.remove, layer.rename, layer.select, layer.template, layer.visibility, layer.zoomTo, map.addTiles, map.removeTiles, map.tiles, raster.change, raster.function, raster.mask, raster.mosaic, raster.process, raster.stretch, raster.symbology, select.byAttributes, select.layerFromSelection, service.add, style.add, style.apply, style.import, style.new, style.remove, table.open, table.remove, tool.set

Assessment of brasildata:

  • The manifest id, name and version (0.1.24) match the registry entry, the module interface is valid, and the permissions are the same as before.
  • The commands are mostly layer, raster, style and selection operations, which fit a data-loading plugin. The files permission is the one to watch: I can't see which paths the module reads or writes. The files commands in the list are layer.addUrl, style.import and table.open, and the description gives no sign of arbitrary file access.
  • The source repository is reachable through homepage, so the code can be audited there. A maintainer should check that the v0.1.24 tag matches the released package.

Change size

Compared: the whole PR against main (merge base cc60d40 to PR head 053b20e).

Metric Value
Files changed 1 (0 added, 1 modified, 0 removed, 0 renamed)
Size before 275 B
Size after 275 B
Total size change +0 B
File Before After Change
registry/brasildata.json 275 B 275 B +0 B

@giswqs
giswqs merged commit b40437a into opengeos:main Nov 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants