2026-07-16-goodboy-v2-next-level-plan.md
2026-07-16-goodboy-vs-hatch-pet-validation.md
LICENSE
MANIFEST.in
README.md
THIRD_PARTY_NOTICES.md
pyproject.toml
.agents/plugins/marketplace.json
codex-skill/goodboy/SKILL.md
codex-skill/goodboy/agents/openai.yaml
codex-skill/goodboy/references/manifest-map.md
docs/guides/2026-07-16-v1-to-v2-migration.md
docs/guides/2026-07-16-v2-my-pet-workflow.md
docs/guides/2026-07-17-plugin-first-installation-and-publishing.md
docs/reference/2026-07-16-goodboy-vs-hatch-benchmark.md
docs/reference/2026-07-16-privacy-and-data-handling.md
docs/reference/2026-07-16-v2-implementation-audit.md
packages/npm-goodboy/README.md
packages/npm-goodboy/package.json
packages/npm-goodboy/bin/goodboy.js
packages/npm-goodboy/tests/launcher.test.mjs
plugins/goodboy/runtime.json
plugins/goodboy/.codex-plugin/plugin.json
plugins/goodboy/scripts/goodboy-runtime.mjs
plugins/goodboy/skills/goodboy/SKILL.md
plugins/goodboy/tests/goodboy-runtime.test.mjs
scripts/generate_v2_test_fixtures.py
scripts/sync_readme_examples.py
scripts/validate_skills.py
src/goodboy/__init__.py
src/goodboy/adapters.py
src/goodboy/atlas.py
src/goodboy/benchmark.py
src/goodboy/candidates.py
src/goodboy/cli.py
src/goodboy/contracts.py
src/goodboy/critique.py
src/goodboy/exports.py
src/goodboy/feedback.py
src/goodboy/identity.py
src/goodboy/imageutil.py
src/goodboy/ingest.py
src/goodboy/jobs.py
src/goodboy/jsonio.py
src/goodboy/locking.py
src/goodboy/migrations.py
src/goodboy/pipeline.py
src/goodboy/project.py
src/goodboy/qa.py
src/goodboy/raster.py
src/goodboy/safety.py
src/goodboy/schemas.py
src/goodboy/style.py
src/goodboy/v2_backend.py
src/goodboy/validation.py
src/goodboy/workflow.py
src/goodboy/vendor/__init__.py
src/goodboy/vendor/hatch_pet/LICENSE.txt
src/goodboy/vendor/hatch_pet/SNAPSHOT.json
src/goodboy/vendor/hatch_pet/__init__.py
src/goodboy/vendor/hatch_pet/references/animation-rows.md
src/goodboy/vendor/hatch_pet/references/codex-pet-contract.md
src/goodboy/vendor/hatch_pet/references/qa-rubric.md
src/goodboy/vendor/hatch_pet/scripts/__init__.py
src/goodboy/vendor/hatch_pet/scripts/assemble_extended_atlas.py
src/goodboy/vendor/hatch_pet/scripts/combine_direction_blind_verdicts.py
src/goodboy/vendor/hatch_pet/scripts/compose_atlas.py
src/goodboy/vendor/hatch_pet/scripts/compose_cardinal_anchor_strip.py
src/goodboy/vendor/hatch_pet/scripts/derive_running_left_from_running_right.py
src/goodboy/vendor/hatch_pet/scripts/despill_chroma_edges.py
src/goodboy/vendor/hatch_pet/scripts/extract_cardinal_anchors.py
src/goodboy/vendor/hatch_pet/scripts/extract_strip_frames.py
src/goodboy/vendor/hatch_pet/scripts/inspect_frames.py
src/goodboy/vendor/hatch_pet/scripts/make_contact_sheet.py
src/goodboy/vendor/hatch_pet/scripts/make_direction_blind_qa_sheet.py
src/goodboy/vendor/hatch_pet/scripts/make_direction_qa_sheet.py
src/goodboy/vendor/hatch_pet/scripts/measure_direction_continuity.py
src/goodboy/vendor/hatch_pet/scripts/prepare_pet_run.py
src/goodboy/vendor/hatch_pet/scripts/render_animation_previews.py
src/goodboy/vendor/hatch_pet/scripts/validate_atlas.py
src/goodboy/vendor/hatch_pet/scripts/validate_direction_blind_verdicts.py
src/goodboy/web/__init__.py
src/goodboy/web/actions.py
src/goodboy/web/artifacts.py
src/goodboy/web/dev.py
src/goodboy/web/models.py
src/goodboy/web/registry.py
src/goodboy/web/server.py
src/goodboy/web/static/index.html
src/goodboy/web/static/assets/index-C6Jm4GyE.css
src/goodboy/web/static/assets/index-CswBA7jG.js
src/goodboy/web/static/assets/demo/README.md
src/goodboy/web/static/assets/demo/companion/baseline-contact-sheet.webp
src/goodboy/web/static/assets/demo/companion/edge-preview-white.webp
src/goodboy/web/static/assets/demo/companion/qa-contact-sheet.webp
src/goodboy/web/static/assets/demo/companion/row-idle.webp
src/goodboy/web/static/assets/demo/companion/row-review.webp
src/goodboy/web/static/assets/demo/companion/row-running-left.webp
src/goodboy/web/static/assets/demo/companion/row-running-right.webp
src/goodboy/web/static/assets/demo/companion/row-running.webp
src/goodboy/web/static/assets/demo/companion/row-waiting.webp
src/goodboy/web/static/assets/demo/companion/selected-baseline.webp
src/goodboy/web/static/assets/demo/companion/source-reference.webp
src/goodboy/web/static/assets/demo/companion/spritesheet.webp
src/goodboy_codex.egg-info/PKG-INFO
src/goodboy_codex.egg-info/SOURCES.txt
src/goodboy_codex.egg-info/dependency_links.txt
src/goodboy_codex.egg-info/entry_points.txt
src/goodboy_codex.egg-info/requires.txt
src/goodboy_codex.egg-info/top_level.txt
tests/test_adapters.py
tests/test_animation_review.py
tests/test_candidate_fidelity.py
tests/test_core.py
tests/test_distribution_contract.py
tests/test_hatch_conformance.py
tests/test_v2.py
tests/test_web_actions.py
tests/test_web_api.py
tests/test_web_artifacts.py
tests/test_web_models.py
tests/fixtures/synthetic-row-strips/README.md
tests/fixtures/synthetic-row-strips/failed.png
tests/fixtures/synthetic-row-strips/idle.png
tests/fixtures/synthetic-row-strips/jumping.png
tests/fixtures/synthetic-row-strips/look-cardinals.png
tests/fixtures/synthetic-row-strips/look-row-10.png
tests/fixtures/synthetic-row-strips/look-row-9.png
tests/fixtures/synthetic-row-strips/review.png
tests/fixtures/synthetic-row-strips/running-left.png
tests/fixtures/synthetic-row-strips/running-right.png
tests/fixtures/synthetic-row-strips/running.png
tests/fixtures/synthetic-row-strips/waiting.png
tests/fixtures/synthetic-row-strips/waving.png