Limitations and FAQ
This page describes what the slope-quality result supports and where its interpretation stops.
It is migrated from the earlier docs/guide/limitations.md and extended with an FAQ. The
limits of the temporal Study of version 0.2 are in their own section.
What the result supports
Section titled “What the result supports”The result describes slope-quality statistics for the frozen PGDA LOLA 5 m/pixel Site01
witness and its seven recorded ROIs. Its standing is NUMERIC_REPRODUCED, which is not
scientific admission.
Numeric reproduction means that the primary result agreed with an independent implementation
under the stated comparison criteria. It does not establish source rights, scientific
authority, or the correctness of every upstream scientific assumption. The receipt’s execution
status METHOD_EXECUTED records that the method ran. It is weaker than the cross-implementation
standing and must not be confused with it.
The method reports the distribution of source slope values in the included population. It does not claim that the source represents every location in Site01 or the Moon.
Valid-cell fraction and area
Section titled “Valid-cell fraction and area”The included fraction is the number of included cells divided by the number of jointly valid cells (see Method, equation 9).
- It counts grid cells. It is not a physical area and not a proportion of the lunar site.
- Polar stereographic cells are not equal-area. The projection’s scale varies with position, so a cell’s area on the sphere depends on where it lies. Equal grid counts therefore do not represent equal surface areas.
- Area needs a separate method. Any area statement requires a separately designed method
with an explicit scale-factor model. Such a method is not part of
slope_quality/v1. The project’s gap register records this as G3 indocs/r2/GAPS-DECISION.md.
Tau is a data-quality cutoff
Section titled “Tau is a data-quality cutoff”is a threshold, in degrees, on the slope RMS raster. The default values are , and .
- It is not an uncertainty interval. A cell passes if its slope RMS value is at or below . The method does not propagate uncertainty through the slope values and does not produce a confidence level or an error bar.
- It is not a physical threshold. Choosing a is a choice of how strict to be about the source’s quality. Other values are accepted by the API, but they are not validated against independent evidence.
- A new threshold has no evidence. Running the method at a new does not give that
threshold the existing Site01 comparison evidence. The gap register records the
propagated-uncertainty question as G8 in
docs/r2/GAPS-DECISION.md.
ROI boundary sensitivity
Section titled “ROI boundary sensitivity”The ROI rule is closed. A cell is a member if its centre is inside a polygon or on its boundary (see Method, equation 6).
- Boundary cells are sensitive to the rule. The source ROI vertices lie on cell centres. A rule that includes only centres strictly inside a polygon would omit boundary-centre cells. The counts, fractions and statistics would then differ. The closed rule is a decision about the geometry, and the counts depend on it.
- The rule is narrow. It is defined for lattice-centred rings with one-cell edge steps,
including the self-touching pinch and the collapsed spur of this source. It rejects
non-lattice or long-edge inputs (
_check_lattice_polygon,src/lunartrace/science/slope_quality.py). It is not a general polygon rasteriser. - The 0.5 m buffer is a fixed constant. It is not a tuned parameter. The module’s documentation argues that any centre off the boundary lies at least about 3.54 m away on the 5 m grid, so the 0.5 m buffer separates boundary centres from interior ones.
- Union de-duplicates. A cell in several ROIs is counted once in the union row. The union count can be smaller than the sum of the per-ROI counts.
Provenance, access and evidence ceilings
Section titled “Provenance, access and evidence ceilings”- Source data is not redistributed. PGDA states no licence for the product, so the
source files are not redistributed (rights are recorded as
UNVERIFIED). Readers fetch them from PGDA and verify them by SHA-256 withtask sources:fetch. The local store is single-copy and outside Git. - The receipt is unsigned. Hash verification shows that the bytes match the pins. It does not provide backup, and it does not show that the upstream product is still current.
- A frozen witness fixes bytes, not currency. The witness is an exact copy of the bytes fetched on a particular date. An upstream reissue is a new witness.
- Replay is bounded. The receipt records five cold runs on one Windows host. Cross-platform replay is not established.
Historical MoonTrace probe findings are a separate evidence stream with their own records. They are not part of the slope-quality result. Their observation rows are unavailable in the record, and they do not support any claim about the Site01 result.
The temporal Study
Section titled “The temporal Study”A Study from lt.temporal.study (see the one-call Study) carries four limits in
its record. They are printed here word for word, and study.limits returns the same four
strings:
- Temporal PRE/POST adjacency is not a surface-change claim.
- Footprint intersection with the query box is not image registration or alignment.
- ODE pagination reconciles the declared Count at query time; archive currentness and a coherent provider snapshot are not established.
- Source authenticity is not independently established beyond retained byte digests.
What follows from them:
- Before and after is not change. A pair is two observations with comparable viewing angles, one before the event and one after. The frontier ranks pairs by how well matched they are. It does not say that anything on the surface differs between them.
- A frontier has no weights. It keeps the pairs that no other pair beats on every objective. It does not rank those pairs against each other, and a pair off the frontier is not wrong, only beaten.
- A digest is not authenticity. The digest shows that the record is the one that was compiled, and a replay shows that the same bytes compile to the same record. Neither shows that Lunar ODE served genuine data.
- Retained is not current. The archive
vikram-2026-10-14is what the archive said on 14 October 2026. A live call is a new observation of a changing archive and is never compared with those numbers. - The standing is
METHOD_EXECUTED. An independent reconstruction (research/oracles/temporal_oracle.py, which does not importlunartrace) matched the four Vikram Studies of the 14 October 2026 run. The record still carriesMETHOD_EXECUTED, and a Study is not scientific admission.
Extension and scope
Section titled “Extension and scope”- Changes to the method need a new version. Changes to result semantics require versioned
identifiers.
slope_quality/v1must not be changed silently. Area weighting and propagated uncertainty need their own specified methods and independent evidence. - The per-cell raster projection is a separate contract. The projection
lunartrace.projection.slope_raster/v0is implemented as a separate interface. Its standing isMETHOD_EXECUTED. - Multi-site coverage is not established. The result covers one source witness. Each
additional site needs its own manifest and its own independent agreement (gap G7 in
docs/r2/GAPS-DECISION.md).
Versioning and citation
Section titled “Versioning and citation”- The package version
0.2.0identifies the PyPI release. It does not identify result bytes: a Study is identified by itsstudy_digest, and a Site01 result by its canonical result digest. - Contract identifiers (
lunartrace.slope_quality/v1,lunartrace.execution_receipt/v0,lunartrace.projection.slope_quality/v0,lunartrace.projection.slope_raster/v0) identify distinct interfaces. - A research record should cite the code commit, method identifier, witness, manifest digest, canonical result digest, receipt and standing, together with the relevant upstream data publication.
- No software DOI has been assigned, and this documentation makes no package DOI, release or endorsement claim.
Licence and release
Section titled “Licence and release”The software is licensed BSD-3-Clause and the documentation prose CC BY 4.0. The author is Krit Promsanuwong (Chulalongkorn University). Public release is owner-pending. A private checkout and an upstream citation do not grant source redistribution rights. No package publishing, production deployment or public release of source or derived data is authorised here.
Frequently asked questions
Section titled “Frequently asked questions”Is the included fraction the fraction of Site01 that is smooth? No. It is the fraction of jointly valid grid cells whose slope RMS value is at or below . It is not an area, and “smooth” is not the quantity measured.
Can I convert the fraction to square metres? Not with this method. A conversion needs an area method with an explicit scale-factor model. Grid cells are not equal-area on the polar stereographic sphere.
Is a confidence interval or an error bar? No. It is a cutoff on the slope RMS raster. The method does not propagate it.
Why is the fraction null for some rows? It is null when no cell is jointly valid, so the denominator is zero. It is zero, not null, when joint cells exist but none is included. When no cell is included, the quantiles and the mean are null, and the histogram is a list of 45 zeros.
Why does the union count differ from the sum of the ROI counts? The union is a set union. A cell in two ROIs is counted once.
What does NUMERIC_REPRODUCED mean?
The primary result agreed with the independent oracle within the stated criteria. It is not
scientific admission (see the Glossary).
Does this result validate the Site01 source as correct? No. It reports the source’s own slope and slope RMS values under a declared rule set. Whether those values are correct is a question for the upstream product and its publications.
Can I use the result in a publication?
Cite the software with CITATION.cff and the source data with the PGDA product page and
Barker et al. (2021). The source bytes themselves are not redistributed, and citation makes
no endorsement claim.
Does a pair on the frontier mean the surface changed? No. It means that no other pair is better matched on every objective. A Study compares the conditions of two observations. It does not compare what they show.
Why does my Study differ from the documented numbers?
Check study.source_mode. With archive="vikram-2026-10-14" it is retained and the numbers
are those of the 14 October 2026 run. Without archive it is live: the archive may now hold
more products, so counts, frontiers and the digest can differ.
Does the workbench or the web interface show a stronger claim?
Workbench ROIs carry the label METHOD_EXECUTED with NOT_ADMITTED. The interface must not
display a stronger standing than the result itself carries.