Week 4 Day 9: Bound Tool Evidence - #274
Merged
Merged
Conversation
AI-Assisted: GPT-5.6 Sol + Forge
AI-Assisted: GPT-5.6 Sol + Sentinel
AI-Assisted: GPT-5.6 Sol + Forge
AI-Assisted: GPT-5.6 Sol + Forge
AI-Assisted: GPT-5.6 Sol + Forge
AI-Assisted: GPT-5.6 Sol + Forge
Return malformed-path observations when decimal bounds exceed Python's integer conversion limit, and bind both path components with ordinary no-fallthrough regressions. AI-Assisted: GPT-5.6 Sol + Forge
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Large tool results should remain verifiable without consuming the model context on every later step. Day 9 teaches one learner-sized boundary: preserve exact result bytes externally, show the model a bounded identity/digest/preview, and retrieve one explicit byte range through the existing agent loop.
Change
ArtifactRef,ArtifactStore, andBoundedEvidenceWorkspacecourse surfaces plus a TODO-only starter..tool-artifacts/<artifact-id>/bytes/<start>-<end>for fail-closed, UTF-8-aligned half-open range retrieval.max_range_bytes >= 4, the maximum UTF-8 code-point width, so every accepted configuration can advertise a nonempty valid range.Review
Base
2539f2b789d45a9d6ccb5654744cc40dfdb0e434; head9404e54e20d167515a2f27a6913fca0229a2cefc; tree663f2797cd64dc294c03286baafd637de144472e. Exact delta: 12 paths, 1,138 insertions / 17 deletions. The final successor from1ddae76changes only referenceevidence.pyand the Day 9 reference test (25 insertions / 1 deletion); every starter, learner chapter/navigation, accepted learner guard, and unrelated byte is preserved.Exact-head local gates: 481 passed / 8 intentional skips; cumulative Week 4 + sync 146/146; focused Day 9 + sync 61/61; Ruff, formatting, and diff checks clean. The learner copy is byte-identical: its TODO implementation remains expected-red with 22 failures, while the three shared public validation cases pass. Manual mdBook passes.
The new parameterized course-code regression sends 5,000-digit start and end components through
execute, requires the exact short malformed-path observation, and replaces the learner workspace dispatcher with a failure sentinel to prove no fallthrough. Removing the conversion guard independently makes both cases raise rawValueError. All earlier learner and production mutation controls remain unchanged.The documented manual Qwen path and all model-facing semantics are unaffected because only malformed reserved-path handling changed. Hosted macOS run
31654000716, job94304281363, is terminal SUCCESS on the exact head. Four fresh independent reviews are GO on this exact head; all prior-head verdicts remain expired.AI-Assisted: GPT-5.6 Sol + Forge
Editorial contribution: Sentinel
Reviewed-by: GPT-5.6 Terra + Oracle (consistency)
Reviewed-by: GPT-5.6 Sol + Sage (correctness)
Reviewed-by: GPT-5.6 Sol + Tuner (performance)
Reviewed-by: GPT-5.6 Terra + Scholar (learner)