Install repository-declared hooks before worker tasks; read Vault token from VAULT_TOKEN_FILE #1
Open
riley
wants to merge 7 commits from
fix/worker-install-repo-hooks into main
pull from: fix/worker-install-repo-hooks
merge into: riley:main
riley:main
riley:docs/forgejo-macos-install
riley:fix/shell-vault-token-file
riley:fix/forgejo-release-publishing
riley:release/forgejo-v4.7.6-dev.75
riley:release/forgejo-v4.7.6-dev.74
riley:release/forgejo-v4.7.6-dev.71
riley:wip/shared-checkout-snapshot-20261107
riley:fix/worker-hook-install-order
riley:release/forgejo-v4.7.6-dev.65
riley:release/forgejo-v4.7.6-dev.52
riley:release/forgejo-v4.7.6-dev.34
riley:release/forgejo-v4.7.6-dev.33
riley:release-macos/v4.7.6-dev.28
riley:release/forgejo-v4.7.6-dev.26
riley:release/forgejo-v4.7.6-dev.25
riley:release/forgejo-v4.7.6-dev.25-r2
riley:release/forgejo-v4.7.6-dev.24
riley:release/forgejo-v4.7.6-dev.23
riley:release/forgejo-v4.7.6-dev.22
riley:release/forgejo-v4.7.6-dev.19
riley:release/forgejo-v4.7.6-dev.18
riley:release/forgejo-v4.7.6-dev.15
riley:release/forgejo-v4.7.6-dev.14
riley:release/forgejo-v4.7.6-dev.14-rerun1
riley:release/forgejo-v4.7.6-dev.13
riley:release/forgejo-v4.7.6-dev.12
riley:fix/release-docker-endpoint
riley:release/forgejo-v4.7.6-dev.11
riley:ci/bonsai-native
riley:release/forgejo-v4.7.6-dev.6
riley:release/forgejo-v4.7.6-dev.5
riley:release/forgejo-v4.7.6-dev.4
riley:release/v4.7.5
riley:release/forgejo-v4.7.5
riley:release/forgejo-worktree-isolation
riley:release/forgejo-v4.7.5-dev.49
riley:ops/forgejo-release-recovery
riley:codetether/mux-codetether-agent-0-4fe31e87
riley:codetether/mux-morgan-protocol-v6-rollout-0-97ab24f7
riley:codetether/mux-steering-chat
riley:fix/hermetic-cargo-vendor-manifest
riley:fix/worker-task-timeout
riley:feat/session-listing-index
riley:fix/approval-poison-safe-lock
riley:fix/runtime-policy-sandbox-preflight-never
riley:fix/computer-use-list-apps
riley:fix/alloc-crash-context
riley:feat/swe-bench-enhancements
riley:fix/pr281-feedback
riley:feat/minimax-m3-support
riley:fix/alloc-guard-oom
riley:capability/tetherscript-computer-grant
riley:codetether/issue-270
riley:fix/a2a-bus-session
riley:feat/tui-file-browser-viewer
riley:codetether/tui_eb9475463e8e4019bff194594ebc69c5
riley:codetether/tui_cb5418e169f045138261749aab939092
riley:codetether/issue-206
riley:codetether/tui_a95983c0a95d4d84b3fd053a3a5f0cb2
riley:codetether/tui_ec18d41e755948609336a86095abb9b7
riley:codetether/issue-202
riley:codetether/issue-203
riley:fix/tui-remove-undo
riley:feat/tui-continue-hard
riley:fix/image-attachment-edge-cases
riley:codetether/tui_230065b7e96d486cb9b29891560c1479
riley:feat/tui-git-view-pr
riley:refactor/extract-rlm-to-crate
riley:fix/memory-oom-defensive-caps
riley:perf/reuse-tui-worker-http-client
riley:perf/cli-commands-shared-http-client
riley:perf/a2a-shared-http-client
riley:perf/auth-shared-http-client
riley:perf/morph-shared-http-client
riley:perf/ralph-verification-shared-client
riley:perf/reuse-moltbook-http-client
riley:perf/reuse-mcp-bus-http-client
riley:fix/issue-231-rlm-context-gaps
riley:codetether/tui_dda208ec65ae414abdf7db4b848b93a5
riley:codetether/tui_89851a8baeab4359817098e35275705b
riley:fix/issue-231-context-rlm
riley:fix/session-recall-oom
riley:codetether/issue-190
riley:codetether/issue-196
riley:codetether/issue-213
riley:codetether/issue-215
riley:chore/cargo-fmt-platform-windows-tetherscript
riley:fix/session-loading-and-tui-refactor
riley:feat/context-history-split-phase-bc
riley:feat/tetherscript-cerebras-provider
riley:feat/native-win32-tool-handlers
riley:feat/windows-native-apis
riley:fix/training-bus-v2-regression-issue-105
riley:codetether/tui_21f2793b86ba43ffbaeb33cbe6a93771
riley:codetether/tui_57fe0d393df546fca8fab63689529d3e
riley:fix/tui-pr-opt-in-worktree-cwd
riley:fix/tui-auto-pr-quality
riley:codetether/tui_b4d199587c0345b9a7f1121074fa0a37
riley:codetether/tui_0089ee25309f48bc954c0a2a150dc3f1
riley:codetether/tui_1501c360e2d14a8b88bdb7293a818720
riley:codetether/tui_25c09f21399a49259c4fc3772b01853f
riley:codetether/tui_460c0ab0a37d42cebd97edf2e261b494
riley:codetether/tui_85e6f1294e8244928cf3ac733cd70b4d
riley:codetether/tui_71ceebe7f9f644a99861d2d37551d50f
riley:fix/deepseek-tool-calling
riley:codetether/tui_b24c9be1c9ad479ca9a7b3646ce3a584
riley:codetether/tui_e70510bcd8fc4e10941e589c991a63de
riley:codetether/tui_926cc1789446495880fed105ee64206d
riley:codetether/tui_986291e18a2f45908ee65cc7ed60e2d9
riley:codetether/tui_1150fb5edf094522b17f803821c0535c
riley:codetether/tui_5956fe3bf5f54de5b678e19cefeb294d
riley:codetether/tui_7d1de823cc954cef8f3b4d5f58eeb092
riley:codetether/tui_bc31bcd05d35469ebd3b837dcfe8c4af
riley:codetether/tui_dc473296de7e43419573c403ad6d17c6
riley:codetether/tui_72be0ac75a4640c7a7027d7677ffcfc9
riley:codetether/tui_9158f9f0b9aa425cac72260a555bfb58
riley:codetether/tui_fcf0105b37f74a81abea9c3e62235887
riley:codetether/tui_71c9ff47165445e296d1d1fa3cd36e02
riley:codetether/tui_749c1f7d8b6841a4946acace0271c24c
riley:codetether/tui_ff9c349924a0433ab14c7ffbabc00735
riley:codetether/tui_02d9a513528540ddaf1b78cd35921770
riley:codetether/tui_68d82eeffdf24005984bc2ae8ab92fe6
riley:codetether/tui_5aa42bd69d2d4c11a4a6bd7ef552f182
riley:codetether/tui_717c9a9a18844fe4845346d0ffd1425f
riley:codetether/tui_862e2c1bff1445519a6ab966471b8f3c
riley:codetether/tui_88cd0c73eae0450f857e9463889cef53
riley:codetether/tui_8ce6af5a5277486b85dada0d871adede
riley:codetether/tui_d24d8866c2064fa5a296110d6ea18281
riley:codetether/tui_e598a21a32b7474f9009c6b7af69c33a
riley:codetether/tui_a2fc2843317f4330bc17b821ecc9557b
riley:codetether/tui_1f268b1de59448fa999cbd409226d3f6
riley:codetether/tui_2a0736c4691340f8a449e640d02e2214
riley:codetether/tui_5187503930eb4105a0c3552b7aa7a5d3
riley:codetether/tui_6c75cd73f0cc4b0c8f8a440784583a7b
riley:codetether/tui_6db69455930b47e4bc6bf2ca7a14b671
riley:codetether/tui_70f9121464ed4ffb9a02ef6a4a6a75fa
riley:codetether/tui_c496dc37f76e468398eca08554201094
riley:codetether/tui_f373f14856b148548aa9e2572da93788
riley:codetether/tui_047115eb114b460e9b83e3869d384b0f
riley:codetether/tui_0834de3d96bb41d3b469ee62d3426328
riley:codetether/tui_0daf8709ffd246b0921835f727ea8164
riley:codetether/tui_1a67bec902964bb6a018e32ffa341454
riley:codetether/tui_31eaee61b9f3496aa89ba70bafe07ed9
riley:codetether/tui_720a86c275bf447fae6a896956f1e853
riley:codetether/tui_7d8193e38aa04d428146441f1c769c49
riley:codetether/tui_a77b540ba25e407d96406a1c27e7a4e3
riley:codetether/tui_e1ef2d8dcbb94b97b8fcdb8ab94651b7
riley:codetether/tui_e9db8d0290dd45ab96f80e15e0d40d9a
riley:codetether/tui_f7d59da82b894f4fa1511389900ab0c3
riley:codetether/tui_5606612bc47e48e99571feb91b838ca8
riley:feature/phase-b-steps-18-22
riley:feature/context-plan-implementation
riley:codetether/tui_0bb31cf20eeb4e8ab63acbfae17b3128
riley:codetether/tui_1f92967548b74286b727ecd1e0a3a5ea
riley:codetether/tui_22e4455e96884f1b94f9a33fa9180662
riley:codetether/tui_4dd8011000ba43d7b9d057747eea912f
riley:codetether/tui_b8f3052a14af4712a4f6efadaba32418
riley:codetether/tui_ba24861cc9a14eeebc0808e199fd95bc
riley:codetether/tui_d05d679c7067497fae174441e05b18ce
riley:codetether/tui_d417dae37be646d49d81a1b50f00a090
riley:codetether/tui_db3c798b1d834f2a89c64a09778359b8
riley:codetether/tui_e8e352b38f584de4a3408d3ff2b14978
riley:codetether/tui_1fdb184e514340909940865b3d1f9910
riley:codetether/tui_c52fac39a3b6471c815f0555a046e98b
riley:codetether/tui_0b36aafc9f004880acdb21b498b1e434
riley:feature/a2a-public-agents-v2
riley:feature/tui-a2a-auto-pick-v2
riley:feature/tui-a2a-peer
riley:feature/a2a-public-agents-rfc-composition
riley:feature/tui-a2a-auto-pick
riley:codetether/tui_e729d18b5e764a6993b2e8abc7c559fd
riley:codetether/tui_138e1c1e5fb5452d9945a1c1666c09cf
riley:codetether/tui_2e5ba4f1e6684270ba1c13f857bd24f0
riley:codetether/tui_39e3686aa4f74a80a02cf2d9a16f4960
riley:codetether/tui_a0bf2fecba754878886d54141e982dda
riley:codetether/tui_a9f00d5ffe8d43259bf9a74a22ba92d1
riley:codetether/tui_aa079779ee6749e29a36d8a1d4759f33
riley:codetether/tui_c2430bff953d4adfbea95a21a70fde0e
riley:codetether/tui_d48a13be560148309ebe95bc3a236065
riley:codetether/tui_3a4b6b5df506494ebc294cd657247f08
riley:codetether/tui_559eff5bddf74767a8a6cca5c3e79a50
riley:codetether/tui_394f674fcaed422b906fb659420af111
riley:codetether/tui_ee5ba1080039429a8d948c38c60664da
riley:codetether/tui_fff14cfd72ee4424b17202c6c6383221
riley:codetether/tui_87729e2e4a2a43ffa98d64bf92e64ee5
riley:codetether/tui_c042f45d921a459e85893c8b7444358c
riley:codetether/tui_c852a867b7894e6aad0c2be1941ee0fc
riley:feature/tui-paste-summary
riley:feature/tui-copy-paste-fix
riley:codetether/tui_7961f09811ea40f4964c272a23b3f05d
riley:feature/tui-latex-rendering
riley:codetether/tui_28fea82f47b74a028d57638532185b38
riley:feature/step-18-real-summary-for
riley:codetether/tui_7ce0f14b12594c87b574c1c6579b5e91
riley:codetether/tui_18bead9a3c81471384faddd76cc0a8c7
riley:codetether/tui_2e914acb3e13494da1b27c112c7f3457
riley:codetether/tui_30199d28b4f24a8bb63aefdbbcea50f3
riley:codetether/tui_59c60852c7cf4d4fbed42c698f5ef14b
riley:codetether/tui_5a5aa5cf56144dae8d78f2f77cf4c3ea
riley:codetether/tui_6bae602d1e434472a6d0e811bbf487c2
riley:codetether/tui_70fb9e060ef54ec3ad00a834776879e3
riley:codetether/tui_721019c6df1a4a4ebfb76c831b606dce
riley:codetether/tui_7dfacf84404d46bfb4498ba4e10202c8
riley:codetether/tui_96762c53ac434523bdcc06b1bb133168
riley:codetether/tui_cf039f15203b42ac9612384d61b7cf64
riley:codetether/tui_f33c345b8cc54357b938b191c81c67a6
riley:codetether/tui_57a300d94e0a47a0bf2674de4832f77e
riley:codetether/tui_2df26b547cee4bd281226c1920b6a0c5
riley:codetether/tui_32db94ad84a240cfb7b7f62882ebefa5
riley:codetether/tui_3ac8141d51fd483ab78af8261f8372ef
riley:codetether/tui_3b74cee060884c2092eced74a5adb431
riley:codetether/tui_551863f10c614968ad2a913ac5a36c31
riley:codetether/tui_8c20bb85dd0e4a999b485578da1ed864
riley:codetether/tui_996b0331d97e4ae196f6c4742ce0c01e
riley:codetether/tui_bc28cf046edb460aa9e8d5384b7a9cb3
riley:codetether/tui_da18e6cf299a453aa047b94766b75a21
riley:fix/tui-rlm-context-window
riley:fix/cargo-check-warnings
riley:fix/open-issues-16-64-main
riley:codetether/issue-64
riley:bugfix/session-context-retention
riley:feat/history-context-refactor
riley:codetether/tui_27ee0450fc064077bcfb5c95744398be
riley:codetether/tui_45debb5663154515b2754327ea31e3ae
riley:codetether/tui_bcc0b629d6b4477a9dd3a6a9ff3438e6
riley:spike2/mac-mini-build
riley:codetether/tui_d855e703e5494d838520d128b36e7dbd
riley:codetether/agent-identity
riley:codetether/tui_256c20bb95c54bad9223cc005114e63f
riley:codetether/tui_c1c36505d6154cc79bc1063ef4baaff6
riley:hotfix/zai-wire-format-400
riley:fix/zai-tool-call-args-400
riley:refactor/worker-auth-runtime-congruence
riley:refactor/module-cohesion-50-line-limit
riley:chore/export-codetether-app-creds
riley:fix/mention-issue-execution
riley:codetether/tui_015d8c8a7fa24c12954daaf6fd0eca81
riley:codetether/tui_79ea6dc31ccb457a9ec18c088f2b78af
riley:codetether/tui_a60c0c5dbba1455cbd890b580e8d789f
riley:codetether/tui_f96e252f061644ce96320269da356592
riley:feat/github-actions-review
riley:bugfix/retry-transient-errors-and-max-steps
riley:codetether/tui_25a6fa40565f4bf3ba147e9f4fecf8ed
riley:codetether/tui_dbbd095e77bc4c849b8cf825c9104db1
riley:fix/truncated-tool-call-arguments
riley:fix/sub-agent-session-persistence
riley:fix/tui-image-upload-ssh
riley:feat/tui-feature-extraction-module
riley:refactor/agent-tool-module
riley:fix/misc-provider-session-fixes
riley:fix/tui-session-recording
riley:fix/tui-session-recording-and-panic-recovery
riley:codetether/tui-codetether-agent
riley:fix/tui-stuck-processing-and-autoscroll
riley:feature/tui-feature-port
riley:chore/refactor-for-quality
riley:feat/redact-agent-output-secrets-20260317-0315
riley:fix/local-provider-routing-guard
riley:codetether/sq_001
riley:codetether/sq_008
riley:feature/tui-relay-rlm-normalization
riley:feature/oracle-final-golden-local-cuda
riley:feature/copilot-review-fixes-pr2
riley:copilot/update-readme-for-version-4
riley:feat/gemini-web-provider
riley:feature/autonomous-orchestration
riley:feature/swarm-reliability-and-code-quality-improvements
riley:feature/implement-unused-code-features
No reviewers
Labels
Clear labels
bug
Something isn't working
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
enhancement
New feature or request
good first issue
Good for newcomers
help wanted
Extra attention is needed
invalid
This doesn't seem right
question
Further information is requested
wontfix
This will not be worked on
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
riley/codetether-agent!1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/worker-install-repo-hooks"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two changes so workers stop bypassing repository hooks and stop failing on a stale Vault token.
1. Install repository-declared hooks before a task (
977fe8e7)prepare_gitonly installed CodeTether's provenancecommit-msghook, so local workers cloned riley/spotlessbinco without its pre-commit/post-commit/pre-push cache-gate hooks and pushed 49 branches that bypassed the cache.codetether_worktree::repository::install_declared_hooks, next to the declared-hook policy, mirroringscripts/harvester/job_bootstrap.py::install_hooks:.pre-commit-config.yaml→pre-commit install --install-hooks(requirespre-commiton PATH; honoursdefault_install_hook_types).githooks/pre-push→bash scripts/dev/install-pre-push-cache-gate.sh(script must exist)CODETETHER_HOOK_INSTALL_TIMEOUT_SECONDS(default 900); missing tool/script, nonzero exit or timeout →repository hooks could not be installed (...)prepare_git: repository hooks first, then the provenancecommit-msghook (which no longer replaces a repository-ownedcommit-msg), thenrequire_installed. The task is refused on failure instead of logging a warning.2.
VAULT_TOKEN_FILE(934485e2)SecretsManager::from_env: after the login profile and Kubernetes auth,VAULT_TOKEN_FILEtakes precedence overVAULT_TOKEN. Its trimmed contents are the token; an unreadable or empty file is an error; the token is never logged.X-Vault-Token, so tests prove which token was sent.Validation (local)
cargo fmt -p codetether-worktree -p codetether-a2a-worker-core -p codetether-secrets -- --check→ cleancargo test -p codetether-secrets -p codetether-worktree -p codetether-a2a-worker-core→ all pass (unit: 57, 5, 31, 65, 1; doc: 95, 25, 38; 0 failed)prepare_gittests, 3 token-file unit tests, 4 token-file contract testscargo clippy -p <these 3> --all-targets --no-deps -- -D warnings: 0 findings in touched files. The 31 remaining findings are pre-existing in untouched files (baseorigin/mainhas 38; none new). Without--no-deps, clippy stops on pre-existing errors incodetether-slash-command.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.