CHANGE · OBSERVE · UNDERSTAND

DevOps agent: audit a release decision

Bind tests to a candidate, enforce approval and inspect a numerical health gate.

Local fixture · no remote deployment0 / 60 seconds
Active artifact
Current status
Candidate errors

Observed release events

    Current inspection state

    Final prediction (independent of playback)

    Bind evidence to the artifact

    A DevOps agent may propose or execute a release, but a successful tool call does not prove that the released bytes passed their checks. This local experiment starts with build-A active and a test record for build-B. Candidate artifact chooses either that tested build or changed build-C. These names stand for immutable identities, not actual cryptographic digests. Require preflight gate combines three explicit conditions: passing tests, matching identity and environment approval. The result records each failed condition. An approval cannot repair failed tests, and a passing report for another artifact cannot justify this candidate.

    Exercise failed and absent evidence

    Test evidence selects Pass, Fail or Missing. Set Fail, leave the gate enabled and seek to 60 seconds: status is blocked, build-A remains active and candidate requests are not sampled. Missing is also blocked; absence of a report is not a pass. Disable Require preflight gate with the same evidence. The candidate now reaches the fictional endpoint, and unverifiedPromotion becomes true even if the later health sample is healthy. This intentionally unsafe branch demonstrates the effect of bypassing policy. It does not recommend that an autonomous agent should hold unrestricted deployment credentials.

    Check identity and approval independently

    Restore defaults, choose Changed build-C and seek to the final event. The gate refuses promotion because only build-B was tested. Restore Tested build-B, then clear Environment approval: the result is blocked for a different reason. Combine failed tests, changed identity and absent approval to inspect three reasons together. A real environment may require reviewers, branch rules and other protections; this checkbox represents one explicit local decision, not a GitHub authentication flow or ADK permission API. No external service, account or agent is contacted.

    Read a numerical health boundary

    Candidate errors sets the count of failed requests in an exactly 100-request synthetic window. Maximum errors sets the largest accepted count in that same window. Defaults are two errors and a limit of five, so the candidate is released. Set errors to five: equality is accepted. Set errors to six: the candidate is unhealthy. At inspection second 40 it is deployed but has no sample yet; at second 50 all 100 synthetic outcomes become available. The timeline is an inspection schedule, not a measurement of deployment latency or request throughput. No error count is invented for a blocked candidate.

    Observe recovery without erasing failure

    With six errors and a five-error limit, leave Roll back unhealthy candidate enabled. At second 60 build-A is active again and status is rolled-back. The recorded six failures remain visible; recovery does not change the historical sample into a successful release. Disable rollback and repeat: status is incident and build-B remains active. The model assumes build-A is available and can be restored immediately. Real rollback requires retained artifacts, compatible configuration and a verified recovery procedure; application or database side effects may not be reversible. A small successful sample also cannot establish long-term reliability.

    Control the inspection and keep evidence

    Play advances the sixty-second sequence from the current position; Pause freezes it. Next event moves to the next ten-second boundary and pauses. Restart rewinds while retaining your scenario settings. Speed changes inspection pace among quarter, half, normal and double speed without changing the result. The timeline seeks directly and pauses; editing any domain control rebuilds the scenario at zero. Restore defaults resets the domain inputs. Export JSON downloads the full trace plus the current inspection state for comparison. The current-state inspector follows playback, while the explicitly labeled final prediction always shows the computed outcome. Keyboard users can activate buttons with Space and adjust the labeled ranges with arrow keys. The text trace and state cards expose all outcomes without relying on color.