[v0.3.0] ingestion — pin CPython source by commit SHA#59
Conversation
|
Warning Review limit reached
More reviews will be available in 55 minutes and 43 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Warning Review limit reached
More reviews will be available in 55 minutes and 42 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Heimdall verification: PASSED for PR head Scope checked against issue #51 and forge protocol:
Commands run from fresh isolated checkout SHA evidence independently matched config: Mismatch abort behavior verified with a monkeypatched GitHub/CodeRabbit status:
Label action: replacing |
Closes #51
Acceptance criteria
CPythonDocsBuildConfiggains asha: strfield; each of the five entries inCPYTHON_DOCS_BUILD_CONFIGcarries the 40-char lowercase-hex commit SHA that the existingtagcurrently resolves to. Thetagfield is kept for human readability with a comment noting the SHA is authoritative. — Implemented insrc/mcp_server_python_docs/ingestion/cpython_versions.py; resolved withgit ls-remote https://github.com/python/cpython.git 'refs/tags/v3.10.20^{}' 'refs/tags/v3.11.15^{}' 'refs/tags/v3.12.13^{}' 'refs/tags/v3.13.13^{}' 'refs/tags/v3.14.4^{}'.__main__.py, the code verifiesgit -C <clone_dir> rev-parse HEADequalsconfig["sha"]and aborts on mismatch with a clear error. — Added_verify_cpython_source_sha; mismatch logs version/tag/actual/expected SHA and raisesSystemExit(1)before Sphinx setup or content ingestion.tests/test_ingestion.pyasserts every config entry has ashamatching^[0-9a-f]{40}$, alongside the existing tag assertion. — Added regex assertion in the existing config loop.uv run pytest tests/test_ingestion.py -qpasses. —42 passed in 1.10s.SECURITY.mditself is not edited. — Added below and in.planning/agent-context/cpython-source-sha-pin.md;SECURITY.mduntouched.SHA verification evidence
Draft SECURITY.md threat-model paragraph
Validation gate output
CodeRabbit review
Unavailable: CodeRabbit posted rate-limit comments from both configured identities instead of an actionable review. Blocking: None reported. Follow-up: retry
@coderabbitai reviewwhen quota resets if Vision wants that signal. False positive: None.Why this approach
The issue prescribed a tag-based shallow clone followed by post-clone SHA verification. Keeping the tag fetch preserves the existing clone behavior while making the pinned commit SHA the authoritative integrity check.
Why this triggered supervisor review
None under
AGENT-EXECUTION-PIPELINE.md§7. This PR intentionally includes the SECURITY.md draft text for Vision/human follow-up without editingSECURITY.md.