docs(mosaic): close CORE-C V2 evidence and independent reviews

This commit is contained in:
fy59 2026-10-15 09:56:46 +02:00
parent bf00b0b0ed
commit 9d4e7942f5
18 changed files with 1633 additions and 1 deletions

View file

@ -4,6 +4,15 @@
### STEP20C experimental evidence
- Record the [new CORE-C V2 integration decision](docs/design/STEP20C_COREC_V2_INTEGRATION_DECISION.md):
reconstructible source-only CORE/OOM/G2 kit, three private binary identities,
12 consumed runs and 102 output captures. C7/C8/O1/G2 stay INCONCLUSIVE,
O2/R1 NOT_RUN; bounded O1 survival and strict first-A G2 refusal do not close
production gates. Disposition PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE,
recommendation C_FURTHER_NATIVE_REVIEW, production availability UNDECIDED.
Historical lost bytes remain missing; STEP20C NEXT and production
multi-output NOT_YET_SUPPORTED, with no production authorization.
- Record the separate [CORE-C preallocation/native/GPU precision source gate](docs/design/STEP20C_COREC_PREALLOCATION_NATIVE_AND_GPU_PRECISION.md)
as BLOCKED after user-confirmed deletion of required historical LABs:
three seal receipts absent, 0/979 entries and 0/916 files reverified. Keep

View file

@ -1,5 +1,16 @@
# Architecture
The [new CORE-C V2 dossier](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md)
records an experimental prepublication sidecar reservation, reviewed nullable
constructor rollback and sampled native clipping/input on its own binary SHA.
O1 observes zero initialized/published nodes and listeners plus bounded native
survival, but remains INCONCLUSIVE because its closure oracle rejects the
root-only lifecycle. Applied/input and damage evidence is partial; native
commit/present, exact presented-buffer identity, GPU completion and atomic
generation remain NOT_PROVEN. Compositor/tree authority and Row 0 borrowing
remain the accepted contracts. No public ABI, production OOM policy or
dependency is adopted; STEP20C NEXT, production NOT_YET_SUPPORTED.
This is the canonical technical contract for SwayFX Mosaic. The current implementation is an experimental single-row compositor layout. [UX](UX.md) specifies user-visible behavior; [known limitations](KNOWN_LIMITATIONS.md) identifies unvalidated boundaries.
## Scope and authority

View file

@ -1,5 +1,18 @@
# Development workflow
For the new experimental CORE-C V2 only, use the
[versioned source-only kit](../tooling/probes/step20c-corec-v2/README.md), its
[private build recipe](../tooling/probes/step20c-corec-v2/BUILD_RECIPE.md) and
[decision/evidence dossier](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md).
Fresh Git-archive reproduction checks complete bytes and modes for new CORE,
OOM and GPU trees; it does not recover historical binaries or prove binary
bit reproducibility. Three private couples/stages and one H1 sanitizer
campaign were consumed; no full-compositor sanitizer H2. Keep generated data
outside HOME, redirect temp/cache with the private wrapper, use separate
sockets, and preserve the LAB. The documented selective purge is NOT EXECUTED.
No new run, production build dependency, installation or live-session action
is authorized by reproduction instructions.
Use separate build directories and headless compositor tests. Ordinary development does not install into `/usr`, reload Sway, or change the active desktop session. The current package is experimental; see [Packaging](PACKAGING.md) for the file-ownership contract.
## Repository and remotes

View file

@ -1,5 +1,16 @@
# Known limitations
The [CORE-C V2 decision](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md)
adds reproducible new sources and bounded private native evidence, without
recovering the historical deleted bytes. C7 migration uses an incomplete
camera oracle; C8 fails group comparability before captures; O1 survives the
injection but its root-only closure is rejected; G2 stops at first A on the
strict EGL/GLES capability guard, with no raw GPU readback. All four runs stay
INCONCLUSIVE; fullscreen comparison is NOT_EXERCISED, O2/R1 NOT_RUN.
Damage/lifetime/whole-field GPU gates, legal approval and release/security
ownership remain open. STEP20C NEXT; production multi-output
NOT_YET_SUPPORTED; PRODUCTION_AUTHORIZED FALSE.
This document describes the development tree at the documentation foundation pass. `EXPERIMENTAL` means implemented but incompletely validated; `PLANNED` means absent from runtime; `NOT YET SUPPORTED` means it must not be presented as ready for general use.
| Area | Status | Practical implication |

View file

@ -1,5 +1,14 @@
# Documentation
The [CORE-C V2 integration decision](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md)
records the new Git-reconstructible experimental candidate, three private
binary identities and the reconciled 14-cell matrix (12 runs, 102 captures).
Disposition is PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE; OOM recommendation
C_FURTHER_NATIVE_REVIEW, production availability UNDECIDED. C7/C8/O1/G2 remain
INCONCLUSIVE, O2/R1 NOT_RUN. This later evidence does not rewrite the historical
blocked provenance ticket. STEP20C remains NEXT; production multi-output
NOT_YET_SUPPORTED; PRODUCTION_AUTHORIZED FALSE.
Documentation is a first-class project artifact. Architecture and UX contracts are updated before implementation when behavior changes.
The [root README](../README.md) is the public summary. For a specific topic, use the canonical document below. Within its own subject, a canonical document takes precedence over a historical STEP report. If two canonical documents disagree, resolve the conflict before implementation; do not silently choose one.

View file

@ -1,5 +1,16 @@
# Roadmap
The [CORE-C V2 handoff](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md)
is PARTIALLY_ADVANCED, with a Git-reconstructible experimental kit and 12
consumed runs / 102 captures. Disposition remains
PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE, recommendation C_FURTHER_NATIVE_REVIEW,
production availability UNDECIDED. The next smallest justified tranche is
prospective offline repair/review of the C7 migration, C8 group and O1 closure
fixtures plus targeted native C review; any later run requires separate
admission and budget. No consumed run may be retried under this ticket.
STEP20A DONE; STEP20B EXPERIMENTAL; STEP20C NEXT; STEP20D–G PLANNED;
PRODUCTION_MULTI_OUTPUT NOT_YET_SUPPORTED; PRODUCTION_AUTHORIZED FALSE.
This is the canonical order of work, not proof that a feature exists. **A step is not ready for implementation until its user-visible and architectural behavior is documented in the canonical docs.** Update [UX](UX.md), [architecture](ARCHITECTURE.md), and the relevant packaging/upstream documents before changing behavior. Record validation and limitations when the step closes.
| Step | State | Goal |

View file

@ -1,5 +1,17 @@
# Upstream maintenance
The [CORE-C V2 dossier](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md)
records exact new pinned parents, private patch SHA256, three binary Build IDs
and static-SceneFX/shared-wlroots provider checks. This is experimental
source-only persistence, not a permanent library fork or production merge.
Each changed source/dependency pair requires fresh impact review, rebuild,
ABI/stage and relevant native qualification. Notices remain
LEGAL_NOT_APPROVED; maintenance, release and security owners are unassigned.
Rollback/coexistence is prepared around the distinct Mosaic binary and ordinary
independently updatable SwayFX fallback, with no live rollback executed.
Production availability remains UNDECIDED; STEP20C NEXT, production
multi-output NOT_YET_SUPPORTED and authority FALSE.
SwayFX Mosaic is an independent derivative of [SwayFX](https://github.com/WillPower3309/swayfx), which is based on [Sway](https://github.com/swaywm/sway). It is not endorsed by either project's maintainers. Preserve their license and attribution; see [LICENSE](../LICENSE) and [NOTICE](../NOTICE.md).
## Pinned source base

View file

@ -0,0 +1,559 @@
# SWAYFX_MOSAIC_STEP20C_REBUILD_FROM_GIT_COREC_OOM_GPU_NIGHT_SHIFT_V1
2026-10-15. Dossier expérimental de décision, distinct du
[ticket historique bloqué](STEP20C_COREC_PREALLOCATION_NATIVE_AND_GPU_PRECISION.md)
et du [plan de provenance V2](STEP20C_COREC_V2_PROVENANCE_AND_PLAN.md).
Les contrats canoniques gardent leur autorité. Aucun résultat de ce dossier
n'adopte une politique de production.
Disposition : **PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE**.
Recommandation OOM : **C_FURTHER_NATIVE_REVIEW**.
Availability production : **UNDECIDED**.
Résultat global : **PARTIALLY_ADVANCED**.
```text
STEP20A = DONE
STEP20B = EXPERIMENTAL
STEP20C = NEXT
STEP20D–G = PLANNED
PRODUCTION_MULTI_OUTPUT = NOT_YET_SUPPORTED
PRODUCTION_AUTHORIZED = FALSE
```
## 1. Provenance nouvelle et persistance Git
Le début du ticket était `339dda45bc81b953e2f0afadf28765149e3a1ba1`,
sur `main` propre. Le nouveau candidat s'appelle **COREC_V2_REDERIVED**.
Il reconstruit des sources natives complètes depuis les objets Git survivants
et les sources publiques épinglées. Les anciens arbres privés, binaires CORE/
CORE-C/G1, hooks et captures supprimés restent **MISSING_NOT_RECOVERABLE** ;
aucune égalité avec leurs anciens SHA n'est affirmée. Leurs résultats restent
**HISTORICAL_REPORTED_ONLY**. Les échecs et budgets du ticket précédent restent
inchangés.
| Élément | Identité exacte | Rôle |
| --- | --- | --- |
| Mosaic parent | `cd550382b311efdbfe3ed892f4e1d281d852e754` | Parent Git de reconstruction |
| Arbre parent Mosaic | `6be2d6cada19bd84673c30dfc4fb900a48b87e86` | Vérification des modes et octets |
| SceneFX | `37ccd723bef49e6891156ffafce8f549f01446cc` | Source publique épinglée |
| Arbre parent SceneFX | `685a78b94f9e44ee683e5fea93874557a9fed457` | Vérification des modes et octets |
| SwayFX pristine | `fd71a6bdc061bd633b488ae7b83e8a6981d22f86` | Contrôle indépendant, pas le checkout modifié |
| wlroots source | `d783533489e1f75d6886c2ab5c5960090ef268f8` | Audit source, non modifié |
| wlroots partagé SHA256 | `7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837` | Fournisseur exact qualifié localement |
| Patch CORE SceneFX SHA256 | `6039799046d052bb4cf2b15fbeb132983d6e3c1a45ad63752a6a63e83b585627` | Delta cumulatif privé |
| Patch CORE Mosaic SHA256 | `9eb6afac0be5c747fbf1a1ee5a33a633c193c4ebae0a36b17636abde7a64c879` | Delta cumulatif privé |
Le [kit source-only](../../tooling/probes/step20c-corec-v2/README.md) conserve
patches, assemblage, vérification, clients, tests, schémas, budgets et recettes.
Il ne contient ni copie complète d'upstream, ni bibliothèque, ni binaire,
capture, arbre de build ou socket. Ses suppléments OOM/GPU sont séparés du CORE
fonctionnel et portent leurs propres manifests de parents et résultats.
Les commits source-only suivants étaient publiés normalement sur `origin`
(Forgejo) puis `github`, avant les runs qui en dépendaient :
- `1053ab2a47f8ff0ab5d52fb0cba92c5dba4ad531` : kit CORE reconstructible ;
- `c0a822a0799ef024727b4a51a7442b8626223a69` : fixtures headless revues ;
- `bf00b0b0ed3e20bfb7c68d2fbbe6553594f3167a` : diagnostics OOM/G2 revus.
Le dernier kit compte 105 fichiers, environ 1,18 Mo. La reproduction depuis
une archive Git vierge (`results/git-next-kit-reproduction.json`) vérifie les
octets et modes des arbres CORE SceneFX/Mosaic 85/417 fichiers, OOM 86/417,
GPU SceneFX 87 ; une reconstruction CORE indépendante avec fetch public avait
déjà été acceptée. Cela prouve **EXACT_FOR_NEW_TREE**, sans garantir un binaire
reproductible bit à bit. La [recette de build](../../tooling/probes/step20c-corec-v2/BUILD_RECIPE.md)
décrit les prérequis et les limites.
La publication documentaire finale reste à sceller par le closeout final ;
aucun SHA futur n'est inventé ici. Le contrôle système pré-final confirme
les huit hashes protégés, le PID Sway quotidien 2325, son exécutable
`/usr/bin/sway` et son startticks 2833 inchangés par lecture seule. Tous les
PIDs privés vérifiés sont absents ; aucun `/tmp/smx-*` ne reste. Les huit
premières entrées du ledger sont structurellement identiques aux reçus initiaux.
À cette édition, `bf00b0b0ed3e20bfb7c68d2fbbe6553594f3167a` est la dernière
publication vérifiée. Ce dossier ne prétend pas déjà publié sous son propre
futur commit.
## 2. Contrat technique V2 et audit C
SwayFX garde l'autorité sur arbre, focus, caméra, transactions, scène, input et
IPC ; Row 0 emprunte `workspace->tiling`. Le nouveau delta privé garde les
popups root dans leur couche native globale, dérive leur clip de l'owner tiled
CURRENT et laisse les descendants nested hériter. Le leaf réellement caché
reçoit un clip vide ; les ancêtres CURRENT fullscreen sont parcourus ; les
retours standard/floating/fullscreen retirent le clip supplémentaire. Aucune
UX hide/dismiss/reposition ni promesse de click-through universel n'en découle.
Option C : la factory réserve le sidecar avant `scene_tree_init` et avant toute
publication. L'échec libère l'arbre non publié et retourne NULL. Le setter
n'alloue pas ; NULL désactive en conservant la réservation ; une boîte vide
reste active et masque rendu/input. Les réservations inactives sont ignorées
par get/render/hit ; destroy retire et libère une seule fois. Un root embedded
non réservé est explicitement rejeté par abort, même avec NDEBUG. Ce rejet de
précondition n'est pas le traitement OOM de la factory.
L'audit inspecte 294 références / 16 symboles, avec ownership, premiers usages,
NULL, rollback et listeners. Les callers du compositor et les helpers wlroots
épinglés sont couverts ; tinywl/examples non liés restent hors qualification.
Les réparations expérimentales sont bornées à l'admission/back-pointer IME,
refocus/rollback, premier usage nullable de dim-rect, admission image-capture
XDG et destruction partielle output/workspace/view/seat. Aucun layout public
de struct ni signature publique ne change. Les translations/intersections
utilisent des bornes larges avant narrowing ; la conversion caméra vérifie
finite/range avant conversion.
Mesures natives : arbre 128 octets, sidecar 64 octets pour **chaque arbre de
factory**, y compris inactif et non Mosaic. Lookup linéaire ; overhead de
l'allocateur et coût global/performance **NOT MEASURED**. Trois traces passives
restent déclarées (`SPIKE_CLIP`, `PROBE_POPUP_CLIP`,
`PROBE_POPUP_HIDDEN_OWNER`) ; leur neutralité temporelle est **NOT_PROVEN**.
NULL et zéro actif peuvent produire la même ligne de log. `SPIKE_DAMAGE` et
les hooks PI/OPT sont absents du CORE fonctionnel.
Les corps C exacts sont liés aux SHA complets et offsets de slices ; types
natifs, signaux Wayland et régions Pixman sont réels. Les adapters de damage/
visibility/effects restent explicitement des adapters : ils ne prouvent pas
le moteur natif. Normal C17, UBSan (dont float-cast/signed overflow/bounds),
ASan+UBSan ont réussi dans le périmètre borné. Les dix mutants compilent tous
et sont tous tués par un oracle exécuté. Les échecs de setup et la correction
du harness root-return restent archivés ; aucun échec de compilation ne compte
comme mutant tué. Le corpus OOM supplémentaire couvre 27 cas dans trois modes,
six mutants causaux et neuf négatifs supplémentaires ; il étend le même
harnais H1, sans campagne sanitizer H2 full-compositor.
Dix cores systemd précoces (2 261 704 octets sous gestion système hors LAB) et
huit événements journal-only ont précédé le correctif de dumpability. Ils n'ont
été ni supprimés ni manipulés avec sudo. RLIMIT_CORE seul était insuffisant
avec le handler pipé. Le harnais final vérifie PR_SET_DUMPABLE=0 et
PR_GET_DUMPABLE ; l'audit final des corpus n'observe pas de nouvelle entrée.
Il serait faux d'affirmer zéro écriture hors LAB pour les premières exécutions.
## 3. Trois couples privés et staging
| Couple | SHA256 du compositor | Build ID |
| --- | --- | --- |
| CORE | `91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb` | `d5d304533f2c8db9d738365e9bd7f2c96779ef8d` |
| OOM | `6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835` | `9bc3dc9055106b343c80a51ded111a382e98442d` |
| GPU | `b2ba890908e385b0a8884e786b279bfb2e582eed38c7fcd0587b418326eca5bc` | `b6a52111beabe3c2122e0142a802415d3c84f9a5` |
Chaque couple a sa revue ELF/build et son DESTDIR privé de cinq fichiers :
binaire distinct et quatre notices sous `/usr/share/licenses/swayfx-mosaic/`.
SceneFX est statique ; wlroots partagé est le fournisseur exact ci-dessus.
Les revues vérifient symboles privés, layouts, archives, relocations, absence
de SceneFX DT_NEEDED et absence de RPATH/RUNPATH. Les traces loader sont
distinctes des mappings `/proc` observés au runtime. L'acceptation vaut pour
ces octets, pas pour une future paire simplement proche en version.
Le premier build CORE rencontre un nouvel enum libinput sous Werror ; la
recette privée utilise `-Wno-error=switch`, garde le warning et ne modifie pas
le C. Le premier build GPU échoue sur la déclaration de realpath ; la
configuration privée `-Dc_args=-D_XOPEN_SOURCE=700` définit la macro
`_XOPEN_SOURCE=700` et résout ce problème, sans edit C.
Ces tentatives restent dans leurs réservations de couples ; elles ne sont
pas cachées par le succès ultérieur. Trois couples / trois stages consommés ;
aucun package installé, aucune modification du vrai PKGBUILD ou du patch
production. Notices : **LEGAL_NOT_APPROVED** ; makepkg/distribution ne sont
pas qualifiés par ces stages.
## 4. Matrice native des 14 cellules prévues
P0/P1 utilisent le contrôle pristine qualifié séparément (SHA256
`b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6`).
C1–C8 utilisent uniquement CORE ; O1/O2 uniquement OOM ; G2 uniquement GPU.
Une réservation reste consommée après refus ou échec ; aucun retry.
| Run | Binaire | Objet | Statut scientifique | Captures / cap réservé |
| --- | --- | --- | --- | --- |
| P0 | pristine | Contrôle standard horizontal | PARTIALLY_FEASIBLE | 10 / 10 |
| C1 | CORE | Horizontal, nested grabs, retours standard | PARTIALLY_FEASIBLE | 16 / 18 |
| C2 | CORE | Vertical | PARTIALLY_FEASIBLE | 8 / 12 |
| C3 | CORE | Scale fractionnaire | PARTIALLY_FEASIBLE | 9 / 12 |
| C4 | CORE | R90 | PARTIALLY_FEASIBLE | 9 / 12 |
| C5 | CORE | Owner caché, même chaîne, retour | PARTIALLY_FEASIBLE | 12 / 12 |
| C6 | CORE | Configure retenu, timeout naturel, retour live | PARTIALLY_FEASIBLE | 10 / 12 |
| C7 | CORE | Resize/migration dynamique | INCONCLUSIVE | 10 / 14 |
| P1 | pristine | Non-leaf fullscreen et débordement réel | PARTIALLY_FEASIBLE | 10 / 10 |
| C8 | CORE | Comparaison non-leaf fullscreen | INCONCLUSIVE | 0 / 12 |
| O1 | OOM | Première réservation root-popup ciblée | INCONCLUSIVE | 6 / 8 |
| G2 | GPU | Première acquisition A, arrêt strict | INCONCLUSIVE | 2 / 16 |
| O2 | OOM | Deuxième réservation ciblée | NOT_RUN — dépendance O1 fermée | 0 / non réservé |
| R1 | aucun | Discriminant conditionnel | NOT_RUN — non admis | 0 / non réservé |
Total réconcilié : **12 runs lancés une seule fois / 14 maximum ; 102 captures
output / 180 ; somme des caps réservés 148 / 180**. Les deux PNG source-marker
générés pour C3/C4 ne sont pas des captures output. Le snapshot intermédiaire
`phase-status.json` est désormais réconcilié à 12 runs / 102 captures. Son
ancien état 8 runs / 84 captures est préservé dans
`results/resume-audit/phase-status.json.before` et
`results/phase-status-before-closeout.json`, sans modifier les anciens reçus.
Maximum
par run : 18 captures et 150 secondes ; build `-j8` maximum. Une seule campagne
sanitizer H1 sur deux autorisées ; pas de H2 full-compositor. L'espace restant
dans un budget ne constitue pas une admission à rejouer une cellule consommée.
## 5. Mesures graphiques et refus conservés
P0 fournit le contrôle standard, avec serial/grab réels, popup root/nested et
débordement standard. Les tests du nouveau CORE ont leurs propres chaînes
wire, points visibles/interdits, captures et retours. La première revue native
vérifie 28 paires wire/input et 30 fermetures pour P0/C1–C7. Les retours H2
finaux sont exacts dans les échantillons acceptés ; un H2 standard contenant
encore des popups débordants ne doit pas être comparé à un baseline vide.
Les contrôles pristine propres à scale et rotation sont **NOT TESTED**.
C2 conserve son ancien champ brut X0 `NOT_EXERCISED` ; l'annotation séparée
confirme que l'oracle exécuté utilise l'axe Y à 600, avec A 505..675 et
B 585..715. Aucun raw historique n'est réécrit. C3/C4 couvrent les cellules
scale/R90 échantillonnées, sans qualification universelle de transformations.
C5 garde les mêmes identités et grabs : origin owner -1456 entièrement cachée,
puis retour -318 sans outside click ni dismissal provoqué.
C6 retient configure39 après ACK30, mesure la cible 636×513, observe le
timeout natif 5000 ms avec une transaction waiting1, puis ACK39 tardif, retour
live et fermeture normale. L'identité du buffer saved natif est **NOT_PROVEN** ;
ces événements ne prouvent ni génération atomique ni lifetime GPU.
C7 reste INCONCLUSIVE : la fixture calcule un clamp attendu 800 après
migration, mais le focus natif de la cellule 10 (bornes logiques 1280..1920,
viewport 800) impose 1120. Le déplacement appelle réellement le refocus ;
l'oracle l'omet. Les étapes resize antérieures sont mesurées ; pixels/input
post-migration et retour arrière ne sont pas atteints. Aucun défaut CORE n'est
établi par cette divergence. Préserver le raw et corriger prospectivement la
fixture ne permettrait pas de requalifier ce run consommé.
P1 forme réellement un groupe non-leaf avec deux enfants de largeur 400,
groupe fullscreen 800×600, A `[-448,105,900,170]` et
B `[-348,165,900,130]`. Les captures whole-H2 mapped, A-only et baseline final
sont vérifiées exactement. C8 laisse le peer sibling du workspace, hors du
groupe qui ne contient que l'owner ; le guard refuse avant capture. La
comparaison P1/C8 fullscreen est donc **NOT_EXERCISED**, même si P1 seul est
informatif. Pas de promesse d'exemption fullscreen native qualifiée.
## 6. OOM : faits natifs et limite de l'oracle
O1 injecte le premier échec sidecar sur le root-popup ciblé par PID/nonce et
rôle natif, sans épuiser la mémoire réelle. Les compteurs natifs mesurent
`matched=1 failures=1 successes=0 initialized=0 listeners=0 published=0
children=0`, puis retour NULL. Le même compositor survit : snapshots et IPC
ultérieurs, captures pré/post, boutons du voisin serial42/43. Whole-H2 pré/post
est exact ; le chemin ne publie pas de scène partielle dans cet échantillon.
Le disconnect `no_memory` n'est **pas observé**.
L'owner ferme A puis TOPLEVEL, sans B créé. L'oracle commun attend soit
B/A/TOPLEVEL, soit TOPLEVEL seul et rejette cette séquence root-only. Les
processus sortent pourtant tous à 0, sans rescue ; CLOSE_RECEIVED, EXIT error0
et SHM1/1 sont présents. Les deux captures finales prévues sont absentes.
**Scientific cleanup=false**, runner 1, budget et statut **INCONCLUSIVE**
restent immuables ; la fermeture mécanique correcte ne répare pas le verdict.
Le terminal IPC rc1 pendant teardown, avec compositor rc0, décrit la fermeture
de l'endpoint et ne prouve pas un bug de shutdown.
La fonction availability vérifie par code PID/exécutable/mappings après
injection avant le snapshot ; son retour n'est pas archivé car la sauvegarde
finale a été sautée. Les `proc-maps` conservés sont ceux du startup : ne pas
les présenter comme archive post-injection complète. Survie native bornée
observée ; disponibilité générale, damage complet et absence universelle de
stale listeners **NOT_PROVEN**. O2 reste **NOT_RUN**, sa gate dépendant d'un
O1 complet ; les injections unitaires de deuxième réservation ne remplacent
pas O2 natif.
| Choix | Availability / fail-closed | Coût et callers | Preuve / décision |
| --- | --- | --- | --- |
| A abort | Arrêt du process ; fail-closed par sa mort | Allocation au setter ; callers inchangés | Historique source ; recovery non prouvé |
| B bool + masque | Recovery à décider ; masque fail-closed à qualifier | Réservation par arbre clippé ; 11 setters/admission à traiter | Harnais historique, pas nouvelle qualification native |
| C préallocation | NULL avant publication ; survie O1 bornée observée | Sidecar pour chaque factory, lookup linéaire ; audit create/rollback | V2 natif partiel ; **C_FURTHER_NATIVE_REVIEW** |
Cette recommandation technique ne choisit pas la politique production :
**COREC_V2_AVAILABILITY_POLICY=UNDECIDED**.
## 7. G2 : observabilité partielle et arrêt conforme
Les nouveaux hooks et sources G2 sont revus séparément ; aucun hook G1 perdu
n'est revendiqué. Le shader de calcul est inchangé à la revue source. La
première acquisition A atteint point0, puis refuse strictement avec
`GLES_STATE_NOT_SUPPORTED` : EGL `client_version=2`, tandis que GL_VERSION
annonce `OpenGL ES 3.2 Mesa 26.2.4-arch1.1`. Le contrat figé exige les deux
prédicats. Il n'est pas assoupli après observation. B et A-return ne sont pas
armés, aucun retry, zéro fichier / zéro octet raw GPU ; seuls deux baselines
H2 exacts sont capturés. Les processus sortent tous à 0 sans rescue ; cleanup
scientifique et mécanique est observé.
Les métadonnées natives observées décrivent un DMA-BUF 800×600, format
`875713112`, modifier `020000001046bb04`. Plane0 stride3584 offset0 ; plane1
stride1024 offset2293760. Les FDs sont borrowed ; fstat réussit sur le même
inode. Cela ne prouve pas la longueur d'allocation ; un plan auxiliaire DCC
ne reçoit pas un prédicat de stride d'image inventé. FBO/RBO/texture et objets
natifs sont identifiés, sans preuve du contenu présenté.
`g2_drain` préliminaire, `glGetString(GL_VERSION)` et drain de query ont été
exécutés ; `pre_errors` et `query_errors` sont vides. En revanche le refus
précède sauvegarde/bind/read/restauration : `read_errors` / `restore_errors`
vides et champs before/after à zéro sont des valeurs initialisées, **pas**
des observations de lecture ou restauration. Aucun `READ_SUCCESS`, bits
d'uniformes ou halfpixel effectif natif n'est observé. L'attribution des
erreurs de readback et la neutralité GL ne sont pas prouvées. Les drains sont
intrusifs : ils consomment les erreurs et ne restaurent pas la queue.
GL observability reste **PARTIAL**. Les tests offline de modifier, framing,
uniform/precision et négatifs valident les outils dans leur périmètre ; ils
ne fournissent pas les valeurs natives manquantes. Pas d'epsilon ajusté, pas
de fit CPU pour transformer le refus en succès. Whole-H1 A/A-return nouveau
**NOT_PROVEN** ; le FAIL whole-H1 historique reste historique, non rejoué et
non effacé par une ROI centrale. Causalité whole-field GPU **NOT_PROVEN**.
## 8. Input, damage, commit/present et lifetime
| Propriété | Preuve V2 | Limite |
| --- | --- | --- |
| Applied/input | Géométries CURRENT, points wire et pixels stabilisés échantillonnés | PARTIALLY_FEASIBLE ; pas d'atomicité générale |
| Damage échantillonné | H2 et retours exacts aux états capturés | PARTIALLY_FEASIBLE ; toutes les frames non couvertes |
| Damage complet / stale pixels | Pas de couverture exhaustive | NOT_PROVEN |
| Commit/present natif | Pas de clé native commune instrumentée dans CORE | NOT_PROVEN |
| Identité exacte du buffer physique présenté | Pas de lien V2 readback/commit/present | NOT_PROVEN |
| Buffer saved natif | Configure/timeout/ACK observés, identité absente | NOT_PROVEN |
| GPU completion / fences / lifetime | Aucun signal effectif mesuré | NOT_PROVEN |
| Génération atomique transaction/scène/input | Aucun compteur adopté ou prouvé | NOT_PROVEN |
Les compteurs historiques 57/55/2, 821/789/32 et 414/400/14 sont **REPORTED**,
sans replay depuis les LAB supprimés. Aucun appariement entre runs par
proximité temporelle ni aucun héritage d'une instrumentation ancienne.
Décorations, ombres, blur/cache et saved buffers complets restent des gates
indépendantes, malgré les pixels stabilisés favorables.
## 9. Revues, sévérité et décisions restantes
Les revues indépendantes source/C, CORE build, fixtures/admission, OOM source/
build, GPU source/build/portable et les deltas fullscreen/FIFO sont liées à
leurs manifests et hashes. Le kit conserve les reçus compacts sous
`reviews/` ; le LAB garde les preuves détaillées. Les tests négatifs directs
rejettent notamment mauvais SHA, mauvais fournisseur wlroots, archive
dynamique, source stale, ancienne destination LAB et bindings incorrects.
Les révisions source invalident l'avis précédent pour les octets modifiés ;
une acceptation source/offline ne vaut pas admission native.
La première revue runtime (`review-oom-runtime/runtime-receipt.json`) garde
P0/C1–C6 partiels et C7 inconclusif. La revue
`review-remaining-runtime/early-receipt.json` garde P1 partiel, C8/O1
inconclusifs et O2 fermé. La décision G2 dépendante autorise seulement le
diagnostic indépendant après examen de l'absence de défaut commun critique
démontré ; elle n'upgrade pas O1. La
[revue finale runtime](../../tooling/probes/step20c-corec-v2/reviews/remaining-runtime-final-review.json)
accepte la vérification bornée du protocole d'arrêt G2 et de la comptabilité
(SHA256 `3372e0ba9f7b33da4fbc041dc4eea97ccc000fb1a9cf809b189c29c90b510569`).
Elle maintient G2 INCONCLUSIVE et toutes les limites de phase I. La revue
globale indépendante est désormais ACCEPTED, sans finding BLOCKING ; elle
confirme la disposition NEEDS_TARGETED_EVIDENCE et la recommandation C, sans
production. Son reçu est conservé dans le kit sous reviews/final-global-review.json.
| Priorité | Constat | Correction ou preuve de clôture | Responsable |
| --- | --- | --- | --- |
| P0 | Aucun nouveau défaut critique commun démontré dans les revues bornées | Ne signifie pas sûreté globale | Non assigné |
| P1 | Availability OOM production, damage complet, lifetime/présentation, GPU whole-field ouverts | Décision de politique et preuves natives ciblées | Non assigné |
| P2 | C7 omet refocus migration ; C8 ne forme pas le groupe comparable ; O1 oracle root-only incompatible | Correctifs prospectifs source-only et tests directs ; nouveau budget séparé pour run futur | Non assigné |
| P3 | Coût mémoire/performance, overhead allocator, neutralité des traces et portabilité future | Mesures/requalification dédiées | Non assigné |
Il n'y a pas d'autorisation de nouveaux runs dans cette clôture. Le plus petit
pas ultérieur justifié est une revue native C ciblée et des corrections
offline des trois fixtures P2, suivies seulement si autorisées d'une nouvelle
tranche de preuves ; pas STEP20D ni intégration production.
## 10. ABI, licences, maintenance et rollback
Les règles de [maintenance upstream](../UPSTREAM.md) et de
[packaging](../PACKAGING.md) restent applicables. Toute nouvelle révision
SceneFX/wlroots, shaders, dépendances, layout/symboles, clip/damage ou lifetime
exige impact review, rebuild, relocation/stage et nouvelles qualifications
pertinentes. Aucun autre couple n'est qualifié par proximité de version.
Le projet doit assurer veille de sécurité et rebuild du SceneFX embarqué si
une future décision l'adopte ; les responsables maintenance, sécurité et
release sont **non assignés**, sans SLA inventé.
Le stage de notices n'est pas une validation juridique : **LEGAL_NOT_APPROVED**.
Les licences/notices exactes et la décision de distribution restent à revoir
humainement. Le paquet actuel garde uniquement son binaire distinct ; aucun
`provides`, `conflicts` ou `replaces` avec Sway/SwayFX. SwayFX ordinaire doit
rester indépendamment actualisable et utilisable comme fallback. Le rollback
préparé consiste à revenir au binaire/paquet Mosaic antérieurement qualifié ou
au SwayFX standard, en conservant les manifests ; aucun rollback live n'est
exécuté. Il ne faut ni remplacer `/usr/bin/sway`, ni bibliothèque système,
session, dotfiles ou configuration QuickShell.
## 11. Stockage, conservation et purge sélective non exécutée
LAB conservé : `/var/tmp/swayfx-mosaic-corec-v2-i516p6po`, hors HOME. Le diagnostic
initial distingue EDQUOT dans `/tmp` et écriture possible sous `/var/tmp` ;
TMPDIR/TMP/TEMP et caches sont redirigés par `run-env`. Le cap généré est
18 Gio, alerte 12 Gio. Le relevé pré-final mesure LAB 677 228 967 octets
(environ 646 Mio), SSD libre 279 665 819 648 octets (environ 260 Gio),
`/tmp` libre 1 610 719 232 octets (environ 1,50 Gio). Il ne prétend pas être
un maximum historique mesuré. Aucun LAB sous HOME ; le header source
transitoire a été régénéré à l'identique, préservé puis retiré. Les sockets
privés utilisent de petits `/tmp/smx-*` retirés
après les runs. Les premières commandes de build utilisaient le wrapper TMP
mais l'absence de variables de session héritées n'est pas prouvée pour toutes
ces commandes ; aucun consommateur IPC quotidien n'a été observé.
Une suppression future du LAB ne doit plus supprimer le code reconstructible.
Procédure préparée, **non exécutée** : vérifier les trois commits publiés,
reconstruire/vérifier dans un second répertoire vierge, garder manifests,
reviews, ledger et closeout à préserver ; identifier les seuls répertoires
générés dispensables appartenant à l'UID et vérifier leurs realpaths sous ce
LAB ; supprimer sélectivement uniquement après demande explicite, puis
relever espace et inventaire restant. Ne pas lancer de suppression globale,
suivre de symlinks, supprimer les cores système ou toucher aux sources Git.
Les anciennes preuves perdues ne sont pas récupérées par cette procédure.
## 12. Marqueurs du ticket
Les PASS suivants désignent les gates bornées réellement validées, jamais
STEP20C production. L'audit HOME/protections pré-final et la revue globale indépendante sont
acceptés. La publication documentaire finale doit encore être liée à ses
observations directes de remotes dans les reçus de clôture.
```text
COREC_V2_STORAGE_GATE=PASS
COREC_V2_GIT_GATE=PASS
COREC_V2_RECONSTRUCTION_FROM_SURVIVING_SOURCES=PASS
COREC_V2_SOURCE_EQUIVALENCE=EXACT_FOR_NEW_TREE
COREC_V2_PLAN_AND_PROVENANCE_REVIEW=ACCEPTED
COREC_V2_FULL_SOURCE_REBUILD=PASS
COREC_V2_OPTION_C_CALLSITE_AUDIT=PASS
COREC_V2_SOURCE_FORWARD_APPLY=PASS
COREC_V2_NATIVE_C_SANITIZERS=PASS
COREC_V2_PRIVATE_BUILD=PASS
COREC_V2_PRIVATE_ELF_ABI=PASS
COREC_V2_PRIVATE_STAGE=PASS
COREC_V2_BUILD_REVIEW=ACCEPTED
COREC_V2_GRAPHICS_OFFLINE_PREFLIGHT=PASS
COREC_V2_STANDARD_COMPARISON=PARTIALLY_FEASIBLE
COREC_V2_HORIZONTAL_RETURN=PARTIALLY_FEASIBLE
COREC_V2_VERTICAL=PARTIALLY_FEASIBLE
COREC_V2_FRACTIONAL=PARTIALLY_FEASIBLE
COREC_V2_R90=PARTIALLY_FEASIBLE
COREC_V2_HIDDEN_SAME_CHAIN=PARTIALLY_FEASIBLE
COREC_V2_SAVED_NATURAL_TIMEOUT=PARTIALLY_FEASIBLE
COREC_V2_DYNAMIC=INCONCLUSIVE
COREC_V2_FULLSCREEN_COMPARISON=NOT_EXERCISED
COREC_V2_NATIVE_OOM_PREFLIGHT=ACCEPTED
COREC_V2_OOM_FIRST_ALLOCATION=INCONCLUSIVE
COREC_V2_OOM_SECOND_ALLOCATION=NOT_RUN
COREC_V2_AVAILABILITY_POLICY=UNDECIDED
COREC_V2_GPU_SOURCE_REVIEW=ACCEPTED
COREC_V2_GPU_METADATA_OFFLINE=PASS
COREC_V2_GPU_GL_OBSERVABILITY=PARTIAL
COREC_V2_GPU_RUNTIME=INCONCLUSIVE
COREC_V2_GPU_WHOLE_FIELD_CAUSALITY=NOT_PROVEN
COREC_V2_APPLIED_INPUT_COHERENCE=PARTIALLY_FEASIBLE
COREC_V2_NATIVE_COMMIT_PRESENT=NOT_PROVEN
COREC_V2_SAMPLED_DAMAGE=PARTIALLY_FEASIBLE
COREC_V2_COMPLETE_DAMAGE=NOT_PROVEN
COREC_V2_NATIVE_BUFFER_IDENTITY=NOT_PROVEN
COREC_V2_GPU_COMPLETION=NOT_PROVEN
COREC_V2_ATOMIC_GENERATION=NOT_PROVEN
COREC_V2_REPRODUCIBLE_KIT=PASS
COREC_V2_INDEPENDENT_REVIEW=ACCEPTED
COREC_V2_DOCUMENTARY_PUBLICATION=PARTIAL
COREC_V2_HOME_CLEAN=PASS
SWAYFX_MOSAIC_STEP20C_REBUILD_FROM_GIT_COREC_OOM_GPU_NIGHT_SHIFT_V1=PARTIALLY_ADVANCED
```
`COREC_V2_HOME_CLEAN=PASS` désigne l'absence de LAB/caches lourds sous HOME
et le contrôle pré-final ; il n'efface pas les cores système précoces déclarés.
La revue globale indépendante est ACCEPTED, sans finding BLOCKING. Le reçu
reviews/final-global-review.json est matérialisé explicitement par le parent
depuis le retour structuré du reviewer en lecture seule.
## 13. Réponses aux seize questions imposées
**Q1. Reconstruction sans ancien LAB ?** Oui, pour cette nouvelle dérivation :
Git et sources publiques épinglées suffisent ; vérification exacte des octets
et modes. Les anciens octets perdus ne sont pas restaurés.
**Q2. Véritables create NULL traités ?** Audit source/C accepté pour les callers
du compositor et helpers épinglés concernés, avec rollback et premiers usages.
Les exemples non liés restent hors périmètre ; cela ne garantit pas tout OOM
du compositor.
**Q3. Zéro scène/listener/exposition avant publication ?** Oui dans les tests
exacts et le failpoint root O1 observé (`initialized/listeners/published=0`).
Pas de généralisation à tous sites possibles.
**Q4. Survie privée à l'injection ?** Oui observée pour O1 : même PID, IPC,
voisin serial42/43 et sorties 0. Le run reste INCONCLUSIVE pour l'oracle de
fermeture ; O2 natif non exécuté.
**Q5. Régression damage/rendu/hit ?** Pas de régression démontrée dans les
échantillons qualifiés ; damage complet, effets et disponibilité générale
restent NOT_PROVEN. Une absence de défaut échantillonné n'est pas une garantie.
**Q6. Qualification propre au nouveau SHA ?** Oui, C1–C6 fournissent les
échantillons horizontal/vertical/scale/R90/hidden/saved et retours ; statuts
PARTIALLY_FEASIBLE, contrôles scale/rotation dédiés NOT TESTED.
**Q7. Fullscreen vraiment comparable ?** P1 pristine oui pour le non-leaf
mesuré ; C8 échoue à construire le même groupe avant capture. Comparaison
CORE/pristine NOT_EXERCISED.
**Q8. Même chaîne hidden ?** Oui, C5 conserve IDs et grabs sans outside click
entre dissimulation et retour ; portée bornée à cette chaîne.
**Q9. Saved configure/timeout/live/close ?** C6 observe hold39, timeout naturel,
ACK tardif, live et close. Identité native saved buffer NOT_PROVEN.
**Q10. GPU nouveau et revu ?** Oui, sources/hooks G2 nouveaux, revues propres,
binaire GPU distinct ; premier A refusé, aucune usurpation de G1.
**Q11. DCC/halfpixel sans prédicat inventé ?** Métadonnées réelles par plan,
pas de fausse borne allocation ; halfpixel natif non observé à cause du refus.
Pas de tolérance apprise après coup.
**Q12. Attribution GL et interférence ?** Drains pré/version exécutés et vides ;
lecture/restauration non atteintes, donc pas de preuve read-success/error queue
pour ces étapes. Les drains consomment la queue, interférence explicitée.
**Q13. Whole-H1 A/A-return égal ?** Non mesuré en V2 : B/A-return non armés.
Causalité whole-field NOT_PROVEN ; FAIL historique conservé sans replay.
**Q14. Cohérence effectivement mesurée ?** Input/applied et damage stabilisé
partiels ; commit/present natif, buffer physique, GPU completion/lifetime et
génération atomique NOT_PROVEN.
**Q15. Code survivant à la suppression de /var/tmp ?** Oui pour les patches,
scripts et fixtures publiés et reproduits depuis Git. Les captures et logs
volumineux privés ne sont pas garantis survivants sans conservation séparée ;
le LAB n'est pas supprimé.
**Q16. Décisions humaines restantes ?** Availability OOM production ; UX popup
offscreen hide/dismiss/reposition ; acceptation juridique des notices ;
responsables maintenance/sécurité/release et décision de distribution ;
admission d'une future tranche native et intégration éventuelle. Toutes restent
ouvertes ; aucun statut production n'est adopté par ce dossier.
## 14. Validation documentaire et état de clôture
Cette édition documentaire ajoute seulement le présent dossier et de courts
renvois dans README documentaire, Architecture, Known Limitations, Roadmap,
Development, Upstream et Changelog. UX, Packaging, AGENTS, production,
PKGBUILD et patch cumulatif ne sont pas modifiés par cette rédaction.
`git diff --check` réussit ; 348 liens locaux des huit documents sont résolus,
les 43 marqueurs et les seize réponses imposées sont présents. La première
assertion de comptage documentaire omettait R90 dans sa regex sans chiffres ;
le contrôle corrigé compte les 43 noms exacts, sans changement de résultat.
Cette rédaction n'a exécuté aucun build, test runtime, commit ou push.
La validation de clôture du parent trouve initialement 1 échec sur 48 tests
offline : le test d'environnement utilisait le chemin O1 réel désormais muni
d'un token consommé. Il ne s'agit pas d'un run O1 supplémentaire. Une
correction bornée du test vers son propre répertoire OFFLINE_TEST_ONLY donne
48/48 tests réussis ; sa revue de delta indépendante est acceptée. Le vrai
jeton O1 et le ledger sont inchangés, le jeton factice existant est refusé.
L'échec initial reste conservé. Les reçus reviews/offline-post-run-delta-review.json
et reviews/final-global-review.json sont matérialisés explicitement par le
parent depuis les retours structurés des reviewers en lecture seule. La revue
globale est ACCEPTED sans blocage ; la publication reste à sceller.
Les autres validations finales transmises à cette édition réussissent : AST
des 43 Python, C17 fullscreen/G2, cinq bindings, manifests historiques
54/105, budget immuable et diff-check. Les nouveaux fichiers de preuves et
la correction offline du parent sont visibles séparément dans le worktree ;
ils ne sont pas des changements effectués par cette rédaction documentaire.

View file

@ -0,0 +1,24 @@
{
"core": {
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"build_id": "d5d304533f2c8db9d738365e9bd7f2c96779ef8d",
"scene_archive_sha256": "769b56c4a11bef13f0abdcfd189b11af954eebbfa69fd06c972e01508d8d376b",
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic"
},
"oom": {
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"scene_archive_sha256": "bca4b749eadc551f78712d7e1e7bda769125d2e596524a582988ca5346f8eceb",
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic"
},
"gpu": {
"binary_sha256": "b2ba890908e385b0a8884e786b279bfb2e582eed38c7fcd0587b418326eca5bc",
"build_id": "b6a52111beabe3c2122e0142a802415d3c84f9a5",
"scene_archive_sha256": "06ccfad8c7dfe4ee425b8de44d22d8daa69e2daa14085d6e6998b201a7ad111b",
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/gpu-mosaic/sway/swayfx-mosaic"
},
"wlroots": {
"path": "/usr/lib/libwlroots-0.20.so",
"sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
}
}

View file

@ -0,0 +1,79 @@
{
"source_commit": "bf00b0b0ed3e20bfb7c68d2fbbe6553594f3167a",
"archive_sha256": "c5a1a8845860931a975599a93565b2a083ff8a9594fc06c12f1d1bd4974cdd88",
"commands": [
{
"argv": [
"python3",
"-B",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/runtime-next-git-kit/tooling/probes/step20c-corec-v2/assemble.py",
"--project-git",
"/home/fy59/Documents/Development/swayfx-mosaic",
"--scene-git",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/sources/scenefx.git",
"--destination",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-core"
],
"exit": 0
},
{
"argv": [
"python3",
"-B",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/runtime-next-git-kit/tooling/probes/step20c-corec-v2/verify.py",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-core"
],
"exit": 0
},
{
"argv": [
"python3",
"-B",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/runtime-next-git-kit/tooling/probes/step20c-corec-v2/oom/assemble-variant.py",
"--core",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-core",
"--destination",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-oom"
],
"exit": 0
},
{
"argv": [
"python3",
"-B",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/runtime-next-git-kit/tooling/probes/step20c-corec-v2/gpu/reproduce.py",
"--core",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-core/scene",
"--destination",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-gpu",
"--work",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/git-next-repro-work"
],
"exit": 0
}
],
"checks": {
"git-next-repro-core/scene": {
"files": 85,
"bytes_and_modes_exact": true
},
"git-next-repro-core/mosaic": {
"files": 417,
"bytes_and_modes_exact": true
},
"git-next-repro-oom/scene": {
"files": 86,
"bytes_and_modes_exact": true
},
"git-next-repro-oom/mosaic": {
"files": 417,
"bytes_and_modes_exact": true
},
"git-next-repro-gpu": {
"files": 87,
"bytes_and_modes_exact": true
}
},
"status": "PASS",
"native_builds_or_runs": 0
}

View file

@ -0,0 +1,164 @@
{
"ticket": "SWAYFX_MOSAIC_STEP20C_REBUILD_FROM_GIT_COREC_OOM_GPU_NIGHT_SHIFT_V1",
"source_commit_for_remaining_runs": "bf00b0b0ed3e20bfb7c68d2fbbe6553594f3167a",
"identity": "COREC_V2_REDERIVED",
"runs_consumed": 12,
"captures_consumed": 102,
"capture_caps_consumed": 148,
"run_limit": 14,
"capture_limit": 180,
"production_authorized": false,
"results": [
{
"id": "P0",
"status": "PARTIALLY_FEASIBLE",
"captures": 10,
"binary_sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "5c29de515ff94695aabc62e85d45f36f"
},
{
"id": "P1",
"status": "PARTIALLY_FEASIBLE",
"captures": 10,
"binary_sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "5ac3ec24778847d3a1d1452cd6c25caa"
},
{
"id": "C1",
"status": "PARTIALLY_FEASIBLE",
"captures": 16,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "5490373d496c4d82b72a9e5f146ad66b"
},
{
"id": "C2",
"status": "PARTIALLY_FEASIBLE",
"captures": 8,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "f2933d864c6e46abbc0bbffd5d6f8a75"
},
{
"id": "C3",
"status": "PARTIALLY_FEASIBLE",
"captures": 9,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "932467dd9b70412b8cb91f375dc64302"
},
{
"id": "C4",
"status": "PARTIALLY_FEASIBLE",
"captures": 9,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "a9edaa8d77024db198ec1f2e06b4e328"
},
{
"id": "C5",
"status": "PARTIALLY_FEASIBLE",
"captures": 12,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "b28ab37dbb6e4d8da842b511be191e3b"
},
{
"id": "C6",
"status": "PARTIALLY_FEASIBLE",
"captures": 10,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": null,
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "a594f94bf0a54ba39f10de1ad4fe3c21"
},
{
"id": "C7",
"status": "INCONCLUSIVE",
"captures": 10,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": "Ambiguous: reconstructed camera clamp mismatch",
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "6ea13abc103540ebb2f0874040a83c5f"
},
{
"id": "C8",
"status": "INCONCLUSIVE",
"captures": 0,
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"runner_failure": "Ambiguous: exact two-child group preparation",
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "2d540bd387b949e2848216bf48000fbd"
},
{
"id": "O1",
"status": "INCONCLUSIVE",
"captures": 6,
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"runner_failure": "Ambiguous: popup child-first destruction order",
"scientific_cleanup": false,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "dcb32bacb26349078f9ca4a7876980b8"
},
{
"id": "O2",
"status": "NOT_RUN",
"captures": 0,
"reason": "O1 INCONCLUSIVE dependent gate closed"
},
{
"id": "G2",
"status": "INCONCLUSIVE",
"captures": 2,
"binary_sha256": "b2ba890908e385b0a8884e786b279bfb2e582eed38c7fcd0587b418326eca5bc",
"runner_failure": "RuntimeError: epoch 1 rejected; STOP, no next command/retry",
"scientific_cleanup": true,
"mechanical_rescue": false,
"all_processes_exit0": true,
"token": "4965cef41139433bab3c06f321829068"
},
{
"id": "R1",
"status": "NOT_RUN",
"captures": 0,
"reason": "optional distinct discriminant not admitted"
}
],
"limitations": [
"C7 consumed fixture migration oracle error, never rerun",
"C8 exact group preparation absent, zero captures, no fullscreen comparison to P1",
"O1 root-only closure rejected common oracle, no final pair, no retroactive upgrade",
"G2 A source rejected EGL client_version2 versus GL ES3.2; zero raw bytes, no B or A-return",
"No native commit/present/buffer lifetime/GPU completion/atomic generation proof"
]
}

View file

@ -108,7 +108,8 @@ class Next(unittest.TestCase):
for bad,code in [(raw, None),(raw,-9),(raw,7),(raw.replace(', 1,',', 2,'),0),(raw.replace('71','32'),0),('EXIT error=0',0)]:self.rejects(oom_handler.expected_disconnect,bad,code)
s=SimpleNamespace(comp=Mock());s.comp.poll.return_value=-9;self.rejects(oom_handler.availability,s)
def test_compositor_only_environment_no_helpers_clients(self):
env=oom.process_environment(LAB,'O1','a'*32)
# Use the per-test OFFLINE_TEST_ONLY root; LAB/O1 contains the sealed real-run token.
env=oom.process_environment(self.root,'O1','a'*32)
with patch.dict(os.environ,env):self.assertFalse(any(k.startswith('SMX_OOM_') for k in gate.clean_environment(LAB)))
s=engine.Session.__new__(engine.Session);s.run=self.root;s.handles=[];s.proc={};s.expired=False;s.env={};s.oom_env=env;s.compositor_environment=dict(MOSAIC_G2_DIR='offline',MOSAIC_G2_NONCE='a'*64,WLR_RENDERER='gles2');s.debit=Mock();s.record=Mock()
with patch.object(engine.shutil,'which',return_value='/usr/bin/prlimit'),patch.object(engine.subprocess,'Popen',return_value=Mock(pid=12)) as popen:

View file

@ -0,0 +1,99 @@
{
"schema": "corec-v2-final-global-readonly-review-v1",
"reviewer": "/root/tranche_final_audit",
"independent": true,
"decision": "PASS",
"review_status": "ACCEPTED",
"scope": "Final global audit of experimental CORE-C V2 source kit, documentation, scientific evidence, lifecycle and persistence boundaries",
"baseline_commit": "339dda45bc81b953e2f0afadf28765149e3a1ba1",
"published_source_commit": "bf00b0b0ed3e20bfb7c68d2fbbe6553594f3167a",
"blocking_findings": [],
"findings": [
{
"id": "N1",
"classification": "NON_BLOCKING",
"subject": "C7 migration oracle omits native refocus",
"disposition": "Retain INCONCLUSIVE; prospective correction in a future tranche only"
},
{
"id": "N2",
"classification": "NON_BLOCKING",
"subject": "C8 owner and peer do not form the comparable two-child group",
"disposition": "Retain INCONCLUSIVE and fullscreen comparison NOT_EXERCISED"
},
{
"id": "N3",
"classification": "NON_BLOCKING",
"subject": "O1 root-only close rejected by the common child-first oracle",
"disposition": "Retain scientific cleanup INCONCLUSIVE, six captures and O2 NOT_RUN"
},
{
"id": "N4",
"classification": "NON_BLOCKING",
"subject": "Disclosed historical system cores and incomplete early environment provenance",
"disposition": "Retain explicit historical limitations; no zero-outside-LAB claim"
},
{
"id": "F1",
"classification": "FUTURE_SCOPE",
"subject": "Per-factory sidecar memory and linear lookup scalability",
"disposition": "Global performance and allocator overhead NOT_MEASURED"
},
{
"id": "F2",
"classification": "FUTURE_SCOPE",
"subject": "Remaining native qualification, production policy and maintenance decisions",
"disposition": "No production integration or new runtime authorization"
}
],
"retained_conclusions": {
"global": "PARTIALLY_ADVANCED",
"disposition": "PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE",
"oom_recommendation": "C_FURTHER_NATIVE_REVIEW",
"production_availability": "UNDECIDED",
"STEP20C": "NEXT",
"production_multi_output": "NOT_YET_SUPPORTED",
"production_authorized": false
},
"independent_checks": {
"git_diff_check": "PASS",
"python_AST": 43,
"local_document_links": 348,
"unique_markers": 43,
"required_answers": 16,
"runtime_review_artifact_hashes": 27,
"protected_hashes": 8,
"CORE_scene_files_bytes_modes": 85,
"CORE_mosaic_files_bytes_modes": 417,
"protected_production_source_delta": "EMPTY",
"offline_test_token_budget_bindings": "PASS",
"runs": 12,
"captures": 102,
"reserved_capture_caps": 148,
"all_recorded_run_durations_below_150s": true
},
"sha256": {
"reviewed_integration_dossier": "b9eb8a0e95501f78d6d45827793ab318ba452e0bbe65ec0d8a849f674b2c1102",
"source_c_review": "26aa862c741196fdbb8d7cdf5509301e49f763cdd22ffa7bcb1a4bbf09c66f90",
"remaining_runtime_final_review": "3372e0ba9f7b33da4fbc041dc4eea97ccc000fb1a9cf809b189c29c90b510569",
"offline_delta_review": "a164271eab56f561f1064880be2e38f7ed4f66005f7e18df4665bdcaf73fe749",
"offline_test_delta": "8d4f80c9d7f5dee53f06b9538d5523525e62eda77e4fb1632491a724e2cb8df2",
"runtime_summary": "941e73254330e324d3cbc0565e3c9ccc76dcb0f8a2f76fee2a4a6a2475eed705",
"budget": "dfe1897e255ca5a96b7b66b0af0728acdffdf3ddf397a3fa3c6b1011b07c9db6",
"pre_final_system_check": "7392ead2d8792d854240b867c84c735e4f74eb4868c95188b6b4826d51a1bd35",
"closeout_receipt_audit": "3380c7067a78ed3adb797c656f94e08b28a44e31ba5d17669b0e47a7f711f373"
},
"final_publication": "PENDING_PARENT_CLOSEOUT_NOT_A_REVIEW_FINDING",
"source_edits": 0,
"artifact_writes_by_reviewer": 0,
"new_builds": 0,
"new_native_runs": 0,
"new_clients": 0,
"new_captures": 0,
"IPC_calls": 0,
"new_reservations": 0,
"git_mutations": 0,
"committed": false,
"pushed": false,
"materialized_by": "Parent transcription of explicit structured reviewer response; reviewer performed no file write"
}

View file

@ -0,0 +1,79 @@
{
"schema": "corec-v2-independent-current-eight-run-review",
"decision": "ACCEPTED_PARTIAL_EVIDENCE_C7_INCONCLUSIVE",
"runtime_findings": [
{
"severity": "P2",
"file": "runtime-git-kit/tooling/probes/step20c-corec-v2/graphics/cases.py",
"symbol": "dynamic_geometry(previous) lines110-112; dynamic_campaign migration",
"requirement": "Reconstruct exact pinned native camera behavior after migration, without treating ordinary refocus as a compositor defect",
"evidence": "move.c661 calls workspace_move_to_output; move.c668 seat_set_focus. seat.c1204-1212 adjusts focused cell camera. Migrated snapshot workspace6 IDs8,9,10 width640 each, focused10 logical bounds1280..1920 viewport800: right-width=1120; actual1120. Fixture min(previous800,max1120)=800 rejects it.",
"smallest_correction": "Future source-only fixture correction must distinguish resize clamp from migration refocus and add direct offline negative/positive cases; preserve C7 INCONCLUSIVE, do not rerun or retroactively PASS."
}
],
"core_defect_established": false,
"run_set": [
"P0",
"C1",
"C2",
"C3",
"C4",
"C5",
"C6",
"C7"
],
"statuses": {
"P0": "PARTIALLY_FEASIBLE",
"C1": "PARTIALLY_FEASIBLE",
"C2": "PARTIALLY_FEASIBLE",
"C3": "PARTIALLY_FEASIBLE",
"C4": "PARTIALLY_FEASIBLE",
"C5": "PARTIALLY_FEASIBLE",
"C6": "PARTIALLY_FEASIBLE",
"C7": "INCONCLUSIVE"
},
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"budget_sha256": "8ce8a4134ff841dd0a60e2b108cd8dd688ff891f0867facb377bd0013263d839",
"admission_sha256": "0cf469b78016845e73c5c483150c1964e350ba312fa0dfc0c2e1b91d145be0f1",
"delta_review_sha256": "363080a9bae08a85f00213450b65529538487b4b699152f449539bf860cae21b",
"evidence_manifest_sha256": "324b4f27c4978b7c8abb721df9183beb79febe2caed1c6b8e80dd555db1d0eca",
"offline_checks_sha256": "0b29fddc1d39da4011e18d06603ea0f769fa317226439b93a29ca32433d74695",
"input_checks_sha256": "05cbc1225739c24cc29becc8e0120cc728e854a9ae42074edf60b911150dbafa",
"captures_total": 84,
"input_wire_pairs_checked": 28,
"closures_checked": 30,
"all_exit0_no_rescue": true,
"terminal_IPC_exit": 1,
"C2_axis_annotation_sha256": "95aab3fea44bead98bde84f1dd5aba62106f3fa5c48ccd3d1ceef99d2c44f63d",
"C2": "Legacy raw crossing field X0 NOT_EXERCISED retained; executed validator axis1 Y600 independently corroborated A505..675 and B585..715",
"C6": "Held configure39 follows ACK30; native timeout transaction waiting1; client remains alive and ACK39 later; saved native identity NOT_OBSERVABLE",
"limitations": [
"P0 single standard control only; pristine fractional/rotation specific controls not run",
"No native presentation, atomic generation, complete damage, saved node/buffer identity or GPU lifetime proof from pixels",
"C7 resize stages camera800 legal nonsaturating; migration pixels/input and return-back stages not reached",
"Standard-layout C1 H2 differences expected while popups continue; final H2 exact",
"No universal click-through; outside grab dismissal retained separately"
],
"reviewer_native_runs": 0,
"new_reservations": 0,
"source_edits": false,
"commit_push": false,
"output_captures_total": 84,
"generated_marker_source_pngs": 2,
"png_files_total": 86,
"capture_count_correction": {
"superseded_receipt": "runtime-receipt-superseded-marker-count.json",
"superseded_sha256": "9b8466b35ce2562d73db0bf9d99b38dcf8aea0238384cd377354ec2dc09523e3",
"output_captures_per_run": {
"P0": 10,
"C1": 16,
"C2": 8,
"C3": 9,
"C4": 9,
"C5": 12,
"C6": 10,
"C7": 10
},
"explanation": "86 PNG files comprise 84 output captures and two generated marker-source.png files in C3/C4, counts_as_capture=False. Source OOM review unchanged; no new audit/run/reservation."
}
}

View file

@ -0,0 +1,29 @@
{
"decision": "PASS",
"scope": "Only test_compositor_only_environment_no_helpers_clients self.root instead of LAB and explanatory comment",
"reviewer": "offline_isolation_delta_review",
"independent": true,
"materialized_by": "parent from explicit reviewer final response, no reviewer file write",
"findings": [],
"tests": {
"offline_suite": "48/48 PASS",
"actual_function_namespace_ignores_real_O1_collision": "PASS",
"actual_function_fake_existing_token_refused": "PASS",
"fake_existing_token_unchanged": "PASS",
"real_token_and_budget_hashes_unchanged": "PASS",
"git_diff_check_bounded_file": "PASS"
},
"sha256": {
"source_test": "8d4f80c9d7f5dee53f06b9538d5523525e62eda77e4fb1632491a724e2cb8df2",
"real_O1_token": "e4416c9a2967e65bebb0c49667400538904503b8a5e5d185ee9318547d304d0d",
"real_budget": "dfe1897e255ca5a96b7b66b0af0728acdffdf3ddf397a3fa3c6b1011b07c9db6",
"preserved_failure": "fe2141fcdbd575f70be427added2d1f676a23dfd31a188c921571f2846ad6a49",
"gpu_manifest": "38b1daba551758e0969312a1ed5fc459af877ee7d443f2135d6aa62e4831af0e"
},
"native_runtime": "NOT_RUN",
"new_native_captures": 0,
"new_reservations": 0,
"source_edits_by_reviewer": false,
"committed": false,
"pushed": false
}

View file

@ -0,0 +1,86 @@
{
"authorized_runs": [
"P1",
"C8",
"O1",
"O2",
"G2"
],
"conditions": {
"C8": "Only via reviewed parent transport after P1 PARTIALLY_FEASIBLE; compare actual P1/C8 configured crossing, roles and geometry before result acceptance",
"G2": "Exactly one A/B/A-return acquisition; strict GLES3 RBO capability only; reject unsupported attachment/context/error/state and STOP without B or retry after rejected A; native_gl_status remains NOT_RUN until actual execution",
"O2": "Only after O1 COMPLETED PARTIALLY_FEASIBLE and no critical or unresolved survival/invariant failure; Ledger.admit enforces"
},
"decision": "ACCEPTED",
"full_kit_manifest_sha256": "19ad4085ced4a2d9f77f665adff430ca2cf56d0cb41af930356f82d5a28d1370",
"independent": true,
"manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121",
"not_admitted": [
"R1"
],
"parent_transport_sha256": "ba2a43e70cbdef9a4ef9aab4529efb8bb4558208f148062a47b3bb07eed9a34b",
"prospective": {
"C8": {
"client_binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-next-work/client-build/fullscreen-client",
"client_binary_sha256": "82fc218f15f2405cca0f2290cc41bbbc6dfead18c641f796f8fcd4012a16af70",
"client_build_receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-next-work/client-compile.json",
"client_build_receipt_sha256": "00c97bec3f87077f7edb6fd5e0d0e7ced7ed6c4c1ac76c9d8456647eb59ee793",
"client_build_review": "ACCEPTED",
"decision": "ACCEPTED",
"source_manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121"
},
"G2": {
"binding": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/gpu-mosaic/sway/swayfx-mosaic",
"client": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/gpu-work/client-build/g2-client",
"client_sha256": "45b98828e84b94954b4382a3ec1a72d92624667e74534463c133eb3118a689f8",
"gate_file": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/gpu-work/native-runtime-gate.json",
"source_manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121"
},
"build_review": "ACCEPTED",
"build_review_receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/ownreview-gpu-built/receipt.json",
"build_review_receipt_sha256": "00e78a136ea39a873adbee07653969f7265607c91d5dec5226f9708a14cc0aec",
"client_build_review": "ACCEPTED",
"decision": "ACCEPTED",
"gate_file": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/gpu-work/native-runtime-gate.json",
"gate_file_sha256": "75c0c663552eff71bde989e586a8fea5cf97714d3a26400ffdf8ed71566f2e1a",
"gl_observability_preflight": "ACCEPTED",
"gl_observability_preflight_receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/review-gpu-fifo-delta/receipt.json",
"gl_observability_preflight_receipt_sha256": "247fa681a20433a36eb8ba6a6545c6c784f6e8d1cf168345fcabb867a86737c4",
"gpu_source_manifest": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/results/gpu-source-freeze-corrected.json",
"gpu_source_manifest_sha256": "38b1daba551758e0969312a1ed5fc459af877ee7d443f2135d6aa62e4831af0e",
"gpu_source_review": "ACCEPTED",
"gpu_source_review_receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/review-gpu-fifo-delta/receipt.json",
"gpu_source_review_receipt_sha256": "247fa681a20433a36eb8ba6a6545c6c784f6e8d1cf168345fcabb867a86737c4",
"native_gl_status": "NOT_RUN",
"pair": 3,
"source_manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121"
},
"O1": {
"client_build_review": "ACCEPTED",
"decision": "ACCEPTED",
"oom_source_review_sha256": "a953a38b49bea11e9c19e84ed2d8218a16b2e5d980e0ba57677eeee0ddf62c6c",
"source_manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121",
"variant_identity": "COREC_V2_NATIVE_OOM_DIAGNOSTIC"
},
"O2": {
"client_build_review": "ACCEPTED",
"decision": "ACCEPTED",
"oom_source_review_sha256": "a953a38b49bea11e9c19e84ed2d8218a16b2e5d980e0ba57677eeee0ddf62c6c",
"source_manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121",
"variant_identity": "COREC_V2_NATIVE_OOM_DIAGNOSTIC"
},
"P1": {
"client_binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-next-work/client-build/fullscreen-client",
"client_binary_sha256": "82fc218f15f2405cca0f2290cc41bbbc6dfead18c641f796f8fcd4012a16af70",
"client_build_receipt": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-next-work/client-compile.json",
"client_build_receipt_sha256": "00c97bec3f87077f7edb6fd5e0d0e7ced7ed6c4c1ac76c9d8456647eb59ee793",
"client_build_review": "ACCEPTED",
"decision": "ACCEPTED",
"source_manifest_sha256": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121"
}
},
"publication_sha256": "ca17909631b03826605ca1ee3d4f4287c9e1328c9e8992487ece0d997e2a2759",
"reviewer": "/root/remaining_run_admission",
"scope": "Exact remaining source/publication/binary/client/caps bindings only; conditional private ticket runs, no runtime observation inherited"
}

View file

@ -0,0 +1,204 @@
{
"IPC_calls": 0,
"O1_native_failure": {
"children": "0",
"failures": "1",
"initialized": "0",
"listeners": "0",
"matched": "1",
"nonce": "dcb32bacb26349078f9ca4a7876980b8",
"parent": "0x55dca3a1ec80",
"pid": "3324847",
"published": "0",
"role": "root_popup",
"successes": "0",
"tree": "0x55dca46ebf50",
"xdg": "0x55dca4750200",
"xdg_parent": "0x55dca4770910"
},
"O1_scientific_cleanup": "FALSE, retained oracle failure; do not promote to PF",
"O1_survival": "Post-injection snapshots/captures and later IPC rc0; neighbor serial42/43 before close_owner; same PID in native lines; all processes rc0 no rescue",
"O1_wire_root": {
"parent": "TOPLEVEL",
"parent_xdg": 9,
"popup": "POPUP_A",
"role": 14,
"serial": 31,
"wl": 12,
"xdg": 11
},
"O2": "NOT_RUN_BLOCKED_BY_O1_INCONCLUSIVE",
"P1_independent_pixels": "PASS exact complete mapped H2, A-only H2 and final baseline replayed from raw captures",
"budget": {
"captures": 100,
"runs": 11,
"sha256": "84e19df60a786b2c346ac58b7179ab1a355142246a06b30d2a98e7d8a4b01873",
"unchanged": true
},
"committed": false,
"critical_common_failure_for_G2_demonstrated": false,
"critical_leak_demonstrated": false,
"decision": "PASS_BOUNDED_EVIDENCE_REVIEW",
"evidence_sha256": {
"graphics-runs/C8/run/compositor.log": "7a8d4c1963cbbf9edf80f0edc61cfa20fbc150b4d8d25d28eb8bc4229a618971",
"graphics-runs/C8/run/config": "caf7cdff074714cb5b2ba35827558ce5a7defda125de034a7d42296f03b0528b",
"graphics-runs/C8/run/events.jsonl": "186f6c15ae2d3cd1dc8d32879a5e35e277e5577b0be141a79c2692fdf76ddf4d",
"graphics-runs/C8/run/filler0-closed-3324744.log": "5c38d9f9c4098626b02621acf0767b8568252cb616219da26e190b7a99d0a6bc",
"graphics-runs/C8/run/filler0.log": "5c38d9f9c4098626b02621acf0767b8568252cb616219da26e190b7a99d0a6bc",
"graphics-runs/C8/run/fullscreen-before-snapshot.json": "4940bcf318256d9ac86fff32b6d3104b3f6808922cae296dc48500e7886cdd99",
"graphics-runs/C8/run/fullscreen-peer-closed-3324753.log": "0cc01b5502b258adfe98eba1c69fbe28915dac9503cca20ff45bd81f5c322f41",
"graphics-runs/C8/run/fullscreen-peer.log": "0cc01b5502b258adfe98eba1c69fbe28915dac9503cca20ff45bd81f5c322f41",
"graphics-runs/C8/run/outcome.json": "552ed76022f8675c63d75e9b41406ec0754b2e5826b342020c559c4458724bd1",
"graphics-runs/C8/run/owner-closed-3324748.log": "f7c75750e4f2e5536d89eb4f9180ec68f68e885b4e1e0b109ec3bd9f0fcdc517",
"graphics-runs/C8/run/owner.log": "f7c75750e4f2e5536d89eb4f9180ec68f68e885b4e1e0b109ec3bd9f0fcdc517",
"graphics-runs/C8/run/pointer.log": "fbf1d66c7352dee486b0d01ae2d4e258a14c003a534fb592498727ff17ca402f",
"graphics-runs/C8/run/proc-maps.txt": "1b098ca0e65add33840d46e2be6639f42fac6e5d87aebcc74ab5aaa3a256e199",
"graphics-runs/C8/run/reference-closed-3324736.log": "8998c5cec8c36d81d8907248913dab7a1b93ee999e2b27f139e57526dfc68bc4",
"graphics-runs/C8/run/reference.log": "8998c5cec8c36d81d8907248913dab7a1b93ee999e2b27f139e57526dfc68bc4",
"graphics-runs/C8/run/runtime-identity.json": "f91f0bcf1659c348cb4970d87e505510d71d1e66d789393d71a2146e6fc78b85",
"graphics-runs/C8/run/startup-snapshot.json": "ac7adbd8ae0e4b928f80749ee831ebd2f2318d0aa8456547549838ff7e33298b",
"graphics-runs/C8/run/terminal-ipc.json": "c4d44ea275c98e70966926571f95b83a96776fdf06ebf987bc2b2fa9f9a85630",
"graphics-runs/O1/run/H2-reference1.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/O1/run/H2-reference2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/O1/run/compositor.log": "329ad681d7fbaae086365b21c57f077e0f0e1dec61aac158233ff54ceb7daf40",
"graphics-runs/O1/run/config": "caf7cdff074714cb5b2ba35827558ce5a7defda125de034a7d42296f03b0528b",
"graphics-runs/O1/run/events.jsonl": "9ca550feba31bfdfc5afbe8c855e83348b560e238e2d76858051302d9c88df82",
"graphics-runs/O1/run/filler0-closed-3324882.log": "fa784f8ca1d816ca009d25d4540704d14889c2453149b744cf4b2b140f5f3dd7",
"graphics-runs/O1/run/filler0.log": "fa784f8ca1d816ca009d25d4540704d14889c2453149b744cf4b2b140f5f3dd7",
"graphics-runs/O1/run/oom-after-snapshot.json": "fef07f9f67ad6f28ba9bf4e1f9329c4b9fec9f4451f62cd98a0f9d054404f338",
"graphics-runs/O1/run/oom-before-snapshot.json": "686834730d06fbb4bc8e28d858ba863dbae1a516774e4da7d5b3d44d1b099b8a",
"graphics-runs/O1/run/oom-partial-failure.json": "58ec2f56a18a742a9f992d25229a784f81624dcdb4dcf38075c1699c3ca98203",
"graphics-runs/O1/run/oom-post-H1.png": "c8d50e1a0e52074bf595a82a56d5db9f1790cf0cfd7e510c32ceceeba4295802",
"graphics-runs/O1/run/oom-post-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/O1/run/oom-pre-H1.png": "c8d50e1a0e52074bf595a82a56d5db9f1790cf0cfd7e510c32ceceeba4295802",
"graphics-runs/O1/run/oom-pre-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/O1/run/oom-token": "e4416c9a2967e65bebb0c49667400538904503b8a5e5d185ee9318547d304d0d",
"graphics-runs/O1/run/outcome.json": "ff778e31269c9d3494a38cd07e70a2d1b60a42b3d25c9336b3be431594d8d776",
"graphics-runs/O1/run/owner-closed-3324886.log": "3f8e81302a78ab16a1796f6dafc8e5d4cb9051abd79b981caa3bd0fa60a425fe",
"graphics-runs/O1/run/owner-geometry.json": "82cb362257a10a14326b664a0b7dc39dbb447d8e19b0af652a5460f7ec3ed294",
"graphics-runs/O1/run/owner-owner-snapshot.json": "ae35734e8209c1c5b8baba886f4324a133690df0172e87cfa4be864d844f91b6",
"graphics-runs/O1/run/owner.log": "3f8e81302a78ab16a1796f6dafc8e5d4cb9051abd79b981caa3bd0fa60a425fe",
"graphics-runs/O1/run/pointer.log": "3e000d65bad98a385f2320e3c0f14c9dfdecded8d0a117fcda4f3f0fdaf8b0aa",
"graphics-runs/O1/run/proc-maps.txt": "9787ff1cd58ee7de606167531afa27cc7c6270a8d9125e7f81a83580a47ec7ca",
"graphics-runs/O1/run/reference-closed-3324875.log": "5fe3c64d386206db19d8e886cb555f296eb5fc8ff9ea3dd2462f6a483ec4136c",
"graphics-runs/O1/run/reference-stability.json": "f6557d7b4e29b35adcaeafbd4391ebd72faf26d4d8a870c4f668a0d3236e1c78",
"graphics-runs/O1/run/reference.log": "5fe3c64d386206db19d8e886cb555f296eb5fc8ff9ea3dd2462f6a483ec4136c",
"graphics-runs/O1/run/runtime-identity.json": "9053ccfc5e2c4848b15a345aad62e739766fd0c1d32921695f53e9e0d5d59531",
"graphics-runs/O1/run/startup-snapshot.json": "070cad8377aa884463b1dc86cb7d35efd700a23ab967165bed6439bb2a991b55",
"graphics-runs/O1/run/terminal-ipc.json": "c4d44ea275c98e70966926571f95b83a96776fdf06ebf987bc2b2fa9f9a85630",
"graphics-runs/P1/run/H2-reference1.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/P1/run/H2-reference2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/P1/run/compositor.log": "169c700f1fb87c362817b85ef8a559ba3daa54f1492d99905f9cb8ca6ff734b3",
"graphics-runs/P1/run/config": "caf7cdff074714cb5b2ba35827558ce5a7defda125de034a7d42296f03b0528b",
"graphics-runs/P1/run/events.jsonl": "339e34ff32aa4950dfe4bff88663f92182443835eb2c5bd49c2b2c8cb221a9ee",
"graphics-runs/P1/run/filler0-closed-3324617.log": "0ead301c465e67e0cfbeee98eb5a3565a1918f7816b317f2b342c3b7a2dd3572",
"graphics-runs/P1/run/filler0.log": "0ead301c465e67e0cfbeee98eb5a3565a1918f7816b317f2b342c3b7a2dd3572",
"graphics-runs/P1/run/fullscreen-B-closed-H1.png": "57d05417142dec4c40d97240ce1a19c74c943f18e12d641fe14c8b82f931f3ac",
"graphics-runs/P1/run/fullscreen-B-closed-H2.png": "cb3ae85599512bb4cd321ca6e1e6d6098d58e0722b6417c78771e985f5ef6586",
"graphics-runs/P1/run/fullscreen-after-owner-snapshot.json": "f4b15db051c8e8c01af7aeb39a00e371203827b4fdd3398b5b2572a6387ab9a6",
"graphics-runs/P1/run/fullscreen-before-snapshot.json": "490ca9c0126eba35d213c86ad9cf752cbafd297f8cefe2bc453c98546e8a47ad",
"graphics-runs/P1/run/fullscreen-comparability.json": "104f3dd9b66b6ad8463651474403904fbc49a73a9c25c12a1c18333a15f42a80",
"graphics-runs/P1/run/fullscreen-final-H1.png": "af3ac8ce331306347f6bd66831c4eae9bca1f2e42ecb25bb639cbfd16b5e622f",
"graphics-runs/P1/run/fullscreen-final-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/P1/run/fullscreen-mapped-H1.png": "41043f2d03433de3c0a1f396d320a1241bb36e18afd02d13863912c2117b054f",
"graphics-runs/P1/run/fullscreen-mapped-H2.png": "55157d11ee8dfe0e56e0a1def7b0efb13659e5eef75bae9561789408d836b90a",
"graphics-runs/P1/run/fullscreen-owner.png": "195648a5928a4c3f963afbb610645a4b4d83bbdecf6a45b43abaa52ea122fc83",
"graphics-runs/P1/run/fullscreen-peer-closed-3324628.log": "8081fa8b3dcab33c21e222305f770233d9815a433d32d4749b652aa5e25bb9f4",
"graphics-runs/P1/run/fullscreen-peer.log": "8081fa8b3dcab33c21e222305f770233d9815a433d32d4749b652aa5e25bb9f4",
"graphics-runs/P1/run/fullscreen-rootA.png": "57d05417142dec4c40d97240ce1a19c74c943f18e12d641fe14c8b82f931f3ac",
"graphics-runs/P1/run/outcome.json": "2d6f603a9b8d304b1af0931463abeeeaee4e0cf9e6bc140810fe4eb76b931e04",
"graphics-runs/P1/run/owner-closed-3324623.log": "0de4bca13044d88fa8ae1704741da137f2ba4c623069b18003fc25fd725d9114",
"graphics-runs/P1/run/owner-geometry.json": "8b59c66a34d6613579dc2fccabe9826b77283f810a97ee1cf71e9cfa3ab20a34",
"graphics-runs/P1/run/owner-owner-snapshot.json": "7cfb55fff4ad43ecd022eddf12266739a6bf9056a42294f9b8a8805bb7df70f5",
"graphics-runs/P1/run/owner.log": "0de4bca13044d88fa8ae1704741da137f2ba4c623069b18003fc25fd725d9114",
"graphics-runs/P1/run/pointer.log": "f082f3a4978914b3709aa7a928c961d434c38a27ae34a07bad1e6f4e95254588",
"graphics-runs/P1/run/proc-maps.txt": "c11c8be4a17a8d9e18bd69ce1fa9b23a7e1dd661960bcb480e36c5cc5729bbb0",
"graphics-runs/P1/run/reference-closed-3324611.log": "01030c793f57a2f65e4580e394967f4f13ac5621d6a5cd653ad732bd35550965",
"graphics-runs/P1/run/reference-stability.json": "f6557d7b4e29b35adcaeafbd4391ebd72faf26d4d8a870c4f668a0d3236e1c78",
"graphics-runs/P1/run/reference.log": "01030c793f57a2f65e4580e394967f4f13ac5621d6a5cd653ad732bd35550965",
"graphics-runs/P1/run/runtime-identity.json": "8a31adf0682d86251ed6903e00b01d305e544f7acb0f4bcb9665c03040dee301",
"graphics-runs/P1/run/startup-snapshot.json": "fc6cc0d684bf0a6ce9378ce317eb0ea4d983f170dc0aa5c39cebf7cfa15f1751",
"graphics-runs/P1/run/terminal-ipc.json": "e6674bddc8ac2b06fb5c2373cf7bc54f0906e7f252559f46928ce70fd0e70cd4"
},
"findings": [
{
"evidence": "C8 snapshot workspace6 Mosaic: filler8, group10 with owner9 only, peer11 as workspace sibling; guard fails before captures. P1 actual group10 has owner9+peer11.",
"file": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/runtime-next-git-kit/tooling/probes/step20c-corec-v2/graphics/fullscreen.py",
"severity": "P2",
"smallest_correction_direction": "Future separately authorized fixture must prepare and verify actual group under Mosaic; preserve exact invariant, no replay of consumed C8.",
"symbol": "run: group preparation",
"violated_requirement": "C8 actual equal-child nonleaf fullscreen group comparable to P1"
},
{
"evidence": "O1 actual destruction order A,TOPLEVEL after failed root allocation; no B CREATE. Common client_exit accepts B,A,TOPLEVEL or TOPLEVEL only, rejects root-only order despite CLOSE_RECEIVED, rc0, EXIT error0 and SHM1/1. Final 2 captures absent.",
"file": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/runtime-next-git-kit/tooling/probes/step20c-corec-v2/graphics/oom_handler.py",
"severity": "P2",
"smallest_correction_direction": "Future bounded OOM-specific closure oracle verifies exact root-failure lifecycle; preserve current INCONCLUSIVE and no retry.",
"symbol": "run -> Session.close_client -> validators.client_exit",
"violated_requirement": "Prospective O1 validates actual root-failure popup lifecycle and owner closure without nonexistent B"
}
],
"git_operations": 0,
"independent": true,
"limitations": [
"C8 fullscreen/nonleaf comparison NOT_EXERCISED",
"O1 INCONCLUSIVE final captures absent",
"Full damage/stale-listener/availability qualification NOT_PROVEN",
"Native GL remains NOT_RUN before G2"
],
"new_builds": 0,
"new_captures": 0,
"new_runs": 0,
"post_injection_maps_limit": "availability() validates current PID/executable/wlroots maps before oom-after snapshot; its return was not archived because final oom-measurements save was skipped. proc-maps/runtime-identity are startup evidence; do not claim separate full post-injection maps archive.",
"pushed": false,
"results": {
"C8": {
"all_process_exits": 0,
"captures": 0,
"mechanical_rescue": false,
"outer_runner_exit": 1,
"runner_failure": "Ambiguous: exact two-child group preparation",
"scientific_cleanup": true,
"status": "INCONCLUSIVE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.002 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"O1": {
"all_process_exits": 0,
"captures": 6,
"mechanical_rescue": false,
"outer_runner_exit": 1,
"runner_failure": "Ambiguous: popup child-first destruction order",
"scientific_cleanup": false,
"status": "INCONCLUSIVE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.002 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"P1": {
"all_process_exits": 0,
"captures": 10,
"mechanical_rescue": false,
"outer_runner_exit": 0,
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.001 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
}
},
"reviewer": "/root/remaining_run_admission",
"schema": "remaining-runtime-early-independent-review-v1",
"scope": "Only P1/C8/O1 actual evidence and G2 dependency-stop gate; no repair/run/retry",
"source_edits": false,
"terminal_endpoint": "terminal swaymsg exit rc1 Unable to receive IPC response together with compositor rc0 and shutdown teardown is endpoint unavailability; does not establish compositor shutdown bug",
"verification_note": "First read-only evidence check compared richer outcome.json to compact ledger outcome and failed assertion; corrected comparison verifies shared status/process facts. No runtime action occurred."
}

View file

@ -0,0 +1,232 @@
{
"G2": {
"EGL_client_version": 2,
"GL_VERSION": "OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"allocation_length": "NOT_PROVEN",
"baseline_H2": "PASS exact complete RGB 800x600; 2 captures only, no H1 A/A-return comparison",
"cleanup": {
"all_process_exit0": true,
"mechanical": "PASS",
"private_runtime_removed": true,
"reaped": true,
"rescue": false,
"scientific": "PASS",
"terminal_IPC_exit": 1,
"watchdog": false
},
"consumed": true,
"epochs_2_3": "NOT_RUN",
"error_observation": "pre_errors and version query_errors empty after executed pre/version drains; read_errors/restore_errors remain zero-initialized because early refusal precedes state save/bind/read/restore. Empty arrays are not read success or observed restoration.",
"first_A": "REJECTED",
"metadata_bytes": 1776,
"metadata_rows": [
"begin",
"sample",
"rejected"
],
"native_READ_SUCCESS": "NOT_PROVEN",
"no_retry": "PASS no raw files, no epoch2/3 tokens/data and exactly one client source-A command",
"observed_dmabuf": {
"allocation_length": "NOT_PROVEN",
"borrowed": true,
"dimensions": [
800,
600
],
"format": 875713112,
"modifier": "020000001046bb04",
"planes": [
{
"dev": 12,
"fd": 32,
"fstat_ok": true,
"ino": 32909,
"offset": 0,
"stride": 3584
},
{
"dev": 12,
"fd": 33,
"fstat_ok": true,
"ino": 32909,
"offset": 2293760,
"stride": 1024
}
]
},
"observed_native_object_metadata": {
"dimensions": [
800,
600
],
"fbo_rbo_tex": [
7,
13,
4
],
"fx": "5572d9a735d0",
"image": "5572d9ad6270",
"wlr": "5572d99d5900"
},
"point": 0,
"raw_GPU_bytes": 0,
"raw_GPU_files": 0,
"reason": "GLES_STATE_NOT_SUPPORTED",
"reason_interpretation": "Frozen g2_read requires both EGL client_version>=3 and GL_VERSION prefix OpenGL ES 3.; observed EGL value fails. Refusal conforms to accepted strict capability contract. No relaxation/retry authorized.",
"source_client_command": [
"G2_SOURCE_BYTES command=G2-A bytes=1920000 crc32=c03ad22d exact_original=not-return"
],
"state_zero_fields": "before/after and attachment/channel zeros unmeasured initialized values on this early return",
"status": "INCONCLUSIVE",
"uniforms_and_halfpixel": "NOT_OBSERVED"
},
"IPC_calls": 0,
"committed": false,
"decision": "PASS_BOUNDED_RECORDING_AND_STOP_PROTOCOL",
"evidence_sha256": {
"gpu-kit/g2_gl.h": "cd175030be6a2e5d0af036c714c03455ef417f78f20360e00f7e6d1d7be7ab13",
"gpu-kit/g2_native.h": "0dfa9e089853a078094736da7f4e133d7fd648500d380dd7f536a7a6f80fdd8e",
"gpu-kit/scenario.py": "a894a74d5b1a9c0378485f0291a8ae788a56bb33ab26665dc6cd033a9271c738",
"gpu-work/acquisition/epoch-1.consumed": "92728523a6a90f41ad63b37bcb08901ed0dedbb1e3743f93dea3ff4aa535e30c",
"gpu-work/acquisition/epoch-1.jsonl": "a8ac7f57be576a793f373fb5363fd4b05351ed5cd60bb5cbefd8ec905566f6ce",
"graphics-runs/G2/run/G2-H2-baseline.json": "1cfa58941ac41b07ea7206add5d1722fa2749eb5be5274b9006b4cbcba8f31b3",
"graphics-runs/G2/run/G2-H2-baseline1.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/G2/run/G2-H2-baseline2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/G2/run/compositor.log": "4a220e8610b627e74775a1866f1cbc6cc926dfda9cf276c873c632fb26ea73e9",
"graphics-runs/G2/run/config": "caf7cdff074714cb5b2ba35827558ce5a7defda125de034a7d42296f03b0528b",
"graphics-runs/G2/run/events.jsonl": "6da260a376155fbe4d170651943113d5d4927ed6e94d3f7fe57806e36de169af",
"graphics-runs/G2/run/g2-background-closed-3347683.log": "64e75816dbb8a6013fa0614637f8176d9ad922e8c630c46b8d92317e36a170d3",
"graphics-runs/G2/run/g2-background.log": "64e75816dbb8a6013fa0614637f8176d9ad922e8c630c46b8d92317e36a170d3",
"graphics-runs/G2/run/g2-glass-closed-3347685.log": "b9c79aee77e15c9b99e43d786009d5b79f279368a3c4da94f3e9be19ea7daf63",
"graphics-runs/G2/run/g2-glass.log": "b9c79aee77e15c9b99e43d786009d5b79f279368a3c4da94f3e9be19ea7daf63",
"graphics-runs/G2/run/g2-reference-closed-3347672.log": "68ab7f0f14e6bfcb09dff2176c8e493de6f84287d1d1fedb9d4904d195c37bd2",
"graphics-runs/G2/run/g2-reference.log": "68ab7f0f14e6bfcb09dff2176c8e493de6f84287d1d1fedb9d4904d195c37bd2",
"graphics-runs/G2/run/outcome.json": "61a6735ad0c700978a2f58c85ba0d59487cb863a81b7c933da63fbc1ccea10d3",
"graphics-runs/G2/run/pointer.log": "fbf1d66c7352dee486b0d01ae2d4e258a14c003a534fb592498727ff17ca402f",
"graphics-runs/G2/run/proc-maps.txt": "fe4ed2ab19539069e1adf7cc047a29af0e9f3bd91a1fdc4d17f274c8ce04c89d",
"graphics-runs/G2/run/runtime-identity.json": "49f38e896a3670ec9bb69d3d1c5809b4a017024693800a6738eaadf9eacea5e8",
"graphics-runs/G2/run/startup-snapshot.json": "01923c0cfc26c32f2675b0386f845b0bc6ffcf262fd5ab6f182ef6ba40f1871b",
"graphics-runs/G2/run/terminal-ipc.json": "e6674bddc8ac2b06fb5c2373cf7bc54f0906e7f252559f46928ce70fd0e70cd4",
"results/native-G2-outer.json": "61c72e5203c2b32143774249bdb595f802b591e2168fa371cf1a8da973d20fd2",
"review-oom-runtime/runtime-receipt.json": "ce5b5bf1d673f18b1eed77c8b3993caa3ea55fa171369cce7737dc5788fe4982",
"review-remaining-runtime/G2-dependency-decision.json": "346cf42b038e3f6f17d07ef363f47edec63ccdf8addecb65de4e22cd65e026d2",
"review-remaining-runtime/early-receipt.json": "fc9fc09efb117282089575503c8716aee4846d931378ce6cd8f378a1c7cb8906"
},
"git_operations": 0,
"independent": true,
"ledger": {
"O2": "NOT_RUN_BLOCKED_BY_O1_INCONCLUSIVE",
"R1": "NOT_RUN_NOT_ADMITTED",
"completed_reservations": 12,
"immutable_binding_sha256": {
"results/pre-run-freeze.json": "f3e01cf4fdf65a27595f104d105e0b5241c40da8e0ea33b90f0fa1e981ea5767",
"results/pre-run-publication.json": "8ef64e846f789faa75ce3c2dd04f092b1d6cf7b58a1de5e502768d7c4ee61616",
"results/remaining-pre-run-freeze.json": "414e57983d5218fcbea8235c53c09bc8377137d413b5aacf5b0890494db7d121",
"results/remaining-publication.json": "ca17909631b03826605ca1ee3d4f4287c9e1328c9e8992487ece0d997e2a2759",
"review-graphics/run-admission.json": "0cf469b78016845e73c5c483150c1964e350ba312fa0dfc0c2e1b91d145be0f1",
"review-remaining-admission/run-admission.json": "0fb5664d23928444b10309467f9c0aecc228f95bb524db4024a2340594b065c0"
},
"immutable_prior_bindings": "PASS every recorded manifest/review/publication SHA still exact",
"launched": 12,
"limits": {
"captures": 180,
"captures_per_run": 18,
"duration_s": 150,
"runs": 14
},
"output_capture_debits": 102,
"per_run": {
"C1": {
"captures": 16,
"reserved_cap": 18,
"status": "PARTIALLY_FEASIBLE"
},
"C2": {
"captures": 8,
"reserved_cap": 12,
"status": "PARTIALLY_FEASIBLE"
},
"C3": {
"captures": 9,
"reserved_cap": 12,
"status": "PARTIALLY_FEASIBLE"
},
"C4": {
"captures": 9,
"reserved_cap": 12,
"status": "PARTIALLY_FEASIBLE"
},
"C5": {
"captures": 12,
"reserved_cap": 12,
"status": "PARTIALLY_FEASIBLE"
},
"C6": {
"captures": 10,
"reserved_cap": 12,
"status": "PARTIALLY_FEASIBLE"
},
"C7": {
"captures": 10,
"reserved_cap": 14,
"status": "INCONCLUSIVE"
},
"C8": {
"captures": 0,
"reserved_cap": 12,
"status": "INCONCLUSIVE"
},
"G2": {
"captures": 2,
"reserved_cap": 16,
"status": "INCONCLUSIVE"
},
"O1": {
"captures": 6,
"reserved_cap": 8,
"status": "INCONCLUSIVE"
},
"P0": {
"captures": 10,
"reserved_cap": 10,
"status": "PARTIALLY_FEASIBLE"
},
"P1": {
"captures": 10,
"reserved_cap": 10,
"status": "PARTIALLY_FEASIBLE"
}
},
"reservations": 12,
"reserved_capture_caps": 148,
"sha256": "dfe1897e255ca5a96b7b66b0af0728acdffdf3ddf397a3fa3c6b1011b07c9db6"
},
"new_blocking_findings": [],
"new_builds": 0,
"new_captures": 0,
"new_clients": 0,
"new_runs_by_reviewer": 0,
"next_smallest_step": "Complete evidence/documentation handoff with immutable refusals and consumed statuses; no further graphics or retry under this review",
"out_of_scope_observation": "results/phase-status.json is a historical intermediate snapshot of 8 runs84 captures; final report must use this reconciled ledger and avoid treating that intermediate file as final",
"own_review_artifacts_only": true,
"phase_I": {
"GPU_completion": "NOT_PROVEN",
"GPU_object_lifetime": "NOT_PROVEN",
"GPU_render_input_equivalence": "NOT_PROVEN",
"atomic_transaction_generation": "NOT_PROVEN",
"complete_damage_stale_pixels": "NOT_PROVEN",
"native_commit_present": "NOT_PROVEN",
"presented_physical_buffer_identity": "NOT_PROVEN",
"retained_scope": "Prior eight-run review retained; C6 held configure/timeout/ACK evidence does not identify native saved buffer or atomic generation. P1 sampled control remains PF; C7/C8/O1/G2 remain INCONCLUSIVE.",
"shader_uniforms_halfpixel": "NOT_OBSERVED_DUE_EARLY_REJECTION",
"status": "PARTIAL_EVIDENCE_ONLY",
"whole_field_GPU_causality": "NOT_PROVEN"
},
"prior_fixture_findings": "C7/P2 retained first-eight review; C8 and O1/P2 retained early-receipt; no repairs/retries performed",
"production": "NOT_AUTHORIZED; STEP20C gates remain open, partial evidence only",
"pushed": false,
"reviewer": "/root/remaining_run_admission",
"schema": "remaining-runtime-final-independent-review-v1",
"scope": "Exact G2 epoch1 refusal, cleanup, final ledger accounting and phase-I evidence boundaries; reuse prior first-eight-run and early remaining-run reviews",
"source_edits": false
}