Repository navigation
feat: report application Git provenance across Rust SDK operations - #22
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
pavel-y-ivanov
left a comment
There was a problem hiding this comment.
Automated final review under Pavel’s explicit authorization to approve Devin-authored SDK PRs. Exact fd88614 reviewed with independent package/public-consumer tests, no-destination safety regression, stable/MSRV/TLS CI and the actual conformance artifacts. Both Git production Query readbacks pass with observed records; full prod report is 11 pass / 2 not applicable / 2 unsupported. Fault Git gate is 9 pass plus the declared baseline DEV-1149 route gap. Existing publish=false Git/tag distribution is preserved. Approval covers code readiness; merge/tag publication remains sequenced behind a clean upstream backend deployment. No protection bypass or direct production SQL.
Part of DEV-1673: report the customer application / agent-under-test Git revision during ordinary execution, consistently with simulation provenance. This is not the SDK revision and does not select or change replay checkouts.
Changes
AppGitConfig, client builder configuration, explicit environment overrides, automatic SHA detection with opt-out, and opt-in automatic branch reporting.raindrop.app.commit_sha,raindrop.app.commit_dirtyandraindrop.app.branchfor events, partial interactions, manual spans and direct tools. Preserve caller properties, explicit null/empty, SDK and release identity.E2E Proof
Latest release candidate:
fd88614f39fe3b01765203ecbdb5e4c53d97e51b, superseding historical receipts below. Adds no-destination discovery guard/public subprocess regressions and version0.0.9. Independent release build/package, extracted-package scratch consumer and10Git9pass/1declaredDEV-1149 pass. One initial global-CWD timing failure did not reproduce in exact serial rerun, full serial suite or3parallel library repeats (48/48each); disclosed rather than erased. Keyless local explicit Git and no-destination omission pass. All6CI checks pass. Exact current conformance: prod11pass/2not-applicable/2unsupported, both Git Query records observed without no-show; fullfault20pass/34expected-fail/4not-applicable/12unsupported, zero failures/timeouts. Code approved under Pavel's explicit delegation; merge/tag publication held until backend deployment verified.Current local head
73ba47a8767994e00116b4d491e4b3b89312fa69; fresh independent product evaluation was performed at92715c8266c3b2e46b9ef0c904e6feab45d40924, with later commits limited to conformance workflow pins:The single Git expected failure is the newly exposed existing DEV-1149 plain
trackroute gap (app-git-properties-authoritative@fault). The assertion remains strict; separate public consumer capture proves raw null/empty/dirty properties on the actual partial route. This does not claim to fix that transport issue.Published CI evidence is historical at
92715c8266c3b2e46b9ef0c904e6feab45d40924with harness f5d8, not a current-head qualification. Its fault artifact is 19 pass, 34 expected-fail, 12 unsupported, 4 not-applicable, with no raw failures/timeouts/errors. Its prod artifact is 10 pass, 1 unrelated fail, 2 unsupported, 2 not-applicable; both Git Query readbacks pass, whilesignal-readback@prodis the unrelated failure.The final local ten-case matrix used the same Rust runtime/driver with harness
d43a55edb8a66ef826f650ebff75e3659c0bff9d: 9 pass / 1 expected-fail for DEV-1149. Final harnesscaa57a1661f3176cd59957ef0576628d96530214changes only the runner test's scenario count and fixture expectation from d43a55e; runtime code and scenarios are identical, and its final harness qualification passed 14/14 checker and 89/89 runner tests.Current-head dedicated-test-org qualification at
73ba47a8767994e00116b4d491e4b3b89312fa69/ final harness caa57 is now available: run34924946112. Fault artifact:20pass/34expected-fail/12unsupported/4not-applicable; Git9pass/1declaredDEV-1149 with the complete gate passing. Prod artifact:10pass/1unrelatedfail/2unsupported/2not-applicable. Both Git Query readbacks pass with observed records; the unrelated signal-readback failure remains visible.Safety Verification / Risk Assessment
Additive configuration only; preserve existing return/error, routing, retry, SDK identity and release behavior. No new Git subprocess or wait on a customer hot path. Unknown dirty remains unknown, not fabricated clean. Registry overload/poison fails closed for optional metadata rather than blocking or misattributing an agent; exceptional simultaneous saturation is documented. Local probes used disposable fixtures and loopback endpoints only. Rollback is a code revert. Confidence is high for independently tested package paths, with existing ratcheted transport gaps disclosed.
Dependencies and release
Harness: https://github.com/invisible-tools/raindrop-sdk-harness/pull/98, pinned at
caa57a1661f3176cd59957ef0576628d96530214. Backend: https://github.com/invisible-tools/dawn/pull/7081. Both merged; deployment readiness tracked separately. Ordinary events require no migration. Version0.0.9 prepared for existing Git/tag distribution;publish=falsepreserved, no crates.io release introduced. Normal merge/tag release follows qualification. No new credentials, release workflow edits, production SQL or infrastructure changes.deliver v0.2.2 · independent Rust package and harness evaluation PASS with disclosed legacy gaps · Devin PR publisher.