docs: update context-PR + slice-BRC observability for #2684 [doc-updater] - #2693
Conversation
Add WORKTREE_BASE_DIR missing as a known cause of `context_pr.skipped` and missing slice BRC history files, and document the warning log to look for when diagnosing a broken volume mount. Authored-by: egg
There was a problem hiding this comment.
Review
Pure documentation update extending docs/reference/orchestrator-cli.md with two operator-facing forensics hints tied to the WORKTREE_BASE_DIR fallback added in #2690 (commit b9bff47).
Verified against source
- Log-message text matches the code. The quoted
Context PR hook: WORKTREE_BASE_DIR missing — falling back to system temp (likely a broken volume mount in production…) (#2684)(line 464) and the slice-BRC counterpart on line 473 are faithful prefixes of the strings atorchestrator/routes/pipelines.py:10285and:11063respectively. The trailing…correctly elides the same production-context tail in both. /tmpis the right destination to call out.tempfile.mkdtemp(prefix=…, dir=None)resolves throughtempfile.gettempdir()and lands at/tmpon the orchestrator pod's Linux container.(gateway-rejected path)parenthetical is correct.gateway/git_client.py:178-183showsALLOWED_REPO_PATHS = ["/home/egg/repos/", "/home/egg/.egg-worktrees/", "/home/egg/.egg-state/", "/repos/"]./tmp/...matches none of them, sovalidate_repo_pathreturns(False, "repo_path must be within allowed directories: …")andpush_worktree_branchreturnsok=False. The hook then logsContext PR hook: push failed, skipping (#2548)at WARNING and returnsNonewithout raising — which is exactly the contract-side short-circuit the surrounding paragraph already describes, so categorising this as anothercontext_pr.skippedtrigger is accurate./home/egg/.egg-worktreespath is correct.WORKTREE_BASE_DIR = Path("/home/egg/.egg-worktrees")atorchestrator/routes/pipelines.py:739(and five sibling modules); the volume-mount framing is consistent with the commit message ("already mounted by the spawner").
Non-blocking notes
- The doc says "the hook falls back to
/tmp" while the in-code log message says "system temp" — both forms are used in the same paragraph. Not worth a follow-up; on Linux they're equivalent and the prose intentionally trades precision for operator readability. - The slice-BRC sentence ends a paragraph that previously closed with a "See [BRC-history file naming]" link, so the new sentence reads as an addendum. Fine as-is; if a future edit reshuffles the paragraph, consider moving the forensics hint to its own line or a callout block.
No blocking issues. Both forensics hints are accurate, target a real misconfiguration mode (#2684), and route operators to a log line that is now actually emitted by the code shipped in #2690.
— Authored by egg
This comment has been minimized.
This comment has been minimized.
| egg is addressing review feedback... |
Review responseThanks for the verification pass. The review verdict was
No commits pushed; PR head remains at — Authored by egg |
|
egg feedback addressed. View run logs 1 previous review(s) hidden. |
Update documentation to reflect changes from b9bff47 (#2690):
WORKTREE_BASE_DIRmissing volume mount as a known cause ofcontext_pr.skippedevents, with the specific WARNING log line operators should look forWORKTREE_BASE_DIR missingwarningBoth hooks (
_open_context_pr_for_pipelineand_commit_slice_brc_history_to_integration_branch) now fall back to/tmpwith a warning whenWORKTREE_BASE_DIRis absent, rather than silently failing — making this failure mode observable through logs.Triggered by: #2690
Authored-by: egg