Skip to content

docs(#1820): document test attestation input contract in AGENTS.md - #1821

Open
fullsend-ai-coder[bot] wants to merge 1 commit into
mainfrom
agent/1820-doc-test-attestation-contract
Open

docs(#1820): document test attestation input contract in AGENTS.md#1821
fullsend-ai-coder[bot] wants to merge 1 commit into
mainfrom
agent/1820-doc-test-attestation-contract

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

What:

Add a subsection to the Architecture section of AGENTS.md documenting the Konflux test attestation input contract — the field guarantees that test_attestation.rego depends on for deduplication.

Why:

The review agent rated a fail-open concern at high severity on PR #1817 because it had no way to know that Konflux test attestation predicates always include configuration[0].name and a valid timestamp. This documents the input contract so review agents can calibrate severity: missing-field edge cases in the test_attestation package are low-severity theoretical concerns, not high-severity fail-open paths.

The documentation covers three points:

  • All Konflux test-result attestations include predicate.configuration[0].name (test name) and predicate.timestamp (RFC 3339 with nanosecond precision).
  • The test_attestation package relies on these fields for deduplication (grouping by name, selecting latest timestamp). Attestations without a valid timestamp are excluded by design.
  • A separate enforcement story exists to require certain test attestations, providing a safety net if the format changes.

Complementary to PR #1773 (for #1772), which documents the dual test-result architecture and file-level change patterns.

Tickets:


Closes #1820

Post-script verification

  • Branch is not main/master (agent/1820-doc-test-attestation-contract)
  • Secret scan passed (gitleaks — ebd3fbd270297c15f590f4023360465ffb41d4fe..HEAD)
  • PR body secret scan passed (gitleaks — no-git)

Add a subsection to the Architecture section documenting the
Konflux test attestation input contract. Specifically:

- All test-result attestations include predicate.configuration[0].name
  and predicate.timestamp (RFC 3339, nanosecond precision).
- test_attestation.rego relies on these fields for deduplication
  (group by name, keep latest timestamp). Attestations without a
  valid timestamp are excluded by design, not a fail-open path.
- A separate enforcement story provides a safety net if the
  attestation format changes.

This helps review agents calibrate severity: missing-field edge
cases in test_attestation are low-severity theoretical concerns,
not high-severity vulnerabilities.

Closes #1820
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 20, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:21 PM UTC · Completed 3:32 PM UTC

Commit: 87c4a29 · View workflow run →

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Flag Coverage Δ
unit-tests 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Medium

Low

  • [paragraph length / information density] AGENTS.md:66 — The new 'Test attestation input contract' paragraph is approximately 10 lines, roughly 2x longer than the longest existing paragraph in the Architecture section (Collections at 5 lines). The paragraph mixes the input contract description with deduplication behavior, threat-model rationale, and a reference to a separate enforcement story.
    Remediation: Consider splitting into two paragraphs: one describing the input contract and deduplication behavior, and a second shorter note on severity calibration and the enforcement safety net.

Labels: PR is a documentation-only change to AGENTS.md

@fullsend-ai-review fullsend-ai-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the review comment for full details.

Comment thread AGENTS.md
architectural constraints that aren't derivable from the code. Check there before reverse-engineering
a subsystem.

**Test attestation input contract:** Konflux test-result attestations (evaluated by

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] paragraph length / information density

The new 'Test attestation input contract' paragraph is approximately 10 lines, roughly 2x longer than the longest existing paragraph in the Architecture section (Collections at 5 lines). The surrounding paragraphs each convey a single concise architectural fact, while this one mixes the input contract description with deduplication behavior, threat-model rationale, and a reference to a separate enforcement story.

Suggested fix: Consider splitting into two paragraphs: one describing the input contract and deduplication behavior, and a second shorter note on severity calibration and the enforcement safety net.

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment documentation Improvements or additions to documentation labels Aug 20, 2026

@robnester-rh robnester-rh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation requires-manual-review Review requires human judgment size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document test attestation input contract (field guarantees) in AGENTS.md

1 participant