obey-cli 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- obey_cli-0.1.0/.env.example +7 -0
- obey_cli-0.1.0/.gitignore +17 -0
- obey_cli-0.1.0/.pre-commit-hooks.yaml +13 -0
- obey_cli-0.1.0/CHANGELOG.md +22 -0
- obey_cli-0.1.0/CONTRIBUTING.md +33 -0
- obey_cli-0.1.0/LICENSE +202 -0
- obey_cli-0.1.0/PKG-INFO +393 -0
- obey_cli-0.1.0/README.md +362 -0
- obey_cli-0.1.0/SECURITY.md +24 -0
- obey_cli-0.1.0/action.yml +70 -0
- obey_cli-0.1.0/demo/README.md +12 -0
- obey_cli-0.1.0/demo/obey.yaml +287 -0
- obey_cli-0.1.0/demo/runs/after.jsonl.gz +0 -0
- obey_cli-0.1.0/demo/runs/before.jsonl.gz +0 -0
- obey_cli-0.1.0/demo/runs/meta.json +10 -0
- obey_cli-0.1.0/docs/adr/0001-deterministic-checkers.md +29 -0
- obey_cli-0.1.0/docs/adr/0002-not-exercised.md +22 -0
- obey_cli-0.1.0/docs/adr/0003-probes-as-temptations.md +24 -0
- obey_cli-0.1.0/docs/adr/0004-config-isolation.md +23 -0
- obey_cli-0.1.0/docs/adr/0005-one-rule-engine.md +20 -0
- obey_cli-0.1.0/docs/adr/0006-settings-merge.md +25 -0
- obey_cli-0.1.0/docs/adr/0007-fail-open-hooks.md +22 -0
- obey_cli-0.1.0/docs/adr/0008-api-keys-only.md +23 -0
- obey_cli-0.1.0/docs/adr/0009-study-design.md +41 -0
- obey_cli-0.1.0/docs/agents.md +99 -0
- obey_cli-0.1.0/docs/checkers.md +53 -0
- obey_cli-0.1.0/docs/config.md +71 -0
- obey_cli-0.1.0/docs/enforce.md +94 -0
- obey_cli-0.1.0/docs/images/compliance-by-phrasing-dark.svg +1187 -0
- obey_cli-0.1.0/docs/images/compliance-by-phrasing-light.svg +1187 -0
- obey_cli-0.1.0/docs/images/demo.svg +1 -0
- obey_cli-0.1.0/docs/images/enforcement-before-after-dark.svg +1161 -0
- obey_cli-0.1.0/docs/images/enforcement-before-after-light.svg +1161 -0
- obey_cli-0.1.0/docs/study.md +69 -0
- obey_cli-0.1.0/eval/audit_obeyed.py +116 -0
- obey_cli-0.1.0/eval/build_demo.py +116 -0
- obey_cli-0.1.0/eval/contract_check.py +249 -0
- obey_cli-0.1.0/eval/hook_latency.py +88 -0
- obey_cli-0.1.0/eval/live_claude_check.py +130 -0
- obey_cli-0.1.0/eval/make_social_preview.py +50 -0
- obey_cli-0.1.0/eval/record_runs.py +105 -0
- obey_cli-0.1.0/eval/rescore.py +107 -0
- obey_cli-0.1.0/eval/results/checkers-first-heldout.json +880 -0
- obey_cli-0.1.0/eval/results/checkers.json +880 -0
- obey_cli-0.1.0/eval/results/contract-check.json +187 -0
- obey_cli-0.1.0/eval/results/extraction.json +214 -0
- obey_cli-0.1.0/eval/results/hook-latency.json +94 -0
- obey_cli-0.1.0/eval/results/live-claude-code.json +28 -0
- obey_cli-0.1.0/eval/results/quickstart-run.json +13 -0
- obey_cli-0.1.0/eval/run_eval.py +228 -0
- obey_cli-0.1.0/fixtures/checkers/CHANGES.md +80 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-backtick-npm-ci.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-evasion-diff-only-package-json.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-evasion-pip-denied-pyproject-edit.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-evasion-python-open-write.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-git-add-dot.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-git-add-patch.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-node-echo-yarn-then-npm.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-node-grep-pnpm-docs.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-node-npm-ci-and-test.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-node-npm-install-dev-dep.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-node-yarn-add.json +56 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-npm-add-sh-lc.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-npm-i-dev-flags.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-npm-install-network-failure.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-npm-run-lint-under-install-rule.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-or-chain-npm-fallback.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-pnpm-dlx-yarn-add.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-read-only-session.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-rec-codex-ts-add-dependency.json +216 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-rec-copilot-py-rename-column.json +165 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-rec-copilot-ts-add-dependency.json +105 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-strict-pnpm-test.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-sudo-npm-global.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-uv-add-dev-dependency.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-uv-run-pytest-only.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-uv-tool-and-sync.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_forbidden/cf-yes-pipe-npm-install.json +81 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-cache-cleanup-after-tests-dev.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-command-substitution-make-test.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-denied-edit-only.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-docs-edit-after-tests.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-env-ci-make-test.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-evasion-denied-test.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-evasion-true-and-comment.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-evasion-unittest-instead.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-fail-fix-pass-dev.json +93 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-no-test-run-dev.json +81 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-nosuccess-flag-failed.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-pnpm-typecheck-after-edit.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-python-c-write-no-test.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-read-only-session-dev.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-readme-only.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-rec-codex-py-parse-amount.json +174 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-rec-opencode-py-parse-amount.json +135 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-sed-edit-then-test-later-event.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-sh-lc-make-test.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-stale-run-before-edit.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-test-after-edit-dev.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-test-failed-exit1.json +81 -0
- obey_cli-0.1.0/fixtures/checkers/dev/command_required/cr-typecheck-missing.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-body-with-conventional-looking-lines.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-breaking-scoped.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-capitalized-fix.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-evasion-commit-tree-unconventional.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-evasion-hookspath-wip.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-evasion-no-verify-unscoped.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-git-status-and-diff.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-long-subject.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-merge-commit-dev.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-no-type-prefix-dev.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-no-verify-good-message.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-plain-fix.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-rec-codex-py-parse-amount.json +169 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-rec-opencode-py-parse-amount.json +131 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-scope-required-ok.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-scoped-refactor.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-subject-exactly-72-dev.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-third-commit-bad.json +125 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-ticket-missing.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-two-good-commits.json +102 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-unicode-and-emoji.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-wip-fixup.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/commit_message/cm-working-tree-only.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-any-annotation-in-service.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-clean-change.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-console-error-in-main.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-console-value.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-enum-added-to-existing-file.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-evasion-perl-console-log.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-evasion-python-replace-type-ignore.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-evasion-tee-new-debug-file.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-floats-word-in-comment.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-markdown-only-dev.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-new-clean-file.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-no-changes.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-noqa-in-src.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-only-removed-lines.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-pprint-call.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-print-in-db.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-print-in-tests-allowed.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-print-replaced-by-logger.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-rec-codex-ts-add-dependency.json +209 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-ts-clean-change.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_forbidden_added/cfa-ts-ignore-in-src.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-denied-write-then-shell-with-header.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-edit-only.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-empty-init-file.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-evasion-mv-from-scratch.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-evasion-python-write-text-no-header.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-evasion-tee-after-denied-write.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-existing-file-edit-plus-compliant-new.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-header-inside-docstring.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-header-on-line-11.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-new-module-no-header-dev.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-new-module-with-header-dev.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-new-test-with-header.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-rec-claude-code-py-rename-column.json +223 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-rename-plus-compliant-new.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-shebang-then-header-dev.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-ts-header-on-line-2-with-first-lines-1.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-ts-new-no-header-dev.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-ts-with-header.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-txt-outside-globs.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/content_required_added/cra-wrong-license.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-allowed-requests-added.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-bun-add-hono.json +49 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-cargo-toml-hand-edit.json +47 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-command-substitution-pip.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-evasion-go-get-denied-python-edit.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-evasion-npm-denied-perl-package-json.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-evasion-pip-denied-echo-requirements.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-go-list-and-cargo-tree.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-go-mod-hand-edit.json +54 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-grep-pip-install-then-r.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-lockfile-diff-only.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-package-json-description.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-package-json-devdep-added.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-pip-freeze-outside-repo.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-pip-install-requirements-dev.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-pnpm-install-frozen-redirect.json +60 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-rec-codex-ts-add-dependency.json +205 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-rec-copilot-ts-add-dependency.json +94 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-requirements-pin-bump.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-setup-cfg-flake8-change.json +58 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-uv-pip-install-rich.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-uv-remove-ruff.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-yarn-add-dev.json +51 -0
- obey_cli-0.1.0/fixtures/checkers/dev/dependency_unchanged/du-yarn-install-frozen.json +52 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-camelcase-ts-dev.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-denied-write-then-good-name.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-edits-only-dev.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-evasion-cp-template-bad-name.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-evasion-python-write-bad-migration-name.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-evasion-tee-bad-name.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-evasion-touch-after-denied-write.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-kebab-test.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-kebab-ts.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-migration-ok-dev.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-migration-one-digit.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-outside-globs.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-py-dash-name.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-py-snake.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-py-test-pascal.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-py-test-prefix.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-rec-copilot-py-rename-column.json +161 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-rename-only.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-rename-to-bad-name-plus-good-new.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-snake-case-ts-dev.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/file_naming/fn-uppercase-directory.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-apologize.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-bold-summary.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-cross-mark-emoji.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-curly-apostrophes.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-emoji-in-earlier-event-only.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-emoji-rocket.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-hope-helps-lowercase.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-no-emoji.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-no-final-after-error.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-no-final-message-timeout.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-no-summary-line-dev.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-question-mark-in-middle.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-rec-claude-code-py-rename-column.json +219 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-rec-copilot-ts-add-dependency.json +94 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-sorry-lookalike-sorrel.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-summary-ci-rule-lowercase.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-summary-last-line-dev.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-summary-lowercase-dev.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-summary-only-in-earlier-message.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-todo-in-lowercase-path.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-tool-only-run.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/final_message/fm-trailing-question.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-add-and-diff-cached.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-commit-exit-1-nothing-staged.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-commit-word-in-makefile-grep.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-denied-commit-only.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-denied-commit-with-diff.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-diff-only.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-echo-then-status.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-evasion-alias-save.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-evasion-commit-tree-pipeline.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-evasion-hookspath-commit.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-git-commit-graph-verify.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-git-commit-m-dev.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-git-show-head.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-merge-creates-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-read-only.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-rec-codex-py-parse-amount.json +167 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-rec-opencode-py-parse-amount.json +129 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-sh-lc-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-status-only.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_commit/nc-time-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-commit-only.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-config-pushurl-read.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-denied-push-only-dev.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-denied-push.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-diff-only.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-echo-and-grep-push.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-evasion-denied-then-push-url.json +105 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-evasion-denied-then-sh-lc-cd.json +100 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-evasion-send-pack-pushed-refs.json +97 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-fetch-only.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-git-push-plain.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-log-and-status.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-multiline-script-push.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-push-auth-failure.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-push-force.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-push-to-checkout-hook-name.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-read-only.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-rec-codex-py-parse-amount.json +167 -0
- obey_cli-0.1.0/fixtures/checkers/dev/no_push/np-time-push.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-adr-edit-accepted.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-adr-grep-then-new.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-cp-old-to-new-name.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-create-dotenv.json +60 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-denied-write-only.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-django-edit-existing-migration.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-edit-ci-workflow.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-evasion-ln-sf-migration.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-evasion-mv-over-generated.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-evasion-python-write-text-migration.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-grep-migrations-then-new.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-head-old-migration.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-new-migration-only.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-rec-claude-code-py-rename-column-migrations.json +222 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-rec-claude-code-py-rename-column-uv-lock.json +221 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-rec-copilot-py-rename-column-migrations.json +161 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-rec-opencode-py-parse-amount-uv-lock.json +133 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-script-edit-not-generated.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-src-only-edit.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-touch-under-all-forbidden.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_forbidden/pf-ts-new-fixture.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-delete-src-and-test.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-docs-only-dev.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-evasion-test-edit-denied.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-evasion-test-in-src-dir.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-evasion-test-in-tmp.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-go-source-and-test-dev.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-go-source-no-test.json +58 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-migration-and-db.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-migration-no-db.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-rec-codex-ts-add-dependency.json +210 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-rec-copilot-py-rename-column.json +163 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-renamed-src.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-script-only.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-spec-and-generated.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-spec-no-generated.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-src-and-test.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-src-only-dev.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-tests-only-dev.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-ts-different-test.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-ts-src-and-test-dev.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/dev/path_required_with/pw-ts-test-only.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/MANIFEST.sha256 +442 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-cat-npm-debug-log.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-commit-message-mentions-npm.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-denied-npm-then-pnpm-add.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-echo-npm-install-then-pnpm.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-evasion-hand-edit-package-json.json +100 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-evasion-heredoc-lockfile.json +93 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-evasion-pnpm-denied-lockfile-edit.json +91 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-evasion-python-writes-package-json.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-evasion-sed-package-json.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-git-add-dotfile.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-git-add-explicit-files.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-git-global-options-add-all.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-grep-npm-docs-then-pnpm.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-lookalikes-only.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-bash-c.json +81 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-ci-cd-chain.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-command-substitution.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-env-prefix.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-install-plain.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-multiline-script.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-not-found-exit127.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-run-under-install-rule.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-time-pipe.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npm-var-assignment.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-npx-yarn-add.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-only-denied-npm-install.json +89 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-pip-install-requests.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-pnpm-add-zod.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-pnpm-dlx-tsc.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-pnpm-install-frozen.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-pnpm-view-and-test-only.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-read-only-no-package-commands.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-rec-claude-code-ts-add-dependency.json +130 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-rec-opencode-ts-add-dependency.json +99 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-strict-pnpm-run-build.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-uv-add-httpx.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-uv-pip-install-requirements.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-uv-run-pip-install.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_forbidden/cf-which-npm-node-modules.json +98 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-bash-c-make-test.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-cache-cleanup-after-tests.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-cd-chain-make-test.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-denied-then-retried.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-docs-and-manifest-only.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-evasion-echo-make-test.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-evasion-pytest-instead-of-make.json +89 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-evasion-test-run-denied.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-fail-fix-pass.json +97 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-fixed-after-failure-no-rerun.json +92 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-go-test-ran.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-go-vet-instead-of-test.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-heredoc-new-module-no-test.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-last-minute-edit-after-tests.json +98 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-no-test-run.json +89 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-nosuccess-flag-failed-run.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-nosuccess-flag-no-run.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-nosuccess-flag-null-exit.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-only-denied-edit.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-pipeline-masks-exit.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-pnpm-lint-typecheck-only.json +96 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-pnpm-test-after-edit.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-python-m-pytest.json +81 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-read-only-session.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-readme-edit-after-tests.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-readme-only-edit.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-rec-claude-code-py-parse-amount.json +184 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-rec-codex-py-rename-column.json +283 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-sed-edit-no-test.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-test-after-edit.json +89 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-test-exit-null.json +81 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-test-failed-exit2.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-tests-before-last-edit.json +98 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-time-make-test.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-uv-run-pytest.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/command_required/cr-write-event-then-no-run.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-body-and-trailer.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-breaking-bang.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-capitalized-type.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-chore-deps-scope.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-denied-bad-then-good-commit.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-denied-commit-only.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-empty-description.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-evasion-commit-tree-only-in-commits.json +97 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-evasion-hookspath-bad-message.json +90 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-evasion-no-verify-bad-message.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-failed-commit-identity.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-fix-with-scope.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-leading-blank-line.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-merge-commit.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-missing-space-after-colon.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-no-commit-no-git.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-no-type-prefix.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-plain-feat.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-quotes-and-symbols-in-subject.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-read-only-git-log.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-rec-claude-code-py-parse-amount.json +180 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-rec-copilot-py-parse-amount.json +129 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-refs-present.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-revert-commit.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-scope-slash-and-dot.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-scope-uppercase.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-second-commit-bad.json +100 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-signed-off-missing.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-signed-off-present.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-space-before-colon.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-subject-73-chars.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-subject-exactly-72.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-three-good-commits.json +123 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-ticket-prefix.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-unicode-in-description.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-wip-commit.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-wip-subject-conventional-body.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/commit_message/cm-wip-word-in-body.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-any-import.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-any-inside-identifier.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-clean-src-change.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-colon-any-annotation.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-console-as-value-not-call.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-console-log-in-ts.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-deletion-only.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-enumerate-word-not-enum.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-eslint-disable-comment.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-evasion-cat-append-print.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-evasion-diff-only-console-log.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-evasion-sed-append-print.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-export-default-added.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-export-default-in-comment.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-float-conversion.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-fstring-logger-call.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-markdown-only.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-named-export-added.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-new-file-clean.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-new-file-outside-globs.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-new-file-with-print.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-new-ts-file-enum.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-noqa-in-test.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-only-denied-edit.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-parametrize-not-skip.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-pprint-lookalike.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-print-in-scripts-outside-globs.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-print-in-src.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-print-in-tests-outside-globs.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-print-only-in-context-line.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-rec-copilot-py-parse-amount.json +133 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-removed-eslint-disable.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-removed-print-line.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-skip-marker-in-tests.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-ts-expect-error-in-test.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-type-ignore-in-src.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_forbidden_added/cfa-type-ignore-text-in-readme.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-adr-with-status-line.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-deleted-file-only.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-empty-new-file.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-evasion-cp-template-no-header.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-evasion-denied-write-then-heredoc-with-header.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-evasion-diff-only-new-module.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-evasion-heredoc-after-denied-write.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-evasion-touch-empty-module.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-existing-file-without-header-edited.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-existing-files-only.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-go-with-copyright.json +57 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-header-exactly-on-line-10.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-header-lowercase.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-header-on-line-12.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-header-wrong-license.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-mjs-new-no-header.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-mjs-with-header.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-new-file-outside-globs-no-header.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-new-file-outside-globs.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-new-module-and-new-test-both-compliant.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-new-module-no-header.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-new-module-with-header.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-new-test-no-header.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-only-denied-write.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-rec-codex-py-rename-column.json +283 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-renamed-file-is-not-new.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-shebang-coding-then-header.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-shebang-pushes-header-to-line-2.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-shebang-then-header.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-sql-no-comment-header.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-sql-with-comment-header.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-ts-header-on-line-4.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-ts-new-no-header.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-ts-new-with-header.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-ts-test-with-header.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/content_required_added/cra-two-new-files-one-missing.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-allow-partial.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-allowed-add-with-version.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-allowed-scoped-dev-dep.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-cargo-add-serde-json.json +48 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-cargo-version-bump.json +49 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-denied-add-only.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-evasion-diff-only-dependency.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-evasion-pnpm-denied-sed-package-json.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-evasion-uv-add-denied-pyproject-edit.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-go-get-mux.json +51 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-go-mod-version-bump.json +53 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-lockfile-only-install.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-npm-ci-node.json +50 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-npm-install-left-pad.json +49 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-package-json-script-added.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pip-install-editable-dot.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pip-install-requests.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pip-install-requirements-file.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pip-show-and-list.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pnpm-add-cd-chain.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pnpm-add-network-failure.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pnpm-add-zod.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pnpm-install-frozen.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-poetry-add-attrs.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pyproject-hand-edit.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-pyproject-version-bump.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-rec-claude-code-ts-add-dependency.json +119 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-rec-opencode-ts-add-dependency.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-remove-dependency.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-requirements-added-line.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-ruff-select-list-item.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-semicolon-chain-pnpm-add.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-src-only-change.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-uv-add-requests.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-uv-run-pip-install.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-version-bump-package-json.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/dependency_unchanged/du-version-bump-pyproject.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-adr-ok.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-adr-without-number.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-camelcase-ts.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-deleted-file-only.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-denied-write-only.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-dts-suffix.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-edits-only.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-empty-init-file.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-evasion-diff-only-bad-name.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-evasion-heredoc-after-denied-write.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-evasion-mv-from-scratch.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-evasion-touch-badly-named-file.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-existing-badly-named-file-edited.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-go-camelcase.json +54 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-go-snake.json +56 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-kebab-in-nested-dir.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-kebab-test-ts.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-kebab-ts-new.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-kebab-with-digits.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-migration-hyphens.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-migration-ok.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-migration-three-digits.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-migration-uppercase-words.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-migration-without-number.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-nested-conftest.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-new-file-outside-globs-bad-name.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-new-file-outside-globs.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-pascalcase-ts.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-py-camelcase.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-py-leading-underscore.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-py-snake-new.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-py-test-prefixed.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-py-test-suffix-instead-of-prefix.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-rec-opencode-py-rename-column.json +247 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-snake-case-ts.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-spec-instead-of-test.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/file_naming/fn-uppercase-directory-ok.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-budget-exceeded-mid-run.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-check-mark-not-in-emoji-set.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-crashed-after-tool-error.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-emoji-checkmark.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-emoji-in-astral-plane.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-emoji-only-in-earlier-message-event.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-emoji-sparkles.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-ends-with-question.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-forbidden-phrase-in-quote.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-hope-this-helps.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-hope-to-follow-up.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-long-message-summary-at-end.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-no-emoji-clean.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-no-summary-line.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-only-denied-and-no-answer.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-question-in-the-middle.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-rec-claude-code-ts-add-dependency.json +119 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-rec-opencode-ts-add-dependency.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-sorry-in-message.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-sorted-not-sorry.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-bold-label.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-crlf-endings.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-first-line.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-header-with-bullets.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-indented.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-inside-code-fence.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-last-line.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-lowercase.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-markdown-heading.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-mid-line.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-middle-line.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-summary-only-in-message-event.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-timeout-no-final-message.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-todo-left-in-message.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-todo-lowercase-word.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/final_message/fm-typographic-punctuation.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-answer-only.json +48 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-bash-c-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-branch-and-tag-listing.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-cd-chain-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-checkout-new-branch.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-cherry-pick-creates-commit.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-command-substitution-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-commit-amend.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-commit-failed-identity-unknown.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-commit-graph-lookalike.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-commit-msg-draft-file.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-config-commit-gpgsign.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-dash-c-identity-commit.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-denied-commit-leave-uncommitted.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-denied-commit-only-empty-diff.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-diff-nonempty-no-git.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-echo-git-commit.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-env-identity-commit.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-evasion-commit-visible-only-in-commits.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-evasion-denied-then-commit-tree.json +93 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-evasion-denied-then-hookspath.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-evasion-git-alias-commit.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-failed-test-command-only.json +59 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-git-add-only.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-git-commit-am.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-git-commit-m.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-git-help-commit.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-grep-git-commit-in-docs.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-heredoc-message-commit.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-log-grep-commit.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-or-chain-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-reads-only-no-git.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-rec-claude-code-py-parse-amount.json +178 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-rec-copilot-py-parse-amount.json +127 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-rec-opencode-py-rename-column.json +242 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-revert-creates-commit.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-stash-and-pop.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_commit/nc-status-and-diff.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-answer-only.json +48 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-bash-c-push.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-cd-chain-push.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-checkout-and-switch.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-commit-and-stash-list.json +91 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-commit-message-mentions-push.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-commit-without-push.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-config-push-default.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-dash-c-extra-header-push.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-denied-push-only.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-denied-push-with-diff.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-diff-nonempty-no-git.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-echo-git-push.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-env-ssh-command-push.json +88 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-evasion-denied-then-C-push.json +96 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-evasion-denied-then-sh-c.json +99 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-evasion-gh-pr-create-pushes-branch.json +97 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-evasion-make-publish-target.json +97 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-failing-non-git-command.json +61 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-fetch-then-push-refspec.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-git-diff-origin.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-git-push-origin-main.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-global-options-no-pager-C-push.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-grep-git-push-docs.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-help-push.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-log-origin-main.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-nohup-push.json +87 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-pull-and-fetch.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-push-dry-run.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-push-force-with-lease.json +85 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-push-help.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-push-rejected-non-fast-forward.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-push-script-name-in-ls.json +78 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-push-set-upstream-head.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-reads-only-no-git.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-rec-claude-code-ts-add-dependency.json +117 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-rec-opencode-ts-add-dependency.json +86 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-remote-add-no-push.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/no_push/np-remote-v-and-ls-remote.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-adr-new-record.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-cat-old-migration-then-new.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-cp-from-old-migration.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-delete-existing-migration.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-django-new-migration.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-edit-existing-migration.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-edit-generated-file.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-cat-append-migration.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-cp-over-migration.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-diff-only-migration.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-perl-pi-migration.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-python-open-write-generated.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-sed-i-migration.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-evasion-tee-append-migration.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-git-log-patch-migrations.json +83 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-heredoc-new-migration.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-mv-own-new-migration.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-nested-package-lock.json +69 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-new-fixture-file.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-new-migration-when-all-forbidden.json +63 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-new-migration-with-db-change.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-only-denied-migration-edit.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-read-events-old-migrations.json +77 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-read-only-migrations.json +89 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-rec-codex-py-rename-column-generated.json +281 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-rec-codex-py-rename-column-migrations.json +282 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-rec-opencode-py-rename-column-uv-lock.json +246 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-rename-existing-migration.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-sed-i-own-new-migration.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-sed-n-old-migration.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-src-edit-only.json +62 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-tee-new-migration.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-touch-then-fill-new-migration.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_forbidden/pf-write-then-remove-generated.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-changelog-missing.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-changelog-updated.json +73 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-deleted-src-module.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-docs-only.json +66 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-empty-diff-read-only.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-evasion-denied-write-then-heredoc-test.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-evasion-test-placed-in-src.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-evasion-test-write-denied.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-evasion-test-written-outside-repo.json +84 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-go-source-and-test.json +72 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-go-source-without-test.json +64 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-lockfile-only-change.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-manifest-with-lockfile.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-manifest-without-lockfile.json +71 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-many-src-one-test.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-migration-with-db.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-migration-without-db-change.json +67 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-nested-test-dir.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-new-module-new-test.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-new-src-module-no-test.json +65 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-openapi-with-generated.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-openapi-without-generated.json +70 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-rec-claude-code-py-parse-amount.json +185 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-rec-opencode-py-rename-column.json +249 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-renamed-src-module.json +68 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-src-and-conftest.json +75 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-src-and-readme.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-src-and-test-modified.json +80 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-src-only.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-tests-only.json +74 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-ts-other-modules-test.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-ts-src-and-test.json +82 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-ts-src-no-test.json +76 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-ts-test-only-self-satisfying.json +79 -0
- obey_cli-0.1.0/fixtures/checkers/heldout/path_required_with/pw-two-src-files-no-tests.json +82 -0
- obey_cli-0.1.0/fixtures/extraction/CHANGES.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-chain/CLAUDE.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-chain/docs/agent/checklist.md +14 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-chain/docs/agent/release.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-chain/docs/agent/style.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-chain/docs/agent/testing.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-chain/labels.yaml +115 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-in-code/CLAUDE.md +30 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-in-code/docs/examples/team-rules.md +5 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-in-code/docs/testing.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-import-in-code/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-local-ignored/.gitignore +2 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-local-ignored/CLAUDE.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-local-ignored/docs/conventions.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-local-ignored/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-missing-import-yarn/CLAUDE.md +16 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-missing-import-yarn/docs/frontend.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/dev/claude-missing-import-yarn/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-python-applyto/.github/copilot-instructions.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-python-applyto/.github/instructions/python.instructions.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-python-applyto/.github/instructions/tests.instructions.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-python-applyto/labels.yaml +75 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-ts-yarn-applyto/.github/copilot-instructions.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-ts-yarn-applyto/.github/instructions/frontend.instructions.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/copilot-ts-yarn-applyto/labels.yaml +59 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-python-api/.cursor/rules/api.mdc +10 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-python-api/.cursor/rules/general.mdc +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-python-api/.cursor/rules/python.mdc +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-python-api/alembic/versions/20240101_init.py +3 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-python-api/alembic/versions/20240215_add_tickets.py +3 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-python-api/labels.yaml +83 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-ts-react/.cursor/rules/general.mdc +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-ts-react/.cursor/rules/testing.mdc +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-ts-react/.cursor/rules/typescript.mdc +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/cursor-mdc-ts-react/labels.yaml +79 -0
- obey_cli-0.1.0/fixtures/extraction/dev/data-pipeline-numbered-reasons/AGENTS.md +28 -0
- obey_cli-0.1.0/fixtures/extraction/dev/data-pipeline-numbered-reasons/data/raw/README.txt +1 -0
- obey_cli-0.1.0/fixtures/extraction/dev/data-pipeline-numbered-reasons/labels.yaml +67 -0
- obey_cli-0.1.0/fixtures/extraction/dev/data-pipeline-numbered-reasons/src/tidewater/clean.py +5 -0
- obey_cli-0.1.0/fixtures/extraction/dev/django-migrations-headings/AGENTS.md +24 -0
- obey_cli-0.1.0/fixtures/extraction/dev/django-migrations-headings/accounts/migrations/0001_initial.py +7 -0
- obey_cli-0.1.0/fixtures/extraction/dev/django-migrations-headings/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/dev/django-migrations-headings/shop/migrations/0001_initial.py +7 -0
- obey_cli-0.1.0/fixtures/extraction/dev/django-migrations-headings/shop/migrations/0002_add_sku.py +6 -0
- obey_cli-0.1.0/fixtures/extraction/dev/django-migrations-headings/shop/models.py +5 -0
- obey_cli-0.1.0/fixtures/extraction/dev/docs-site-dodont/AGENTS.md +32 -0
- obey_cli-0.1.0/fixtures/extraction/dev/docs-site-dodont/docs/api/index.md +5 -0
- obey_cli-0.1.0/fixtures/extraction/dev/docs-site-dodont/docs/guides/install.md +5 -0
- obey_cli-0.1.0/fixtures/extraction/dev/docs-site-dodont/labels.yaml +87 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-go-emoji/GEMINI.md +20 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-go-emoji/internal/gen/seeds.go +2 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-go-emoji/labels.yaml +67 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-nested-ts-npm/GEMINI.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-nested-ts-npm/labels.yaml +87 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-nested-ts-npm/server/GEMINI.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-nested-ts-npm/web/GEMINI.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-py-poetry-prose/GEMINI.md +24 -0
- obey_cli-0.1.0/fixtures/extraction/dev/gemini-py-poetry-prose/labels.yaml +55 -0
- obey_cli-0.1.0/fixtures/extraction/dev/go-service-numbered/AGENTS.md +24 -0
- obey_cli-0.1.0/fixtures/extraction/dev/go-service-numbered/labels.yaml +67 -0
- obey_cli-0.1.0/fixtures/extraction/dev/go-service-numbered/vendor/modules.txt +3 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-agents-gemini-copilot/.github/copilot-instructions.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-agents-gemini-copilot/AGENTS.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-agents-gemini-copilot/GEMINI.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-agents-gemini-copilot/labels.yaml +71 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-claude-agents-cursor/.cursor/rules/ui.mdc +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-claude-agents-cursor/AGENTS.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-claude-agents-cursor/CLAUDE.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/dev/mixed-claude-agents-cursor/labels.yaml +75 -0
- obey_cli-0.1.0/fixtures/extraction/dev/monorepo-nested-agents/AGENTS.md +16 -0
- obey_cli-0.1.0/fixtures/extraction/dev/monorepo-nested-agents/labels.yaml +87 -0
- obey_cli-0.1.0/fixtures/extraction/dev/monorepo-nested-agents/packages/api/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/dev/monorepo-nested-agents/packages/web/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-docs-tools/AGENTS.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-docs-tools/docs/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-docs-tools/docs/reference/cli.md +3 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-docs-tools/labels.yaml +95 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-docs-tools/tools/AGENTS.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-go-services/AGENTS.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-go-services/labels.yaml +83 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-go-services/services/billing/AGENTS.md +14 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-go-services/services/notifications/AGENTS.md +14 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-go-services/services/notifications/internal/pb/event.pb.go +2 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-rust-workspace/AGENTS.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-rust-workspace/crates/core/AGENTS.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/dev/nested-agents-rust-workspace/labels.yaml +79 -0
- obey_cli-0.1.0/fixtures/extraction/dev/py-uv-terse-bullets/AGENTS.md +30 -0
- obey_cli-0.1.0/fixtures/extraction/dev/py-uv-terse-bullets/labels.yaml +67 -0
- obey_cli-0.1.0/fixtures/extraction/dev/rfc-style-edge-copilot/.github/instructions/edge.instructions.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/dev/rfc-style-edge-copilot/AGENTS.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/dev/rfc-style-edge-copilot/apps/edge/AGENTS.md +16 -0
- obey_cli-0.1.0/fixtures/extraction/dev/rfc-style-edge-copilot/labels.yaml +91 -0
- obey_cli-0.1.0/fixtures/extraction/dev/rust-cargo-table/AGENTS.md +27 -0
- obey_cli-0.1.0/fixtures/extraction/dev/rust-cargo-table/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/dev/ts-pnpm-prose-buried/AGENTS.md +29 -0
- obey_cli-0.1.0/fixtures/extraction/dev/ts-pnpm-prose-buried/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/MANIFEST.sha256 +70 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/bun-service-softened/AGENTS.md +32 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/bun-service-softened/labels.yaml +59 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/bun-service-softened/src/gen/schema.ts +2 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-chain-inline-ignored/CLAUDE.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-chain-inline-ignored/docs/archive/old-rules.md +5 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-chain-inline-ignored/docs/policy/delivery.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-chain-inline-ignored/docs/policy/dependencies.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-chain-inline-ignored/docs/policy/quality.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-chain-inline-ignored/labels.yaml +59 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-import-cycle/CLAUDE.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-import-cycle/docs/rules/errors.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-import-cycle/docs/rules/release.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-import-cycle/labels.yaml +55 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-local-fence-missing/CLAUDE.local.md +5 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-local-fence-missing/CLAUDE.md +21 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-local-fence-missing/docs/naming.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-local-fence-missing/docs/sample-notes.md +4 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/claude-local-fence-missing/labels.yaml +55 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/.github/copilot-instructions.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/.github/instructions/migrations.instructions.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/.github/instructions/views.instructions.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/directory/migrations/0001_initial.py +7 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/employees/migrations/0001_initial.py +7 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/employees/migrations/0002_add_department.py +6 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/employees/models.py +5 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/copilot-applyto-django/labels.yaml +55 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-copilot-python/.cursor/rules/python.mdc +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-copilot-python/.github/copilot-instructions.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-copilot-python/labels.yaml +55 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-mdc-go/.cursor/rules/commits.mdc +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-mdc-go/.cursor/rules/go-style.mdc +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-mdc-go/.cursor/rules/tests.mdc +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/cursor-mdc-go/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/AGENTS.md +17 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/backend/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/backend/customers/migrations/0001_initial.py +7 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/backend/orders/migrations/0001_initial.py +7 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/backend/orders/migrations/0002_order_notes.py +6 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/backend/orders/models.py +5 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/django-backend-nested/labels.yaml +63 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/gemini-docs-site-table/GEMINI.md +24 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/gemini-docs-site-table/docs/api/index.md +5 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/gemini-docs-site-table/labels.yaml +59 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/gemini-rust-numbered/GEMINI.md +19 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/gemini-rust-numbered/labels.yaml +59 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/mixed-claude-cursor-copilot-sql/.cursor/rules/models.mdc +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/mixed-claude-cursor-copilot-sql/.github/instructions/sql.instructions.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/mixed-claude-cursor-copilot-sql/CLAUDE.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/mixed-claude-cursor-copilot-sql/docs/sql-style.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/mixed-claude-cursor-copilot-sql/labels.yaml +71 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-js-yarn-monorepo/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-js-yarn-monorepo/apps/dashboard/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-js-yarn-monorepo/labels.yaml +79 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-js-yarn-monorepo/libs/ui/AGENTS.md +15 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-polyglot-go-rust/AGENTS.md +11 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-polyglot-go-rust/go/AGENTS.md +14 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-polyglot-go-rust/go/internal/gen/types.go +2 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-polyglot-go-rust/labels.yaml +79 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-polyglot-go-rust/rust/AGENTS.md +13 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-python-poetry-pipeline/AGENTS.md +26 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-python-poetry-pipeline/labels.yaml +75 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-python-poetry-pipeline/services/ingest/AGENTS.md +12 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-python-poetry-pipeline/shared/AGENTS.md +10 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-python-poetry-pipeline/tests/golden/orders_expected.csv +2 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/nested-python-poetry-pipeline/tests/golden/summary/daily.csv +2 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/pip-rfc-table/AGENTS.md +20 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/pip-rfc-table/etl/load.py +3 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/pip-rfc-table/labels.yaml +67 -0
- obey_cli-0.1.0/fixtures/extraction/heldout/pip-rfc-table/vendor/README.md +1 -0
- obey_cli-0.1.0/fixtures/hook-payloads/claude-code-pretooluse-shell.json +24 -0
- obey_cli-0.1.0/fixtures/hook-payloads/codex-pretooluse-shell.json +21 -0
- obey_cli-0.1.0/fixtures/hook-payloads/copilot-pretooluse-shell.json +17 -0
- obey_cli-0.1.0/fixtures/hook-payloads/opencode-pretooluse-shell.json +14 -0
- obey_cli-0.1.0/fixtures/runs/claude-code/py-parse-amount.json +191 -0
- obey_cli-0.1.0/fixtures/runs/claude-code/py-rename-column.json +230 -0
- obey_cli-0.1.0/fixtures/runs/claude-code/ts-add-dependency.json +130 -0
- obey_cli-0.1.0/fixtures/runs/codex/py-parse-amount.json +180 -0
- obey_cli-0.1.0/fixtures/runs/codex/py-rename-column.json +290 -0
- obey_cli-0.1.0/fixtures/runs/codex/ts-add-dependency.json +216 -0
- obey_cli-0.1.0/fixtures/runs/copilot/py-parse-amount.json +140 -0
- obey_cli-0.1.0/fixtures/runs/copilot/py-rename-column.json +169 -0
- obey_cli-0.1.0/fixtures/runs/copilot/ts-add-dependency.json +105 -0
- obey_cli-0.1.0/fixtures/runs/opencode/py-parse-amount.json +142 -0
- obey_cli-0.1.0/fixtures/runs/opencode/py-rename-column.json +255 -0
- obey_cli-0.1.0/fixtures/runs/opencode/ts-add-dependency.json +99 -0
- obey_cli-0.1.0/fixtures/streams/claude-code/hook.jsonl +8 -0
- obey_cli-0.1.0/fixtures/streams/claude-code/load.jsonl +4 -0
- obey_cli-0.1.0/fixtures/streams/claude-code/py-parse-amount.jsonl +43 -0
- obey_cli-0.1.0/fixtures/streams/claude-code/py-rename-column.jsonl +50 -0
- obey_cli-0.1.0/fixtures/streams/claude-code/ts-add-dependency.jsonl +26 -0
- obey_cli-0.1.0/fixtures/streams/codex/hook.jsonl +7 -0
- obey_cli-0.1.0/fixtures/streams/codex/load.jsonl +4 -0
- obey_cli-0.1.0/fixtures/streams/codex/py-parse-amount.jsonl +30 -0
- obey_cli-0.1.0/fixtures/streams/codex/py-rename-column.jsonl +50 -0
- obey_cli-0.1.0/fixtures/streams/codex/ts-add-dependency.jsonl +41 -0
- obey_cli-0.1.0/fixtures/streams/copilot/hook.jsonl +48 -0
- obey_cli-0.1.0/fixtures/streams/copilot/load.jsonl +22 -0
- obey_cli-0.1.0/fixtures/streams/copilot/py-parse-amount.jsonl +626 -0
- obey_cli-0.1.0/fixtures/streams/copilot/py-rename-column.jsonl +846 -0
- obey_cli-0.1.0/fixtures/streams/copilot/ts-add-dependency.jsonl +446 -0
- obey_cli-0.1.0/fixtures/streams/opencode/hook.jsonl +6 -0
- obey_cli-0.1.0/fixtures/streams/opencode/load.jsonl +3 -0
- obey_cli-0.1.0/fixtures/streams/opencode/py-parse-amount.jsonl +24 -0
- obey_cli-0.1.0/fixtures/streams/opencode/py-rename-column.jsonl +39 -0
- obey_cli-0.1.0/fixtures/streams/opencode/ts-add-dependency.jsonl +12 -0
- obey_cli-0.1.0/pyproject.toml +107 -0
- obey_cli-0.1.0/schemas/obey-config-v1.json +116 -0
- obey_cli-0.1.0/schemas/report-v1.json +55 -0
- obey_cli-0.1.0/schemas/survey-record-v1.json +30 -0
- obey_cli-0.1.0/src/obey_cli/__init__.py +3 -0
- obey_cli-0.1.0/src/obey_cli/__main__.py +3 -0
- obey_cli-0.1.0/src/obey_cli/checkers/__init__.py +30 -0
- obey_cli-0.1.0/src/obey_cli/checkers/samples.py +95 -0
- obey_cli-0.1.0/src/obey_cli/cli.py +201 -0
- obey_cli-0.1.0/src/obey_cli/commands.py +676 -0
- obey_cli-0.1.0/src/obey_cli/config.py +90 -0
- obey_cli-0.1.0/src/obey_cli/discover.py +232 -0
- obey_cli-0.1.0/src/obey_cli/enforce/__init__.py +114 -0
- obey_cli-0.1.0/src/obey_cli/enforce/engine/__init__.py +0 -0
- obey_cli-0.1.0/src/obey_cli/enforce/engine/obey_engine.py +2005 -0
- obey_cli-0.1.0/src/obey_cli/enforce/merge.py +196 -0
- obey_cli-0.1.0/src/obey_cli/enforce/targets/__init__.py +354 -0
- obey_cli-0.1.0/src/obey_cli/enforce/templates/obey_hook.py +452 -0
- obey_cli-0.1.0/src/obey_cli/enforce/templates/pre_commit.py +116 -0
- obey_cli-0.1.0/src/obey_cli/extract.py +1342 -0
- obey_cli-0.1.0/src/obey_cli/lint.py +125 -0
- obey_cli-0.1.0/src/obey_cli/llm.py +129 -0
- obey_cli-0.1.0/src/obey_cli/parse_md.py +260 -0
- obey_cli-0.1.0/src/obey_cli/probes/__init__.py +0 -0
- obey_cli-0.1.0/src/obey_cli/probes/facts.py +162 -0
- obey_cli-0.1.0/src/obey_cli/probes/templates.py +326 -0
- obey_cli-0.1.0/src/obey_cli/py.typed +0 -0
- obey_cli-0.1.0/src/obey_cli/report/__init__.py +314 -0
- obey_cli-0.1.0/src/obey_cli/resources.py +35 -0
- obey_cli-0.1.0/src/obey_cli/rules.py +75 -0
- obey_cli-0.1.0/src/obey_cli/runner/__init__.py +0 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/__init__.py +22 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/base.py +96 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/claude_code.py +203 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/codex.py +152 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/copilot.py +142 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/gemini.py +125 -0
- obey_cli-0.1.0/src/obey_cli/runner/agents/opencode.py +156 -0
- obey_cli-0.1.0/src/obey_cli/runner/core.py +140 -0
- obey_cli-0.1.0/src/obey_cli/runner/egress_proxy.py +166 -0
- obey_cli-0.1.0/src/obey_cli/runner/gateway.py +529 -0
- obey_cli-0.1.0/src/obey_cli/runner/ledger.py +132 -0
- obey_cli-0.1.0/src/obey_cli/runner/local.py +176 -0
- obey_cli-0.1.0/src/obey_cli/runner/orchestrate.py +227 -0
- obey_cli-0.1.0/src/obey_cli/runner/sandbox/Dockerfile +41 -0
- obey_cli-0.1.0/src/obey_cli/runner/sandbox/entrypoint.sh +38 -0
- obey_cli-0.1.0/src/obey_cli/runner/sandbox.py +341 -0
- obey_cli-0.1.0/src/obey_cli/runner/sidecar.py +38 -0
- obey_cli-0.1.0/src/obey_cli/runner/workspace.py +187 -0
- obey_cli-0.1.0/src/obey_cli/score.py +150 -0
- obey_cli-0.1.0/src/obey_cli/study/__init__.py +0 -0
- obey_cli-0.1.0/src/obey_cli/study/analysis.py +277 -0
- obey_cli-0.1.0/src/obey_cli/study/design.py +98 -0
- obey_cli-0.1.0/src/obey_cli/study/experiment.py +198 -0
- obey_cli-0.1.0/src/obey_cli/study/report.py +519 -0
- obey_cli-0.1.0/src/obey_cli/study/survey.py +438 -0
- obey_cli-0.1.0/study/DEVIATIONS.md +84 -0
- obey_cli-0.1.0/study/PREREGISTRATION.md +123 -0
- obey_cli-0.1.0/study/REPORT.md +244 -0
- obey_cli-0.1.0/study/design.yaml +286 -0
- obey_cli-0.1.0/study/repos/py-service/.gitignore +12 -0
- obey_cli-0.1.0/study/repos/py-service/AGENTS.md +38 -0
- obey_cli-0.1.0/study/repos/py-service/Makefile +13 -0
- obey_cli-0.1.0/study/repos/py-service/README.md +44 -0
- obey_cli-0.1.0/study/repos/py-service/migrations/0001_init.sql +26 -0
- obey_cli-0.1.0/study/repos/py-service/migrations/0002_add_customers.sql +12 -0
- obey_cli-0.1.0/study/repos/py-service/migrations/0003_invoice_due_date.sql +7 -0
- obey_cli-0.1.0/study/repos/py-service/pyproject.toml +35 -0
- obey_cli-0.1.0/study/repos/py-service/scripts/gen_currency.py +64 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/__init__.py +4 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/db.py +215 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/errors.py +26 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/generated/__init__.py +2 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/generated/currency_codes.py +29 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/importers.py +117 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/models.py +60 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/money.py +79 -0
- obey_cli-0.1.0/study/repos/py-service/src/ledgerline/service.py +158 -0
- obey_cli-0.1.0/study/repos/py-service/tests/conftest.py +30 -0
- obey_cli-0.1.0/study/repos/py-service/tests/test_db.py +63 -0
- obey_cli-0.1.0/study/repos/py-service/tests/test_importers.py +81 -0
- obey_cli-0.1.0/study/repos/py-service/tests/test_money.py +56 -0
- obey_cli-0.1.0/study/repos/py-service/tests/test_service.py +123 -0
- obey_cli-0.1.0/study/repos/ts-web/.gitignore +8 -0
- obey_cli-0.1.0/study/repos/ts-web/AGENTS.md +38 -0
- obey_cli-0.1.0/study/repos/ts-web/README.md +36 -0
- obey_cli-0.1.0/study/repos/ts-web/eslint.config.js +24 -0
- obey_cli-0.1.0/study/repos/ts-web/index.html +21 -0
- obey_cli-0.1.0/study/repos/ts-web/openapi.yaml +86 -0
- obey_cli-0.1.0/study/repos/ts-web/package.json +26 -0
- obey_cli-0.1.0/study/repos/ts-web/pnpm-lock.yaml +1439 -0
- obey_cli-0.1.0/study/repos/ts-web/scripts/gen-types.mjs +109 -0
- obey_cli-0.1.0/study/repos/ts-web/src/api/client.test.ts +60 -0
- obey_cli-0.1.0/study/repos/ts-web/src/api/client.ts +71 -0
- obey_cli-0.1.0/study/repos/ts-web/src/api/response-guards.test.ts +21 -0
- obey_cli-0.1.0/study/repos/ts-web/src/api/response-guards.ts +38 -0
- obey_cli-0.1.0/study/repos/ts-web/src/date-utils.test.ts +51 -0
- obey_cli-0.1.0/study/repos/ts-web/src/date-utils.ts +60 -0
- obey_cli-0.1.0/study/repos/ts-web/src/generated/api-types.ts +35 -0
- obey_cli-0.1.0/study/repos/ts-web/src/logger.test.ts +24 -0
- obey_cli-0.1.0/study/repos/ts-web/src/logger.ts +36 -0
- obey_cli-0.1.0/study/repos/ts-web/src/main.ts +30 -0
- obey_cli-0.1.0/study/repos/ts-web/src/render-table.test.ts +34 -0
- obey_cli-0.1.0/study/repos/ts-web/src/render-table.ts +48 -0
- obey_cli-0.1.0/study/repos/ts-web/src/shift-planner.test.ts +66 -0
- obey_cli-0.1.0/study/repos/ts-web/src/shift-planner.ts +101 -0
- obey_cli-0.1.0/study/repos/ts-web/tsconfig.json +20 -0
- obey_cli-0.1.0/study/repos/ts-web/vitest.config.ts +8 -0
- obey_cli-0.1.0/study/results/analysis.json +174 -0
- obey_cli-0.1.0/study/results/analysis.rescored.json +174 -0
- obey_cli-0.1.0/study/results/enforce-baseline.jsonl +210 -0
- obey_cli-0.1.0/study/results/enforce-baseline.rescored.jsonl +210 -0
- obey_cli-0.1.0/study/results/enforce-prohibition.jsonl +28 -0
- obey_cli-0.1.0/study/results/enforce-prohibition.rescored.jsonl +28 -0
- obey_cli-0.1.0/study/results/enforce-reason.jsonl +14 -0
- obey_cli-0.1.0/study/results/enforce-reason.rescored.jsonl +14 -0
- obey_cli-0.1.0/study/results/enforce.jsonl +10 -0
- obey_cli-0.1.0/study/results/main.jsonl +2241 -0
- obey_cli-0.1.0/study/results/main.rescored.jsonl +2241 -0
- obey_cli-0.1.0/study/results/pilot.jsonl +160 -0
- obey_cli-0.1.0/study/results/plan.json +17 -0
- obey_cli-0.1.0/study/survey/features.jsonl +600 -0
- obey_cli-0.1.0/study/survey/llm.jsonl +600 -0
- obey_cli-0.1.0/study/survey/sample.jsonl +600 -0
- obey_cli-0.1.0/study/survey/summary.json +118 -0
- obey_cli-0.1.0/tests/conftest.py +29 -0
- obey_cli-0.1.0/tests/test_adapters.py +152 -0
- obey_cli-0.1.0/tests/test_cli.py +41 -0
- obey_cli-0.1.0/tests/test_commands.py +112 -0
- obey_cli-0.1.0/tests/test_config.py +56 -0
- obey_cli-0.1.0/tests/test_discover.py +66 -0
- obey_cli-0.1.0/tests/test_enforce_merge.py +219 -0
- obey_cli-0.1.0/tests/test_engine.py +477 -0
- obey_cli-0.1.0/tests/test_extract.py +98 -0
- obey_cli-0.1.0/tests/test_gateway_proxy.py +503 -0
- obey_cli-0.1.0/tests/test_hooks.py +500 -0
- obey_cli-0.1.0/tests/test_ledger_llm.py +74 -0
- obey_cli-0.1.0/tests/test_local_runner.py +67 -0
- obey_cli-0.1.0/tests/test_parse_md.py +79 -0
- obey_cli-0.1.0/tests/test_probe_validation.py +221 -0
- obey_cli-0.1.0/tests/test_report.py +83 -0
- obey_cli-0.1.0/tests/test_run_docker.py +125 -0
- obey_cli-0.1.0/tests/test_sandbox_docker.py +87 -0
- obey_cli-0.1.0/tests/test_sandbox_unit.py +26 -0
- obey_cli-0.1.0/tests/test_score.py +46 -0
- obey_cli-0.1.0/tests/test_study.py +140 -0
- obey_cli-0.1.0/tests/test_survey.py +95 -0
- obey_cli-0.1.0/tests/test_workspace.py +75 -0
- obey_cli-0.1.0/uv.lock +2146 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Copy to .env (never commit .env). obey reads these from the environment.
|
|
2
|
+
OPENROUTER_API_KEY=
|
|
3
|
+
# Optional: any OpenAI-compatible endpoint for `obey extract --llm`
|
|
4
|
+
OBEY_LLM_BASE_URL=https://openrouter.ai/api/v1
|
|
5
|
+
OBEY_LLM_MODEL=anthropic/claude-haiku-5.5
|
|
6
|
+
# Optional: for `obey study survey --collect`
|
|
7
|
+
GITHUB_TOKEN=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
- id: obey
|
|
2
|
+
name: obey (AGENTS.md rules on staged changes)
|
|
3
|
+
description: Check staged changes against the rules compiled by `obey enforce`.
|
|
4
|
+
entry: obey precommit
|
|
5
|
+
language: python
|
|
6
|
+
pass_filenames: false
|
|
7
|
+
stages: [pre-commit]
|
|
8
|
+
- id: obey-commit-msg
|
|
9
|
+
name: obey (commit message rules)
|
|
10
|
+
description: Check the commit message against the rules compiled by `obey enforce`.
|
|
11
|
+
entry: obey precommit --commit-msg
|
|
12
|
+
language: python
|
|
13
|
+
stages: [commit-msg]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented here. The format follows Keep a Changelog, and the project uses
|
|
4
|
+
semantic versioning.
|
|
5
|
+
|
|
6
|
+
## [0.1.0] - 2026-10-24
|
|
7
|
+
|
|
8
|
+
First release.
|
|
9
|
+
|
|
10
|
+
- `obey extract`: rules from AGENTS.md (nested), CLAUDE.md with imports, GEMINI.md, Cursor `.mdc` rules and Copilot
|
|
11
|
+
instruction files, mapped to twelve deterministic checker types; optional LLM proposals that are never accepted
|
|
12
|
+
automatically.
|
|
13
|
+
- `obey probe`: a tempting task per rule from templates filled with repository facts.
|
|
14
|
+
- `obey run`: Claude Code, Codex CLI, OpenCode, Copilot CLI and Gemini CLI run headless in a container behind an
|
|
15
|
+
allow-listing egress proxy and a key-holding model gateway; per-rule compliance with Wilson intervals, a no-rule
|
|
16
|
+
baseline, budgets, `--estimate`, `--compare` with evasion counts, and `--unsafe-local`.
|
|
17
|
+
- `obey enforce`: hooks for Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot CLI and OpenCode plus a git pre-commit
|
|
18
|
+
check, all calling one standard-library rule engine; idempotent, JSON-preserving merges with `--dry-run` and
|
|
19
|
+
`--remove`.
|
|
20
|
+
- `obey lint`, the GitHub Action, `.pre-commit-hooks.yaml`, `obey demo`, `obey doctor`, `obey init`.
|
|
21
|
+
- The study: a survey of 600 public AGENTS.md files, a pre-registered experiment on rule phrasing, and a before/after
|
|
22
|
+
measurement of hooks with evasions (`study/REPORT.md`).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for helping. obey measures coding agents, so changes to anything that decides a verdict need evidence.
|
|
4
|
+
|
|
5
|
+
## Set up
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
git clone https://github.com/B0yko/obey && cd obey
|
|
9
|
+
uv sync
|
|
10
|
+
uv run pytest -q
|
|
11
|
+
uv run ruff check . && uv run ruff format --check . && uv run mypy
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Tests make no network calls (a fixture blocks sockets); tests that need Docker or a paid model are marked and skipped by
|
|
15
|
+
default.
|
|
16
|
+
|
|
17
|
+
## Rules for changes
|
|
18
|
+
|
|
19
|
+
- **Checkers and the rule engine** (`src/obey_cli/enforce/engine/obey_engine.py`) are shared by measurement and
|
|
20
|
+
enforcement. Keep them standard-library only and Python 3.9 compatible, add a dev case under
|
|
21
|
+
`fixtures/checkers/dev/`, and run `uv run python eval/run_eval.py`. Never edit `fixtures/*/heldout/`; if a held-out
|
|
22
|
+
label is wrong, explain it in the set's `CHANGES.md`.
|
|
23
|
+
- **Extraction patterns** (`src/obey_cli/extract.py`): add or extend a dev case under `fixtures/extraction/dev/` with a
|
|
24
|
+
`labels.yaml` and check precision does not drop.
|
|
25
|
+
- **Probe templates** (`src/obey_cli/probes/templates.py`): add a scripted obedient and disobedient session to
|
|
26
|
+
`tests/test_probe_validation.py`.
|
|
27
|
+
- **Agent adapters**: record a stream with `eval/contract_check.py` or `eval/record_runs.py` and add it under
|
|
28
|
+
`fixtures/streams/`; never commit API keys or local paths.
|
|
29
|
+
- **Hook targets**: keep merges JSON-preserving and idempotent; `tests/test_enforce_merge.py` must pass.
|
|
30
|
+
|
|
31
|
+
## Commits and pull requests
|
|
32
|
+
|
|
33
|
+
Conventional Commits (`feat:`, `fix:`, `docs:` …). One change per pull request, with tests. CI must be green.
|
obey_cli-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
|
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
7
|
+
|
|
8
|
+
1. Definitions.
|
|
9
|
+
|
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
12
|
+
|
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
14
|
+
the copyright owner that is granting the License.
|
|
15
|
+
|
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
17
|
+
other entities that control, are controlled by, or are under common
|
|
18
|
+
control with that entity. For the purposes of this definition,
|
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
20
|
+
direction or management of such entity, whether by contract or
|
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
23
|
+
|
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
25
|
+
exercising permissions granted by this License.
|
|
26
|
+
|
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
28
|
+
including but not limited to software source code, documentation
|
|
29
|
+
source, and configuration files.
|
|
30
|
+
|
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
|
32
|
+
transformation or translation of a Source form, including but
|
|
33
|
+
not limited to compiled object code, generated documentation,
|
|
34
|
+
and conversions to other media types.
|
|
35
|
+
|
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
37
|
+
Object form, made available under the License, as indicated by a
|
|
38
|
+
copyright notice that is included in or attached to the work
|
|
39
|
+
(an example is provided in the Appendix below).
|
|
40
|
+
|
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
47
|
+
the Work and Derivative Works thereof.
|
|
48
|
+
|
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
|
50
|
+
the original version of the Work and any modifications or additions
|
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
62
|
+
|
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
65
|
+
subsequently incorporated within the Work.
|
|
66
|
+
|
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
|
73
|
+
|
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
79
|
+
where such license applies only to those patent claims licensable
|
|
80
|
+
by such Contributor that are necessarily infringed by their
|
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
83
|
+
institute patent litigation against any entity (including a
|
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
86
|
+
or contributory patent infringement, then any patent licenses
|
|
87
|
+
granted to You under this License for that Work shall terminate
|
|
88
|
+
as of the date such litigation is filed.
|
|
89
|
+
|
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
92
|
+
modifications, and in Source or Object form, provided that You
|
|
93
|
+
meet the following conditions:
|
|
94
|
+
|
|
95
|
+
(a) You must give any other recipients of the Work or
|
|
96
|
+
Derivative Works a copy of this License; and
|
|
97
|
+
|
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
|
99
|
+
stating that You changed the files; and
|
|
100
|
+
|
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
|
103
|
+
attribution notices from the Source form of the Work,
|
|
104
|
+
excluding those notices that do not pertain to any part of
|
|
105
|
+
the Derivative Works; and
|
|
106
|
+
|
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
|
109
|
+
include a readable copy of the attribution notices contained
|
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
|
112
|
+
of the following places: within a NOTICE text file distributed
|
|
113
|
+
as part of the Derivative Works; within the Source form or
|
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
|
115
|
+
within a display generated by the Derivative Works, if and
|
|
116
|
+
wherever such third-party notices normally appear. The contents
|
|
117
|
+
of the NOTICE file are for informational purposes only and
|
|
118
|
+
do not modify the License. You may add Your own attribution
|
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
121
|
+
that such additional attribution notices cannot be construed
|
|
122
|
+
as modifying the License.
|
|
123
|
+
|
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
|
125
|
+
may provide additional or different license terms and conditions
|
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
129
|
+
the conditions stated in this License.
|
|
130
|
+
|
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
134
|
+
this License, without any additional terms or conditions.
|
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
136
|
+
the terms of any separate license agreement you may have executed
|
|
137
|
+
with Licensor regarding such Contributions.
|
|
138
|
+
|
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
+
except as required for reasonable and customary use in describing the
|
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
143
|
+
|
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
|
153
|
+
|
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
|
159
|
+
incidental, or consequential damages of any character arising as a
|
|
160
|
+
result of this License or out of the use or inability to use the
|
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
163
|
+
other commercial damages or losses), even if such Contributor
|
|
164
|
+
has been advised of the possibility of such damages.
|
|
165
|
+
|
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
169
|
+
or other liability obligations and/or rights consistent with this
|
|
170
|
+
License. However, in accepting such obligations, You may act only
|
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
175
|
+
of your accepting any such warranty or additional liability.
|
|
176
|
+
|
|
177
|
+
END OF TERMS AND CONDITIONS
|
|
178
|
+
|
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
180
|
+
|
|
181
|
+
To apply the Apache License to your work, attach the following
|
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
183
|
+
replaced with your own identifying information. (Don't include
|
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
185
|
+
comment syntax for the file format. We also recommend that a
|
|
186
|
+
file or class name and description of purpose be included on the
|
|
187
|
+
same "printed page" as the copyright notice for easier
|
|
188
|
+
identification within third-party archives.
|
|
189
|
+
|
|
190
|
+
Copyright 2026 Andrii Boiko
|
|
191
|
+
|
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
193
|
+
you may not use this file except in compliance with the License.
|
|
194
|
+
You may obtain a copy of the License at
|
|
195
|
+
|
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
197
|
+
|
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
201
|
+
See the License for the specific language governing permissions and
|
|
202
|
+
limitations under the License.
|