Files changed: - .gitignore - AGENTS.md - CHANGES.md - INSTALL.md - VERSION - docs/explanation/knowledge-and-commitment.md - docs/explanation/telemetry-and-evaluation.md - docs/explanation/why-gates-are-code.md - docs/how-to/run-the-weekly-review.md - docs/how-to/set-up-the-mcp-server.md - docs/how-to/trace-and-score-sessions.md - docs/how-to/troubleshoot.md - docs/reference/commands/README.md - docs/reference/commands/configuration.md - docs/reference/commands/finding-and-checking.md - docs/reference/commands/git.md - docs/reference/commands/instance-health.md - docs/reference/commands/pages.md - docs/reference/commands/raw-material-and-uploads.md - docs/reference/configuration.md - docs/reference/exit-codes.md - instructions/dev/doc-pull-through.md - instructions/dev/tracker-testing.md - instructions/gates.md - instructions/ingest-queue.md - instructions/mcp-read-server.md - instructions/migrate-corpus.md - instructions/migrations/10.0.0-settings-tiers.md - instructions/setup-instance.md - raw/CONTRACT.md - reports/CONTRACT.md - tools/CONTRACT.md - tools/README.md - tools/bugreport.py - tools/chemenu/cli_contract.py - tools/chemenu/commands/_util.py - tools/chemenu/commands/config_cmd.py - tools/chemenu/commands/docs_verify.py - tools/chemenu/commands/doctor.py - tools/chemenu/commands/export_cmd.py - tools/chemenu/commands/git_publish.py - tools/chemenu/commands/new_page.py - tools/chemenu/commands/review_cmd.py - tools/chemenu/commands/task_cmd.py - tools/chemenu/commands/upload_cmd.py - tools/chemenu/config.py - tools/chemenu/config_shapes.py - tools/chemenu/legacy_settings.py - tools/chemenu/mcp/__main__.py - tools/chemenu/mcp/server.py - tools/chemenu/reference_doc.py - tools/chemenu/review.py - tools/chemenu/settings.py - tools/chemenu/tasks/__init__.py - tools/chemenu/tasks/caldav.py - tools/chemenu/tasks/config.py - tools/chemenu/tasks/superproductivity.py - tools/chemenu/telemetry/policy.py - tools/chemenu/tests/conftest.py - tools/chemenu/tests/record_sp_fixtures.py - tools/chemenu/tests/test_bugreport.py - tools/chemenu/tests/test_caldav.py - tools/chemenu/tests/test_config_shapes.py - tools/chemenu/tests/test_doctor.py - tools/chemenu/tests/test_git_publish.py - tools/chemenu/tests/test_legacy_settings.py - tools/chemenu/tests/test_mcp_server.py - tools/chemenu/tests/test_new_page.py - tools/chemenu/tests/test_review.py - tools/chemenu/tests/test_settings.py - tools/chemenu/tests/test_sp_recorded.py - tools/chemenu/tests/test_superproductivity.py - tools/chemenu/tests/test_task_cmd.py - tools/chemenu/tests/test_tasks_config.py - tools/chemenu/tests/test_telemetry_policy.py - tools/chemenu/tests/test_tracker_live.py - tools/chemenu/tests/test_upload.py - tools/chemenu/tests/tracker_live.py - tools/chemenu/upload.py Co-Authored-By: Claude Code <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
3.1 KiB
3.1 KiB
Exit codes and gates
Which wikitool commands can stop and wait for a person - exit 42 - and for which gate, generated
from the command records.
What each exit code means, and how a caller reacts to it, is AGENTS.md § Tool error contract. What a gate is and why it is enforced in code is AGENTS.md § Gates. This page lists which commands declare a gate, and every cause for which a command exits 42.
Gates by command
guideline-push
mass-update
publish-remote
rebase-review
upload-review
Exit 42 causes
new: new project: The provider cannot create the project itself (Super Productivity'saccess: "api"); the output says what a human has to createtask new: The tracker settings file of an earlier version is still there, or a secret source (1Password) needs unlockingtask list: The tracker settings file of an earlier version is still there, or a secret source (1Password) needs unlockingtask close: The tracker settings file of an earlier version is still there, or a secret source (1Password) needs unlockingreview: The tracker settings file of an earlier version is still there, or a secret source (1Password) needs unlockingupload accept: Upload Review Gate:--confirmis absent or does not match the manifest's current tokensync: Rebase-Review Gate:<remote>/<branch>moved and both sides changed the same file, generated files aside; the output lists the upstream commits, the overlapping files and their diffpublish: The remotes settings file of an earlier version is still therepublish: Mass-Update Gate:--threshold(default 10) or more counted files would be committed, or the--confirmtoken does not match this changesetpublish: Rebase-Review Gate:<remote>/<branch>moved and both sides changed the same file; the output lists the upstream commits, the overlapping files and their diffpublish: Publish-Remote Gate:remotes.allowed_push_urlsis set and the push URL of--remoteis not listed in it, or--remoteresolves to no push URLexport guidelines: Guideline Push Gate:--pushwithout--confirm, or with a token that does not match the current set of targetsconfig set: The field names a program to run or affects a gate