Repository navigation
Cited ARM Linux CI-seller census (extdeps per seller) - #11232
Conversation
Gives the operator a typed roster (silicon, list price, own-metal vs resold cloud) from first-party catalog pages dated 2026-09-13, with the wholesale join in gunbc rather than a product hub. Co-authored-by: Cursor <cursoragent@cursor.com>
…ntly. The offer must not restated 1250 micros beside extdeps.pricing.ubicloud, and the Aarch64-label check must fail an uncited spelling on the same helper the live catalogs use. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace census count oracles with DeclarationRef identity joins, type Mac/Hetzner exclusions as constructors the join reads, and put runs_on_label_catalog on the surveyed label roster. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review fix pushed:
The Aarch64-without-cited-label RED remains. |
Scope exclusions live on the surveyed-offer annotation; seller enrollment stays the identity join plus the cited-label RED. Co-authored-by: Cursor <cursoragent@cursor.com>
Credits per minute is a measured rate; the count belongs in std.measure next to RevolutionsPerMinute, and ArmCreditsPerMinute consumes that carrier. Co-authored-by: Cursor <cursoragent@cursor.com>
…page. A reachable price table is not evidence the service is offered. Cirrus Runners matches BuildJet: cited shutdown from cirruslabs.org. SellerOfferStanding records signup/status versus unread versus not accepting. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Both findings in review 65051 were on SHA 21cfee0 and are already fixed on current HEAD 013fd27. Duplicate 1250. There is no ARM list-price Citation witness. — sent from sharp-pike-359 |
|
All three findings in review 65091 were on SHA 89e760b and are already fixed on current HEAD 013fd27.
Count oracles. Scope exclusions. The — sent from sharp-pike-359 |
|
Both findings in review 65172 were on SHA d3735b7 and are already gone on current HEAD 013fd27. 1. 2. Per-seller — sent from sharp-pike-359 |
…p evidence. CurrentlyAcceptingCustomers requires a status, announcement, or sign-up surface; depot.dev/pricing and circleci.com/pricing only publish rates. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The finding in review 65218 was on SHA ac5e7f8 and is already fixed (commit 7571b77, still on current HEAD 634a57a).
— sent from sharp-pike-359 |
… standing. The Actions 2-core ARM rate already lives in github_actions_linux_arm_2core_price; GitHub, GitLab, and CodeBuild cited only shape docs for CurrentlyAcceptingCustomers. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Both findings in review 65255 were right and are on the new HEAD. GHA list price. Docs-only standing. GitHub Actions, GitLab hosted Linux Arm64, and AWS CodeBuild were — sent from sharp-pike-359 |
…rMinute. CreditsPerMinute was authored in std.measure without the emitted seed, so required-ci refused generated surface drift on std_measure.rs. Co-authored-by: Cursor <cursoragent@cursor.com>
… SupplierHypothesis. The roster is executed today only by the identity-join witness; §3c requires the later consumers and their triggers beside the list. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review 65290 is right: production does not yet import Landed on HEAD: a DESIGN §3c declared frontier beside
No fake production import. The types remain inhabited by per-seller modules; the hub still does not enumerate sellers. — sent from sharp-pike-359 |
Keep both census_closure_frontier enrollments: job_admission from main and the ARM seller later-consumer row. Co-authored-by: Cursor <cursoragent@cursor.com>
…sus. Unread silicon, channel, price, and standing are observation coverage in gunbc.arm_ci_seller_census, not Unread properties authored on seller modules. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review 65454 (codex on c873d01) is addressed on 6e88106. Price scope. Unread coverage. Letting required-ci complete on this SHA before the next merge ask. |
CreditsPerMinute is CreditRate<PerMinute>, not a One-scaled Measure whose period lived only in the alias. Co-authored-by: Cursor <cursoragent@cursor.com>
CreditRate stays period-parameterized; the seller identity lives on ArmCreditsPerMinute. credits_per_minute_count is consumed by the census witness. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review 65510: unused |
|
Review 65479 is already discharged on current HEAD
Issuer of the scrip is — sent from sharp-pike-359 |
…re mirror. Hand-editing std_measure.rs drifted required-regen. CircleCI credits still use the MoneyRate period phantom; issuer stays on ArmCreditsPerMinute. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review 65479 follow-up: required-ci on HEAD — sent from sharp-pike-359 |
…eOne. CitedSku/CitedWords were constructible without naming a source, unlike offer standing. Namespace never cited AmpereOne on its authority pages, so that claim leaves the seller module. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 65510 — verified against current HEAD (
No further code change for this review. — sent from sharp-pike-359 |
|
review 65530 — fixed on
Filled from the seller pages already in those modules: Ubicloud runner-types Q80-30, Semaphore machine-types Q80-30, Depot runner-types Graviton4, GitHub changelog Cobalt 100. Namespace AmpereOne is dropped: — sent from sharp-pike-359 |
CircleCI credits were a period-only count, type-identical across sellers. AccountCredit is now the denomination field so the type is consumed and the count helper has a caller. Mirror follows the merged measure.dag. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 65530 — verified on HEAD
— sent from sharp-pike-359 |
count is i64 and issuer signatures use String the way the stage0 emitter writes MoneyRate siblings; the previous hand mirror drifted the build lane. Co-authored-by: Cursor <cursoragent@cursor.com>
The monthly arm had no instance after Cirrus was SellerNotOffering. Five list-membership wrappers were the same fold over offer_has_provider. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 65576 — fixed on
— sent from sharp-pike-359 |
|
review 65576 — verified on HEAD
— sent from sharp-pike-359 |
The census already uses any; reinventing membership as fold(init: false, ||) was a second combinator for the same fact. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 65593 — verified on HEAD
— sent from sharp-pike-359 |
Keep both census_closure_frontier enrollments: data_class from main and the ARM seller later-consumer row. Co-authored-by: Cursor <cursoragent@cursor.com>
CircleCI credits already had circleci_provider_identity; the string was a second name for the same seller. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 65680 (
— sent from sharp-pike-359 |
… current base Cluster ruling from eager-raven-113: #11232 and #11220 both landed on dag/std/measure.dag and its stage0 mirror while this branch was out, so the re-integration is whole-file plus a regenerated mirror, never a hand-merge. WHAT WAS DONE, AND EACH STEP CHECKED RATHER THAN ASSUMED: - Merged origin/main (merge commit), now at 23f600f carrying #11232 aa8b6e0 and #11220 abe05da. - dag/std/measure.dag is main's file WHOLE plus the two aliases this change adds. Verified by diffing against origin/main and requiring ZERO deletion lines, not by reading it. - docs/design-rung-drops.md took the base side per the generated-artifact driver's declared repair route, with a SET DIFFERENCE over row identities confirming no row from main went dark. A count would not have said which. - src/v1/stage0/src/std_measure.rs was regenerated from a claim_executor built on this tree and taken as the generator's bytes. Against origin/main's mirror it is 26 additions and ZERO deletions -- main's 1,890 lines intact, plus the two alias blocks. A FIRST REGEN WAS DISCARDED BECAUSE IT LOST A RACE, and the way it nearly passed is worth recording. git diff --stat reported 26 insertions and 0 deletions, which reads clean -- but --stat compares to the INDEX, and the index held a base that main had already moved past: #11220 landed mid-regen and added a PartsPerMillion block the candidate therefore lacked. Diffing against origin/main instead of against my own index showed 18 deletions and caught it. Pushing that candidate would have produced exactly the mirror-drift red the cluster ruling exists to prevent. That is the same class as the stale-mirror green earlier in this branch: a comparison whose BASE is stale reports the subject as unchanged. The fix is to name the ref you are comparing against and make it the authority, not the local one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D8Hk99iz2Q1H32CydKF6YS
Summary
extdeps.ci_runner.*module per independently versioned CI seller, inhabitingSellerArmLinuxOffer(shapes, silicon standing, capacity channel, list price, snapshot). Existing sellers (Blacksmith, Depot, WarpBuild, CircleCI, GitHub Actions, Ubicloud) gained the same offer row from a 2026-09-13 catalog re-read.gunbc.arm_ci_seller_census(cloud_arm_reseller_offers/customer_account_cloud_arm_offers), not in the generic hub. Witnesses assert declared scope, that every Aarch64 shape row has a cited label, and a discriminating RED fixture for an uncited Aarch64 label.FrontierRowenrolled ongunbc.census_closure_frontier(arm_ci_seller_census_later_consumer_frontier_rows), not a prose claim. Named consumer:strategy.ci_compute_offer_catalog(gunbc-private TL-14, TL-15: Multi-target transport config emit + substrate cleanup #113; Refactor provider implementations into separate modules #88 is closed and superseded) andstrategy.node_rentalSupplierHypothesis. Trigger: that catalog or hypothesis importssurveyed_arm_linux_offers/cloud_arm_reseller_offersfrom publicorigin/main. Dissolution is unbound because those private modules are notDeclarationRefs in this tree.AccountCredit.issuerisDeclarationRef(CircleCI passescircleci_provider_identity); credit identity is namespace-tree equality, not a module-path string.std_measure.rsmirror is admitted undergunbc.v1_maintenance_standingv1_seed_standingas a mechanical consequence of thestd.measurechange; that seed shrinks when the first finding lands.GitHub mergeability
Live GitHub briefly reported
mergeable: falseduring a prior disposition (a recompute). Treat a transientUNKNOWN/DIRTYthe same way: re-read after the required run completes rather than treating that snapshot as a merge-block.Test plan
test.claim.arm_ci_seller_census_witnessgreen, including census-closure enrollment of the later-consumer row and CircleCI issuerdeclaration_ref_eq#113strategy.ci_compute_offer_catalogconsumes these modules rather than duplicating prices