Introducing lading MVP scenario - #1921
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
a40ac9d to
8f90f69
Compare
6108c98 to
128b02f
Compare
This commit introduces a 'general' scenario for lading which is intended to be very simple: start lading up with a static config, confirm that it alive. We have demonstrated via Antithesis launch that this rigs up correctly.
8f90f69 to
d4214e0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d4214e0a14
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| depends_on: | ||
| sink: | ||
| condition: service_healthy |
There was a problem hiding this comment.
Wait for lading before declaring setup complete
In the checked general compose scenario, both lading and workload depend only on the sink becoming healthy, so they can start concurrently and the workload can emit setup_complete before lading has parsed its config, initialized its generator, or sent any load. Antithesis may therefore begin fault injection against an uninitialized or already-failed SUT, producing misleading experiment failures; add a lading readiness check and make the workload wait for it.
Useful? React with 👍 / 👎.
| @@ -0,0 +1,2 @@ | |||
| # Rendered compose files produced by bin/launch.sh at submit time. | |||
| scenarios/*/.launch/ | |||
There was a problem hiding this comment.
Remove the already tracked launch output
The parent tree already tracks test/antithesis/scenarios/general/.launch/docker-compose.yaml, so this ignore rule does not prevent launch.sh from modifying it. After the first render, the next invocation sees a dirty worktree at git status --porcelain and uses the shared <sha>-dirty tag, defeating the launcher's immutable image traceability and allowing distinct local builds to reuse one tag; remove the tracked generated file as part of this change.
Useful? React with 👍 / 👎.
| - **Config hard-wired for the MVP.** Config variation and test commands are | ||
| deferred to the workload seam. | ||
|
|
||
| ## Alternatives Considered |
There was a problem hiding this comment.
Add the required ADR consequences section
ADR-009 jumps directly from the decision to alternatives and omits the required Consequences section, including its positive, negative, and neutral subsections. This leaves the implemented harness decision without the repository-required record of its tradeoffs; add the missing section before accepting this ADR.
AGENTS.md reference: AGENTS.md:L40-L44
Useful? React with 👍 / 👎.
| The `SOURCE` (antithesis.source) defaults to `lading`; confirm the exact string | ||
| this tenant expects before relying on tracked runs. |
There was a problem hiding this comment.
Document the actual source default
This says the launcher defaults SOURCE to lading, but test/antithesis/bin/launch.sh actually defaults it to datadog_agent. Because the launcher itself says this value selects the property-history bucket and tenant customizations, an operator following this documentation can submit a run under an unexpected source and then look for its findings in the wrong history; document the real default or align the script with this promise.
Useful? React with 👍 / 👎.
| for v in ANTITHESIS_TENANT ANTITHESIS_REPOSITORY; do | ||
| if [[ -z "${!v:-}" ]]; then | ||
| echo "error: $v is not set (required to build and submit the run)" >&2 | ||
| exit 1 | ||
| fi |
There was a problem hiding this comment.
Let dry runs bypass submission credential checks
When DRY_RUN=1 is used without ANTITHESIS_TENANT or ANTITHESIS_REPOSITORY, this validation exits before reaching the dry-run branch at line 135, even though no build or submission will occur. This contradicts the advertised ability to print the command and exit and prevents users from previewing a launch before configuring credentials; skip these checks for dry runs or move them after the dry-run return.
Useful? React with 👍 / 👎.
| proptest! { | ||
| #[test] | ||
| fn total_equals_saturating_sum( | ||
| increments in proptest::collection::vec(any::<u64>(), 0..64) |
There was a problem hiding this comment.
Document the property test invariant formally
The newly added property test has no invariant documentation, so it does not state the quantified relationship between the generated increments and the counter total that the test establishes. Add a formal invariant comment above the property test as required for tests and proofs in this repository.
AGENTS.md reference: AGENTS.md:L132-L140
Useful? React with 👍 / 👎.

What does this PR do?
This commit introduces a 'general' scenario for lading which is intended
to be very simple: start lading up with a static config, confirm that it
alive. We have demonstrated via Antithesis launch that this rigs up
correctly.