This record does not carry a regulation the state has. kind: chart-axis — description: **The muzzleloader deer season is not carried, because this source does not state it.** The chart's axis runs September to November, and any season lying wholly outside that window has a blank row — Deer - Muzzleloader here. The string "Deer - Muzzleloader" appears exactly once in all 104 pages, on this chart, with nothing beside it. **Reading it would mean measuring a rectangle against a month scale**, which is how Texas lost 83 counties, so it is declared instead.
This record does not carry a regulation the state has. kind: cross-references — description: **Units, quotas and licence types are not carried.** South Dakota allocates deer licences by unit through a draw — East River, West River, Black Hills and Custer State Park each have their own units and quotas — and this chart gives only the statewide dates per season. The document that carries the units is the annual deer application, and `gfp.sd.gov/userdocs/docs/2026deer.pdf` **is a 404**: only the 2025 edition exists, so this compilation has no current source for them.
This record does not carry a regulation the state has. kind: cross-references — description: **Refuge deer seasons are named and not carried.** The chart's own entry reads "Varies by Refuge. See deer application" — the source pointing at the document above, which has not been published for 2026.
huntregs is not the law and is not an official edition of any state’s regulations: no state agency writes, reviews, publishes or approves it, and where a page here differs from the agency document it cites, the agency document is the regulation and this page is wrong.
It is an editorial compilation of state agency regulation documents: every row is carried verbatim out of one named document, cited by title, identified by the sha256 of the exact bytes we read, and printed beside the source lines it was read from.
What we do carry
rows verbatim — no row is summarised, and every field the source row carried is rendered, including the ones we have no column for;
each record’s own declaration of what it does not contain, printed in full and unedited, above the rows rather than under them;
our own withdrawals — dated, with the reason as written, and the state’s rows gone from every route while the withdrawal stands.
What we do not carry
the law itself. Every state page links the agency’s own document; that is the thing to read.
declared gaps. Where a record says regulation exists that it does not carry, that regulation is not here — it is named, in the record’s words, and it is still missing.
zone, unit or boundary geometry. The compilation holds no maps and this app draws none; several records declare that as a gap themselves.
shooting hours. Clock, sunrise and sunset text is shown exactly as written — nothing here computes a sunrise, a sunset or a timezone.
legal advice, or any judgement about whether a particular hunt is lawful for you.
every state. Some have no record in this compilation at all and some are withheld by the verification ledger today; which is which is measured on the index page each time it is loaded, not listed here.
Error direction — If this record is wrong, it is most likely wrong toward saying you MAY do something you may not.
That is the direction that ends in a citation, or in a hunter on ground the state has closed. Read the signals below before you use any row on this page.
Derived by rule from this record's own declared gaps, its own integrity fields and its own rows. It is not a score and there is no confidence number: the counts below count signals, nothing more.
1 over-permissive · 1 undeterminable · 2 under-permissive · 3 declared gap(s), 3 of which the record says carry regulation · 7 row(s) scanned
4 signal(s), most dangerous first. The evidence lines below are the rule's own excerpts, cut at 220 characters; every gap is printed in full and verbatim under what this record does not carry.
overOVER: the gap names a restriction, requirement, closure or supersession the record does not carry [limit_or_quota='quota']; a row read without it is broader than the regulation
known_gaps[1]: **Units, quotas and licence types are not carried.** South Dakota allocates deer licences by unit through a draw — East River, West River, Black Hills and Custer State Park each have their own units and quotas — and thi…
unknown1 page boundary/boundaries beside the cited range were never inspected. A table that continues past a citation loses whole rows — the missing rows could be further seasons (under) or the restrictions on the ones published (over), and this is the check five states went OFFLINE for skipping.
p101 (beside cited p102) — the uncited neighbour draws none; the cited page does — the safest case, the neighbour is probably pro…
underUNDER: the gap names an opportunity, season or allowance the record does not carry [season_not_carried='season is not carried']; the record's silence reads as a prohibition that the source does not state
known_gaps[0]: **The muzzleloader deer season is not carried, because this source does not state it.** The chart's axis runs September to November, and any season lying wholly outside that window has a blank row — Deer - Muzzleloader …
underUNDER: the gap names an opportunity, season or allowance the record does not carry [season_not_carried='seasons are named and not carried']; the record's silence reads as a prohibition that the source does not state
known_gaps[2]: **Refuge deer seasons are named and not carried.** The chart's own entry reads "Varies by Refuge. See deer application" — the source pointing at the document above, which has not been published for 2026.
what this rule cannot see
It reads this record's OWN prose. A restriction nobody declared is invisible to it — and an undeclared restriction is what takes a state offline.
It takes each gap's carries_regulation flag at face value. A gap mis-declared as non-regulatory is a silent miss.
It cannot weigh. One missing county list and fourteen missing pages of special-permit hunts each score once. There is no severity here, and that is why no score is shown.
It classifies a whole gap, never a row. A gap that qualifies four rows and a gap that qualifies all of them read identically.
Across the published records the record-level answer is almost always over. That is a statement about how regulation is written — what is missing from a compilation is usually a restriction — not a ranking of states.
Record integrity
Current through — the document this record was read from, and nothing later than it:
2026 South Dakota Hunting and Trapping Handbook, p.102, "2026-2027 HUNTING SEASONS"
The document is those bytes. A URL is a name; if the publisher replaces the file behind it, this hash stops matching and the mismatch is the finding.
We fetched it on 2026-08-08. That is our retrieval date, not a publication date. This record carries no date on which its publisher issued, adopted, amended or last revised that document, so this page states none. Any effective, issue or adoption date the document states of itself is inside the citation above, in the publisher’s own words — nothing here lifts it out or restates it as a fact of ours.
The publisher is named inside that citation, in the publisher’s own words. This record carries no publisher field of its own, so nothing here names one separately.
The record states its own regulation year as 2026. That is the record’s field, not a currency claim: a record may state a year older than the day we fetched it, and where it does, it says so here.
Do not take our word for it. The document every row on this page was read out of is one tap away, and checking us against it is exactly what the citation, the sha256 and the source lines under each row are for.
If that document says something this page does not, the document is the regulation and this page is wrong. The copy we read is the one whose sha256 is above; if the publisher has replaced the file since 2026-08-08, yours will not match ours, and that difference is the thing worth knowing.
What this record does not carry
derived South Dakota declares 3 gaps, of which 3 are regulation this compilation does not carry.
3 gap(s) the record says carry regulation
These are regulation that exists and is not in here. They are printed in full, in the record's own words.
chart-axis
**The muzzleloader deer season is not carried, because this source does not state it.** The chart's axis runs September to November, and any season lying wholly outside that window has a blank row — Deer - Muzzleloader here. The string "Deer - Muzzleloader" appears exactly once in all 104 pages, on this chart, with nothing beside it. **Reading it would mean measuring a rectangle against a month scale**, which is how Texas lost 83 counties, so it is declared instead.
derived family: figure/diagram/chart
Who does have it
Not us. South Dakota’s agency publishes the document this record was read from, and that document — not this page — is where the material above has to be chased:
Where the description above names some other document, register, office or telephone number, that naming is the record’s own and is printed in full above. Nothing here has followed it up for you, and nothing here has re-typed it.
cross-references
**Units, quotas and licence types are not carried.** South Dakota allocates deer licences by unit through a draw — East River, West River, Black Hills and Custer State Park each have their own units and quotas — and this chart gives only the statewide dates per season. The document that carries the units is the annual deer application, and `gfp.sd.gov/userdocs/docs/2026deer.pdf` **is a 404**: only the 2025 edition exists, so this compilation has no current source for them.
derived family: cross-reference
Who does have it
Not us. South Dakota’s agency publishes the document this record was read from, and that document — not this page — is where the material above has to be chased:
Where the description above names some other document, register, office or telephone number, that naming is the record’s own and is printed in full above. Nothing here has followed it up for you, and nothing here has re-typed it.
cross-references
**Refuge deer seasons are named and not carried.** The chart's own entry reads "Varies by Refuge. See deer application" — the source pointing at the document above, which has not been published for 2026.
derived family: cross-reference
Who does have it
Not us. South Dakota’s agency publishes the document this record was read from, and that document — not this page — is where the material above has to be chased:
Where the description above names some other document, register, office or telephone number, that naming is the record’s own and is printed in full above. Nothing here has followed it up for you, and nothing here has re-typed it.
Coverage
100.0% of chart rows on the seasons page, each a label and its printed date range
derived: this percentage is over the units named above, on the pages this record cites. It is not a percentage of the state's regulation. The gaps above are what a full percentage would have to count and cannot.
1 page(s) cited
102
1 page boundary/boundaries never inspected
p101 (beside cited p102) — the uncited neighbour draws none; the cited page does — the safest case, the neighbour is probably prose, but prose is how Utah lost nine pages, so the continuation check cannot fire. NOT a clean result: it was never inspected.
5 library repair(s)
line: -1; was: 1-30 Rifle:; now: 1-30Rifle:; basis: pdfplumber splits this token; pypdf reads it whole and the whole reading is kept
line: -1; was: 1-30Rifle:; now: Rifle:; basis: pypdf runs this token into its neighbour; the coordinate reading separates them
line: -1; was: 1-30Rifle:; now: 1-30; basis: pypdf runs this token into its neighbour; the coordinate reading separates them
line: -1; was: fOct.; now: Oct.; basis: pdfplumber glues the chart's arrow dingbat onto the word it precedes; pypdf reads the two separately, and asking pdfplumber for the type size separates them too, because the arrow is 12.12pt and the text is 10.10pt. The arrow is chart furniture marking a season that runs past the edge of the chart, not part of a date
line: -1; was: fSept.; now: Sept.; basis: pdfplumber glues the chart's arrow dingbat onto the word it precedes; pypdf reads the two separately, and asking pdfplumber for the type size separates them too, because the arrow is 12.12pt and the text is 10.10pt. The arrow is chart furniture marking a season that runs past the edge of the chart, not part of a date
1 swept source line(s) in 1 reason group(s) — NOT declared gaps
These are not gaps.
ruled_out entries are source lines the extractor accounted for and did NOT publish, each with the reason it gave. They are not declared gaps: a declared gap is regulation the record says exists and it does not carry.
1 × — 'Deer - Muzzleloader' is printed with NO dates: this chart's axis is September to November and this season lies outside it. Declared as a known gap rather than inferred from the chart's geometry
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.
this record carries no per-row page and none of this row's source lines is unique to a single page, so the row cannot be narrowed; these are the 1 page(s) the record says the adapter read for the whole state
These are the pages the adapter read for the whole state. This row was not narrowed to a page of its own.