# Pet waste management: research notes

Date: 2026-10-25. Scope: tools for containing or disposing of pet waste — litter box systems (manual and self-cleaning), waste bags and scoop tools, outdoor disposal systems (in-ground digesters and sealed cans), and pet diapers or belly bands. Not the litter substrate itself (clumping clay, crystal, pine, paper — that is the sibling leaf `litters`, `supplies/pets/litters`), not grooming wipes (`pet-grooming`), and not training aids such as clickers or indoor pens (`training-behavior`). Puppy/pee training pads belong entirely to `training-behavior`, confirmed by its own `category.json`, which claims them as a full family with its own `pad_absorbency` facet; this register does not add a dedicated pad facet. In the Zamana taxonomy this is `supplies > pets > waste_management`.

Quote labels: **verbatim** = the sentence in quotation marks was in text I read myself (curl plus HTML-tag stripping, run myself, not a tool's summary); **fetched excerpt** = a fetch tool (WebFetch) summarised or lightly reworded the page; **search excerpt** = the claim came from a search-engine summary because the page itself would not load. No search-excerpt-only number went into `category.json`; WebSearch reported its budget exhausted (200 of 200) before any query ran this session, so every claim below came from a direct fetch, a curl, or an Internet Archive lookup.

## Seed

Seed script output, verbatim:

```
=== Example entry (from an unrelated category) ===
category: car-tyres
what this shows: a number that is on every listing and still needs a judgement attached, because experts know it only compares within one manufacturer's range.
<example id="treadwear_grade" ...> [treadwear grade facet, omitted here, see skill examples]

Judgement that would accompany it:
{ "claim": "Treadwear grades can be compared across brands as a rough guide but not as a ranking.", "confidence": "high", "sources_disagree": true, ... }

=== Persona ===
A car mechanic, who thinks in wear, serviceability and what fails first

Ask yourself two things and write the answers under 'Seed' in notes.md:
  1. What is the waste-management equivalent of the example above?
  2. What would this persona notice first about waste-management that a typical buyer would not?
Keep what survives the data check. Drop the rest.
```

1. **The treadwear equivalent is the compostable-bag claim.** It is printed on nearly every premium waste bag, it is a real, testable certification (ASTM D6400, administered by BPI), and it still needs a judgement attached, because the certification almost always means commercial-facility composting only — not whatever a buyer pictures when they see the word "compostable" on a roll of dog-poop bags. This survived the data check: BPI's own certification page says pet-waste products are limited to Commercial Only Certification, and the FTC's Green Guides (16 CFR 260.7) separately require a seller to disclose when an item cannot compost safely at home. **Kept** as the `compostable_claim` facet and split 3, with a judgement and a trade-off.
2. **What the mechanic would notice first is the part that has to match the mechanism, not the headline feature.** A self-cleaning litter box only works with the litter texture its rake or sifter is built for; an in-ground digester only works in soil that is not heavy clay. Both failure modes show up after the purchase, never on the listing. **Kept**: the `automation_tech` facet (text, researched, high backfill cost, because this run could not independently confirm a general rule) and the digester/clay-soil line inside `disposal_mechanism`'s `why_experts_care` and the matching trade-off, sourced to Doggie Dooley. **Dropped**: a specific universal claim such as "self-cleaning boxes require clumping litter" — real for some brands (general industry knowledge going into this session) but I could not fetch a leading brand's own spec or FAQ page to confirm it as a stated rule (see below), so no categorical value asserting this went into the JSON; the facet stays open-ended (`kind: text`) rather than a false categorical choice.

## Sources and what each supports

### Primer / academic (vet extension)

**Litter Boxes, Indoor Pet Initiative, Ohio State University College of Veterinary Medicine**
https://indoorpet.osu.edu/cats/basic-indoor-cat-needs/litter-boxes
Fetched by curl, HTML tags stripped, read as plain text myself — **verbatim** below.
- "Cats generally prefer large, uncovered litter boxes. Uncovered boxes are more easily accessible to your cat."
- "As a rule the litter box should be large enough for your cat to stand up (on all fours) and turn around in."
- "Boxes with high sides or rims around the top may be appropriate for cats that tend to scatter litter over the side while digging. Low sided boxes are appropriate for small kittens and older cats that have trouble getting in and out of the litter box."
- "Covered litter boxes will concentrate odors more than uncovered boxes. Your cat may refuse to use a covered box if it is not kept very clean."
- "The Golden Rule is 'one litter box per cat, plus one'."
- "In homes with more than one story, litter boxes must be available on each level of the home."
- "the litter box must be scooped daily and washed weekly with mild dish detergent."
- Supports: `box_style` facet and its `why_experts_care`; the covered-box-odor trade-off and judgement; the one-per-cat-plus-one judgement. Confidence: this is the only source for the N+1 rule and the covered-box-odor claim; I tried seven other candidate second sources (Cornell Feline Health Center, International Cat Care, ASPCA, Preventive Vet, Hill's Pet, AAFP/catvets.com, PMC) and every one either 404'd, returned a generic nav/placeholder page, or (vetstreet.com) was blocked outright. Both judgements are therefore marked `confidence: medium` and say in the JSON that a second source could not be reached this run, per the lesson about not over-stating single-source claims as high confidence.

### Standards body

**Compostability Certification, Biodegradable Products Institute (BPI)**
https://www.bpiworld.org/certification
Fetched by curl, HTML tags stripped, read as plain text myself — **verbatim** below.
- "BPI uses ASTM D6400 as the base standard for assessment for all items going through BPI's Commercial Compostability Certification Program."
- "Eligibility criteria – Pet waste products are limited to Commercial Only Certification for use in Canada since backyard bins don't typically get hot enough to kill the pathogens in pet waste." (The page's "for use in Canada" clause is odd phrasing on BPI's part — the surrounding sentence is listed as a difference between BPI's commercial and home programs generally, and the pathogen-temperature logic is stated as a general fact, not a Canada-only one, so I use the general pathogen-temperature reasoning rather than over-reading the Canada clause as a jurisdiction limit.)
- "BPI's Home Compostability Certification Program is based on the French Standard NF T 51-800... Certification according to BPI's Commercial Compostability Certification Scheme is a prerequisite for Home Compostability Certification."
- Supports: `compostable_claim` facet's `why_experts_care`; the compostable-bag judgement and trade-off. Confidence high (the certifying body's own eligibility rule).

### Regulator

**16 CFR 260.7, Compostable Claims, FTC Green Guides (Legal Information Institute / Cornell)**
https://www.law.cornell.edu/cfr/text/16/260.7
Fetched by curl, HTML tags stripped, read as plain text myself — **verbatim** below.
- "(a) It is deceptive to misrepresent, directly or by implication, that a product or package is compostable."
- "A marketer should clearly and prominently qualify compostable claims to the extent necessary to avoid deception if: (1) The item cannot be composted safely or in a timely manner in a home compost pile or device; or (2) The claim misleads reasonable consumers about the environmental benefit provided when the item is disposed in a landfill..."
- "...a marketer should clearly and prominently qualify compostable claims if such facilities are not available to a substantial majority of consumers or communities where the item is sold."
- Example 4 (paraphrased from the verbatim text, which names nationally marketed lawn and leaf bags as the worked example, not a pet-waste bag specifically): an unqualified "compostable" claim is fine only when the disclosed limits match where the product is actually composted.
- Supports: `compostable_claim` facet; the compostable-bag judgement and trade-off, as the regulator-side half of the BPI claim. Confidence high (primary regulation text, read directly, not a summary — an earlier WebFetch summarisation pass of this same section characterised §260.1 as not yet reaching the compostable-claims substance, which is correct; the actual compostable rules are in §260.7, fetched separately and quoted above).

### Spec sheet (brand's own description)

**How It Works, Doggie Dooley**
https://www.doggiedooley.com/how-it-works
Fetched by curl, HTML tags stripped, read as plain text myself — **verbatim** below.
- "The Doggie Dooley® works like a home septic system which washes solid waste into the septic tank where it is treated and broken down into liquid. The treated liquid then flows into a drain field or leach bed as new water enters the system."
- "...a blend of 'Mother Nature's Housekeepers', bacillus subtillis bacteria and protein enzymes which work specifically to break down dog waste."
- "The environmentally friendly Doggie Dooley® pet waste digester is harmless to trees and shrubs and ideal for most soil conditions except heavy clay."
- Supports: `disposal_mechanism` facet, its `why_experts_care`, the digester mechanism family description, and the digester/clay-soil trade-off. Confidence high for what one brand's own product does; this is a single-brand source for a mechanism description (not a number or threshold), so the two-source rule was not applied here — the claim is "this is how this kind of product works," attributed to the one brand whose page I could read, not a cross-brand numeric fact.

## Data points used for derived metrics

- `cost_per_bag` and `cost_per_change` are plain division (`price / sizing.pack_count`), using the generic `pack_count` field already in `supplies-standard.jsonc`. No external source needed; this mirrors how other registers (coffee's cost-per-cup, power-bank's cost-per-charge) treat arithmetic over already-kept fields as not requiring its own citation.
- I deliberately did not build a "bags per year" or "cost per year" metric. It would need a sourced average frequency of waste pickups per dog per day, and I found no fetchable source with that number (PetMD's actual diaper article 404'd; AKC's dog-diaper page 404'd; Chewy's diaper-vs-belly-band page redirected to its generic homepage with no article text). Dropped rather than invented.
- I did not build a litter-box "days between empties" metric for self-cleaning boxes. It would need a sourced average daily litter-waste volume per cat, which I did not find from a reachable source this run. Dropped.

## Against the existing add-on schema

Current file: `/Users/amnbh/Desktop/dev/zamana/zamana-expertise/data/schema-parts/supplies/pets/add-ons/waste_management.jsonc`. Its entire content is one field:

```
"sizing": { "diaper_absorbency": "enum [light, moderate, heavy, na, unspecified] | null" }
```

That field is a strong, direct hint that the schema's own author already understood this leaf to include pet diapers/belly bands, not just litter boxes — consistent with the scope decided above from the taxonomy label alone, before I read this file.

| This register's facet | Maps to existing field | Proposed kind | Note |
|---|---|---|---|
| `absorbency_level` | `sizing.diaper_absorbency` (exact match: light/moderate/heavy) | ordinal, filter | Keep the field as is; it is already correctly modelled. Its placement inside `sizing` is questionable under the zamana-expertise rule that `sizing` is the per-variant block — absorbency is usually a fixed property of a SKU, not something that varies by the size variant of one listing, so it may belong outside `sizing` unless absorbency genuinely differs by pack size on the same listing. Flagging, not fixing (no edits made to zamana-expertise). |
| `product_type` | none | categorical, vertical anchor | Needed. Nothing in `waste_management.jsonc` or `pets-standard.jsonc` currently distinguishes a litter box from a bag from a digester from a diaper; without it, the backend cannot route a product to the right facet set at all. |
| `cleaning_mechanism` | none | categorical, hard filter | Needed. The single biggest price and feature divide in the litter-box branch has no field today. |
| `box_style` | none (the generic `dimensions` block in `supplies-standard.jsonc` only gives raw numbers, not covered/open/sided) | categorical, filter | Needed as a small categorical; raw dimensions alone do not tell a buyer whether a box is covered. |
| `box_material` | none | categorical, annotation | Worth adding; currently nothing distinguishes plastic from steel/ceramic trays. |
| `automation_tech` | none | text, high-cost annotation | Deliberately left unstructured (see Seed §2) rather than forced into a categorical the data does not support yet. |
| `compostable_claim` | none | categorical, hard filter (safety/regulatory judgement attached) | Needed, and this is the facet with a governing regulator (FTC 16 CFR 260.7) and standards body (BPI/ASTM D6400) behind it, per the house rule on safety/regulatory facets. |
| `dispenser_included` | none | boolean, filter | Small but real; nothing today says whether a bag roll ships with a leash clip. |
| `disposal_mechanism` | none | categorical, annotation | Needed for the outdoor-system branch. |
| `diaper_fit_type` | none | categorical, hard filter | Needed; `diaper_absorbency` alone cannot tell a belly band from a full diaper, and that is the single most common mismatch-return reason in this branch (general knowledge, not independently sourced this run). |
| `reusable_or_disposable` | partially inferrable from `sizing.pack_count` (high count usually implies disposable) but not a direct field | boolean, filter | Worth a direct field rather than relying on an inference from pack count, which is also useful for bags and has nothing to do with reuse. |

## Noise

Fields this register considers noise for this leaf, if ever proposed: a `brand_litter_compatibility` free-text catch-all (Jev/high-signal-markdown territory per the zamana-expertise AGENTS.md rule 3, not a structured field, especially since this run could not confirm a stable categorical value set); a `scent` boolean/enum (fails the generic test — "scented or unscented" reads the same for trash bags, candles or anything else, and is a preference, not expertise).

## Branches

Traced to a specific sentence in the register or these notes, per leg:

- `product_type = litter box system` → ask `cleaning_mechanism`, `box_style`, `box_material`; make irrelevant the bag, outdoor-system and diaper facets. Traced to: the facet `product_type`'s `why_experts_care` ("a buyer asking about litter boxes has no use for a bag's compostable certification..."); the mechanism section's statement that the four families "do not compete for the same purchase."
- `product_type = waste bags` → ask `compostable_claim`, `dispenser_included`; make irrelevant the litter-box, outdoor-system and diaper facets. Same tracing as above, mirrored for bags.
- `product_type = outdoor disposal system` → ask `disposal_mechanism` only. Same tracing; this branch is thin because, per the Seed, the only facet that survived the data check for this family is the digester-versus-can mechanism itself (sourced to Doggie Dooley); no second-level split facet was invented for a family this is small.
- `product_type = diaper or belly band` → ask `diaper_fit_type`, `absorbency_level`, `reusable_or_disposable`; make irrelevant the litter-box, bag and outdoor-system facets. Same tracing.
- `cleaning_mechanism = self-cleaning or automatic` → ask `automation_tech`. Traced to: `automation_tech`'s `why_experts_care` ("a self-cleaning box is built around one litter texture... so the wrong litter can jam the mechanism"), which only applies once the mechanism is self-cleaning.
- `cleaning_mechanism = manual scoop` → `automation_tech` becomes irrelevant. Same tracing, inverse: a manual box has no sensor or rake for a litter texture to jam.

No leg needed a two-fact chain in this register; every leg traces to one stated sentence, because the branching here is driven by `product_type` separating four structurally different objects, not by a combination of conditions.

## Trimmed detail

- The BPI page's exact wording ties the "backyard bins don't typically get hot enough to kill the pathogens in pet waste" sentence to a clause about Canada eligibility; the full nuance (BPI's commercial-vs-home scheme differences, disintegration testing temperatures and timeframes for each) did not fit the 80-word `why_experts_care` cap and is condensed here instead: commercial testing runs "at 58 +/-2° C for up to 84 days" versus home testing "at 25 +/-2° C" (verbatim, same BPI page) — the commercial program runs over 30°C hotter, which is the concrete reason pet waste only qualifies for it.
- FTC 16 CFR 260.7's Examples 1 through 4 (coffee filters, grass-clipping bags with toxin release, a package needing a home-composting disclosure, and nationally marketed lawn-and-leaf bags) are all non-pet-waste worked examples; I used only the operative rule text in the JSON and did not imply the FTC has issued pet-bag-specific guidance, which it has not, as far as I could find.
- Doggie Dooley's page also describes a separate above-ground "Pet Loo" style product line and specific tablet/refill SKUs; only the general in-ground-digester mechanism and the heavy-clay-soil caveat were kept, since the register needed one mechanism description, not a product catalogue.

## What I could not reach

Per the brief, source types and specific attempts that did not survive this run, so later agents do not retry the same dead ends expecting a different result on the same day:
- **WebSearch**: reported its 200-query session budget already exhausted before this run's first query, so zero searches were used; all research is direct fetch, curl or Wayback.
- **Brand spec/FAQ pages for automatic litter boxes**: whisker.com (Litter-Robot) and petsafe.net/petsafe.com (ScoopFree) both served either a client-rendered app shell with no readable product text, or a 404 page, to a plain curl. This is why `automation_tech` is `kind: text`, `source: researched`, `backfill_cost: high` rather than a sourced categorical fact.
- **A second source for the OSU litter-box rules** (N+1 boxes, covered-box odor): tried Cornell Feline Health Center, International Cat Care (two different URL guesses), ASPCA, Preventive Vet, Hill's Pet, AAFP/catvets.com (including a guideline PDF URL that 404'd and an empty Wayback index for "litter" under that domain), and a guessed PMC article id. All 404'd, blocked (403) or returned unrelated content. The two judgements built on OSU alone are marked `confidence: medium` with this gap stated in the JSON.
- **Flushing cat litter / toxoplasmosis and marine wildlife**: a real, often-cited environmental and public-health concern for litter disposal, but every candidate source blocked or 404'd this run: CDC's toxoplasmosis FAQ (403), EPA's pet-waste and stormwater pages (404, including the plain `/npdes/pet-waste-management` URL), NOAA Ocean Service's cat-litter fact page (404 behind a 200 status, with a visible US-government-shutdown notice on the page), USGS (403), and California Fish and Wildlife's sea-otter toxoplasmosis page (returned, but with almost no extractable text — likely a client-rendered page). No claim about flushing or marine wildlife went into the JSON.
- **CPSC recalls**: checked `saferproducts.gov`'s REST API for "litter," "litter box" and "self-cleaning" — no self-cleaning-litter-box or pet-waste-bag recalls came back (only unrelated log-splitter, juicer and oven recalls matched the keyword overlap). This is a useful negative result: it is why no CPSC-sourced safety judgement about automatic litter boxes (for example, sensor entrapment) appears in this register — I looked for one specifically, given the house rule about safety facets, and found none to cite.
- **Earth Rated and a dog-diaper specific article (PetMD, AKC, Chewy)**: all either served a JS app shell with no text, or 404'd. No brand-specific bag-thickness or diaper-terminology claim was built from these.

## Script behaviour

`validate.py`, `render.py` and `viewer.py` all ran clean on the first attempt after fixing a Python-literal mistake in my own build script (used JSON's `true`/`false`/`null` instead of Python's `True`/`False`/`None`, a bug in my authoring script, not in the skill's scripts). No issue to report in the skill's own scripts.

## Corrections (2026-10-26)

- Added the kitten-weight sensor-safety caveat (under ~3 lbs) to `automation_tech`'s `why_experts_care`, with a new `whisker_litter_robot_4` reference (fetched directly this run, `scratch/fix-waste-management/litter-robot-4.html`); kept single-source and brand-scoped rather than forcing a second cross-brand number, since a direct fetch of CatGenie's FAQ this run states "there is no weight limit" for its own sensor, confirming the threshold is brand/model-specific, not an industry figure — the same reasoning the check already applied to Doggie Dooley's single-source mechanism claim.
- Dropped the `split` role from `absorbency_level` (kept `filter` only) rather than adding a fourth `splits` entry, since none of its three values changes the downstream `then_ask` set, matching its sibling facets `diaper_fit_type` and `reusable_or_disposable`.
- Replaced the housetraining-pad hedge with a flat statement: pads belong to `training-behavior`'s own `pad_absorbency` facet, confirmed by reading that sibling's `category.json` this run.
- Relabeled the noise log under its own `## Noise` heading, separate from the schema-mapping section.
