Skip to content

Agent A: 5% bulk discount over $100#13

Open
RollNuts wants to merge 10 commits into
mainfrom
demo/agent-a-bulk-discount-20260720
Open

Agent A: 5% bulk discount over $100#13
RollNuts wants to merge 10 commits into
mainfrom
demo/agent-a-bulk-discount-20260720

Conversation

@RollNuts

Copy link
Copy Markdown
Contributor

Adds a 5% bulk discount inside calculate_total (the discount section of orders/pricing.py). Standalone python -m pytest -q → 7 passed. Part of the fresh canonical collision demo (leader).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@RollNuts RollNuts closed this Jul 20, 2026
@RollNuts RollNuts reopened this Jul 20, 2026
@veripsa-core

veripsa-core Bot commented Jul 20, 2026

Copy link
Copy Markdown

Veripsa — heading to main

⏸ Wait in line — a direct collision is ahead

⏸ Veripsa paused this — you are in a real coupling with other in-flight work. To proceed, add the veripsa-ack label (an agent can run gh pr edit --add-label veripsa-ack; a human can click it), or wait for the other PR(s) to land and this clears automatically. Adding the label records your acknowledgement of THIS specific coupling snapshot — it is NOT an approval and NOT a pardon: you are stating "I have seen this coupling and am proceeding deliberately", not "this PR is correct". If the coupling later changes, Veripsa pauses again until you re-acknowledge the new snapshot. Veripsa records who acknowledged which coupling — it does not assert correctness. (This check is neutral by default. If you have marked the Veripsa check required in branch protection, this pause is what holds the merge until you ack — your branch-protection policy is the enforcer.)

This PR reserves: orders/pricing.py, tests/test_pricing.py

Land in order. You collide in calculate_total (in orders/pricing.py) — that's the same code, not just the same file. You are queued behind GH-RollNuts PR-14. Landing in this order means you rebase onto their change once — not redo work after both land out of order. When the change ahead lands or withdraws, your reservation advances; if it withdraws, this clears.

⏳ A small rebase may also be needed in orders/pricing.py near line 22 — the overlap above is likely to surface as a textual merge conflict on rebase, which landing in order avoids. (Content-free heuristic — "likely", not certain.)

Overlapping PRs — 2 open PRs touch this same area. Suggested order to land them (most foundational first, so the others only revise once):

  1. GH-RollNuts PR-14
  2. GH-RollNuts PR-13 ← this PR

Veripsa records what is heading to main and who reserved what — it does not assert correctness. Advisory by default; your branch-protection policy decides what blocks.

@RollNuts RollNuts closed this Jul 20, 2026
@RollNuts RollNuts reopened this Jul 20, 2026
@RollNuts RollNuts closed this Jul 20, 2026
@RollNuts RollNuts reopened this Jul 20, 2026
RollNuts added a commit that referenced this pull request Jul 20, 2026
Editing orders/pricing.py collides (correctly, per Veripsa's own check) with
the permanent live-proof PRs #13/#14, which are kept open indefinitely and so
would block this structural repair forever. The docstring wording is cosmetic;
keep this PR to the manifest/scripts/docs/CI contract so it lands cleanly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
RollNuts added a commit that referenced this pull request Jul 20, 2026
…#15)

* Materialize demo scenarios from immutable tags, not upstream branches

The two collision scenarios were long-lived collide-a/collide-b branches on
this shared upstream repository. Deleting them (to release stale head
reservations) broke the sandbox. Store each scenario as an immutable annotated
tag (fixture-v1-agent-a/-b) instead, and materialize the branches into the
user's own fork on demand — no scenario branch ever lives upstream again.

- demo-manifest.json: schemaVersion 2.0.0; scenarios carry sourceRef/
  sourceCommit/outputBranch; add fixtureMode, reproducibleFixture, and split
  recordedRun into historicalRecordedRun (#1/#2) and currentLiveProof (#13/#14).
- scripts/materialize_fixtures.py: verify source commit/base/diff/tests, then
  create branches on the fork only. Idempotent, never force-pushes, refuses the
  upstream repo, fails closed on a dirty tree, prints no tokens or credentials.
- scripts/verify_fixtures.py: verify the immutable tags/commits, not branches.
- check_docs.py, README.md, orders/pricing.py, fixtures.yml: new contract; CI
  fetches tags and asserts the materializer refuses upstream.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* verify_fixtures: resolve base branch across full-clone and CI PR checkouts

pull_request checkouts are detached with no local 'main', so the literal
baseBranch ref failed the descends-from-base check in CI. Resolve the mainline
tip via candidates (local, origin remote, FETCH_HEAD, HEAD) and fetch
origin/main into a ref in CI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Drop the pricing.py docstring edit from this PR

Editing orders/pricing.py collides (correctly, per Veripsa's own check) with
the permanent live-proof PRs #13/#14, which are kept open indefinitely and so
would block this structural repair forever. The docstring wording is cosmetic;
keep this PR to the manifest/scripts/docs/CI contract so it lands cleanly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: RollNuts <277724446+RollNuts@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant