Repository navigation
ops(vercel/github): safely prune obsolete Vercel-created GitHub deployment records #1042
Description
Owner decision — 2026-10-14 — immediate cleanup after #1028/#1041, then resume R-15
The maintainer explicitly authorizes removing all positively proven stale GitHub deployment records created by vercel[bot], targeting the observed 101-record backlog, immediately following the already underway GitHub Pages retention activation, or sooner only for strictly read-only inventory. This is separate from (a) Vercel platform deployments and Preview retention GH #627/QNB-67 and (b) GitHub Pages' github-pages records GH #1028/PR #1041. Do not enlarge #1041, broaden its deletion classifier, or delete other environments through its scheduled workflow.
Date-scoped, independently reported baseline: complete authenticated GitHub deployment inventory GH #1028 evidence on 2026-10-14, main=be3c875fac33bfdd628dce9c70c1fb0e42ac672d: 116 GitHub records total; github-pages=15 (six Pages-only candidates, nine protected), Preview=85 + Production=16 created by vercel[bot] = 101. These are GitHub Deployments API metadata records created by Vercel's GitHub integration, NOT proof of 101 running Vercel deployments. A Vercel Preview retention action does not automatically remove their GitHub records. Count must be re-fetched before work, not blindly used as a deletion quota.
Immediate priority and dependency
- Read-only audit may begin now, without touching an object: inspect official GitHub deployment/status semantics, paginate and classify all
Preview/Productionrecords, fetch their status histories and provenance (creator id/login andperformed_via_github_appwhere available), exact SHA, ref, environment, target/log URL, timestamps and Vercel deployment identifier. Cross-check with authenticated paginated Vercel project deployments and all canonical, branch and rollback aliases. Map active source deployments, the newest/current production, rollback candidates, all open PR/retained branch previews, protected signatures/evidence/incident references. Never classify by name/age orvercel[bot]alone. - Finish Pages ci(pages): admit the Pages record pruner's bounded destructive writes (#1028) #1041 independently: exact-head CI+CodeQL+substantive reviews, protected merge, resulting-main checks, current Pages HTTP and read-only inventory, independently approved workflow activation and first safe run/receipt under ci(pages): restore safe continuous GitHub Pages deployment-record pruning #1028. No mixed mutation or weakening of newest-three/hold policy. The maintainer specifically wants the second task directly afterward, not deferred to general post-v1.30 marketing/M8.
- Choose the smallest safe, provider-compatible operating mechanism for this one-time GitHub-Deployment cleanup. Determine if the Vercel integration provides supported archive/metadata cleanup; if not, test GitHub API semantics and permission least privilege. GitHub deployment DELETE requires an inactive record in repos with multiple deployments. Posting
inactiveon a Vercel-owned record is a visible deployment-status event with possible integration side effects. Do not POSTinactivefor any object until an authoritative impact assessment shows this is safe; if uncertain, preserve and report the subset. Never assume deleting GitHub metadata deletes a Vercel deployment or conversely that no hooks/actions may react. - Fail-closed eligibility, per exact immutable ID: positive Vercel owner/app evidence; environment exactly
Preview/Production, no active/current/rollback/alias/open-PR branch or evidence binding; relevant Vercel project/deployment mapped; no unknown/settling statuses; complete paginated history; not the last active deployment. Preserve newest current production (and rollback) and all still-live Preview aliases/branches plus legal/support evidence, independent of numericalkeep=3. The count 101 is a search space, not a promised DELETE count. - Mutation pilot only after proven safe: snapshot IDs, statuses, SHA, URL and env, credential scope and available rate limit, revalidate active/aliases immediately before each mutation, bounded single stale Preview first; independent GitHub and Vercel readback, canon HTTP 200, check protected status/aliases/Deployments and verify CI/GitHub environment rules unaffected. Never trial-delete Production. Only when the pilot is proved inert/safe, run bounded serial batches with checkpoint/restart support, nonretriable unknown writes and rate-limit reserves; revalidate each candidate. Production GitHub records require their own explicit evidence that GitHub metadata/status events will not affect real production, rollback, GitHub deployment checks or audit trails. On any 403/404/409/422/429/5xx, unknown status, permissions/provenance conflict, event side effect or alias drift, stop fail-closed and report; no blanket-delete or uncontrolled bash loop.
- Final proof and continuation: publish sanitized before/after by env, preserved IDs/classes, removed exact IDs, skipped/unknown/error reasons, GitHub current deployment history and Vercel current/rollback aliases + canonical HTTP, no GitHub CI/gate drift, no privacy/support records exposed. Reflect in this issue and a concise QNB-41 (ops/CI measurement) plus QNB-67/GH ci(vercel): prune stale Preview deployments after PR closure #627 cross-reference without misrepresenting their separate scope. Then immediately resume active R-15 Gate4 W1 → R1 → I1 → Q1 → H1 and remaining release sequence; do not wait for low-value old Vercel records if a subset cannot safely be removed.
Hard constraints and acceptance
- User-approved target is cleanup, not permission for destructive unproven operations, GitHub app reconnection, Vercel configuration edits, deleting production Vercel deployments or aliases, force-merge, bypassing protection or touching test(core): treat coordination symlinks as barrier data #1021/hold: signed replacement for main 8801186b (do not merge) #1022/test(signing): prove the Cursor Agent signer identity #1025 holds.
- Avoid separate meta-governance PR. If executable safeguards cannot be established using a safe operator-only workflow, implement the smallest dedicated signed, fully reviewed and tested source slice; PR size ≤15 commits/≤3000 meaningful lines/≤30 files and existing exact-head CI+CodeQL/review census, then resulting-main/Production/Vercel retention as usual. No PR if a safe one-time existing operator mechanism suffices.
- Current retention feat(core): publish the final inventory capture only under the exclusive admission (#445) #1038 already terminal (GH #627 final receipt); do not repeat it. Pages workflow ci(pages): admit the Pages record pruner's bounded destructive writes (#1028) #1041 remains its own owner, daily scheduled mode ONLY for
github-pages; do not put these 101 records into that workflow. - Do not close this issue on mere inventory or dry-run. Only close with proof of safe deletion for eligible IDs, objective classification of retained objects, verified canonical production/rollback and integration health. If no safe Vercel-owned status change path exists, leave them intact with a technical blocker and resume R-15 promptly, rather than claiming unconditional completion.
Source docs: GitHub Deployment DELETE, GitHub Deployment statuses, Vercel for GitHub deployment API behavior.
Priority: Immediate bounded operational hygiene after #1041, not post-v1.30 cosmetic work and not release authority.
Activity
qnbs commentedon Oct 14, 2026
B0/B1 read-only audit — 2026-10-14,
main = be3c875f, no object touchedMethod. Complete paginated
GET /deployments(118 records) plus the full status history of every non-Pages record, correlated by deployment URL with the complete paginated Vercel project listing (/v6/deployments, 48 deployments, 36production+ 12 preview, 46 READY) and directGET /v13/deployments/{host}spot checks (3 of the candidates: 404 "Deployment not found"; 1 control: found). Classification is local, read-only and sanitized (IDs, environments, short SHAs, timestamps only).Baseline (re-fetched, not the old count). 118 records:
github-pages15 (owned by #1028/#1041, untouched),Preview87,Production16. Every one of the 103 non-Pages records: creatorvercel[bot],task=deploy,transient=false,production_environment=false, exactly one status (success, byvercel[bot]); target/log/environment URL are the same Vercel deployment URL. None is inactive, so every deletion needs our owninactivestatus first.SAFE_CANDIDATEmainnor an open-PR headPROTECTED_BRANCH_PREVIEWPROTECTED_ACTIVEUNKNOWN/EXTERNAL_NOT_OWNEDSo the search space is 87 Preview + 16 Production; the achievable removal today is at most the 56 + later the 21 Preview records. The 16
Productionrecords are not stale metadata (their deployments are live), so they stay unless a later, separate decision on production history says otherwise.Provider semantics (official docs). GitHub: with more than one deployment only inactive deployments can be deleted; a deployment is made inactive by adding a non-successful status;
auto_inactiveonly affects what a new success status does to older ones. Vercel for GitHub: the integration writes deployment statuses (deployment_statusevents appear in the PR activity log); it documents no consumption of externally created statuses, and the deployments behind the 56 candidates are already deleted on Vercel, so there is nothing on the Vercel side to act on. GitHub deployment metadata deletion does not touch Vercel deployments.Local impact check of an
inactivestatus (read-only). No workflow in this repo has adeployment_status,deploymentorrepository_dispatchtrigger; the only repo webhook (Codacy) subscribes topull_request,pushandrepository; thePreviewandProductionenvironments have no protection rules;requiresDeployments=falseonmain. Residual, not provable from the API: other installed GitHub Apps that subscribe todeployment_status, and the cosmetic effect on the PR timeline of old PRs. Both are metadata-only.Plan (nothing executed). After #1041 is merged and #1028's first scheduled run is read back: (1) single pilot on the oldest candidate (a Preview record from 2026-10-09 whose Vercel deployment is gone), with immediate per-ID revalidation (GitHub status history, Vercel 404,
main/open-PR heads), POSTinactive(not retried), DELETE, GitHub readback 404, canonical aliases/HTTP and protected IDs unchanged; (2) only if inert, bounded serial batches of the remaining candidates with the same per-ID revalidation and stop-at-first-anomaly; (3) Production records untouched. The mechanism is an operator-only local script with a read-only manifest anddry-runmode; no repository PR unless that proves insufficient.Correction of an earlier statement of mine: the "prepare a loop over 92 records" script I mentioned did not exist as a file and nothing was run; this audit supersedes that plan.
qnbs commentedon Oct 14, 2026
2026-10-14 — Confirmed next-stage priority: finite Dependabot wave after safe GH metadata reconciliation
Maintainer confirmed 11 Dependabot PRs #1043–#1053 are to be triaged/integrated immediately after Pages #1041/1028 and this separately safeguarded #1042 task, before resuming R-15 W1. The matching authoritative release train direction and material MSRV/CI hold assessments are GH #926 comment 6165860119, mirrored in QNB-145. This is a finite train with compatibility-based composite groups where safe, not compulsory eleven merges or unsafe blanket auto-merge. Additional arriving Dependabot PRs get read-only intake; freeze epoch after declaration to avoid unbounded release delay. Under #1042 preserve any GitHub metadata whose safe deletion is unproved, record retained IDs with technical reasons, then hand control to the dependency train rather than waiting indefinitely. Continue W1 promptly after bounded safe train. No PR/issue states or actual deployment objects changed by this comment.
qnbs commentedon Oct 14, 2026
URGENT OWNER OVERRIDE — 2026-10-14 ~13:20 CEST — 143 GitHub deployment records observed; act on #1042 NOW
Maintainer reports GitHub Deployments UI now shows 143 records and explicitly directs immediate maximum SAFE reduction; user is asking for actual operations, not another generic roadmap. This takes precedence over waiting for the first Pages scheduled run tomorrow for independent #1042 work. It does NOT waive source-truth, protected deployments or the external app side-effect checks. Authenticated GH deployment GET listing isn't available in this connector session; 143 is user's live UI reading, not independently reverified, so Claude local must GET+paginate and classify afresh. The previous B0/B1 audit already proved 56 stale Preview candidates and 21 deferred by the 24h age gate, with 16 Production and 10 still-live Preview records protected at that time. No actual #1042 writes have been recorded yet.
NOW: bounded action, not waiting until tomorrow
a6ef4087270fb4ee014b73eae54bfefe33c3526b(PR ci(pages): admit the Pages record pruner's bounded destructive writes (#1028) #1041 merged 10:40:48 UTC, resulting-main CI/CD #38551257921 and CodeQL #38551257871 SUCCESS; Production READY + alias + HTTP + Vercel Preview retention previously documented in ci(pages): restore safe continuous GitHub Pages deployment-record pruning #1028 comment 6167012223). Pages pruning workflow is enabled/active; manual run #38554851722 was dry-run (0 deletes) by design. The first destructive Pages opportunity remains the next schedule 2026-10-15 03:00 UTC. Do NOT confuse that with ops(vercel/github): safely prune obsolete Vercel-created GitHub deployment records #1042.inactivestatus once, then DELETE once; no blind retries; verify GitHub 404, zero Vercel alias/production/PR status impact, canonical HTTP 200, full protected-ID invariants. If API/GitHub App side effects are unprovable, fail closed and document that objective blocker immediately rather than perform unbounded write.This is explicit owner permission for positively safe stale-Preview pilot/batches now under the existing verified safeguards; it is not approval to inactivate/decommission production Vercel deployments or wipe release evidence. Use operator-only smallest workflow; no unnecessary PR.
qnbs commentedon Oct 14, 2026
URGENT OWNER PRIORITY OVERRIDE — 2026-10-14 ~13:14 CEST — EXECUTE VERCEL-OWNED GITHUB METADATA CLEANUP NOW
The maintainer's latest explicit direction is reduce the GitHub Deployments UI backlog immediately (they now see 143 entries), NOT just the 7 eligible
github-pagesentries, and not after waiting for the first 2026-10-15 03:00Z Pages cron. This OVERRIDES this issue's prior sequencing that delayed Vercel-created GitHub deployment cleanup until Pages first scheduled run. GH #1028 / merged #1041 are already activated: workflowprune-deployments.ymlactive, manualworkflow_dispatchis read-only by contract and cannot DELETE; its next scheduled main-only write opportunity remains 2026-10-15 03:00Z. There is NO benefit in repeatedly manually dispatching it. Proceed independently with #1042's already authorized Vercel GitHub-metadata operations NOW, without adding source/writer rights to the Pages workflow.Safety-critical provenance: Earlier B0/B1 GET-only census observed 118 records (15 Pages, 87 bot Preview, 16 bot Production), 56 eligible aged/absent-remote Preview candidates, 21 temporarily young (<24h) absent-remote Preview records, 10 live protected Preview records, 16 live protected Production records, with no unknowns. The user's 143 reflects a more recent UI snapshot, not an authenticated fresh inventory. Re-run fully paginated GET now, with all current Deployment statuses + owner and exact Vercel URL/id, latest current main/open PR heads, all canon/branch/rollback aliases and COMPLETE Vercel deployments. Recompute categories; do not simply execute previous 56 IDs without revalidation. 143 is the total to reconcile, not permission to delete 143 records or to force the UI to an unsafe fixed number. The 16 live Production records and any additional true live/rollback/evidence records remain until independent proof permits removal; reaching a single-digit count cannot be promised under current protections.
No new PR needed if bounded operator execution is independently proven safe. Use authenticated Claude Code CLI on local Ubuntu with owner-scoped
gh apiand Vercel read endpoints; no privilege escalation, no bypass, no force, no hidden secrets in reports. Before each immutable ID: revalidate GitHub state/creator/url/env, Vercel remote absence by direct GET 404 (distinct from 401/403/rate-limit/network errors), aged window, latest main/PR/alias/rollback/evidence holds, no GitHub status consumers known. Single oldest stale Preview pilot: POST inactive only if just-proven harmless, then DELETE (Github inactive precondition), check 404 on exact GitHub ID, ensure Vercel production and branch aliases/rollback and canonical HTTP 200 remain unchanged, and review Github Actions/integration/webhook evidence. On ANY uncertain side-effect, stop writes fail-closed and report. After clean pilot, serial bounded id-by-id batches with fresh proofs, rate reserves, no unknown retries, exact-ID audit receipt. Never trial-delete Production, never touch live Vercel deployments/aliases or other environments, never inferinactiveposting cannot be observed by external GitHub Apps. Newly aged Preview candidates can be considered on a later bounded pass after renewed proof, no rushed 24h bypass.Workflow/distribution: Pages-only scheduled pruning proceeds separately tomorrow; do NOT enable manual writes by modifying workflow for expedience. Finish #1042's safe subset and preserve unavoidable protected residual records with documented reasons, rather than endlessly waiting for UI count to become a handful. Then return DIRECTLY to R-15 Gate4 W1 and complete Gate4–7/v1.30. LATEST MAINTAINER DEPENDABOT DECISION SUPERSEDES EARLIER #1042/#926 TRAIN PLAN: ALL 18 currently open bot PRs #1043–#1060 are for POST-v1.30 VERIFIED audit/train, not before W1. No Dependabot merges/rebases/grouping/lockfile changes now except separately authorized demonstrated release-critical security blockers. Existing #927/QNB-173 portfolio owns post-release intake.
Required terminal evidence: timestamp/SHA, fresh counts per env before/after, candidate/protected/deferred/unknown counts, exact deleted IDs and per-ID provenance, inactive vs deleted state confirmation, GitHub workflow/integration/release checks, Vercel production+all aliases+rollback and HTTP proof, Pages separation, errors/skips/rate-budget; mirror status here and QNB-41 without reopening completed Vercel platform retention #627. If writes cannot be proved safe/implemented via available rights, say so and give precise blocker, do not claim cleanup, do not spin on repeated plans.
qnbs commentedon Oct 14, 2026
CURRENT SCHEDULING / DESTRUCTIVE-SAFETY RECONCILIATION — 2026-10-14 23:06 UTC
Owner direction remains: maximize only demonstrably SAFE removal of obsolete
vercel[bot]-created GitHub Deployment API metadata now; this is separate from #1028github-pagesscheduled records and #627 Vercel-platform deployments/aliases. No confirmed destructive pilot or batch outcome has been published in this issue as of this readback. Historical 118-record census/56 candidate Previews and the later UI 143 count are snapshots, not a live deletion approval or count; native authenticated localgh apimust recensus and corroborate Vercel/PR/protected bindings.Priority distinction (explicit supersession): earlier issue comments proposing a bounded Dependabot integration train before Gate4/W1 are superseded by the later maintainer decision in GH #926 comment 6167202159. All 18 routine Dependabot PRs #1043–#1060 remain AFTER v1.30.0 VERIFIED (except a separately proved release-blocking security fix). Do not wait for the Pages 2026-10-15 03:00Z scheduled writer before independently reconciling #1042.
Safety/execution: classify with full paginated deployment/status/creator/URL/release main+rollback+alias+active PR hold correlation. The
inactiveevent may be observable by the Vercel GitHub App; prove provider side effects before any inactivation. Keep ALL Production, active/rollback/alias/unknown records; then, only if objectively safe, exactly one aged remote-gone Preview as inactive→DELETE pilot with GitHub 404 and Vercel/production/alias/site postproof; bounded sequential batches only if pilot clean, stop on drift/rate limit/unknown. Never fabricate a receipt, never equate Vercel platform delete to GitHub metadata delete, never sacrifice protected objects to achieve an arbitrary zero. If safe mutation cannot be proven, document block/retained IDs and allow R-15 to proceed.Operator capacity: current Codex/Work weekly quota is low; local CLI read-only reconciliation and deterministic safeguards may continue without repeated Codex review triggers. For any new code implementation, apply normal protected exact-head risk/CI/review gates; missing quota is no waiver. Follow QNB-145.
qnbs commentedon Oct 15, 2026
#1042 first execution, 2026-10-15 (maintainer-run batches of
vercel_records_prune.py, then read back by the operator). Scope: Preview records of vercel[bot] only; no Production record, nogithub-pagesrecord, no Vercel deployment or alias was touched by this script.Preview(vercel[bot])Production(vercel[bot])github-pagesRules the script re-checks per ID before any write: environment
Preview, creator vercel[bot], exactly one success status by vercel[bot], SHA is notmainand not the head of an open PR, record older than 24 h, and the Vercel deployment answers 404 on a direct lookup; theninactiveonce, DELETE once, GET 404 as readback; stop at the first anomaly.Readback after the last batch: the oldest candidate
6969550929answers 404; a fresh dry-run lists 0 remaining candidates (preview_candidates_before_vercel_check=0, maince3504b9, 22 open PR heads);worldscript-studio.vercel.appHTTP 200, GitHub Pages HTTP 200, Productiondpl_HjkvieT8RR5MR5usbkuXuZcdn2XHReady with its three aliases.What remains and why: the 61 Preview records belong to live Vercel previews (23 held by retention, mostly the 18 Dependabot PRs kept open until after v1.30) or are younger than 24 h; they become candidates as they age or when their PRs close. The 21 Production records belong to production deployments that Vercel still holds (the retention policy keeps them, QNB-67); a Production-record pass would need its own pilot and is not started. The 19 Pages records go down to about 9 with the GH #1028 pruner.
Not claimed: a per-ID log of the batches (they ran in the maintainer's terminal), so absence of the deleted IDs is the evidence; nothing is declared done in the Linear owner beyond this receipt.
qnbs commentedon Oct 16, 2026
Current deployment metadata audit — 2026-10-16 08:50 UTC
VERIFIED_CURRENT. Complete paginated GitHub Deployments API census: 154 unique records — 115
Previewbyvercel[bot], 29Productionbyvercel[bot], and 10github-pages(7qnbs, 3cursor[bot]). The reported UI value 154 matches this snapshot. Full deployment status histories were read; these are GitHub metadata records, not Vercel platform deployments.#1042 operator dry-run, read-only. Local
/home/pc/ops/vercel_records_prune.pySHA-256f5254d78a47a57796546b3d097036e6cb7c98c9575595f6d65912ec6f2f97e97; output:main=0ba4b94a, 21 open-PR heads,preview_candidates_before_vercel_check=52. Those 52 are only prefilter matches, not SAFE candidates. The script dry-run does not directly query Vercel. The Vercel connector returned 403 for the scoped project/team; the local CLI could not load/create its auth file. These are access failures, not deployment-not-found responses. Therefore SAFE proven now = 0; 52 remain UNKNOWN pending Vercel per-ID verification. The dry-run does not emit a reason breakdown for the other 63 Preview records, so no finer classification is asserted.Outcome: no pilot, no deployment status POST, no GitHub deployment DELETE, and no Vercel operation. All 29 Production and all 10 Pages records remain untouched. The historical 2026-10-15
170→101/ 69-deletion receipt remains historical and is not replayed. Public canonical Vercel and GitHub Pages URLs both returned HTTP 200 in read-only checks; provider management access is a separate capability.Read-only refresh — 2026-10-16 09:01 UTC
A repeat of the same dry-run now reports 53 Preview prefilter matches (the 08:50 snapshot above reported 52). Its output does not isolate the reason for this one-record change and prints only the first ten examples. The current 53 remain UNKNOWN because no scoped direct Vercel lookup is available; SAFE proven remains 0. No status POST, GitHub deployment DELETE, or Vercel write occurred. The paginated GitHub census at approximately 09:00 still has 154 records (115 Preview, 29 Production, 10 Pages).
qnbs commentedon Oct 16, 2026
Read-only Vercel reconciliation — 2026-10-16 09:36 UTC
VERIFIED_CURRENT. The complete paginated GitHub Deployments census still returns 154 unique IDs: 115
Preview/vercel[bot], 29Production/vercel[bot], 10github-pages(7qnbs, 3cursor[bot]), 0 other. Currentmainremains0ba4b94a4c70b36a74b2db25dd271626cafaf84d; 21 open PR heads.Vercel GETs through the connected integration confirmed project
worldscript-studio(prj_XJDiKIlKNg5sbmw6xMHIlf6glXHy) under teamqnbs-projects(team_Dx4T2J41LNqP8mDgrRraonWp). The current Production deployment isdpl_3hiSh3SVxEwKc4oCsY1esPfLitiT,READYon the exactmainSHA; all three canonical aliases remain bound to it. The project list returned 49 READY deployments (13 Production, 36 Preview); the older-page query returned 0. The alias list returned 54 records with no next page.Current 24-hour prefilter: 54 Preview IDs. All 54 status histories were re-read and each is exactly one
successbyvercel[bot]; eachtarget_urlequals itsenvironment_urlhost. Exact-host Vercel GETs returned:Preservation checks found 9 of the 51 Vercel-gone records at current branch-head SHAs and defer them: 7057759306, 7060115533, 7062649827, 7066128283, 7067005647, 7079300566, 7080334159, 7081523450, 7085109877. The remaining 42 had no exact current Production/rollback SHA, branch-name, tag/release, or alias-host overlap in the read-only checks. They are NOT marked SAFE; the external status-subscriber side-effect gate and immediate per-ID execution revalidation remain outstanding.
No writes were performed: GitHub status POSTs 0; GitHub deployment DELETEs 0; Vercel writes 0. The existing
/home/pc/ops/vercel_records_prune.pyuses localvercel api GETfor the Vercel predicate.vercel whoami --format jsonstill reportsloggedIn=false/login_required, while the connected integration succeeds independently. The script itself does not check branch-head, rollback, release-tag, or evidence-hold overlaps. Therefore no pilot/batch was started; the current result isREAD_ONLY_BLOCKED_FOR_WRITE, withSAFE=0 VERIFIED_DELETIONS=0.Per-ID Vercel API request IDs and the complete direct-GET ledger are in the private operator supplement
08_VERCEL_READONLY_RECONCILIATION_2026-10-16T0936Z.md.qnbs commentedon Oct 16, 2026
Read-only CLI reconciliation update — 2026-10-16 10:16–10:21 UTC
vercel upgrade latest. Localwhoaminow returns an authenticated account;teams listandproject inspectconfirmqnbs-projectsand projectworldscript-studio(prj_XJDiKIlKNg5sbmw6xMHIlf6glXHy).mainremains0ba4b94a4c70b36a74b2db25dd271626cafaf84d; 21 open PRs.f5254d78a47a57796546b3d097036e6cb7c98c9575595f6d65912ec6f2f97e97; its GET-only dry-run found 58 prefiltered Preview IDs. All 58 were re-read for their status history and checked by the local Vercel CLI against the exact statustarget_url: 51 returned semantic404 Deployment not found; 7 still exist and remain protected. Deployment-levelenvironment_urlis null for these records; the verified per-ID Vercel reference is the successfulvercel[bot]statustarget_url.7089085998also matches a current branch head and is still present at Vercel. No current open-PR association was found through GitHub’s commit-to-PR lookup for the 58 candidate SHAs.pull_request,push, andrepository, notdeployment_status. However, the repository GitHub App installation lookup returned HTTP 401, so the current account cannot enumerate every installed App event subscriber. The existing operator script also does not check branch-head, rollback, release-tag, or evidence-hold predicates itself.Result:
SAFE=0; pilot not run. GitHub deployment status POSTs/DELETEs = 0; Vercel writes = 0. The 42 Vercel-gone records outside the current branch-head holds remain prechecks only, not deletion authorization. Production remainsREADYon exact main; all three canonical aliases remain bound to that deployment; Vercel and GitHub Pages public roots both returned HTTP 200. This receipt does not change Vercel platform retention ownership or authorize a later cleanup batch.qnbs commentedon Oct 16, 2026
#1042 factual unblock — 2026-10-16, official GitHub webhook semantics; still no deletion authorized without exact-ID preflight
Critical correction to the most recent READ_ONLY_BLOCKED_FOR_WRITE conclusion. GitHub's current official Webhook events and payloads reference says verbatim: “A webhook event is not fired for deployment statuses with an
inactivestate.” GitHub's official REST Deployments docs require an inactive state before deletion when there are multiple deployments. Consequently an unrelated401when enumerating GitHub App installations does not, by itself, prove a risk fromdeployment_statuswebhook dispatch caused by this particular inactive POST and must not be the blanket veto. This is documentation evidence, not proof of zero possible polling/other integration effects; still use a one-ID pilot, active-site/alias/Actions/PR evidence and stop on anomaly.Scope and live candidate baseline only, not pre-approval: Latest operator evidence: 154 GitHub deployment metadata records (115 Preview, 29 Production, 10 github-pages); 51 absent-at-Vercel Preview references (semantic authenticated 404), 9 same as current branch-head SHAs → protected, 42 other aged Preview records → further exact-ID preflight.
SAFEremains 0 until that preflight. GitHub statustarget_urlis the verified Vercel hostname; deployment-levelenvironment_urlis null and must not be used as proof.Targeted next action for Codex local: In a separate operator-only maintenance lane, inspect and harden the existing
/home/pc/ops/vercel_records_prune.pyand/or write a minimal exact-ID wrapper, without changing repository code, so it verifies every currently required hold itself immediately before the first status POST and again before DELETE: all main and open branch heads; tags/releases; explicit evidence/rollback holds; current Vercel project/team, alias hosts and production/rollback; existing live deployment controls; exact bot-authored successful Preview metadata, age and authenticated direct remote 404. First run a single specific oldest eligible ID as a pilot (inactivestatus then GitHub deletion), no blind write retries; check GET 404, current main unchanged, Pages and Production/aliases unaffected and observe integration evidence. Only after a terminal and clean pilot, small serial exact-ID batches with full revalidation and a per-ID public receipt. Stop on ambiguity or incorrect proof; neverexecute 42against the existing script without the missing hold checks. These metadata operations are separate from #627's Claude-only Vercel platform deletions and #1028's Pages scheduled writer. Production records remain protected until an independent audited Production-metadata policy/owner decision; historical Production count cannot be indiscriminately reduced.Unchanged: no repo source changes/PRs/merges, no Vercel platform writes, no release; Claude pause and release NO_GO still apply. This note clarifies external documentation; it makes no claim that any of the 42 has been deleted.
qnbs commentedon Oct 16, 2026
#1042 exact-ID pilot receipt — PARTIAL — 2026-10-16 11:01 UTC
Pilot ID
7056781894(Preview, SHAc224ba2b52e1, original Vercel hostworldscript-studio-bt20y9q91-qnbs-projects.vercel.app). The sole originalvercel[bot]success status was19743553191; a fresh direct, team-scoped Vercel GET returned semanticDeployment not found (404).POST state=inactive: HTTP 201 at 10:58:19 UTC; GitHub status19888837598, creatorqnbs. Readback confirmed the new inactive status followed the original success status.DELETE: not sent. The exact-ID operator stopped before DELETE because its post-POST host revalidation read the new inactive status first, whosetarget_urlis empty; the original success status still contains the verified host. The operator therefore could not satisfy its own exact-host witness check. No retry or alternate mutation was attempted.github-pages. ID7056781894still exists; no deployment record was deleted.main=0ba4b94a4c70b36a74b2db25dd271626cafaf84d; exact-main CI and CodeQL success; Vercel ProductionREADYon that SHA; all three canonical aliases remain bound todpl_3hiSh3SVxEwKc4oCsY1esPfLitiT; Vercel canonical root and GitHub Pages root returned HTTP 200. Latest Pages scheduled run38844567346remains successful. No Vercel, alias, Production, Pages, deployment-delete, source/workflow, branch, PR, or release write occurred. This issue comment is the sole repository text write for this receipt.inactivestatus does not fire adeployment_statuswebhook. Current repository hooks and workflow sources have no such listener. This does not prove absence of external polling clients; that residual is recorded as unknown.Stop state:
PARTIAL_AFTER_INACTIVE_POST. No more deployment status POSTs or deployment DELETEs in this run. The exact metadata count did not decrease.qnbs commentedon Oct 16, 2026
#1042 exact-ID DELETE-only recovery — CONFIRMED — 2026-10-16 12:16 UTC
This closes the prior PARTIAL recovery for GitHub Deployment ID
7056781894only (prior receipt: #1042 (comment)).Preview,vercel[bot], SHAc224ba2b52e1, original Vercel hostworldscript-studio-bt20y9q91-qnbs-projects.vercel.app. The existing inactive status19888837598was retained; this recovery sent no status POST.Deployment not found (404)in projectworldscript-studio/ teamqnbs-projects.204; exact deployment GET returned HTTP404. No retry was issued.154 → 153;Preview 115 → 114,Production 29 → 29,github-pages 10 → 10. Full pagination completed; ID7056781894is absent.main=0ba4b94a4c70b36a74b2db25dd271626cafaf84d; exact-main CI and CodeQL succeeded. Productiondpl_3hiSh3SVxEwKc4oCsY1esPfLitiTisREADYon that SHA; all three canonical aliases remain bound to it. GitHub Pages scheduled run38844567346succeeded. Vercel and Pages sites both returned HTTP 200.inactivedeployment status does not fire a webhook event; external polling clients remain outside this observation.0; Pages writes:0; other IDs or batches processed:0.qnbs commentedon Oct 17, 2026
2026-10-17 — read-only GitHub Deployment census delta
The complete paginated GitHub Deployments API now returns 158 records: 117
Preview, 30Production, and 11github-pages. This is five above the confirmed 153-record census in the 12:16 UTC receipt.The five records created since that census are:
855327acc8c5d7fbf25949b06900f0077e09a2d5success, status 19895399017, original environment URLworldscript-studio-mt9qsifev-qnbs-projects.vercel.app0a063ed9f211f14fd7d187ec67c044e7e744579asuccess, status 19895484330, original environment URLworldscript-studio-ev213wkar-qnbs-projects.vercel.appa710b39bb2aeecee9a1e580cc367c930c45b58c1success, status 19897022521, original environment URLworldscript-studio-193x6cnwg-qnbs-projects.vercel.app26f79ed3fe36a67ae2991bfbf9e0d25e7df7ccfasuccess, status 19897191867, original environment URLworldscript-studio-gkpy8lr2o-qnbs-projects.vercel.appa710b39bb2aeecee9a1e580cc367c930c45b58c1success, status 19898365333; Pages run 38910695945 job 117016902804The deployment objects have empty
target_urlvalues; the original status records above retain the environment URLs. Pilot ID7056781894remains absent (exact GET 404), as recorded in the prior receipt. No additional status POST or DELETE was issued; additional deletion count is 0. The new Preview records and all prior candidates remain individually unqualified for deletion; this census does not label any record SAFE. Pages pruning remains with the scheduled workflow; no manual dispatch was sent.qnbs commentedon Oct 17, 2026
2026-10-17 — exact-ID Preview metadata deletion
Fresh complete pre-write census at 07:39:53 UTC: 156 GitHub Deployment records (117
Preview, 30Production, 9github-pages).Exactly one candidate was revalidated: ID
7056982621,Preview/deploy, creatorvercel[bot], SHAaf127aa0bb0f689f68755e465aa0db400b236b63, older than 24 hours. Its original bot-success status19744044825supplied thetarget_urlhostworldscript-studio-cc23kdzcx-qnbs-projects.vercel.app; the exact team/project-scoped Vercel GET returned semanticDeployment not found (404). The SHA was absent from current main, branch heads, open PR heads, current tag/release targets, and open/recent PR associations. The complete scoped alias inventory had no binding to that host; no Vercel deployment shared the SHA. Both protected rollback candidates (main and its parent), Production, and canonical aliases remained intact.GitHub accepted one
inactivestatus POST (201, status19935663185), then one exact-ID DELETE (204). Independent exact-ID GET returned404. The complete post-census was 155 (116Preview, 30Production, 9github-pages): the only removed ID was7056982621; there were no additions. Production and Pages each remained HTTP 200, Productiondpl_iQYUJpYnG4rbP41UgMWsap7gjZTYstayed READY on exact maina710b39bb2aeecee9a1e580cc367c930c45b58c1, and all three canonical aliases remained bound. The prior pilot7056781894stayed 404 and was not retried.GitHub documents that an
inactivestatus does not emit adeployment_statuswebhook; this repo has no active deployment-status webhook or workflow listener. External pollers remain unverified. No Vercel platform deployment or alias was changed, and no Production or Pages metadata was touched. This is a one-ID verified result, not a claim that the remaining Preview metadata is SAFE.qnbs commentedon Oct 17, 2026
Exact-ID Preview metadata batch — 2026-10-17
VERIFIED. On exact main
a710b39bb2aeecee9a1e580cc367c930c45b58c1, a fresh two-page GitHub Deployments census moved from 155 records (116 Preview / 30 Production / 9 Pages) to 149 (110 / 30 / 9). Only these sixPreview/deployrecords fromvercel[bot]were removed. Each was over 72 hours old, had one immutable original Vercel success status, no current main/open-PR/branch-head/tag/release/evidence-hold overlap, no active alias, and no same-SHA deployment in the scoped Vercel inventory.All direct Vercel GETs used team
team_Dx4T2J41LNqP8mDgrRraonWpand projectprj_XJDiKIlKNg5sbmw6xMHIlf6glXHy; each returned semanticDeployment not found/ HTTP 404. The host below comes only from the originalvercel[bot]success statustarget_url.9d6aa1652ff8859857c131aabc52d00d1ab9f0ceworldscript-studio-ayj9e7534-qnbs-projects.vercel.app00b72f07717cbc63ece450384d3e1d6d90985fd0worldscript-studio-k5qctlbvi-qnbs-projects.vercel.appd145df6054a87208fd5da8a777c1fc2ebf41c130worldscript-studio-ckr58ig11-qnbs-projects.vercel.app6061520d21db52dfb0c649df39207721ee1384eaworldscript-studio-dg4btdoae-qnbs-projects.vercel.app963aadbb06d04213d824dc61cae7297c8096d951worldscript-studio-a0lm2csyx-qnbs-projects.vercel.appf41f19cc7da4d64c02c65c9c66c0fd10c5218036worldscript-studio-7t5so3na0-qnbs-projects.vercel.appNo blind retry occurred. For 7057224107 the process stopped after persisting DELETE HTTP 204 but before its readback; an independent exact-ID GET returned 404, the full census showed only the intended removal, and the batch resumed from that readback without another POST or DELETE. The older pilot IDs 7056781894 and 7056982621 remained 404 and were not retried.
Postproof: main and the two exact-main required Actions runs remained successful (CI/CD 38910695945; CodeQL 38910695491). Pages retention run 38997961861 completed successfully; no run was queued or active. GitHub Production and Pages IDs were unchanged. Vercel Production and the previous Production rollback deployment remained READY, all three canonical aliases still pointed at current Production, full Vercel inventories remained 38 deployments / 55 aliases, Production HTTP and Pages HTTP both returned 200. Codex Vercel platform writes: 0. The Pages automation remains independent.
qnbs commentedon Oct 17, 2026
Batch receipt — GitHub Preview deployment metadata (2026-10-17)
Live exact-main anchor throughout:
a710b39bb2aeecee9a1e580cc367c930c45b58c1. This is GitHub Deployments API metadata cleanup only; no Vercel platform write was performed.Full paginated census: before this batch at 09:09Z, 149 = 110 Preview / 30 Production / 9 github-pages; after the six confirmed removals at 09:35:40Z, 143 = 104 / 30 / 9. Main stayed unchanged. Production and Pages record counts stayed unchanged. Canonical aliases remained bound to current Production
dpl_iQYUJpYnG4rbP41UgMWsap7gjZTY; Production and Pages HTTP 200. Vercel platform inventory remained 38 deployments / 55 aliases.For each ID, the immutable witness was the original
vercel[bot]success-statustarget_url; each record was an aged Preview deploy. Immediately scoped Vercel host GET returned semanticDeployment not found/404, with no active alias or protected SHA association. Each was revalidated before inactive POST and before DELETE. Results:27a14a8a2701475d5cb08a98c06f7b61c89a3ba6worldscript-studio-alb54jwdm-qnbs-projects.vercel.appbbea655958cdd927cdad57e1eac2beac431d9bf3worldscript-studio-1lbbk34tp-qnbs-projects.vercel.appc73ed714b0765cb4a7f34c98f1302cf3d59b4813worldscript-studio-nu55cr8v3-qnbs-projects.vercel.appf78168ceed7e3810c69d64a0f55b82c991c2760fworldscript-studio-jv4fkc3gb-qnbs-projects.vercel.app45a689f0f4e41e3e777d4bcc03bfbcb2ccedd20worldscript-studio-nagfwdhqv-qnbs-projects.vercel.appc75ae4e409ec03ae27e07e3503246955a165fb1fworldscript-studio-ewmbbutfn-qnbs-projects.vercel.appThe API call following DELETE 7062244761 returned a transient local
gh api usercommand failure after HTTP 204. No write was retried: recovery readback confirmed exact-ID 404, followed by the remaining serial IDs and final full census. Authenticated user/rate-limit reads subsequently succeeded.Prior pilots 7056781894 and 7056982621 were not retried. Production, Pages, active-provider/branch/PR-hold IDs were preserved.
qnbs commentedon Oct 17, 2026
Batch receipt — GitHub Preview deployment metadata (2026-10-17)
Exact main remained
a710b39bb2aeecee9a1e580cc367c930c45b58c1. This changes only GitHub Preview deployment metadata; no Vercel platform write occurred.Full paginated census: 143 = 104 Preview / 30 Production / 9 github-pages before (09:44:38Z); after the batch 138 = 99 / 30 / 9 (10:03:27Z). All three canonical aliases remained bound to current Production
dpl_iQYUJpYnG4rbP41UgMWsap7gjZTY; Production and Pages HTTP 200. Vercel inventory stayed at 38 deployments / 55 aliases.Five IDs passed fresh per-write checks. For each, the original
vercel[bot]Success statustarget_urlprovided the host witness; the host-scoped exact Vercel GET returned semantic Deployment not found/404; no active alias or protected SHA association was found; each was revalidated before both POST and DELETE.68948ce9284b23541ee8aec67840abc4e60bfc8dworldscript-studio-d0g2qgfpq-qnbs-projects.vercel.app5c5cfd08a850b9e13f6712c024d76ff0c3971ae3worldscript-studio-mldriq7tq-qnbs-projects.vercel.app02b37471aa947b60f03817300dd4049e0959598dworldscript-studio-4tgrh0og9-qnbs-projects.vercel.app1b875eb208e7522fc96d829b216b85e53cd1089bworldscript-studio-j5kqtb0jz-qnbs-projects.vercel.app68f31bac7415c1880aa1d658111887fdd9f98cd0worldscript-studio-3f6dhghbl-qnbs-projects.vercel.app7062326204was held with classifier reasonexplicit-evidence-hold; it had no write. The two prior pilot IDs were never retried. Production, Pages, active-provider/branch/PR-hold records were preserved.qnbs commentedon Oct 17, 2026
Batch receipt — GitHub Preview deployment metadata (2026-10-17)
Fresh full paginated census before this batch at 10:24:40Z: 139 = 100 Preview / 30 Production / 9 github-pages. Postproof at 10:46:57Z: 133 = 94 / 30 / 9. Exact main remained
a710b39bb2aeecee9a1e580cc367c930c45b58c1; the additional Preview row before the batch was the active PR #1077 deployment and was preserved.All six IDs below passed the current full-census, ref/tag/release/evidence-hold, alias, SHA, original-status, age and exact scoped Vercel-host GET checks immediately before each write. The immutable host witness was the original
vercel[bot]Success statustarget_url; every scoped Vercel GET returned semantic Deployment not found/404. Per ID: inactive POST 201, DELETE 204, exact GitHub ID GET 404.8b7e080a97547d05f8fd14d4f9b827ed70330595worldscript-studio-4ii6hocty-qnbs-projects.vercel.app0b8cd07f6c12fdbd13c3a5d9a615d4349d53ea2aworldscript-studio-3fj3a63zx-qnbs-projects.vercel.appa8d95f21e2795b1ae95bd7da19063623df1299ffworldscript-studio-obp8jqy9l-qnbs-projects.vercel.appf2a23d2abbdf96d5acdb81d9ed7b9aab00e47747worldscript-studio-p4s6a0mh4-qnbs-projects.vercel.app47b5469cc5b5376a6e1116b9b184fb88de6beddcworldscript-studio-8r7tbmqm5-qnbs-projects.vercel.app70b3e8ae403716519f729082c1d76f509cfe7ab7worldscript-studio-fjsc2ndvg-qnbs-projects.vercel.appPostproof: Production/Pages record counts remained 30/9; current Production stayed
dpl_iQYUJpYnG4rbP41UgMWsap7gjZTY, with all three canonical aliases bound to it; Production and Pages HTTP 200. Vercel inventory stayed 39 deployments / 56 aliases, including PR #1077. No Vercel platform write; no Production, Pages, branch, PR, rollback or other held record was changed.qnbs commentedon Oct 17, 2026
Batch receipt — GitHub Preview deployment metadata (2026-10-17)
Full paginated census: 133 = 94 Preview / 30 Production / 9 github-pages before (self-test snapshot 10:57:41Z); after the batch 127 = 88 / 30 / 9 at 11:20:20Z. Exact main remained
a710b39bb2aeecee9a1e580cc367c930c45b58c1.Each ID passed fresh current-census/ref/tag/release/evidence-hold, provider SHA, alias, original-status and age checks immediately before both writes. The immutable Vercel host witness is the original
vercel[bot]Success-statustarget_url; correctly scoped exact host GET returned semantic Deployment not found/404. Every per-ID result: inactive POST 201, DELETE 204, final exact GitHub ID GET 404.19763cf4a82dda7fda2e327c7edacc396bb3f41dworldscript-studio-lvki8qbus-qnbs-projects.vercel.app9d4127543619a12843a1758b1110b7662de27c38worldscript-studio-p8k80osi6-qnbs-projects.vercel.app7a473796c3a7261d2839467c81bd5d621a03ecc9worldscript-studio-jm70uooa6-qnbs-projects.vercel.appd882a9e4265dce49753bf8e18e7ce339318d791bworldscript-studio-e1of9lrs5-qnbs-projects.vercel.app2ba2c394b7447474ba8410ed7a271bb93580bb50worldscript-studio-kxbdnlgm5-qnbs-projects.vercel.app1ba44abc457438a7495bfbc5330694ab7455af6aworldscript-studio-gfj557tnu-qnbs-projects.vercel.appProduction/Pages counts remained 30/9; current Production stayed
dpl_iQYUJpYnG4rbP41UgMWsap7gjZTYand all three canonical aliases remained bound to it. Production and Pages HTTP 200. Provider inventory remained 39 deployments / 56 aliases. No Production, Pages, active-provider, PR/branch, rollback or protected evidence object was changed; no Vercel-platform write occurred. All 25 earlier deleted IDs are now in the operator's permanentNEVER_RETRYset.qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 6 abgeschlossen (2026-10-17 11:49:34Z). Frischer paginierter Census: 127 → 121 Datensätze; Preview 88 → 82, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; alle drei kanonischen Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Sechs IDs wurden jeweils unmittelbar vor jedem Write vollständig frisch geprüft: Preview/vercel[bot]/deploy, Original-Success-Status mit zugehörigem Vercel-Host, Alter >24h, exakter scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Evidence-/Alias-/Production-/Rollback-Holds. Jeweils POST inactive=201, GitHub DELETE=204, unabhängiger Exact-ID-GET=404:
Batch-Postproof 11:49:34Z confirms all six deleted, counts 82/30/9, Main unchanged, Production/Pages HTTP 200, three aliases on current Production. Private per-ID receipt and fingerprints are retained.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 7 abgeschlossen (2026-10-17 12:18:20Z). Frischer paginierter Census: 121 → 115 Datensätze; Preview 82 → 76, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; alle drei kanonischen Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
ID 7062326204 blieb HOLD: expliziter Evidence-Hold, keine Mutation.
Sechs IDs wurden jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, Original-Success-Status samt Original-Host, Alter >24h, exakter scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. Jeweils POST inactive=201, GitHub DELETE=204, unabhängiger Exact-ID-GET=404:
Batch-Postproof 12:18:20Z confirms all six exact IDs deleted, counts 76/30/9, Main unchanged, Production/Pages HTTP 200, canonical aliases unchanged. Full per-ID receipt is retained privately.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 8 abgeschlossen (2026-10-17 12:52:28Z). Frischer paginierter Census: 115 → 109 Datensätze; Preview 76 → 70, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; alle drei kanonischen Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Drei explizite Kontroll-IDs blieben HOLD, ohne Mutation:
Sechs IDs jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, ursprünglicher Success-Status samt Host, Alter >24h, scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. POST inactive=201, DELETE=204, unabhängiger Exact-ID-GET=404:
Postproof 12:52:28Z confirms all six exact IDs deleted, counts 70/30/9, Main/aliases unchanged, Production and Pages HTTP 200. Full per-ID receipt is retained privately.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 9 abgeschlossen (2026-10-17 13:22:18Z). Frischer paginierter Census: 109 → 103 Datensätze; Preview 70 → 64, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; alle drei kanonischen Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Drei Kontroll-IDs blieben HOLD, ohne Mutation: 7062291400 und 7062308382 (Evidence-Hold, scoped Provider-GET 200 und SHA im Provider-Inventar); 7062326204 (expliziter Evidence-Hold).
Sechs IDs jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, ursprünglicher Success-Status samt Host, Alter >24h, scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. POST inactive=201, DELETE=204, unabhängiger Exact-ID-GET=404:
Postproof 13:22:18Z confirms all six exact IDs deleted, counts 64/30/9, Main/aliases unchanged, Production and Pages HTTP 200. Full per-ID receipt is retained privately.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 10 abgeschlossen (2026-10-17 13:51:46Z). Frischer paginierter Census: 103 → 97 Datensätze; Preview 64 → 58, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; alle drei kanonischen Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Die drei bekannten Kontroll-IDs 7062291400 und 7062308382 (Evidence-Hold plus aktiver Provider-GET 200/same SHA) sowie 7062326204 (Evidence-Hold) blieben unverändert.
Sechs IDs jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, Original-Success-Status samt Host, Alter >24h, scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. POST inactive=201, DELETE=204, unabhängiger Exact-ID-GET=404:
Postproof 13:51:46Z confirms all six exact IDs deleted, counts 58/30/9, Main/aliases unchanged, Production and Pages HTTP 200. Full per-ID receipt is retained privately.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 11 abgeschlossen (2026-10-17 14:23:14Z). Frischer paginierter Census: 97 → 91 Datensätze; Preview 58 → 52, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; alle drei kanonischen Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Die drei Kontroll-IDs 7062291400 und 7062308382 (Evidence-Hold und aktive scoped Provider-200/same-SHA Bindung) sowie 7062326204 (Evidence-Hold) blieben unangetastet.
Sechs IDs wurden jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, Original-Success-Status samt Host, Alter >24h, scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. Jeweils POST inactive=201, GitHub DELETE=204, unabhängiger Exact-ID-GET=404:
Postproof 14:23:14Z confirms six exact IDs deleted, counts 52/30/9, Main/aliases unchanged, Production and Pages HTTP 200. The separate Dependabot train expired at 14:14:30Z with MERGE_COUNT=1 and no additional merge; that deadline does not suspend this independently authorized metadata cleanup. Full per-ID receipt is retained privately.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 12 abgeschlossen (2026-10-17 14:54:06Z). Frischer paginierter Census: 91 → 85 Datensätze; Preview 52 → 46, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; drei kanonische Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Vier Kontrollen blieben HOLD, ohne Mutation: 7062291400,7062308382 (Evidence-Hold, provider scoped GET 200/same SHA); 7062326204 (Evidence-Hold); 7119957229 (provider deployment same SHA, scoped GET 200).
Sechs IDs jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, ursprünglicher Success-Status samt Host, Alter >24h, scoped Vercel-GET semantisch 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. POST inactive=201, DELETE=204, unabhängiger Exact-ID-GET=404:
Postproof 14:54:06Z confirms six exact IDs deleted, counts 46/30/9, Main/aliases unchanged, Production and Pages HTTP 200. Train cleanup is separate; no Vercel-platform writes. Per-ID evidence is retained privately.
qnbs commentedon Oct 17, 2026
GitHub Preview-Metadaten Batch 13 abgeschlossen (2026-10-17 15:11:15Z). Frischer paginierter Census: 85 → 83 Datensätze; Preview 46 → 44, Production 30 → 30, github-pages 9 → 9. Main blieb a710b39; Production und Pages HTTP 200; drei kanonische Aliases blieben an der aktuellen Production. Kein Vercel-Plattform-Write.
Vier Kontrollfälle blieben HOLD, ohne Mutation: 7062291400 und 7062308382 (Evidence-Hold, active provider GET 200/same SHA); 7062326204 (Evidence-Hold); 7119957229 (evidence/active provider 200/same SHA).
Die zwei übrigen Kandidaten wurden jeweils unmittelbar vor jedem Write frisch geprüft: Preview/vercel[bot]/deploy, original Success status plus Host, >24h, scoped Vercel semantic 404, keine Branch-/PR-/Tag-/Release-/Alias-/Production-/Rollback-Holds. POST inactive=201, GitHub DELETE=204, unabhängiger Exact-ID-GET=404:
Postproof 15:11:15Z confirms both exact IDs deleted, counts 44/30/9, Main/aliases unchanged, Production and Pages HTTP 200. Full per-ID evidence remains in the private receipt.
qnbs commentedon Oct 17, 2026
Sättigungsprüfung, read-only, abgeschlossen am 2026-10-17 15:19:43Z. Frischer vollständiger Census zu Beginn: 83 Datensätze = 44 Preview / 30 Production / 9 github-pages; Main a710b39; 52 Branches,21 offene PRs,39 Tags,37 Releases,39 Vercel Deployments,56 Alias-Einträge. Provider-/GitHub-Schutzanker unverändert; Production und Pages HTTP 200; alle drei kanonischen Aliases weiterhin auf current Production. Kein Vercel-Plattform-Write.
Alle 44 verbliebenen Preview-Metadatensätze wurden einzeln durch den fail-closed Classifier geprüft: SAFE=0, UNKNOWN=0, HOLD=44. SAFE=0 folgt aus tatsächlich gelesenen Einzel-ID-, Status-, Ref- und Providerdaten, nicht aus fehlenden Daten. Die Gründe überschneiden sich: 40 haben SHA auf Main/Branch/open-PR/Tag/Release; 25 haben ein passendes aktives Vercel-Deployment und scoped GET 200; 4 explizite Evidence-Holds; 1 ist jünger als 24h. Diese Objekte wurden nicht verändert.
Verbliebene IDs:
6978841699, 6978853187, 6983078764, 7057759306, 7060115533, 7062291400, 7062308382, 7062326204, 7062392222, 7062431293, 7062456412,
7062476480, 7062499414, 7062538723, 7062562235, 7062583871, 7062606770, 7062629022, 7062649827, 7063181138, 7063198777,
7063218470, 7066128283, 7067005647, 7079300566, 7080334159, 7081523450, 7085109877, 7089085998, 7091568663, 7092357496,
7092374473, 7094096246, 7094746355, 7094760410, 7094778585, 7100803048, 7105959347, 7108762248, 7110743042, 7119957229,
7119993862, 7120703817, 7138143538.
In den 13 seriellen Batches nach dem bereits abgeschlossenen Pilot wurden 73 zusätzliche exakte Preview-IDs gelöscht. Einschließlich der beiden Pilot-IDs sind 75 IDs gelöscht; jede wurde mit inactive=201, DELETE=204 und Exact-ID GET=404 nachgewiesen. Vollständige Einzelbelege stehen in den Batch-Receipts dieses Issues. Die verbleibenden 44 sind aktuell nicht sicher löschbar; eine spätere Auflösung eines Holds erfordert erneuten Live-Preflight.
qnbs commentedon Oct 17, 2026
2026-10-17 — targeted recheck after the #627 Vercel Preview deletion
The #627 deletion of
dpl_FfCkLtaeCfL8rLcX2CRzLUsgy9QLinvolved branchcodex/deptrain-20261016. I rechecked only its corresponding branch/SHA candidate from the earlier GitHub census, deployment7119993862(Preview,vercel[bot], success status19895484330, original target URLworldscript-studio-ev213wkar-qnbs-projects.vercel.app, SHA0a063ed9f211f14fd7d187ec67c044e7e744579a).The remote branch still exists and resolves to that exact SHA. Therefore the GitHub metadata record remains
HOLD_LIVE_BRANCH_HEADeven after the separate Vercel platform object was removed. NoinactivePOST or GitHub DELETE was attempted. No other #1042 records were reclassified in this targeted delta; this is not a new full census and does not change the prior 44 PreviewSAFE=0 / UNKNOWN=0 / HOLD=44result.