Skip to content

test(collector): bind saturation success to the seeded event - #6

Draft
dinakarjs wants to merge 1 commit into
test/collector-fault-harnessfrom
test/collector-saturation-seed-followup-20261108
Draft

dinakarjs wants to merge 1 commit into
test/collector-fault-harnessfrom
test/collector-saturation-seed-followup-20261108

Conversation

@dinakarjs

@dinakarjs dinakarjs commented Nov 8, 2026 •

Copy link
Copy Markdown
Owner

Summary

The saturation observer accepted any nonempty proper subset of submitted events as committed, so a pressure event could replace the blocked seed and still pass. Require the first submitted event in both observed attempts and backend commits. Preserve allowed queue loss, extra pressure-event commits, duplicate attempts and observation reordering.

This is a separate three-file follow-up to agentrust-io#100, based on its approved head d70cdd9. It leaves that upstream PR and branch unchanged. Keep draft for later adoption after agentrust-io#100; do not merge this fork PR into the approved branch merely to transfer the patch.

Contract impact

  • No wire-contract change. Only experiment assertions, observer tests and documentation change.

Evidence

  • Eight observer tests pass normally and under python -O on Linux/Python 3.12.14, using opentelemetry-proto 1.45.1 and protobuf 7.36.2.
  • Substituting the original fidelity.py produces four assertion failures across the two new methods; original six methods remain passing. Restored implementation passes.
  • Positive controls allow extra pressure-event commits and duplicate/reordered attempts while retaining observed loss. Reversed input identifies its first event as the seed.
  • Fresh hosted Collector run 42506784329 passed on merge 07f41b6 containing head f80919f: 12 baseline cases, eight observer unit tests and eight stress cases. Both SDK saturation cases recorded 8 local evidence rows, 1 observed attempt and 1 commit, with the new seed identity assertion passing. Artifact 13628150246 was uploaded (68,537 bytes).
  • CI run 42506784373 passed all Python 3.10–3.13 and TypeScript jobs. Historical runs remain attributed to their original heads.

Privacy and security

  • Synthetic fixtures only; no credentials or production identifiers added.
  • Independent review remains pending.

Limits

Fresh execution covers the synthetic loopback pipeline only. This does not establish persistent queue recovery, exactly-once delivery or production reliability. No SDK runtime, dependency pins, workflow triggers or repository settings change.

Prepared with OpenAI Codex; DCO signed.

Bind the saturation positive control to the first submitted event while preserving allowed loss, retries and observation reordering. Add substitution and missing-seed negative controls and retain historical pipeline evidence boundaries.

Prepared with OpenAI Codex.

Signed-off-by: Srinivasa Dinakar Jainti <dinakarjs@gmail.com>
@github-actions

github-actions Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

🟡 Contributor Check: MEDIUM

Check Result
Profile MEDIUM
Credential LOW
Overall MEDIUM

Automated check by AgenTrust Contributor Check.

@github-actions github-actions Bot added the needs-review:MEDIUM Contributor check flagged MEDIUM risk label Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review:MEDIUM Contributor check flagged MEDIUM risk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant