Docs & rules

OpenPetsHQ/openpetsGitHub

This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works

mainc8dfeb6Last read just now

Is this yours? Install to manage it

Once installed, Striff checks every pull request.

Documents
Rules
26
3
2
2
1
1
1
1
1
3
1
2
20
10
10
3
3
3
7
7
7
71 docs
OpenPetsHQ/openpetsOpen repository

OpenPetsHQ/openpets — documented rules

26 of 26 rules, printed November 5, 2026.

The sentence in your docs
Source pet-assistant-service.ts, Destination pet-assistant-memory.ts, Data Completed-turn outcome and message handoff lifecycle remains responsible for model/capability work and terminal events
PetAssistantService depends on PetAssistantMemory
Holds
Uses control-center-preload.cjs as the only bridge to the main process; ipcRenderer is not exposed directly.
nothing in apps/desktop/src/renderer may use ipcRenderer
Holds
webview-session.ts projects resources and owns a document-scoped package-operation-registry.ts for status, recovery and draining without replay.
WebviewSession depends on PackageOperationRegistry
Holds
Drag selects its path at window creation via isEffectiveWaylandBackend() in pet-window.ts (which delegates the pure decision to computeEffectiveWaylandBackend() in wayland-backend.ts): under the forced x11 backend it returns false and the working setBounds drag path is used.
isEffectiveWaylandBackend depends on computeEffectiveWaylandBackend
Holds
resolveRenderableAtlas asks resolveRenderedPetOutfit(petId, wardrobe) for the outfit, which also records the pet for schedule watching.
resolveRenderableAtlas depends on resolveRenderedPetOutfit
Holds
the atlases are bundled in apps/desktop/assets/default-pet-outfits/{id}.webp and the outfits and schedule are declared in packages/pet-format/src/builtin-hoodie-cat.ts (builtInPetWardrobe), shared with the VS Code extension.
builtInPetWardrobe is in packages/pet-format/src
Holds
createOpenPetsClient(options) returns OpenPetsClient interface
createOpenPetsClient depends on OpenPetsClient
Holds
hello(), status(), listPets(), installPet(), acquireLease(), heartbeatLease(), releaseLease(), react(), say()
9 rules from this sentence
OpenPetsClient has a hello method
Holds
OpenPetsClient has a status method
Holds
OpenPetsClient has a listPets method
Holds
OpenPetsClient has an installPet method
Holds
OpenPetsClient has an acquireLease method
Holds
OpenPetsClient has a heartbeatLease method
Holds
OpenPetsClient has a releaseLease method
Holds
OpenPetsClient has a react method
Holds
OpenPetsClient has a say method
Holds
Event normalization: normalizePiEvent() wraps raw Pi events into PiEventEnvelope with consistent type/payload structure.
normalizePiEvent depends on PiEventEnvelope
Holds
Expects OpenPetsPiExtensionApi with on(event, handler) and registerCommand(name, spec) methods.
2 rules from this sentence
OpenPetsPiExtensionApi has an on method
checks “OpenPetsPiExtensionApi with on(event, handler)”
Holds
OpenPetsPiExtensionApi has a registerCommand method
checks “OpenPetsPiExtensionApi with”
Holds
FakeClock has advance
checks “clock.advance”
Holds
26 rules from 8 docs

More open-source reports

Every report →

Other public repositories whose docs Striff read and checked against their code.