test(mosaic): record partial native closure and offline repairs

This commit is contained in:
fy59 2026-10-15 12:39:38 +02:00
parent c55373eab3
commit 7216eb5518
53 changed files with 10018 additions and 50 deletions

View file

@ -4,6 +4,21 @@
### STEP20C experimental evidence
- Record the separate [CORE-C V2 follow-up V4](docs/design/STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md):
five consumed runs/32 output captures, migration/refocus and root/nested OOM
SAMPLED_ONLY / PARTIALLY_FEASIBLE. FS-P and fullscreen comparison remain
NOT_EXERCISED, FS-C NOT_RUN; G3 INCONCLUSIVE after client exit2 before SHM,
with no diagnostic acquisition. Preserve scientific cleanup false for G3,
raw process/terminal IPC codes and the historical V2 results.
- Record c553 source publication before runs, distinct G3 build/stage identity,
scoped offline reviews and the separate OFFLINE_ONLY post-campaign fixture
repairs. No consumed run is retried or requalified. Result PARTIALLY_ADVANCED,
recommendation PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE, production OOM policy
UNDECIDED; STEP20C NEXT, production multi-output NOT_YET_SUPPORTED,
PRODUCTION_AUTHORIZED FALSE. Native buffer identity, atomic generation,
complete damage, GPU completion, legal approval and maintenance owners remain
open; no production, UX or package change.
- 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,

View file

@ -1,15 +1,20 @@
# 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.
The [CORE-C V2 follow-up decision V4](design/STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md)
records PARTIALLY_ADVANCED private evidence: four migration/refocus states and
root/nested sidecar allocation failures are SAMPLED_ONLY / PARTIALLY_FEASIBLE.
The IPC snapshots remain pending candidates; pixels and delivered input
corroborate sampled states without exposing an atomic native generation.
OOM caller NULL, zero initialization/listeners/publication and live identity/
IPC/neighbor input are observed before cleanup in the two targeted injections.
Availability production and OOM policy remain UNDECIDED. Fullscreen comparison
is NOT_EXERCISED; G3 stops on a client fixture before diagnostic acquisition.
Native buffer identity, atomic generation, complete damage and GPU completion
remain NOT_PROVEN. Compositor/tree authority and Row 0 borrowing remain the
accepted contracts; no public ABI, dependency or production mechanism is
adopted. STEP20C NEXT; production multi-output NOT_YET_SUPPORTED;
PRODUCTION_AUTHORIZED FALSE. The [parent V2 dossier](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md)
and its consumed runs retain their historical verdicts.
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.

View file

@ -1,15 +1,20 @@
# 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.
The [CORE-C V2 follow-up decision V4](design/STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md)
records five new consumed reservations and 32 output captures, separately from
the historical 12 runs/102 captures. Migration/refocus and root/nested OOM are
SAMPLED_ONLY / PARTIALLY_FEASIBLE. Fullscreen FS-P is NOT_EXERCISED before the
group/fullscreen stage; FS-C is NOT_RUN. The original FS-P errno was not saved;
a controlled dumpability probe supplies a plausible explanation, not proven
specific causality or a native fullscreen defect. G3 is INCONCLUSIVE after a
hardcoded historical TMPDIR makes its client exit2 before SHM; native diagnostic
admission/readback are NOT_EXERCISED. Its scientific cleanup is false despite
mechanical cleanup and compositor0. Post-campaign fixture repairs are OFFLINE_ONLY
and cannot qualify consumed runs. OOM availability is sampled, production
policy UNDECIDED; native buffer identity, atomic generation, complete damage,
GPU completion, legal approval and release/security/static-SceneFX ownership
remain open. Historical C7/C8/O1/G2 verdicts remain unchanged. 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.

View file

@ -1,13 +1,18 @@
# 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.
The [CORE-C V2 follow-up decision V4](design/STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md)
records PARTIALLY_ADVANCED private evidence: five consumed runs, 32 output
captures, migration/refocus and root/nested OOM SAMPLED_ONLY / PARTIALLY_FEASIBLE.
[Fullscreen comparison](design/STEP20C_COREC_V2_FULLSCREEN_COMPARATIVE_GATE.md)
is NOT_EXERCISED, FS-C NOT_RUN; [GLES/readback G3](design/STEP20C_GLES_CONTEXT_READBACK_FOLLOWUP.md)
is INCONCLUSIVE after a fixture client exit2 before SHM, with native acquisition
NOT_EXERCISED. See the [migration report](design/STEP20C_COREC_V2_MIGRATION_REFOCUS_GATE.md)
and [native OOM completion](design/STEP20C_COREC_V2_NATIVE_OOM_COMPLETION.md).
Disposition PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE; production OOM policy
UNDECIDED. Separate post-campaign fixture repairs are OFFLINE_ONLY; the
[parent V2 dossier](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md), 12 runs/102
captures and historical verdicts remain unchanged. STEP20C 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.

View file

@ -1,13 +1,20 @@
# 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.
The [CORE-C V2 follow-up V4](design/STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md)
is PARTIALLY_ADVANCED: five consumed runs/32 output captures, sampled migration/
refocus and root/nested OOM progress, fullscreen comparison and native G3
readback NOT_EXERCISED. Disposition remains
PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE; production OOM policy UNDECIDED.
The separate OFFLINE_ONLY fixture repair and its review are complete. The next
scientific evidence is an observable fullscreen client identity without
relaxing dumpability or the identity guard, before a new fullscreen campaign;
native readback acquisition also remains outstanding. Those campaigns require
a distinct instruction and budget; no retry, refund, optional-slot substitution
or reopening of either closed campaign is admitted.
The historical [V2 evidence](design/STEP20C_COREC_V2_INTEGRATION_DECISION.md),
12 runs/102 captures and its failures remain unchanged. Buffer identity,
atomic generation, complete damage and GPU completion remain NOT_PROVEN;
legal approval and named maintenance owners remain open.
STEP20A DONE; STEP20B EXPERIMENTAL; STEP20C NEXT; STEP20D–G PLANNED;
PRODUCTION_MULTI_OUTPUT NOT_YET_SUPPORTED; PRODUCTION_AUTHORIZED FALSE.

View file

@ -0,0 +1,101 @@
# STEP20C — gate comparative fullscreen CORE-C V2
2026-10-15. Preuve expérimentale du nouveau ticket
`SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1`.
Ce rapport complète la [décision historique V2](STEP20C_COREC_V2_INTEGRATION_DECISION.md)
sans réécrire P1/C8, leurs captures ni leurs budgets clos.
Les contrats canoniques gardent leur autorité.
```text
FULLSCREEN_PRISTINE_NEW=NOT_EXERCISED
FULLSCREEN_COREC_V2_NEW=NOT_RUN
FULLSCREEN_COMPARABILITY=NOT_EXERCISED
```
## Périmètre et provenance
Le [kit de suivi source-only](../../tooling/probes/step20c-corec-v2-followup/README.md)
dérive une fixture prospective, avec admission indépendante avant réservation.
La [revue de delta](evidence/step20c-native-closure/source-delta-review.json)
accepte les octets corrigés : 66 tests offline, zéro échec à cette version.
La première soumission avait trois findings corrigés ; cette acceptation ne
transforme pas la soumission initiale en succès.
Le [manifeste source V2](evidence/step20c-native-closure/source-manifest-v2.json)
a pour SHA256 `2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`
et source digest `f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140`.
La [publication source](evidence/step20c-native-closure/source-publication.json)
au commit `c55373eab3c53132bf1157acc9cfc9edd451156e` précède les quatre
nouveaux runs non GPU. La [reprise depuis clone](evidence/step20c-native-closure/clone-validation.json)
vérifie 49/49 fichiers et leurs modes, 66 tests et six clients compilés.
Ces preuves source/offline ne qualifient pas la comparabilité runtime.
FS-P réutilise l'ELF pristine conservé, sans le reconstruire :
SHA256 `b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6`,
Build ID `ba9751c82e73d4043b7651354f20936d070c2227`, PID privé `3491656`.
Le LAB neuf est `/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39`.
Le LAB parent `/var/tmp/swayfx-mosaic-corec-v2-i516p6po` demeure clos,
en lecture seule : ses 12 runs et 102 captures restent historiques.
## Arrêt observé et diagnostic borné
`graphics-runs/FS-P/run/fullscreen-not-exercised.json` donne exactement
`reason="actual fullscreen client executable"`. Le guard s'arrête avant la
création du groupe non-feuille et l'activation fullscreen ; aucune capture
output n'est acquise. Une fenêtre toplevel démarrée ne constitue pas le groupe
fullscreen demandé. Aucun débordement fullscreen nouveau n'est mesuré.
FS-C n'a aucune réservation : sa dépendance à un FS-P qualifié n'est pas
satisfaite. La comparaison pristine/CORE-C V2 est donc **NOT_EXERCISED**.
Le [probe contrôlé de dumpability](evidence/step20c-native-closure/fullscreen-dumpability-probe.json)
est hors campagne headless. Avec `dumpable=1`, `readlink(/proc/<PID>/exe)`
et `Path.resolve(strict=False)` trouvent l'exécutable ; avec `dumpable=0`,
readlink retourne `errno=13` et resolve conserve le chemin `/proc/<PID>/exe`
non résolu. C'est une explication cohérente et bornée du guard appliqué à un
client protégé par `PR_SET_DUMPABLE=0`. L'errno original FS-P n'a pas été
enregistré : **la causalité précise de cet arrêt reste NON_PROUVÉE**.
Ce probe ne démontre aucun défaut fullscreen natif du compositeur.
Il ne répare pas FS-P et n'autorise aucun retry.
## Budget et fermeture
| Élément | Observation conservée |
| --- | --- |
| Réservation FS-P | Une, consommée ; 0/12 captures output |
| Durée ledger | 6,097521916 s, de réservation à clôture |
| Durée outcome | 6,086245531041641 s, mesure interne du runner |
| Durée commande | 6,631161108 s, enveloppe `execution/FS-P-command.json` |
| Code commande runner | 1, avec statut scientifique NOT_EXERCISED |
| Cleanup scientifique / mécanique | PASS / PASS dans les reçus |
| Compositeur, clients, pointeur | Tous sortis à 0 ; aucun rescue ni watchdog |
| IPC terminal | `swaymsg` 1, fin de réponse/EOF ; distinct du compositeur 0 |
| Runtime privé | Supprimé après collecte |
| FS-C | NOT_RUN, non réservé, aucune capture |
Ces trois durées ont des bornes différentes ; elles ne sont pas interchangeables.
Le [ledger](evidence/step20c-native-closure/ledger.json) et le
[résumé runtime](evidence/step20c-native-closure/runtime-summary.json)
conservent la consommation réelle. L'espace inutilisé ne rembourse aucun jeton.
## Revue et limites
La [revue indépendante non GPU](evidence/step20c-native-closure/nongpu-results-review.json)
accepte cette restitution bornée ; son reçu original
`reviews/nongpu-results/receipt.json`, sous le LAB neuf, porte le SHA256
`a8a9ea6c9c1fab09687c1b43378d53d7add0eb421a9b2e626d60d59445578e86`.
Les bruts sont `graphics-runs/FS-P/run/{outcome.json,events.jsonl,owner.log,compositor.log}`
et `execution/FS-P-command.json`. Images, builds et logs lourds restent hors Git.
P1 historique reste informatif sur son groupe pristine 400/400 ; C8 historique
reste INCONCLUSIVE. Aucun succès offline ne ferme cette comparaison runtime.
Identité des buffers natifs, génération atomique, damage complet et GPU
completion restent **NOT_PROVEN**. Les autres cellules non exercées restent
**NOT TESTED**. STEP20A DONE, STEP20B EXPERIMENTAL, STEP20C NEXT,
STEP20D–G PLANNED ; multi-output production **NOT_YET_SUPPORTED**,
`PRODUCTION_AUTHORIZED=FALSE`.
La [migration/refocus](STEP20C_COREC_V2_MIGRATION_REFOCUS_GATE.md) et la
[complétion OOM](STEP20C_COREC_V2_NATIVE_OOM_COMPLETION.md) sont indépendantes
de cet arrêt. La [décision V4](STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md)
doit conserver cette gate ouverte ; toute nouvelle preuve fullscreen exige
une autorisation distincte, sans réutilisation du jeton FS-P.

View file

@ -0,0 +1,321 @@
# SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1
2026-10-15. Décision expérimentale V4, subordonnée aux contrats canoniques.
Résultat global : **PARTIALLY_ADVANCED**.
Recommandation : **PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE**.
Politique OOM production et disponibilité générale : **UNDECIDED**.
Le nouveau lot améliore migration/refocus et première/deuxième réservations
OOM dans des échantillons natifs revus. Le fullscreen comparatif reste non
exercé ; G3 s'arrête sur une fixture client avant acquisition. Il ne satisfait
donc pas la fermeture des gates d'intégration. Aucune readiness production
ne découle du progrès documentaire, offline, build ou échantillonné.
```text
STEP20A=DONE
STEP20B=EXPERIMENTAL
STEP20C=NEXT
STEP20D–G=PLANNED
PRODUCTION_MULTI_OUTPUT=NOT_YET_SUPPORTED
PRODUCTION_AUTHORIZED=FALSE
SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1=PARTIALLY_ADVANCED
```
## 1. Deux tickets et deux provenances à conserver
La [décision V2 historique](STEP20C_COREC_V2_INTEGRATION_DECISION.md) clôt
12 runs et 102 captures dans `/var/tmp/swayfx-mosaic-corec-v2-i516p6po`.
Ce LAB reste en lecture seule ; P1/C7/C8/O1/G2, leurs erreurs et budgets ne
sont pas réécrits. Aucun octet ancien disparu n'est recréé par récit.
Le nouveau LAB est `/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39` ;
artefacts lourds, captures, builds, sockets et logs restent hors Git.
L'ouverture de ce ticket utilisait `main` propre à
`d46f854b3026e911659528fe94792aa13837a1d6`. Le nouveau
[kit de suivi source-only](../../tooling/probes/step20c-corec-v2-followup/README.md)
est publié à `c55373eab3c53132bf1157acc9cfc9edd451156e` avant les cinq runs.
La [publication source](evidence/step20c-native-closure/source-publication.json)
est une preuve distincte d'une publication finale de résultats.
`origin` reste Forgejo canonique, `github` miroir, `upstream` fetch-only.
État au contrôle documentaire prépublication du 2026-10-15 : la publication
source c553 est vérifiée ; la publication des résultats suit l'audit final.
Sa preuve sera extérieure au commit qu'elle décrit :
`LAB/final-publication.json` et rapport final après vérification directe des
refs distantes. Ce document n'anticipe ni son propre SHA ni des refs finales.
Le [manifeste V2 exécuté](evidence/step20c-native-closure/source-manifest-v2.json)
porte le SHA256 `2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`,
digest `f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140`.
La [reprise depuis clone](evidence/step20c-native-closure/clone-validation.json)
vérifie 49/49 fichiers et modes, 66 tests, six clients et reproduction source
G3. Les sources CORE/OOM/pristine ne sont pas reconstruites pour ces runs :
leurs ELF retenus sont requalifiés par identité. G3 est un nouvel ELF distinct.
## 2. Corrections prospectives et revues avant runs
Les fixtures dérivées apportent quatre corrections offline : groupe fullscreen
comparatif, calcul migration avec refocus natif, oracles root/nested adaptés
aux hiérarchies réellement créées et admission GLES/readback par capacités.
Les sources de production, UX, package et mécanismes CORE/OOM restent inchangés.
La revue initiale trouve trois findings ; la
[revue de delta](evidence/step20c-native-closure/source-delta-review.json)
accepte la version corrigée, 66 tests, sans effacer les refus initiaux.
Les validations C et mutations sont des preuves offline bornées ; elles ne
prouvent pas le moteur de scène natif complet.
La [revue B4](evidence/step20c-native-closure/gpu-b4-semantic.json) couvre le
vrai `g2_read` : 29 cas FakeGL, quatre mutants, 12 commandes source et les
tests d'admission. Elle manque le premier `draw()` sous le nouveau TMPDIR.
FS-P manque également l'enregistrement de l'errno original de son guard.
Ces lacunes sont conservées, et motivent une réparation **OFFLINE_ONLY**
post-campagne ; elles ne changent pas les octets c553 réellement exécutés.
## 3. Binaires, renderer et ABI exacts
| Rôle | SHA256 ELF | Build ID |
| --- | --- | --- |
| Pristine | `b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6` | `ba9751c82e73d4043b7651354f20936d070c2227` |
| CORE-C V2 | `91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb` | `d5d304533f2c8db9d738365e9bd7f2c96779ef8d` |
| OOM V2 | `6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835` | `9bc3dc9055106b343c80a51ded111a382e98442d` |
| Diagnostic G3 | `9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658` | `afdde13d52f3a5fe07c096c1221fcf0c8ae223fc` |
Les PID, `/proc/exe`, maps, SHA et Build IDs sont liés aux runs dans le
[résumé runtime](evidence/step20c-native-closure/runtime-summary.json).
Le renderer observé est GLES SceneFX sur AMD Radeon 780M/radeonsi ; son startup
ne prouve pas un readback diagnostic. Le fournisseur wlroots partagé exact
est `/usr/lib/libwlroots-0.20.so`, SHA256
`7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837`.
Les pins restent Mosaic `cd550382b311efdbfe3ed892f4e1d281d852e754`, SwayFX
`fd71a6bdc061bd633b488ae7b83e8a6981d22f86`, SceneFX
`37ccd723bef49e6891156ffafce8f549f01446cc`, wlroots source
`d783533489e1f75d6886c2ab5c5960090ef268f8`.
L'[audit ABI](evidence/step20c-native-closure/abi-baseline.json) et la
[revue build G3](evidence/step20c-native-closure/gpu-build-review.json)
qualifient uniquement la paire SceneFX statique/wlroots partagé exacte :
symboles privés, interpositions diagnostiques, structures et dépendances ELF.
Aucune ABI publique installée ni compatibilité avec une autre version n'est
adoptée. Le premier setup G3 échoue sur arguments fusionnés ; son FAIL reste
dans le ledger. Une continuation autorisée de la même paire corrige les flags,
puis build et stage passent : **une paire, un DESTDIR**, sans source CORE
modifiée. Le stage privé contient le binaire et quatre notices, cinq fichiers ;
aucune installation ni modification de PKGBUILD/patch production.
Licences **LEGAL_NOT_APPROVED**.
## 4. Matrice des huit IDs et budget clos
H1/H2 sont deux outputs headless privés, initialement `[-800,0,800,600]` et
`[0,0,800,600]`, scale 1, transform normal. DY-C change réellement la largeur
H1 puis migre le workspace. Les entrées ci-dessous utilisent les ELF du §3.
| ID | ELF / PID compositeur | Input et objet réellement exercés | Résultat | Captures / cap nommé | Durée ledger | Cleanup scientifique |
| --- | --- | --- | --- | --- | ---: | --- |
| FS-P | Pristine / 3491656 | Guard client ; avant groupe/fullscreen | NOT_EXERCISED | 0/12 | 6,097521916 s | PASS |
| FS-C | CORE / aucun | Dépendance FS-P non satisfaite | NOT_RUN | 0/16, non réservé | — | NOT_RUN |
| DY-C | CORE / 3492726 | Deux grabs ; quatre mutations et quatre points B wire/local | PARTIALLY_FEASIBLE | 16/16 | 35,995476057 s | PASS |
| OM-ROOT | OOM / 3494614 | Panne A, un grab, input voisin | PARTIALLY_FEASIBLE | 8/10 | 17,761603037 s | PASS |
| OM-NESTED | OOM / 3497491 | Panne B, deux grabs, input A puis voisin | PARTIALLY_FEASIBLE | 8/10 | 20,408873591 s | PASS |
| GPU-G3 | G3 / 3510983 | Client avant SHM ; aucun armement | INCONCLUSIVE ; objectif NOT_EXERCISED | 0/12 | 7,623459039 s | false / INCONCLUSIVE |
| OM-EXTRA | Aucun | Pas de discriminant distinct revu ; NOT_ADMITTED | NOT_RUN | 0/12, non réservé | — | NOT_RUN |
| GPU-CTRL | Aucun | Pas d'attribution indépendante admise ; pas de substitut G3 | NOT_RUN | 0/12, non réservé | — | NOT_RUN |
Le [ledger](evidence/step20c-native-closure/ledger.json) clôt **cinq réservations,
32 captures output**, sur plafonds huit runs/110 captures, 18 par run et
150 secondes par run. Les caps nommés totalisent 100. Aucun reset, refund,
retry ou transfert des jetons historiques ; aucun nouveau runtime autorisé.
Les actions brutes restent par ID dans le ledger : DY-C quatre mutations,
six clics/deux grabs ; OOM un hook par run ; G3 zéro hook, mutation et epoch.
Les runtimes et sockets sont privés avec IPC explicitement ciblé ; le LAB
lourd reste hors Git et conservé. Les écarts de workflow du §9 empêchent
d'affirmer une absence universelle d'écart de stockage.
## 5. Fullscreen et migration : conclusion circonscrite
Le [rapport fullscreen](STEP20C_COREC_V2_FULLSCREEN_COMPARATIVE_GATE.md)
enregistre `actual fullscreen client executable` avant groupe et fullscreen,
zéro capture. Le probe contrôlé reproduit EACCES sur `/proc/exe` avec
dumpable=0, mais l'errno FS-P original reste **NOT_OBSERVED** ; causalité
précise **NON_PROUVÉE**, aucun défaut fullscreen natif établi. FS-C reste
non réservé. La preuve P1 historique ne remplace pas la comparaison nouvelle.
Le [rapport migration/refocus](STEP20C_COREC_V2_MIGRATION_REFOCUS_GATE.md)
recalcule 800→800→1120→1120, largeur cellule 640, ordre `[8,9,10]`, focus 10.
Les snapshots courants restent `IPC_PENDING_CANDIDATE`, génération native
APPLIED non observable. Quatre points B redérivés, pixels et livraison réelle
wire/local corroborent les étapes. H2 entière est exacte quand la référence
s'applique ; le workspace sur H2 n'est pas exigé vide. H2 finale exacte,
aucun résidu A/B sur H1/H2 ; C7 historique reste INCONCLUSIVE.
## 6. OOM : absence de publication et disponibilité échantillonnée
Le [rapport OOM](STEP20C_COREC_V2_NATIVE_OOM_COMPLETION.md) lie panne unique,
PID/nonce/rôle, `matched=1 failures=1`, retour caller NULL et
`initialized=listeners=published=0`. Root : successes0, enfants parent0,
A jamais MAP, B non créé, fermeture A→TOPLEVEL normale error0.
Nested : root A réussi/mappé avant panne B, successes1/enfants parent1,
xdg root correspondant au parent B ; B jamais MAP. A demeure peint et reçoit
le bouton droit réel `[-215,108]` avant le clic voisin ; fermeture
B→A→TOPLEVEL normale error0. Aucun disconnect `no_memory` observé.
L'identité exacte, maps/wlroots, IPC tree/outputs et vraie livraison exclusive
au voisin sont archivés avant cleanup, sur le même PID. H2 entière pré/post/final
est exacte ; aucune couleur du rôle échoué sur H1/H2 et finales sans A/B.
Cette absence de fail-open est bornée aux injections observées. Disponibilité
générale, stale listeners universels et couverture OOM globale **NOT_PROVEN**.
| Option OOM | Arbitrage restant | Preuve de ce lot |
| --- | --- | --- |
| A abort | Mort fail-closed, disponibilité sacrifiée | Aucun nouveau recovery qualifié |
| B bool + masque | Recovery, setters et masque à qualifier | Pas de nouvelle preuve native |
| C préallocation | NULL avant publication ; coût pour toute factory | Root/nested PARTIALLY_FEASIBLE, disponibilité SAMPLED_ONLY |
Sidecar C : 64 octets par arbre, y compris inactif/non Mosaic, plus overhead
allocateur **NOT_MEASURED** ; lookup linéaire et coût global/performance
**NOT_MEASURED**. `OOM_PRODUCTION_POLICY=UNDECIDED`. Ce choix demande une
décision humaine ; aucun résultat n'adopte A, B ou C en production.
## 7. GLES/readback : objectif non exercé, défaut de fixture établi
Le [rapport G3](STEP20C_GLES_CONTEXT_READBACK_FOLLOWUP.md) conserve startup
EGL1.5, log création ES2.0, GL3.2 Mesa26.2.4 AMD780M ; aucune query native du
hook, uniforme, DCC, READ_SUCCESS, erreur/restauration ou A/B/A nouveaux.
Le client SHA `4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4`
sort à 2 après configure/ACK avant SHM : `draw:92` exige le TMPDIR de l'ancien
LAB. Cette attribution combine source, environnement, wire et code brut ;
aucun errno/message client absent n'est inventé. Le runner atteint une attente
bornée. L'acquisition est vide, zéro capture/armement/epoch/raw.
La divergence historique EGL_CONTEXT_CLIENT_VERSION2 / GL_VERSION3.2 n'est
pas résolue par des logs startup. Precision mediump, plans auxiliaires DCC,
queue d'erreurs consommée/non restaurable et intrusion du readback restent
des limites de méthode, sans nouvelle mesure native ni ajustement de shader.
L'acceptation B4 est offline ; la préparation client n'avait pas couvert ce
TMPDIR. G2 historique et son premier-A refusé restent inchangés.
## 8. Input, générations, damage et cleanup : niveaux distincts
| Niveau | Statut du lot | Portée |
| --- | --- | --- |
| Sources/offline corrigées et publiées avant runs | CLOSED, périmètre des reçus | Aucune équivalence avec qualification runtime |
| DY-C, OM-ROOT, OM-NESTED | SAMPLED_ONLY / PARTIALLY_FEASIBLE | Pixels stables, vrais événements input et OOM ciblé |
| Fullscreen comparatif et diagnostic G3 | NOT_EXERCISED | FS-C NOT_RUN ; G3 run INCONCLUSIVE |
| Buffer natif, génération atomique, damage complet, GPU completion | NOT_PROVEN | Aucune promotion par captures ou ordre des logs |
| Autres cellules non exécutées | NOT TESTED | Aucun succès extrapolé |
Les corrélations nouvelles portent sur run/output/PID, serials, owner/workspace
IDs et nonce/xdg OOM. Aucun `commit_seq` ou identifiant natif de présentation
n'est instrumenté dans ces runs ; aucune identité de buffer soumis/présenté
ni génération universelle n'en découle. Saved buffers restent des preuves
historiques : aucun nouveau run saved dans ce lot.
Les quatre runs non GPU ont cleanup scientifique/mécanique PASS, tous processus
0. G3 conserve runner1, client référence PID3511049=2 sans CLOSE_RECEIVED ni
SHM_CLOSURE, compositeur3510983=0 et pointeur3511036=0 ; scientifique false,
mécanique PASS. Les cinq IPC terminaux sont à 1/EOF, séparés des compositeurs
0. Aucun rescue ni watchdog ; processus récoltés et runtimes privés supprimés.
Ces codes ne sont ni masqués ni assimilés les uns aux autres.
## 9. Réparations post-campagne, écarts et publication restante
Un delta post-campagne vise seulement la portabilité du client GPU et le
diagnostic FS-P : validation d'un scratch fourni, canonique, UID propriétaire,
mode0700 sans symlink ; errno FS explicite et arrêt fail-closed si identité
non observable. Le guard d'identité n'est pas assoupli ; aucune identité
`/proc` inaccessible n'est inventée. Cette correction reste **OFFLINE_ONLY**,
sans rebuild compositeur, retry ni requalification d'un run consommé.
Le [manifeste post-campagne final](evidence/step20c-native-closure/postcampaign-source-manifest-final.json)
compte 50 fichiers mode0644, SHA256
`1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080`,
digest `14e24501658f1c4c29e7d8c06db71ed07a77b8e80e283453420bbc5b3e2f03c8`.
Le [gel GPU final](evidence/step20c-native-closure/postcampaign-gpu-manifest-final.json)
porte le SHA256 `a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb`.
Le [reçu de réparation](evidence/step20c-native-closure/postcampaign-repair.json)
et la [validation indépendante](evidence/step20c-native-closure/postcampaign-offline-validation.json),
SHA256 indépendant
`5905e2002041148d7a104e195132f56c8b4152952547be4ed0985da4eacc3852`,
enregistrent 73 tests réussis : 66 existants, trois d'identité et quatre du
vrai helper C validation/template, sans dessin Wayland.
Les gels intermédiaires f13da722…/230f131a… restent immuables. Seul
`gpu/README.md` change ensuite pour expliciter SMX_LAB et la commande des
quatre tests TMPDIR. La
[revue initiale](evidence/step20c-native-closure/postcampaign-delta-initial-review.json)
reste CORRECTION_REQUIRED ; la
[revue documentaire finale du delta](evidence/step20c-native-closure/postcampaign-delta-review.json),
SHA256 `4d459c0963c6535a404bfaa68d11dff0cf738e2d21167c148c12315e954ffe86`,
est ACCEPTED, sur égalité des octets code/tests déjà validés, sans rejeu des
73 tests dans cette revue. Le nouveau client SHA256
`bfc7d47596d5f69b68cd7000e257c7819949081ee7c6d66635eb9accf9ad7f36`
n'a jamais été exécuté en campagne native. Aucune preuve des runs c553 n'est
transférée à ce nouveau gel.
Les [écarts de workflow](evidence/step20c-native-closure/workflow-deviations.json)
doivent conserver les faits suivants : deux pyc temporaires créés dans le kit
puis retirés ; fichier temporaire de lecture documentaire déplacé vers LAB ;
logs de premières tentatives G3 écrasés par index, avec note préservée ;
premier environnement Git sans SSH, puis refus de configuration d'identité
sans HOME avant commit, enfin lecture de la configuration utilisateur sans
modification. Aucun « zéro écart de stockage » ou succès initial fictif.
Le [contrôle système de clôture](evidence/step20c-native-closure/system-audit.json)
vérifie 316 hashes protégés sans échec, 267 PID possédés absents et les cinq
runtimes `/tmp/smx-*` absents. La lecture seule du PID quotidien 2325,
`/usr/bin/sway`, startticks 2833, correspond à la baseline historique de clôture ;
ce n'est pas une nouvelle baseline pré-lancement ni une opération IPC.
Le LAB mesure alors 230680734 octets et le SSD dispose de 277259689984 octets
libres : mesures ponctuelles, susceptibles d'évoluer avec les reçus finaux.
Les 19612 entrées du manifeste historique initial et les reçus de clôture
restent vérifiés et inchangés. La
[requête coredump finale](evidence/step20c-native-closure/coredump-final.json)
depuis le bootstrap `2026-10-15 08:40:36 UTC` retourne 1, stderr
`No coredumps found`, dans le journal accessible à l'UID ; aucun nettoyage.
Le ledger reste SHA256
`cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c` :
cinq runs, 32 captures, une paire G3 avec FAIL initial conservé/continuation
PASS et un stage de cinq fichiers.
La [revue finale approfondie](evidence/step20c-native-closure/final-review.json)
est **PASS**, SHA256
`3b15b5093730d6c43897e0adad4a1b2987fbc1097694a03645e928023ba23814`,
zéro constat bloquant, une remarque documentaire non bloquante NB-ENUM-1.
Cette remarque est corrigée dans le rapport GLES : marqueur `ACCEPTED`,
portée OFFLINE_ONLY séparée ; le reçu original reste inchangé. L'audit rejoue
69+4 tests réussis, rejette six contre-exemples bruts, vérifie 86 hashes
d'artefacts et les 316 hashes protégés. Une première assertion de son harnais
cherchait un mapping après fermeture ; elle est replacée avant
`CLOSE_RECEIVED`, avec l'erreur initiale conservée dans `raw-replay.json`.
Ce défaut d'oracle d'audit ne décrit pas un défaut de production.
Les contrôles finaux après audit sont consignés dans le
[reçu de validation finale](evidence/step20c-native-closure/final-validation.json).
La publication source pré-run vérifiée et la publication finale des résultats
restent distinctes. Cette dernière sera attestée par le reçu externe
`LAB/final-publication.json` et le rapport final, après push et vérification
directe des deux remotes, sans autoréférence au SHA de ce document.
Aucun changement production, installation, UX, PKGBUILD ou patch cumulatif
n'est autorisé par cette décision.
## 10. Revues et prochaines décisions
La [revue non GPU](evidence/step20c-native-closure/nongpu-results-review.json)
porte le SHA256 original
`a8a9ea6c9c1fab09687c1b43378d53d7add0eb421a9b2e626d60d59445578e86` ;
la [revue GPU](evidence/step20c-native-closure/gpu-results-review.json),
`78ce6fe03955d62d1b079b9a8e81161dcb5bfceef71bd2b71d13892bcf7e4d78`.
Elles acceptent les interprétations bornées des résultats, sans nouveau runtime.
Les contre-exemples pixels échoués et clamp hors bornes sont rejetés par les
validateurs ; aucune réussite du parser ne remplace les données natives absentes.
Responsables release, sécurité et maintenance SceneFX statique :
**UNASSIGNED**. Une mise à jour future doit revoir pins et delta, ABI/ELF,
requalifier la paire par offline/headless ciblés, contrôler le manifeste DESTDIR
et permettre le retour vers SwayFX stock ; ces obligations ne désignent aucun
responsable et n'autorisent aucune installation. Revue humaine des licences
et politique OOM restent ouvertes.
Le plus petit pas scientifique futur est d'établir une identité FS observable
sans relâcher dumpability ni le guard, avant toute nouvelle campagne
fullscreen ; une acquisition readback native demeure également nécessaire.
Ces campagnes exigent une instruction et un budget distincts, sans réouverture
des IDs clos. Les gates native buffer identity, atomic generation, complete
damage et GPU completion restent **NOT_PROVEN** ; la recommandation demeure
**PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE**.

View file

@ -0,0 +1,114 @@
# STEP20C — migration et refocus CORE-C V2
2026-10-15. Rapport expérimental du ticket
`SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1`.
DY-C est **PARTIALLY_FEASIBLE**, avec niveau de preuve **SAMPLED_ONLY**.
Il apporte des mesures nouvelles après quatre mutations et ne réécrit pas le
C7 **INCONCLUSIVE** de la [décision historique V2](STEP20C_COREC_V2_INTEGRATION_DECISION.md).
## Sources, binaire et oracle
Le [kit source-only de suivi](../../tooling/probes/step20c-corec-v2-followup/README.md)
était publié au commit `c55373eab3c53132bf1157acc9cfc9edd451156e` avant
réservation. Le [manifeste source V2](evidence/step20c-native-closure/source-manifest-v2.json)
porte le SHA256 `2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`
et le digest `f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140`.
La [revue de delta](evidence/step20c-native-closure/source-delta-review.json)
accepte la version corrigée et ses 66 tests ; les trois findings initiaux
restent conservés. La [publication](evidence/step20c-native-closure/source-publication.json)
et la [reprise depuis clone](evidence/step20c-native-closure/clone-validation.json)
documentent les 49/49 fichiers, modes, 66 tests et six clients compilés.
DY-C réutilise le CORE-C V2 conservé, sans nouveau build CORE : SHA256
`91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb`,
Build ID `d5d304533f2c8db9d738365e9bd7f2c96779ef8d`, PID privé `3492726`.
Les identités runtime, mappings et fournisseur wlroots sont archivés dans le
LAB neuf `/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39`.
Le fournisseur exact reste `/usr/lib/libwlroots-0.20.so`, SHA256
`7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837`.
L'oracle recalcule depuis chaque snapshot IPC courant les largeurs, les bornes
de scroll et le refocus natif. Il conserve la distinction explicite
`IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE` : l'IPC lu à cet
instant n'est pas une observation native de génération APPLIED. Les pixels
stabilisés et l'input livré corroborent séparément les états échantillonnés.
Sway garde arbre, focus, caméra, transactions, scène et IPC ; Row 0 emprunte
`workspace->tiling`.
## Quatre mutations effectivement mesurées
Le workspace conserve l'ID `6`, l'ordre `[8,9,10]` et le focus `10` ; chaque
cellule mesure 640 px, contenu total 1920 px, gap 0. La cellule focalisée
occupe les bornes logiques 1280..1920. Après migration, son refocus impose
1120 pour un viewport de 800 ; l'ancien attendu 800 de C7 omettait ce refocus.
| État après mutation | Output / viewport logique `[x,y,w,h]` | Scroll recalculé et observé | Nouveau point B global |
| --- | --- | ---: | --- |
| Resize 800→960 | H1 `[-960,0,960,600]` | 800 | `[-273,168]` |
| Retour 960→800 | H1 `[-800,0,800,600]` | 800 | `[-113,168]` |
| Migration H1→H2 | H2 `[0,0,800,600]` | 1120 | `[366,168]` |
| Retour H2→H1 | H1 `[-800,0,800,600]` | 1120 | `[-434,168]` |
Les quatre points B sont redérivés après invalidation des anciennes coordonnées.
Chaque point correspond au contenu peint sur l'output courant et reçoit une
vraie paire press/release, corroborée par le wire et les coordonnées locales
du pointeur. Les mêmes objets TOPLEVEL/A/B demeurent identifiés ; deux grabs
XDG réels sont comptés. Il ne s'agit pas d'une seule assertion synthétique
de l'oracle géométrique.
Les captures vérifient l'exclusion des couleurs popup hors viewport. H2 entière
est exacte contre sa référence aux deux resize et au retour H1. Pendant que
le workspace owner est réellement sur H2, la comparaison avec une H2 vide
est **NOT_APPLICABLE** ; sa présence y est attendue. Après fermeture, H2 est
exacte et aucun résidu A/B n'est observé sur H1 ni H2. Ces captures stables
ne couvrent pas toutes les frames de transition.
## Consommation, fermeture et revue
DY-C consomme une réservation, 16/16 captures output, quatre mutations,
six clics et deux grabs. Le ledger mesure **35,995476057 s** ; outcome mesure
35,98416800098494 s. Le [ledger](evidence/step20c-native-closure/ledger.json)
et le [résumé runtime](evidence/step20c-native-closure/runtime-summary.json)
conservent les compteurs. La fermeture réelle suit B→A→TOPLEVEL, avec
`EXIT error=0`, SHM 3/3 pour l'owner ; les autres clients ferment aussi normalement.
Tous les processus, compositeur et pointeur inclus, sortent à 0, sans rescue
ni watchdog ; cleanup scientifique/mécanique PASS et runtime privé supprimé.
L'IPC terminal `swaymsg=1` avec fin de réponse/EOF est enregistré séparément
du code compositeur 0.
La [revue indépendante non GPU](evidence/step20c-native-closure/nongpu-results-review.json)
recalcule les quatre caméras, les pixels et les livraisons wire ; elle accepte
la conclusion **SAMPLED_ONLY/PARTIALLY_FEASIBLE**. Le reçu original du LAB,
`reviews/nongpu-results/receipt.json`, a pour SHA256
`a8a9ea6c9c1fab09687c1b43378d53d7add0eb421a9b2e626d60d59445578e86`.
La [validation offline](evidence/step20c-native-closure/offline-validation.json)
et cette revue conservent les négatifs : quatre mutations de clamp hors
bornes et deux mutations de pixels échoués sont rejetées. Ce rejeu des
validateurs n'est pas une nouvelle exécution headless.
Les bruts sont `graphics-runs/DY-C/run/` : `dynamic-ownership.json`, snapshots
des quatre étapes, `events.jsonl`, `owner.log`, `compositor.log`, captures et
`dynamic-final-restoration.json`, plus `execution/DY-C-command.json`.
Les artefacts lourds restent hors Git. L'ancien LAB clos, ses 12 runs et
102 captures restent inchangés.
## Portée de la conclusion
```text
DYNAMIC_MIGRATION_APPLIED=PARTIALLY_FEASIBLE
DYNAMIC_INPUT_AFTER_MIGRATION=PARTIALLY_FEASIBLE
ATOMIC_GENERATION=NOT_PROVEN
COMPLETE_DAMAGE=NOT_PROVEN
NATIVE_BUFFER_IDENTITY=NOT_PROVEN
GPU_COMPLETION=NOT_PROVEN
```
Le marqueur APPLIED décrit la corroboration échantillonnée rendu/input ; aucune
génération native atomique n'est exposée par cette fixture. Les topologies ou
mutations hors de cette séquence restent **NOT TESTED**. STEP20A DONE,
STEP20B EXPERIMENTAL, STEP20C NEXT, STEP20D–G PLANNED ; multi-output production
**NOT_YET_SUPPORTED**, `PRODUCTION_AUTHORIZED=FALSE`.
La [gate fullscreen](STEP20C_COREC_V2_FULLSCREEN_COMPARATIVE_GATE.md) reste
non exercée ; la [complétion OOM](STEP20C_COREC_V2_NATIVE_OOM_COMPLETION.md)
et la [décision V4](STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md) gardent leurs
périmètres distincts. Aucune conclusion GPU globale n'est tirée ici.

View file

@ -0,0 +1,141 @@
# STEP20C — complétion native OOM root et nested CORE-C V2
2026-10-15. Rapport expérimental du ticket
`SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1`.
OM-ROOT et OM-NESTED sont **PARTIALLY_FEASIBLE**, avec disponibilité
**SAMPLED_ONLY**. Ils complètent deux oracles hiérarchiques nouveaux ; le
O1 **INCONCLUSIVE** de la [décision historique V2](STEP20C_COREC_V2_INTEGRATION_DECISION.md)
et son cleanup scientifique rejeté restent inchangés.
## Provenance et périmètre natif
Le [kit de suivi source-only](../../tooling/probes/step20c-corec-v2-followup/README.md)
a été publié au commit `c55373eab3c53132bf1157acc9cfc9edd451156e` avant
les runs. Le [manifeste V2](evidence/step20c-native-closure/source-manifest-v2.json)
porte le SHA256 `2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`,
digest `f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140`.
La [revue de delta](evidence/step20c-native-closure/source-delta-review.json)
accepte les octets corrigés et 66 tests ; trois findings de la soumission
initiale ont été corrigés, sans effacer cette première revue.
Les reçus de [publication](evidence/step20c-native-closure/source-publication.json)
et de [clone](evidence/step20c-native-closure/clone-validation.json)
conservent 49/49 fichiers/modes, 66 tests et six clients compilés.
Les deux runs utilisent le **même ELF OOM natif V2 conservé**, sans rebuild :
SHA256 `6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835`,
Build ID `9bc3dc9055106b343c80a51ded111a382e98442d`.
L'injection est une panne sidecar ciblée par PID, nonce et rôle, pas un
épuisement global de mémoire. Le fournisseur partagé exact est
`/usr/lib/libwlroots-0.20.so`, SHA256
`7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837`.
Le LAB neuf `/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39` conserve
les observations ; le LAB parent clos reste en lecture seule, 12 runs et
102 captures historiques inchangés.
## Première et deuxième réservations effectivement ciblées
| Mesure | OM-ROOT | OM-NESTED |
| --- | --- | --- |
| PID compositeur | 3494614 | 3497491 |
| Nonce unique | `0a825259ea7740c5a7704f149dfa0649` | `39b4767924344003ad80fb9b87da4e20` |
| Rôle échoué | `root_popup` A | `nested_popup` B |
| matched / failures | 1 / 1 | 1 / 1 |
| successes avant panne | 0 | 1, root A |
| initialized / listeners / published du chemin échoué | 0 / 0 / 0 | 0 / 0 / 0 |
| children du parent existant | 0 | 1 |
| Résultat caller lié au même xdg/parent/PID | NULL | NULL |
| Mapping client du rôle échoué | A jamais MAP ; B non créé | B jamais MAP ; A déjà MAP |
| Ordre effectif de destruction | A→TOPLEVEL | B→A→TOPLEVEL |
| Fermeture owner | Normale, `EXIT error=0`, SHM 1/1 | Normale, `EXIT error=0`, SHM 2/2 |
| `no_memory` disconnect | NOT_OBSERVED | NOT_OBSERVED |
Le compteur `children=1` nested désigne les enfants du **parent existant** ;
il ne décrit pas un nœud échoué partiellement publié. Le root A réussit et
est mappé avant l'injection B ; le xdg du root natif correspond au
`xdg_parent` du B échoué. Les lignes natives de factory et de résultat caller
sont corrélées. Les compteurs n'autorisent pas à substituer un schéma IPC
popup inexistant à cette preuve source/native.
Avant le clic extérieur du voisin, A reste peint et reçoit réellement une
paire bouton droit press/release au point global `[-215,108]` dans OM-NESTED,
corroborée par le wire et les coordonnées locales. L'oracle root ne réclame
pas un B qui n'a jamais été créé. L'oracle nested exige le root préalable et
la séquence B→A→TOPLEVEL. Les deux clients ferment normalement : aucun code
d'erreur protocolaire `no_memory` n'est inventé à partir du NULL natif.
## Disponibilité archivée avant cleanup et pixels
Chaque run sauvegarde **avant cleanup** l'identité du même PID : `/proc/exe`,
SHA ELF, Build ID, mappings et wlroots exact ; les réponses `get_tree` et
`get_outputs` passent par le socket privé explicite. Le certificat
`oom-availability-live.json` conserve aussi une vraie paire bouton du voisin,
avec exclusivité et fraîcheur de livraison wire. Cette archive post-injection
est plus précise que les maps de startup seules d'O1 ; elle ne prouve pas
une disponibilité générale sous toutes les pannes OOM.
H1 est à `[-800,0,800,600]`, H2 à `[0,0,800,600]`, scale 1, transform normal.
Les huit captures de chaque run comprennent H2 référence entière et les
échantillons pré/post/final : H2 est exacte à chaque comparaison. Aucune
couleur du rôle échoué n'est observée sur H1/H2 ; les captures finales après
fermeture ne contiennent aucune couleur A/B. Ces égalités stables n'établissent
ni toutes les frames damage ni une identité native de buffer présenté.
La [revue indépendante non GPU](evidence/step20c-native-closure/nongpu-results-review.json)
rejoue les validateurs sur les bruts, y compris les vrais événements wire et
les pixels RGB exacts. Deux contre-exemples de pixels échoués et quatre
mutations hors bornes sont rejetés ; la
[validation offline](evidence/step20c-native-closure/offline-validation.json)
en conserve le périmètre. Le reçu original de revue du LAB,
`reviews/nongpu-results/receipt.json`, porte le SHA256
`a8a9ea6c9c1fab09687c1b43378d53d7add0eb421a9b2e626d60d59445578e86`.
## Budget et terminaison
| Run | Captures output / plafond nommé | Durée ledger | Durée outcome |
| --- | --- | ---: | ---: |
| OM-ROOT | 8/10 | 17,761603037 s | 17,750482999021187 s |
| OM-NESTED | 8/10 | 20,408873591 s | 20,39799604000291 s |
Chacun consomme une seule réservation et un hook ciblé, sans retry. Le
[ledger](evidence/step20c-native-closure/ledger.json) et le
[résumé runtime](evidence/step20c-native-closure/runtime-summary.json)
séparent les codes : clients, pointeur et compositeur tous 0 ; cleanup
scientifique et mécanique PASS ; aucun rescue ni watchdog ; runtimes privés
supprimés après collecte. `swaymsg` terminal 1 avec fin de réponse/EOF demeure
distinct du compositeur 0. Les quatre runs non GPU totalisent 32 captures
et quatre réservations ; cette somme ne qualifie aucune campagne GPU.
Les bruts sont sous `graphics-runs/{OM-ROOT,OM-NESTED}/run/` : mesures natives,
`oom-measurements.json`, certificats `oom-availability-*`, snapshots IPC,
`oom-rootA-post-input.json`, événements, logs et captures ; les enveloppes
commandes sont `execution/{OM-ROOT,OM-NESTED}-command.json`. Les artefacts
lourds restent dans le LAB hors Git.
## Politique encore indécise et limites
| Option | Propriété / coût à décider | État de preuve |
| --- | --- | --- |
| A abort | Fail-closed par arrêt du processus ; disponibilité sacrifiée | Option source historique, recovery non qualifié |
| B bool + masque | Recovery et masque fail-closed à qualifier ; callers/setters à traiter | Pas de nouvelle qualification native ici |
| C préallocation | Réservation avant init/publication, NULL en panne ; setter sans allocation | Root/nested ciblés PARTIALLY_FEASIBLE, disponibilité SAMPLED_ONLY |
La réservation C coûte un sidecar de 64 octets par arbre de factory, y compris
inactif/non Mosaic, plus overhead allocateur **NOT_MEASURED** ; lookup linéaire,
coût global et performance **NOT_MEASURED**. Cette disponibilité ciblée ne
choisit pas la politique production. `OOM_PRODUCTION_POLICY=UNDECIDED`.
L'absence universelle de stale listeners, un état popup partiel via IPC sans
schéma natif, la génération atomique, le damage complet, l'identité des buffers
natifs et GPU completion restent **NOT_PROVEN**. Les autres pannes et matrices
non exécutées restent **NOT TESTED**.
Les licences restent **LEGAL_NOT_APPROVED** ; responsables release, sécurité
et maintenance SceneFX statique **UNASSIGNED**. Aucun résultat de ces injections
ne décide une UX popup/offscreen. STEP20A DONE, STEP20B EXPERIMENTAL,
STEP20C NEXT, STEP20D–G PLANNED ; production multi-output
**NOT_YET_SUPPORTED**, `PRODUCTION_AUTHORIZED=FALSE`.
La [gate fullscreen](STEP20C_COREC_V2_FULLSCREEN_COMPARATIVE_GATE.md), la
[migration/refocus](STEP20C_COREC_V2_MIGRATION_REFOCUS_GATE.md) et la
[décision V4](STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md) gardent les
conclusions séparées. Aucune readiness production ni conclusion GPU globale
n'est déduite de cette complétion native bornée.

View file

@ -0,0 +1,185 @@
# STEP20C — suivi contexte GLES et readback G3
2026-10-15. Rapport expérimental du ticket
`SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1`.
Le run GPU-G3 est **INCONCLUSIVE** ; son objectif diagnostic natif est
**NOT_EXERCISED**. La cause identifiée est un chemin de fixture non portable,
avant toute acquisition ; aucun défaut GPU/compositeur n'en est déduit.
```text
GPU_GLES_CAPABILITY_AND_READBACK_PREFLIGHT=ACCEPTED
GPU_GLES_ADMISSION=NOT_EXERCISED
GPU_G3_NATIVE_READBACK=NOT_EXERCISED
GPU_WHOLE_FIELD_CAUSALITY=NOT_PROVEN
```
La portée du preflight accepté est **OFFLINE_ONLY** ; elle ne qualifie pas
l'admission ou le readback natifs non exercés.
## Octets exécutés et préparation revue
Le [kit de suivi](../../tooling/probes/step20c-corec-v2-followup/README.md)
exécuté est celui du commit source publié
`c55373eab3c53132bf1157acc9cfc9edd451156e`, gel global V2 SHA256
`2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`,
digest `f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140`.
La [publication](evidence/step20c-native-closure/source-publication.json)
et le [clone](evidence/step20c-native-closure/clone-validation.json)
précèdent les réservations : 49/49 fichiers et modes, 66 tests, six clients
compilés. Trois findings initiaux ont été corrigés avant acceptation source.
Ces faits ne qualifient pas le premier dessin client sous le nouveau LAB.
Le nouveau diagnostic G3 a sa propre identité : SHA256
`9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658`,
Build ID `afdde13d52f3a5fe07c096c1221fcf0c8ae223fc`, PID `3510983`.
Le client réellement lancé, PID `3511049`, porte le SHA256
`4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4` ;
sa source `clients-g2.c` porte le SHA256
`66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7`.
Le gel GPU séparé est
`03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2`.
Une correction offline ultérieure n'est pas la source de ce run.
La première préparation Meson échoue : les arguments C sont fusionnés et
`EGL_EGLEXT_VERSION` n'est pas obtenu. Le reçu FAIL reste archivé ; la
continuation explicitement autorisée corrige les arguments de la **même paire**,
sans changement source. Le [build réparé](evidence/step20c-native-closure/g3-build-repair.json)
et la [revue indépendante de build](evidence/step20c-native-closure/gpu-build-review.json)
portent sur cette identité, une paire et un DESTDIR de cinq fichiers.
Les 417 fichiers Mosaic restent ceux du CORE source compilé inchangé ; le
diagnostic SceneFX est distinct. Le stage privé comprend uniquement
`/usr/bin/swayfx-mosaic` et les quatre notices documentées sous
`/usr/share/licenses/swayfx-mosaic/`. Aucune installation ; licences
**LEGAL_NOT_APPROVED**. Le [contrôle final de build](evidence/step20c-native-closure/g3-build-validation.json)
est distinct d'une exécution du hook.
## Contrat B4 accepté et limite de sa couverture
La [revue sémantique B4](evidence/step20c-native-closure/gpu-b4-semantic.json)
accepte le vrai corps `g2_read` dans un périmètre offline : 29 cas FakeGL,
quatre mutants rejetés, 12 commandes de corpus source, plus 66 tests
d'admission/adapters. La revue n'a pas rejoué ces commandes une seconde fois :
elle a vérifié leur liaison aux sources effectivement compilées.
Le diagnostic préserve la divergence EGL/GL au lieu de l'effacer par une
supposition sur la version demandée à la création. Les queries de version et
capacités, leur fenêtre d'erreur propre et les queries supportées doivent
être qualifiées sur le contexte réel. L'ancien G2 observait
`EGL_CONTEXT_CLIENT_VERSION=2` face à `GL_VERSION=OpenGL ES 3.2` ; cette
divergence reste non résolue par G3. La préparation B4 acceptée ne constitue
pas une preuve universelle de conformité EGL.
Le plan garde les bits d'uniformes et la précision `mediump`, le DCC
modifier-aware et les modèles/résidus avant toute comparaison A/B/A. Un plan
auxiliaire DCC ne reçoit pas un stride d'image inventé `width*4`.
Les drains consomment la queue d'erreurs GL, qui n'est pas restaurable ; la
restauration des bindings ne restaure pas cette queue. Le readback synchrone
serait intrusif temporellement. Aucune tolérance, shader ou règle de fit n'est
changée sur la base du résultat non exercé.
La revue de préparation client était trop large : compilation, parsers,
armement et FakeGL n'exerçaient pas `draw()` avec le nouveau `TMPDIR`.
Cette lacune est reconnue dans la
[revue du résultat](evidence/step20c-native-closure/gpu-results-review.json),
sans invalider les observations offline effectivement couvertes ni convertir
une correction future en succès runtime rétroactif.
## Arrêt avant SHM et avant armement
Le client reçoit un configure XDG et envoie son ACK, puis sort à **2** avant
`create_pool`, `create_buffer`, `attach` et toute confirmation SHM. Dans les
octets c553 exécutés, `gpu/clients-g2.c:92`, fonction `draw`, compare
`TMPDIR` littéralement au scratch de l'ancien LAB
`/var/tmp/swayfx-mosaic-corec-v2-i516p6po/scratch`. La session fournit le scratch
du LAB neuf `/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/scratch`.
Cette branche source déterministe, l'environnement construit, le wire et
le code 2 attribuent l'arrêt à la fixture. Aucun errno ou message explicite
client n'a été journalisé ; aucun diagnostic de ce type n'est inventé.
Le runner attend une vue IPC qui ne se mappe jamais et atteint son attente
bornée. La réservation GPU-G3 reste consommée, sans retry ni remplacement
par GPU-CTRL.
| Niveau observé | Fait exact |
| --- | --- |
| Startup EGL | EGL 1.5 ; log de création de contexte OpenGL ES 2.0 |
| Startup GL | OpenGL ES 3.2 Mesa 26.2.4-arch1.1, vendor AMD |
| Renderer | AMD Radeon 780M, radeonsi/phoenix/ACO |
| Hook G3 | Zéro armement, zéro epoch, zéro raw ; acquisition vide |
| Budget output | 0/12 captures ; zéro hook et zéro mutation |
| `eglQueryContext` / major-minor du hook | NON OBSERVÉS |
| `READ_SUCCESS`, uniformes, DCC, erreurs/restauration du hook | NON OBSERVÉS |
| A/B/A, H1/H2, modèles/résidus nouveaux | NOT_EXERCISED |
Les logs startup ne sont pas une nouvelle mesure
`EGL_CONTEXT_CLIENT_VERSION=2` du hook. Zéro armement diagnostic ne signifie
pas absence d'appels GL ordinaires du renderer. Les valeurs de readback ou
de restauration absentes ne sont pas des zéros mesurés.
## Codes, conservation et revue
Le ledger mesure 7,623459039 s, outcome 7,614715491014067 s, enveloppe commande
8,184041837 s. Runner 1 ; compositeur PID 3510983 et pointeur PID 3511036
sortis à 0 ; référence PID 3511049 sortie à 2. IPC terminal 1 avec fin de
réponse/EOF, distinct du compositeur 0. Le cleanup scientifique est **false /
INCONCLUSIVE** : le client n'a ni `CLOSE_RECEIVED` ni `SHM_CLOSURE`.
Nettoyage mécanique PASS, processus récoltés, runtime privé supprimé, aucun
rescue ni watchdog. Le succès mécanique ne qualifie pas la fermeture client.
Les bruts restent sous le LAB neuf : `graphics-runs/GPU-G3/run/`, dont
`outcome.json`, `partial-failure.json`, `events.jsonl`, `g2-reference.log`,
`compositor.log`, identité et maps ; `execution/GPU-G3-command.json` conserve
l'enveloppe. La revue indépendante `reviews/gpu-results/receipt.json` porte
le SHA256 `78ce6fe03955d62d1b079b9a8e81161dcb5bfceef71bd2b71d13892bcf7e4d78`
et accepte l'interprétation **INCONCLUSIVE / objectif NOT_EXERCISED**.
Elle identifie le finding P2 `GPU-RUNTIME-FIXTURE-TMPDIR` et la limite de
l'admission antérieure. Le [résumé runtime](evidence/step20c-native-closure/runtime-summary.json)
et le [ledger](evidence/step20c-native-closure/ledger.json) préservent les codes.
## Suite limitée
La correction de portabilité et le diagnostic explicite FS-P sont un delta
**OFFLINE_ONLY** séparé, sans reconstruction de compositeur ni qualification
native. Le [reçu de réparation](evidence/step20c-native-closure/postcampaign-repair.json)
et la [validation indépendante](evidence/step20c-native-closure/postcampaign-offline-validation.json)
conservent 73 tests réussis : 66 existants, trois d'identité et quatre du vrai
helper C validation/template, sans dessin Wayland. Le reçu indépendant porte
le SHA256 `5905e2002041148d7a104e195132f56c8b4152952547be4ed0985da4eacc3852`.
Le [manifeste post-campagne final](evidence/step20c-native-closure/postcampaign-source-manifest-final.json)
de 50 fichiers mode0644 porte le SHA256
`1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080`,
digest `14e24501658f1c4c29e7d8c06db71ed07a77b8e80e283453420bbc5b3e2f03c8` ;
le [gel GPU final](evidence/step20c-native-closure/postcampaign-gpu-manifest-final.json)
porte le SHA256 `a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb`.
Les gels intermédiaires f13da722…/230f131a… restent archivés ; seul
`gpu/README.md` change ensuite pour donner la commande explicite SMX_LAB et
les quatre tests TMPDIR. La
[revue initiale du delta](evidence/step20c-native-closure/postcampaign-delta-initial-review.json)
conserve CORRECTION_REQUIRED. La
[revue documentaire finale du delta](evidence/step20c-native-closure/postcampaign-delta-review.json),
SHA256 `4d459c0963c6535a404bfaa68d11dff0cf738e2d21167c148c12315e954ffe86`,
accepte cette correction : code/tests identiques à ceux des 73 tests
indépendants, non réexécutés dans cette revue documentaire.
Le client corrigé compilé SHA256
`bfc7d47596d5f69b68cd7000e257c7819949081ee7c6d66635eb9accf9ad7f36`
n'a **jamais été exécuté** en campagne native. Ces gels finaux ne remplacent
ni le gel V2 ni le client c553 réellement exécutés ; ils ne requalifient
aucun run consommé. La [revue finale approfondie](evidence/step20c-native-closure/final-review.json)
du dossier est **PASS**, SHA256
`3b15b5093730d6c43897e0adad4a1b2987fbc1097694a03645e928023ba23814`,
zéro constat bloquant. Son unique remarque documentaire non bloquante
NB-ENUM-1 est corrigée ici : valeur `ACCEPTED`, portée OFFLINE_ONLY séparée ;
le reçu historique de revue reste inchangé. L'audit rejoue 69+4 tests réussis,
rejette six contre-exemples bruts et vérifie 86 hashes d'artefacts et les
316 hashes protégés. Les contrôles finaux après audit sont consignés dans le
[reçu de validation](evidence/step20c-native-closure/final-validation.json).
La publication effective est attestée séparément par
`LAB/final-publication.json` et le rapport final après vérification distante.
La [décision V4](STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md) garde
**PRIVATE_COREC_V2_NEEDS_TARGETED_EVIDENCE**, GPU whole-field, buffer identity,
atomic generation, complete damage et GPU completion **NOT_PROVEN**.
G2 historique reste inchangé. Toute campagne future exige une instruction et
un budget distincts. STEP20C NEXT ; production multi-output
**NOT_YET_SUPPORTED**, `PRODUCTION_AUTHORIZED=FALSE`.

View file

@ -0,0 +1,454 @@
{
"scope": "exact retained binary pair only; no future ABI or legal approval",
"results": {
"core": {
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"commands": [
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/core-needed.txt",
"sha256": "99d0fc6a70b68f32fb879989e395c9f8401408202c28e0b3ae0b9d23535aca93"
},
{
"argv": [
"readelf",
"-Ws",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/core-symbols.txt",
"sha256": "20617fb1b1c4bc249e6f7f62c5f7ba3dd31fb1433eb969dd01b15334531806ae"
},
{
"argv": [
"ldd",
"-r",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/core-relocations.txt",
"sha256": "22539eeb4e0f425eeba74ca72700d46a2fe8244d3bca18342f1bbadb5d42b725"
}
],
"shared_wlroots_overlapping_exports": [
"wlr_color_primaries_from_named",
"wlr_color_primaries_to_xyz",
"wlr_color_primaries_transform_absolute_colorimetric",
"wlr_color_transfer_function_get_default_luminance",
"wlr_color_transform_eval",
"wlr_color_transform_init",
"wlr_color_transform_init_linear_to_icc",
"wlr_color_transform_init_linear_to_inverse_eotf",
"wlr_color_transform_init_lut_3x1d",
"wlr_color_transform_init_matrix",
"wlr_color_transform_init_pipeline",
"wlr_color_transform_inverse_eotf_from_base",
"wlr_color_transform_ref",
"wlr_color_transform_unref",
"wlr_egl_create_image_from_dmabuf",
"wlr_egl_create_sync",
"wlr_egl_create_with_context",
"wlr_egl_create_with_drm_fd",
"wlr_egl_destroy",
"wlr_egl_destroy_image",
"wlr_egl_destroy_sync",
"wlr_egl_dup_drm_fd",
"wlr_egl_dup_fence_fd",
"wlr_egl_get_context",
"wlr_egl_get_display",
"wlr_egl_get_dmabuf_render_formats",
"wlr_egl_get_dmabuf_texture_formats",
"wlr_egl_make_current",
"wlr_egl_restore_context",
"wlr_egl_unset_current",
"wlr_egl_wait_sync",
"wlr_matrix_identity",
"wlr_matrix_multiply",
"wlr_matrix_project_box",
"wlr_matrix_scale",
"wlr_matrix_transform",
"wlr_matrix_translate",
"wlr_scene_buffer_create",
"wlr_scene_buffer_from_node",
"wlr_scene_buffer_send_frame_done",
"wlr_scene_buffer_set_buffer",
"wlr_scene_buffer_set_buffer_with_damage",
"wlr_scene_buffer_set_buffer_with_options",
"wlr_scene_buffer_set_color_encoding",
"wlr_scene_buffer_set_color_range",
"wlr_scene_buffer_set_dest_size",
"wlr_scene_buffer_set_filter_mode",
"wlr_scene_buffer_set_opacity",
"wlr_scene_buffer_set_opaque_region",
"wlr_scene_buffer_set_primaries",
"wlr_scene_buffer_set_source_box",
"wlr_scene_buffer_set_transfer_function",
"wlr_scene_buffer_set_transform",
"wlr_scene_create",
"wlr_scene_get_scene_output",
"wlr_scene_node_at",
"wlr_scene_node_coords",
"wlr_scene_node_destroy",
"wlr_scene_node_for_each_buffer",
"wlr_scene_node_lower_to_bottom",
"wlr_scene_node_place_above",
"wlr_scene_node_place_below",
"wlr_scene_node_raise_to_top",
"wlr_scene_node_reparent",
"wlr_scene_node_set_enabled",
"wlr_scene_node_set_position",
"wlr_scene_output_build_state",
"wlr_scene_output_commit",
"wlr_scene_output_create",
"wlr_scene_output_destroy",
"wlr_scene_output_for_each_buffer",
"wlr_scene_output_needs_frame",
"wlr_scene_output_send_frame_done",
"wlr_scene_output_set_position",
"wlr_scene_rect_create",
"wlr_scene_rect_from_node",
"wlr_scene_rect_set_color",
"wlr_scene_rect_set_size",
"wlr_scene_set_color_manager_v1",
"wlr_scene_set_gamma_control_manager_v1",
"wlr_scene_set_linux_dmabuf_v1",
"wlr_scene_timer_finish",
"wlr_scene_timer_get_duration_ns",
"wlr_scene_tree_create",
"wlr_scene_tree_from_node"
],
"private_clip_set_get_exported": false,
"historical_stage_rechecked": {
"usr/bin/swayfx-mosaic": {
"sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"mode": "0o755"
},
"usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE": {
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE": {
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/wlroots-LICENSE": {
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES": {
"sha256": "e8deaa846abebbde21beb3a6ba2924833f0f3233d358b2744cb677bfb048260f",
"mode": "0o644"
}
},
"new_stage": false
},
"oom": {
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"commands": [
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/oom-needed.txt",
"sha256": "a843b228b5ab61a45a43c1bcd18156eda8c728d33748d0e6085b9159237506f2"
},
{
"argv": [
"readelf",
"-Ws",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/oom-symbols.txt",
"sha256": "7a7dd6a7f7f2aedfca2ccb3458802248892022d87f774144557fc095823a1297"
},
{
"argv": [
"ldd",
"-r",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/oom-relocations.txt",
"sha256": "5a70bb929b60953a64a313aebd4c55a429cd0ebf7333dc9f09db73cff4d76278"
}
],
"shared_wlroots_overlapping_exports": [
"wlr_color_primaries_from_named",
"wlr_color_primaries_to_xyz",
"wlr_color_primaries_transform_absolute_colorimetric",
"wlr_color_transfer_function_get_default_luminance",
"wlr_color_transform_eval",
"wlr_color_transform_init",
"wlr_color_transform_init_linear_to_icc",
"wlr_color_transform_init_linear_to_inverse_eotf",
"wlr_color_transform_init_lut_3x1d",
"wlr_color_transform_init_matrix",
"wlr_color_transform_init_pipeline",
"wlr_color_transform_inverse_eotf_from_base",
"wlr_color_transform_ref",
"wlr_color_transform_unref",
"wlr_egl_create_image_from_dmabuf",
"wlr_egl_create_sync",
"wlr_egl_create_with_context",
"wlr_egl_create_with_drm_fd",
"wlr_egl_destroy",
"wlr_egl_destroy_image",
"wlr_egl_destroy_sync",
"wlr_egl_dup_drm_fd",
"wlr_egl_dup_fence_fd",
"wlr_egl_get_context",
"wlr_egl_get_display",
"wlr_egl_get_dmabuf_render_formats",
"wlr_egl_get_dmabuf_texture_formats",
"wlr_egl_make_current",
"wlr_egl_restore_context",
"wlr_egl_unset_current",
"wlr_egl_wait_sync",
"wlr_matrix_identity",
"wlr_matrix_multiply",
"wlr_matrix_project_box",
"wlr_matrix_scale",
"wlr_matrix_transform",
"wlr_matrix_translate",
"wlr_scene_buffer_create",
"wlr_scene_buffer_from_node",
"wlr_scene_buffer_send_frame_done",
"wlr_scene_buffer_set_buffer",
"wlr_scene_buffer_set_buffer_with_damage",
"wlr_scene_buffer_set_buffer_with_options",
"wlr_scene_buffer_set_color_encoding",
"wlr_scene_buffer_set_color_range",
"wlr_scene_buffer_set_dest_size",
"wlr_scene_buffer_set_filter_mode",
"wlr_scene_buffer_set_opacity",
"wlr_scene_buffer_set_opaque_region",
"wlr_scene_buffer_set_primaries",
"wlr_scene_buffer_set_source_box",
"wlr_scene_buffer_set_transfer_function",
"wlr_scene_buffer_set_transform",
"wlr_scene_create",
"wlr_scene_get_scene_output",
"wlr_scene_node_at",
"wlr_scene_node_coords",
"wlr_scene_node_destroy",
"wlr_scene_node_for_each_buffer",
"wlr_scene_node_lower_to_bottom",
"wlr_scene_node_place_above",
"wlr_scene_node_place_below",
"wlr_scene_node_raise_to_top",
"wlr_scene_node_reparent",
"wlr_scene_node_set_enabled",
"wlr_scene_node_set_position",
"wlr_scene_output_build_state",
"wlr_scene_output_commit",
"wlr_scene_output_create",
"wlr_scene_output_destroy",
"wlr_scene_output_for_each_buffer",
"wlr_scene_output_needs_frame",
"wlr_scene_output_send_frame_done",
"wlr_scene_output_set_position",
"wlr_scene_rect_create",
"wlr_scene_rect_from_node",
"wlr_scene_rect_set_color",
"wlr_scene_rect_set_size",
"wlr_scene_set_color_manager_v1",
"wlr_scene_set_gamma_control_manager_v1",
"wlr_scene_set_linux_dmabuf_v1",
"wlr_scene_timer_finish",
"wlr_scene_timer_get_duration_ns",
"wlr_scene_tree_create",
"wlr_scene_tree_from_node"
],
"private_clip_set_get_exported": false,
"historical_stage_rechecked": {
"usr/bin/swayfx-mosaic": {
"sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"mode": "0o755"
},
"usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE": {
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE": {
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/wlroots-LICENSE": {
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES": {
"sha256": "2df3fb19dd2fadb92b3b81e4048566603f6971b0a388bf36e43450bc56c8c093",
"mode": "0o644"
}
},
"new_stage": false
},
"gpu": {
"binary_sha256": "b2ba890908e385b0a8884e786b279bfb2e582eed38c7fcd0587b418326eca5bc",
"commands": [
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/gpu-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/gpu-needed.txt",
"sha256": "6786cc65b9e019e92e3897d6a6e98592620218c6a845ef37736642f4046489c9"
},
{
"argv": [
"readelf",
"-Ws",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/gpu-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/gpu-symbols.txt",
"sha256": "bd384ac7d5eb56de15907c2725b16553cadc1a4172548d4724187e02159d317c"
},
{
"argv": [
"ldd",
"-r",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/gpu-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"log": "evidence/abi/gpu-relocations.txt",
"sha256": "8ffb71517708309933d0296f24c161b6002f9afda69f0207c3c9dfd052ac79e5"
}
],
"shared_wlroots_overlapping_exports": [
"wlr_color_primaries_from_named",
"wlr_color_primaries_to_xyz",
"wlr_color_primaries_transform_absolute_colorimetric",
"wlr_color_transfer_function_get_default_luminance",
"wlr_color_transform_eval",
"wlr_color_transform_init",
"wlr_color_transform_init_linear_to_icc",
"wlr_color_transform_init_linear_to_inverse_eotf",
"wlr_color_transform_init_lut_3x1d",
"wlr_color_transform_init_matrix",
"wlr_color_transform_init_pipeline",
"wlr_color_transform_inverse_eotf_from_base",
"wlr_color_transform_ref",
"wlr_color_transform_unref",
"wlr_egl_create_image_from_dmabuf",
"wlr_egl_create_sync",
"wlr_egl_create_with_context",
"wlr_egl_create_with_drm_fd",
"wlr_egl_destroy",
"wlr_egl_destroy_image",
"wlr_egl_destroy_sync",
"wlr_egl_dup_drm_fd",
"wlr_egl_dup_fence_fd",
"wlr_egl_get_context",
"wlr_egl_get_display",
"wlr_egl_get_dmabuf_render_formats",
"wlr_egl_get_dmabuf_texture_formats",
"wlr_egl_make_current",
"wlr_egl_restore_context",
"wlr_egl_unset_current",
"wlr_egl_wait_sync",
"wlr_matrix_identity",
"wlr_matrix_multiply",
"wlr_matrix_project_box",
"wlr_matrix_scale",
"wlr_matrix_transform",
"wlr_matrix_translate",
"wlr_scene_buffer_create",
"wlr_scene_buffer_from_node",
"wlr_scene_buffer_send_frame_done",
"wlr_scene_buffer_set_buffer",
"wlr_scene_buffer_set_buffer_with_damage",
"wlr_scene_buffer_set_buffer_with_options",
"wlr_scene_buffer_set_color_encoding",
"wlr_scene_buffer_set_color_range",
"wlr_scene_buffer_set_dest_size",
"wlr_scene_buffer_set_filter_mode",
"wlr_scene_buffer_set_opacity",
"wlr_scene_buffer_set_opaque_region",
"wlr_scene_buffer_set_primaries",
"wlr_scene_buffer_set_source_box",
"wlr_scene_buffer_set_transfer_function",
"wlr_scene_buffer_set_transform",
"wlr_scene_create",
"wlr_scene_get_scene_output",
"wlr_scene_node_at",
"wlr_scene_node_coords",
"wlr_scene_node_destroy",
"wlr_scene_node_for_each_buffer",
"wlr_scene_node_lower_to_bottom",
"wlr_scene_node_place_above",
"wlr_scene_node_place_below",
"wlr_scene_node_raise_to_top",
"wlr_scene_node_reparent",
"wlr_scene_node_set_enabled",
"wlr_scene_node_set_position",
"wlr_scene_output_build_state",
"wlr_scene_output_commit",
"wlr_scene_output_create",
"wlr_scene_output_destroy",
"wlr_scene_output_for_each_buffer",
"wlr_scene_output_needs_frame",
"wlr_scene_output_send_frame_done",
"wlr_scene_output_set_position",
"wlr_scene_rect_create",
"wlr_scene_rect_from_node",
"wlr_scene_rect_set_color",
"wlr_scene_rect_set_size",
"wlr_scene_set_color_manager_v1",
"wlr_scene_set_gamma_control_manager_v1",
"wlr_scene_set_linux_dmabuf_v1",
"wlr_scene_timer_finish",
"wlr_scene_timer_get_duration_ns",
"wlr_scene_tree_create",
"wlr_scene_tree_from_node"
],
"private_clip_set_get_exported": false,
"historical_stage_rechecked": {
"usr/bin/swayfx-mosaic": {
"sha256": "b2ba890908e385b0a8884e786b279bfb2e582eed38c7fcd0587b418326eca5bc",
"mode": "0o755"
},
"usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE": {
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE": {
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/wlroots-LICENSE": {
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES": {
"sha256": "68859b1a1088a6b4e084b6ba611a1487e3d71130ef75544bc33a2c746727d45f",
"mode": "0o644"
}
},
"new_stage": false
}
},
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"legal": "LEGAL_NOT_APPROVED",
"release_owner": "UNASSIGNED",
"security_owner": "UNASSIGNED",
"sidecar_bytes": 64,
"tree_bytes": 128,
"allocator_overhead": "NOT_MEASURED",
"new_runtime_native_buffer_identity": "NOT_PROVEN",
"atomic_generation": "NOT_PROVEN",
"complete_damage": "NOT_PROVEN",
"gpu_completion": "NOT_PROVEN"
}

View file

@ -0,0 +1,15 @@
{
"schema": "independent-nongpu-clone-condition-closure-v1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED",
"admission_receipt_sha256": "dcbd9c8259153c33f33dbfb2c7761794defa92ab86a21a514f7aeb28ae94b3d7",
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"clone_condition": "CLOSED PASS: published49SHA/modes and6clients checked against actual clone artifacts,66test receipt/log verified",
"transposition": "ACCEPTED",
"runtime": "NOT_RUN",
"reservation": "NOT_RUN",
"dependencies": "unchanged: FS-C after qualified FS-P; OM-NESTED after safe OM-ROOT or separately accepted explicit override; no override currently",
"note": "Initial GPU client missing generated header is retained as failed command in clone receipt; corrected compile passes; it does not affect nonGPU admission and no nativeG3build accepted here"
}

View file

@ -0,0 +1,423 @@
{
"clients": {
"fullscreen-client": {
"mode": "0o755",
"sha256": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a"
},
"nested-client": {
"mode": "0o755",
"sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82"
},
"pointer-daemon": {
"mode": "0o755",
"sha256": "3188215af9ee0e2c79e1a5efc1b023ee8be47d0cade28f7c1ebe56ff140ae7db"
},
"saved-client": {
"mode": "0o755",
"sha256": "10d766c660b0ed35cd5e002d594fc776ebc4754c6b596cf61dd53facaa29d875"
},
"static-reference": {
"mode": "0o755",
"sha256": "3eebddbc3989ce0d9d2987382c8232a9cc6444cdfb29a5ca3a09e37251f6443c"
},
"vertical-client": {
"mode": "0o755",
"sha256": "49f4999aafc800192c50d5d1439ba5dd80c22a1e994dee591d9a780e018f0383"
}
},
"clone_clean": true,
"commands": [
{
"argv": [
"cc",
"--version"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-00.log",
"log_sha256": "52fa390d1b33ef5e0b20f39de6624190ade494b52dd543bd8121f350ec88e0e5",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"--version"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-01.log",
"log_sha256": "7781d4bdaabd8c59b362476a40f44a32c136372c265defc11595f5f347797e1d",
"rc": 0
},
{
"argv": [
"pkg-config",
"--version"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-02.log",
"log_sha256": "7bb9bbd2e2162e7c4db854f8740421fd7f8e6a2113a09dc1ef4711aec644536a",
"rc": 0
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-03.log",
"log_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-04.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-05.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/wlr-virtual-pointer-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/virtual-pointer-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-06.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/wlr-virtual-pointer-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/virtual-pointer-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-07.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/fullscreen-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/fullscreen-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-08.log",
"log_sha256": "00ff2f84ac3a7591528700a862eb951b7d1f6c2ce89c0f61a5c5758180f6a904",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/nested-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/nested-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-09.log",
"log_sha256": "acf128becf44469df920dd8d820b110c9a0672085f62a0efd1019a51e41fad63",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/vertical-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/vertical-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-10.log",
"log_sha256": "6240d00c893497ecd72c7eae9153ded3d7493ac5ef72f4aa2c850b5798efb800",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/saved-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/saved-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-11.log",
"log_sha256": "f0e47bff26bcdf6726ada4dc0aa3b2a32ec7a7f35131cef0cfe02b0985e0b286",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/static-reference.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/static-reference",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-12.log",
"log_sha256": "cfc61da356155edf0c44b257f80f724324a465bbf20e54dfe92c055e9ef9ba6c",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/pointer-daemon.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/virtual-pointer-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/pointer-daemon",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-13.log",
"log_sha256": "b324274d7a22b156a98faf45514a8985f826cb52107f553b267b0d1a499a44aa",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-14.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-15.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-16.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-17.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-18.log",
"log_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-protocol.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/clients-g2",
"-lwayland-client",
"-lm"
],
"failure": "fatal error: layer-shell-client.h: No such file or directory",
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-19.log",
"log_sha256": "2f339fe1a8f78a2670936ab271300f6e613a0537b3cf94067fff0a89c1face8b",
"rc": 1,
"resolution": "generated required header layer-shell-client.h, then compilation passed"
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/layer-shell-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/followup-00.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/followup-01.log",
"log_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-protocol.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/clients-g2",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/followup-02.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"/usr/bin/python",
"-B",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/reproduce.py",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--core",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/replay-core/scene",
"--destination",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/g3-scene"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/g3-reproduce.log",
"log_sha256": "af3d75d1ad42e47bf960fcf57bd58818af9f5cf80b097c948adbeb3f78722fa1",
"rc": 0
}
],
"compositor_or_wayland_client_execution": "NOT_RUN",
"g3_reproduction": {
"exact_tree_match_lab_g3_source": true,
"files": 87,
"source_receipt_sha256": "af3d75d1ad42e47bf960fcf57bd58818af9f5cf80b097c948adbeb3f78722fa1",
"status": "PASS"
},
"gpu_client": {
"mode": "0o755",
"sha256": "b764164b936c4046b0d61b3614b12c9d9c77ee623eefc51b8f437168d6901f48"
},
"graphics_tests": {
"argv": [
"/usr/bin/python",
"-B",
"-m",
"unittest",
"discover",
"-s",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/offline",
"-p",
"test_followup.py",
"-v"
],
"failures": 0,
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/graphics-clone-tests.log",
"log_sha256": "d7d70b9d2b53121d5b3deea5c90274a7820eb33b7794cb07a071d1a422875692",
"rc": 0,
"tests_run": 66
},
"origin_url": "ssh://git@git.labfytools.com:2223/fy59/swayfx-mosaic.git",
"parent_commit": "d46f854b3026e911659528fe94792aa13837a1d6",
"parent_kit_files": 116,
"parent_kit_match_retained_extraction": true,
"publication_receipt_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"publication_refs": {
"github": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"origin": "c55373eab3c53132bf1157acc9cfc9edd451156e"
},
"review_receipt_sha256": "895dfc1870b70c49039c773cbc6012b742514f30da508a2997c352d9ea12f781",
"runtime": "NOT_RUN",
"schema": "followup-clone-gate-v1",
"source_bytes_modes_match": true,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_files": 49,
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"status": "PASS",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,13 @@
{
"argv": [
"coredumpctl",
"--no-pager",
"--since",
"2026-10-15 08:40:36 UTC",
"list"
],
"exit": 1,
"scope": "journal visible to invoking user, since immutable bootstrap mtime; no cleanup",
"stderr": "No coredumps found.\n",
"stdout": ""
}

View file

@ -0,0 +1,69 @@
{
"schema": "native-closure-final-independent-review-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-final-closure-audit-independent",
"agent": "/root/final_closure_audit",
"independent": true,
"authors": [
"codex-native-closure-implementation",
"codex-postcampaign-offline-repair"
],
"decision": "PASS",
"status": "PASS",
"classifications": {
"BLOCKING": 0,
"NON_BLOCKING": 1,
"FUTURE_SCOPE": 1
},
"findings": [
{
"id": "NB-ENUM-1",
"classification": "NON_BLOCKING",
"file": "docs/design/STEP20C_GLES_CONTEXT_READBACK_FOLLOWUP.md",
"line": 10,
"finding": "ACCEPTED_OFFLINE_ONLY differs from ticket exact enum ACCEPTED|INCONCLUSIVE|BLOCKED; scientifically prudent, no changed qualification.",
"recommendation": "Use ACCEPTED plus separate OFFLINE_ONLY scope in final report; preserve historical receipts."
},
{
"id": "FS-1",
"classification": "FUTURE_SCOPE",
"finding": "Known native fullscreen/G3, buffer identity, atomic generation, complete damage, GPU completion, OOM policy, legal and ownership gates remain open; no new campaign or redesign."
}
],
"head": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"inventory": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/final/inventory.json",
"sha256": "93e0004838f09c4397740058e5d9875fd6895cc5e1d7fe9de88f3562fd593b3c",
"tracked_delta": 10,
"untracked": 40,
"total_paths": 50,
"total_bytes": 711160
},
"source_manifest_final_sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080",
"runtime_source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"ledger_sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c",
"source_unchanged_during_review": true,
"tests_run": 73,
"tests_failures": 0,
"tests_skipped": 0,
"tests_scope": "69 graphics offline and 4 extracted actual C17 path helpers; no native acquisition",
"offline_commands_sha256": "76216751785e7d8ee5633be00ae27296b232ed6e782850ec4af678829c1e2ba7",
"raw_replay_sha256": "91626d2973bb47e8e97f275b9f2103b31c39a129b9110ec8e872507c1211cb74",
"negative_mutations_rejected": 6,
"reviewed_raw_artifacts_rehashed": 86,
"protected_files_unchanged": 316,
"git_diff_check": "PASS",
"pending_closure_actions": [
"create final validation and public final review receipts",
"resynchronize factual post-audit status",
"normal result commit and origin then github publication with direct ref checks",
"external final-publication.json outside Git"
],
"native_runtime": "NOT_RUN",
"meson_build": "NOT_RUN",
"stage": "NOT_RUN",
"production_authorized": false,
"source_edits": false,
"commit_push": "NOT_RUN",
"notes_sha256": "0f731f2158d7a315e1fd1a4328df16fe301bd06908b17ffdd6d3ad421f61c278"
}

View file

@ -0,0 +1,201 @@
{
"commands": [
{
"argv": [
"git",
"status",
"--short",
"--branch"
],
"result": "PASS; expected documentation/probe changes are visible.",
"returncode": 0
},
{
"argv": [
"git",
"diff",
"--check"
],
"result": "PASS.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<targeted whitespace scan over git diff + git ls-files --others --exclude-standard>"
],
"result": "PASS; 52 paths, 16 Markdown/C/header/Python files scanned, zero trailing whitespace.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<local Markdown link and public JSON validation>"
],
"result": "PASS; 661 local links, 0 missing; 36 public evidence JSON files parse, ordinary regular files, mode 0644.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<source manifest, final review, historical receipts and artifact bindings>"
],
"result": "PASS; final source and GPU hashes match; final audit and prior 73-test receipt match expected SHA.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<protected source and changed/new path inventory>"
],
"result": "PASS; 316 protected hashes match; 52 changed/new paths are regular portable-mode files with no binary/generated suffix or NUL.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<graphics.gate.validate_review(..., old source-manifest-v2, nongpu-admission, publication, FS-P)>"
],
"result": "PASS negative contract; rejected before reservation with source changed/added/removed/mode after freeze; ledger SHA identical before and after.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<reused prior old-LAB manifest verification receipt>"
],
"result": "PASS reused immutable prior evidence: 19,612/19,612 entries match old manifest; old LAB not modified.",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"<repo-wide whitespace diagnostic>"
],
"result": "Non-blocking diagnostic: three pre-existing trailing-whitespace lines in unchanged INSTALL-deb.md:93, tooling/probes/step20c-minimal-core-gate/graphics/cases.py:27, sway/desktop/output.c:324. None is in changed/new paths; git diff --check passes.",
"returncode": 1
},
{
"argv": [
"python3",
"-B",
"<initial GPU manifest path probe>"
],
"result": "Non-blocking checker path mistake: looked under followup-work; actual frozen GPU manifest is at LAB root and then matched expected SHA.",
"returncode": 1
}
],
"files_created_by_this_validator": [
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/final-normal-validation/receipt.json"
],
"historical_lab": {
"closeout_sha256": "4411aa97a16996e70f97f91e67adb0484a1759509e153a008dcee0f640504b59",
"entries_verified_by_prior_receipt": 19612,
"expected_closeout_sha256": "4411aa97a16996e70f97f91e67adb0484a1759509e153a008dcee0f640504b59",
"expected_manifest_sha256": "f16c6bfa4bbd46474193401c64521d05240a52fc2d2bfe050875a6881407626a",
"manifest_sha256": "f16c6bfa4bbd46474193401c64521d05240a52fc2d2bfe050875a6881407626a",
"modified": false,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po",
"status": "PASS_REUSED_PRIOR_IMMUTABLE_VERIFICATION"
},
"independent_review": {
"audit_source_manifest_sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080",
"blocking_findings": 0,
"decision": "PASS",
"future_scope_findings": 1,
"historical_test_failures": 0,
"non_blocking_findings": 1,
"path": "/home/fy59/Documents/Development/swayfx-mosaic/docs/design/evidence/step20c-native-closure/final-review.json",
"sha256": "3b15b5093730d6c43897e0adad4a1b2987fbc1097694a03645e928023ba23814",
"status": "PASS",
"tests_rerun_this_stage": 0,
"tests_run_historically": 73
},
"ledger": {
"capture_limit": 110,
"captures_used": 32,
"changed_by_negative_preflight": false,
"expected_sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c",
"operations": [
"G3_BUILD_PAIR initial FAIL, same-pair continuation PASS",
"G3_DESTDIR PASS, exactly five staged files"
],
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/native-closure-budget.json",
"runs_completed": 5,
"sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c"
},
"offline_tests": {
"docs_only_source_delta_after_tests": [
"gpu/README.md"
],
"failures": 0,
"prior_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/receipt.json",
"prior_receipt_sha256": "5905e2002041148d7a104e195132f56c8b4152952547be4ed0985da4eacc3852",
"replayed_this_stage": false,
"source_digest_at_test": "96d02f7f90f46fcd4572850b826a894c02d0061f2014d1b2c257c43ed3577897",
"status": "PASS",
"tests_run_historically": 73
},
"protected_files": {
"baseline_path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/evidence/protected-before.json",
"baseline_receipt_sha256": "ad6696e7114a128cd5e7b5456c04f85b5ca9b3c22b5945d0ff387d9f50af324a",
"count": 316,
"matches": 316,
"mismatches": 0
},
"public_final_validation_marker": {
"note": "Placeholder remains pending for parent replacement with the actual validation receipt.",
"path": "/home/fy59/Documents/Development/swayfx-mosaic/docs/design/evidence/step20c-native-closure/final-validation.json",
"status": "VALIDATION_PENDING"
},
"repository": {
"changed_tracked_paths": 10,
"commit_or_push": "NOT_RUN",
"generated_or_binary_changed_paths": 0,
"git_diff_check": "PASS",
"invalid_json_or_modes": 0,
"local_markdown_links_checked": 661,
"missing_local_links": 0,
"preexisting_ignored_build_and_cache_artifacts_preserved": true,
"public_json_count": 36,
"targeted_whitespace": "PASS",
"total_changed_or_new_paths": 52,
"untracked_paths": 42,
"validator_changed_repo_files": false
},
"runtime_build_stage": {
"meson_build": false,
"production_authorized": false,
"runtime_or_IPC": false,
"stage": false,
"tests_rerun": false
},
"schema": "step20c-native-closure-final-normal-validation-v1",
"scope": "Post-audit, read-only final validation; no test/build/runtime/stage replay.",
"source": {
"HEAD": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"all_bytes_and_modes_match": true,
"file_count": 50,
"gpu_freeze_path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/g3-source-freeze-v5-postcampaign-docfix.json",
"gpu_freeze_sha256": "a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb",
"manifest_path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v4-postcampaign-docfix.json",
"manifest_sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080",
"modes": {
"0644": 50
},
"source_digest": "14e24501658f1c4c29e7d8c06db71ed07a77b8e80e283453420bbc5b3e2f03c8",
"tested_C_and_Python_sources_unchanged": true,
"v3_to_v4_delta": [
"gpu/README.md"
]
},
"status": "PASS",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,21 @@
{
"child_exit": 0,
"fixture_guard": "engine.launch_client reads /proc/exe from a PR_SET_DUMPABLE0 client; Path.resolve returns unresolved proc path on EACCES",
"not_a_headless_run": true,
"observations": [
{
"Path.resolve_strict_false": "/usr/bin/python3.14",
"child_dumpable": 1,
"readlink": "/usr/bin/python3.14"
},
{
"Path.resolve_strict_false": "/proc/3498194/exe",
"child_dumpable": 0,
"errno": 13,
"error": "Permission denied"
}
],
"scope": "controlled permission reproduction; original FS-P guard did not save readlink errno",
"source_unchanged": true,
"status": "PASS_BOUNDED_OFFLINE"
}

View file

@ -0,0 +1,128 @@
{
"binary_elf_audit": "NOT_RUN",
"build_pair_operation": "FAIL",
"clone_head": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"clone_tests": {
"failures": 0,
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/graphics-clone-tests.log",
"status": "PASS",
"tests_run": 66
},
"destdir_operation": "NOT_RESERVED",
"g3_destdir_reservation": "NOT_RUN",
"g3_stage": "NOT_RUN",
"legal_status": "LEGAL_NOT_APPROVED",
"license_notice_stage": "NOT_RUN",
"mosaic_setup_compile_test": "NOT_RUN",
"notes": "Arr\u00eat apr\u00e8s l\u2019unique \u00e9chec de meson setup SceneFX. Aucun retry, changement de flags, compile ou stage.",
"repo_source_mutations": false,
"runs_after_finalization": [
{
"id": "FS-P",
"status": "COMPLETED"
},
{
"id": "DY-C",
"status": "COMPLETED"
},
{
"id": "OM-ROOT",
"status": "RESERVED"
}
],
"runs_before_finalization": [
{
"id": "FS-P",
"status": "COMPLETED"
},
{
"id": "DY-C",
"status": "COMPLETED"
},
{
"id": "OM-ROOT",
"status": "RESERVED"
}
],
"scene_compile": "NOT_RUN",
"scene_setup": {
"argv": [
"meson",
"setup",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/g3-source",
"--prefix=/usr",
"--wrap-mode=nodownload",
"-Ddefault_library=static",
"-Dexamples=false",
"-Dc_args=-D_XOPEN_SOURCE=700,-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\""
],
"error": "g3-source/render/fx_renderer/meson.build:23:22: ERROR: Could not get define 'EGL_EGLEXT_VERSION'",
"meson_log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene/meson-logs/meson-log.txt",
"meson_log_sha256": "c65ea6823f9fca4558cc6a45c5ee989515d445524cdefd48590f6427df6204d3",
"returncode": 1,
"status": "FAIL",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3/scene-setup.stdout",
"stdout_sha256": "8504d3be38ff4de6e82bf9e8826e2e8520d4875150f3e4148bcc7e4896e3ecb4"
},
"source_changed": false,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_file_count": 49,
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"status": "FAIL",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,266 @@
{
"actual_compile_macro_commands": 23,
"commands": [
{
"argv": [
"cc",
"--version"
],
"name": "compiler-version",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/compiler-version.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/compiler-version.stdout"
},
{
"argv": [
"cc",
"-D_XOPEN_SOURCE=700",
"-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\"",
"-E",
"-P",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/macro-check.c"
],
"name": "macro-preprocess",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/macro-preprocess.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/macro-preprocess.stdout"
},
{
"argv": [
"cc",
"-D_XOPEN_SOURCE=700",
"-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\"",
"-fsyntax-only",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/macro-check.c"
],
"name": "macro-syntax",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/macro-syntax.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/macro-syntax.stdout"
},
{
"argv": [
"meson",
"setup",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/g3-source",
"--prefix=/usr",
"--wrap-mode=nodownload",
"-Ddefault_library=static",
"-Dexamples=false",
"-Dc_args=['-D_XOPEN_SOURCE=700', '-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\"']"
],
"name": "scene-setup",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/scene-setup.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/scene-setup.stdout"
},
{
"argv": [
"meson",
"compile",
"-C",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene",
"-j",
"8"
],
"name": "scene-compile",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/scene-compile.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/scene-compile.stdout"
},
{
"argv": [
"meson",
"setup",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/replay-core/mosaic",
"--prefix=/usr",
"--bindir=bin",
"--wrap-mode=nodownload",
"-Dmosaic-package=true",
"-Dsd-bus-provider=libsystemd",
"-Dswaybar=false",
"-Dswaynag=false",
"-Dman-pages=disabled",
"-Ddefault-wallpaper=false",
"-Dc_args=-Wno-error=switch"
],
"name": "mosaic-setup",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-setup.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-setup.stdout"
},
{
"argv": [
"meson",
"compile",
"-C",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic",
"-j",
"8"
],
"name": "mosaic-compile",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-compile.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-compile.stdout"
},
{
"argv": [
"meson",
"test",
"-C",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic",
"--print-errorlogs",
"mosaic-model"
],
"name": "mosaic-model",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-model.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-model.stdout"
},
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"name": "elf-dynamic",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-dynamic.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-dynamic.stdout"
},
{
"argv": [
"ldd",
"-r",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"name": "elf-ldd",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-ldd.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-ldd.stdout"
},
{
"argv": [
"nm",
"-a",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"name": "elf-symbols",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-symbols.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-symbols.stdout"
},
{
"argv": [
"ninja",
"-C",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic",
"-t",
"commands"
],
"name": "mosaic-ninja-commands",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-ninja-commands.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-ninja-commands.stdout"
},
{
"argv": [
"readelf",
"-n",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"name": "elf-buildid",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-buildid.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/elf-buildid.stdout"
},
{
"argv": [
"meson",
"install",
"-C",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic",
"--no-rebuild"
],
"name": "mosaic-stage",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-stage.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-stage.stdout"
}
],
"identity": {
"archive": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene/libscenefx-0.5.a",
"archive_sha256": "e8995f125c3eba6669aa3a8a44be1e075f6807e91055243e67731118303faec5",
"binary": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"build_id": "afdde13d52f3a5fe07c096c1221fcf0c8ae223fc",
"dynamic_scenefx": false,
"rpath": false,
"runpath": false,
"source_mosaic_sha256": "70fb049bc28522783c9b6a76dc3d66e944a25dc5e6f5fa7f52d56665917b4125",
"source_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da",
"unresolved": false,
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"legal_status": "LEGAL_NOT_APPROVED",
"license_sources": {
"SceneFX-LICENSE": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/g3-source/LICENSE",
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b"
},
"SwayFX-LICENSE": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/replay-core/mosaic/LICENSE",
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b"
},
"wlroots-LICENSE": {
"path": "/usr/share/licenses/wlroots0.20/LICENSE",
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df"
}
},
"macro_proof": {
"flags": [
"-D_XOPEN_SOURCE=700",
"-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\""
],
"root": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition",
"status": "PASS",
"xopen": 700
},
"original_receipt_sha256": "cba4f3380e88c9d2facfb468d26d1d8831b875fe2dea7722a36b118ca877d4ae",
"runtime": "NOT_RUN",
"source_changed": false,
"sources_after": {
"mosaic": "70fb049bc28522783c9b6a76dc3d66e944a25dc5e6f5fa7f52d56665917b4125",
"scene": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da"
},
"sources_before": {
"mosaic": "70fb049bc28522783c9b6a76dc3d66e944a25dc5e6f5fa7f52d56665917b4125",
"scene": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da"
},
"stage_manifest": {
"usr/bin/swayfx-mosaic": {
"mode": "0o755",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658"
},
"usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES": {
"mode": "0o644",
"sha256": "a46f71dccc10aec01844fc59974e3094b2951365b191b8b3819ed93effcc3919"
},
"usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE": {
"mode": "0o644",
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b"
},
"usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE": {
"mode": "0o644",
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b"
},
"usr/share/licenses/swayfx-mosaic/wlroots-LICENSE": {
"mode": "0o644",
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df"
}
},
"status": "PASS"
}

View file

@ -0,0 +1,207 @@
{
"all_frozen_modes_0644": true,
"audits": [
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/readelf-dynamic.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/readelf-dynamic.stdout",
"stdout_sha256": "0580e1345ccc1b4764d62a55f00e6168baa91338868dedab8dedfb3fa1f1112c"
},
{
"argv": [
"ldd",
"-r",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/ldd-relocations.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/ldd-relocations.stdout",
"stdout_sha256": "fffc12cad740a17834277e81ef04ab07c6fc779553fc942cd46b6a0fd70629a2"
},
{
"argv": [
"nm",
"-a",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/nm-symbols.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/nm-symbols.stdout",
"stdout_sha256": "be8bb80e683637762d31d82d2cb75570759db533d758055ae8c7fa471772fd26"
},
{
"argv": [
"readelf",
"-n",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/readelf-buildid.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-g3-final/readelf-buildid.stdout",
"stdout_sha256": "51b4e850e7e14cfdca8bea0a2a4da375c031ed270924e0351a77e8ea13e417fa"
}
],
"binary": {
"build_id": "afdde13d52f3a5fe07c096c1221fcf0c8ae223fc",
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"runtime": "NOT_RUN",
"scene_archive_sha256": "e8995f125c3eba6669aa3a8a44be1e075f6807e91055243e67731118303faec5",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"elf_properties": {
"dynamic_scenefx": false,
"required_symbols": [
"wlr_scene_tree_set_clip",
"g2_read",
"wlr_scene_xdg_surface_create"
],
"rpath": false,
"runpath": false,
"unresolved": false
},
"ledger": {
"capture_actions_total": 32,
"capture_limit": 110,
"mutated": false,
"operations": [
{
"continuations": [
{
"authorization": "parent explicit same reserved pair continuation; original FAIL retained",
"finished_monotonic_ns": 327835502157972,
"id": "same-pair-argument-repair",
"receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/receipt.json",
"reserved_monotonic_ns": 327815215522156,
"state": "PASS"
}
],
"failure": "SceneFX Meson setup rc=1: Could not get define EGL_EGLEXT_VERSION",
"finished_monotonic_ns": 327600914563309,
"id": "G3_BUILD_PAIR",
"mosaic_builds": 1,
"reserved_monotonic_ns": 327510465794426,
"scene_builds": 1,
"setup_retried": false,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"state": "FAIL"
},
{
"destination": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/stage-g3",
"finished_monotonic_ns": 327835502199749,
"id": "G3_DESTDIR",
"reserved_monotonic_ns": 327834532865939,
"state": "PASS"
}
],
"runs": [
{
"capture_actions": 0,
"capture_limit": 12,
"id": "FS-P",
"status": "COMPLETED"
},
{
"capture_actions": 16,
"capture_limit": 16,
"id": "DY-C",
"status": "COMPLETED"
},
{
"capture_actions": 8,
"capture_limit": 10,
"id": "OM-ROOT",
"status": "COMPLETED"
},
{
"capture_actions": 8,
"capture_limit": 10,
"id": "OM-NESTED",
"status": "COMPLETED"
}
]
},
"legal_status": "LEGAL_NOT_APPROVED",
"macro_flags": {
"compile_commands_checked": 23,
"flags": [
"-D_XOPEN_SOURCE=700",
"-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\""
],
"root": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition",
"standalone_preprocess_syntax": "PASS",
"xopen_source": 700
},
"mosaic_model_test": {
"command": {
"argv": [
"meson",
"test",
"-C",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic",
"--print-errorlogs",
"mosaic-model"
],
"name": "mosaic-model",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-model.stderr",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/mosaic-model.stdout"
},
"rerun": "NOT_RUN",
"status": "PASS"
},
"repair_receipt_sha256": "61455c537183a7c70b8a64949dbb67050f8aa076f1ebed62e514f0e961e93e24",
"repo_source_changed": false,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_file_count": 49,
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_tree_digests": {
"mosaic": "70fb049bc28522783c9b6a76dc3d66e944a25dc5e6f5fa7f52d56665917b4125",
"scene": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da"
},
"stage": {
"file_count": 5,
"files": {
"usr/bin/swayfx-mosaic": {
"mode": "0o755",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"size": 6790360
},
"usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES": {
"mode": "0o644",
"sha256": "a46f71dccc10aec01844fc59974e3094b2951365b191b8b3819ed93effcc3919",
"size": 325
},
"usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE": {
"mode": "0o644",
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b",
"size": 1096
},
"usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE": {
"mode": "0o644",
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b",
"size": 1061
},
"usr/share/licenses/swayfx-mosaic/wlroots-LICENSE": {
"mode": "0o644",
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df",
"size": 1140
}
},
"matches_repair_manifest": true,
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/stage-g3"
},
"status": "PASS",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,20 @@
{
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"status": "PASS",
"tests_run": 66,
"failures": 0,
"scope": "Adapter/admission66 tests already executed under final source; exact native source supports retained independent29FakeGL/4mutants plus12command source offline suite",
"execution_this_review": "NOT_RERUN; SHA equality and actual compiled source verified",
"adapter_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/followup-offline-receipt.json",
"adapter_receipt_sha256": "f026a1fa3fe6f2a8471de4ee9693a70a807b3ed79cd52dd26f5651ed52f582b6",
"native_fakegl_cases": 29,
"native_mutants_rejected": 4,
"native_offline_commands": 12,
"initial_independent_receipt_sha256": "58ee0ef4535c0e5e47cc68cb2bc35e20b73563e47438b3dee718d24194c535cc",
"gpu_runtime": "NOT_RUN"
}

View file

@ -0,0 +1,142 @@
{
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"schema": "independent-g3-build-admission-review-v1",
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"findings": [],
"gpu_identity": {
"binary": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"build_id": "afdde13d52f3a5fe07c096c1221fcf0c8ae223fc",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"scene_archive": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene/libscenefx-0.5.a",
"scene_archive_sha256": "e8995f125c3eba6669aa3a8a44be1e075f6807e91055243e67731118303faec5",
"reviewed_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da",
"scope": "new distinct G3 intrusive diagnostic only; native GL and GPU runtime NOT_RUN"
},
"runs": {
"GPU-G3": {
"decision": "ACCEPTED",
"client_build_review": "ACCEPTED",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"gpu_source_review": "ACCEPTED",
"gl_observability_preflight": "ACCEPTED",
"build_review": "ACCEPTED",
"native_gl_status": "NOT_RUN",
"gpu_source_manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/g3-source-freeze-v3.json",
"gpu_source_manifest_sha256": "03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2",
"gpu_client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-client-build-normalized.json",
"gpu_client_build_receipt_sha256": "d1f5e51b463963b8c0804aaaa7a3216f8f4e439350ac8fee7ab405e0c9a3ad5b",
"reviewed_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da",
"binding": {
"binary": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"client": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-client-guard/clients-g2",
"client_sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"reviewed_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da"
}
}
},
"artifacts": {
"followup-work/source-manifest-v2.json": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"g3-source-freeze-v3.json": "03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2",
"build-g3-repair/receipt.json": "61455c537183a7c70b8a64949dbb67050f8aa076f1ebed62e514f0e961e93e24",
"build-g3/receipt.json": "cba4f3380e88c9d2facfb468d26d1d8831b875fe2dea7722a36b118ca877d4ae",
"gpu-client-build-normalized.json": "d1f5e51b463963b8c0804aaaa7a3216f8f4e439350ac8fee7ab405e0c9a3ad5b",
"gpu-client-guard/receipt.json": "7dc827169937b2dfeadad9d0a802527c4e43d58b3457d07f3a25b39c56e59475",
"tester-g3-final/receipt.json": "27b886227043621098c56b16e4e6501ff7cbf34151c3c937e5580ee10e035147",
"reviews/source-review/receipt.json": "58ee0ef4535c0e5e47cc68cb2bc35e20b73563e47438b3dee718d24194c535cc",
"reviews/source-delta/receipt.json": "895dfc1870b70c49039c773cbc6012b742514f30da508a2997c352d9ea12f781",
"reviews/admission-nongpu/clone-acceptance.json": "c926c727ee56bcf850076d77c2b9db43e08a742bfeddbb742092b5177793008b",
"g3-offline/receipt.json": "8578ad7ad8a1188b0e215c49684034e1acdc59702bfc85c2162451e163c3b93e",
"builds/g3-scene/compile_commands.json": "628580188f76708c076976c4473ede4edbdaccb4924f81bddc2a7ae3bd4bc486",
"build-g3-repair/macro-compile-commands.json": "07814ebb470091006ea0140044f14a8eb984daf0528c4fe069715918fa0e38d9"
},
"stage": {
"usr/bin/swayfx-mosaic": {
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"mode": "0o755"
},
"usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE": {
"sha256": "ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE": {
"sha256": "bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/wlroots-LICENSE": {
"sha256": "35d427c043dcafe8893b9e7247348f599847c81d9a067703587c80707f3d58df",
"mode": "0o644"
},
"usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES": {
"sha256": "a46f71dccc10aec01844fc59974e3094b2951365b191b8b3819ed93effcc3919",
"mode": "0o644"
}
},
"legal_status": "LEGAL_NOT_APPROVED",
"macro_flags": [
"-D_XOPEN_SOURCE=700",
"-DG3_ROOT=\"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-work/acquisition\""
],
"compile_macro_commands": 23,
"source_tree_digests": {
"scene": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da",
"mosaic": "70fb049bc28522783c9b6a76dc3d66e944a25dc5e6f5fa7f52d56665917b4125"
},
"audit": {
"dynamic": {
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "0580e1345ccc1b4764d62a55f00e6168baa91338868dedab8dedfb3fa1f1112c"
},
"buildid": {
"argv": [
"readelf",
"-n",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "51b4e850e7e14cfdca8bea0a2a4da375c031ed270924e0351a77e8ea13e417fa"
},
"symbols": {
"argv": [
"nm",
"-a",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "be8bb80e683637762d31d82d2cb75570759db533d758055ae8c7fa471772fd26"
}
},
"b4_semantic_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/g3-build/b4-semantic.json",
"b4_semantic_receipt_sha256": "72f3528fc34a19f50525a1665aa965e56998170d1d406b632b0fd8c5834e6d5d",
"historical_initial_build": "FAIL retained; no compilation before argument repair",
"continuation": "single explicitly authorized same-pair argument repair PASS; original FAIL unchanged; no new source",
"native_preflight": "ACCEPTED scoped diagnostic: EGL divergence preserved; clean GL version/capability windows and lifecycle/restoration; errors nonrestorable; unchanged A refusal stops before B/return",
"adapter": "unchanged source accepted: compositor-only diagnostic env, exact module roots, separate GPU identity",
"reviewer_runtime": "NOT_RUN",
"native_gl_runtime": "NOT_RUN",
"gpu_readback": "NOT_RUN",
"g2_qualification_transferred": false,
"reviewer_build_stage": "NOT_RUN",
"reviewer_git_mutation": "NOT_RUN",
"conditions": [
"Parent must bind this independent receipt and semantic receipt, source/global/GPU freezes and exact ELF/client to GPU-specific runtime manifest",
"External gate must bind final binary and acquisition root; acquisition remains empty/unarmed during review",
"Unique GPU-G3 reservation150s/captures12/hook3 and strict A/B/A; first A refusal stops without retry",
"Native capability and actual mappings/renderer/readback remain to be observed; no GL runtime FEASIBLE claim from build"
]
}

View file

@ -0,0 +1,115 @@
{
"schema": "independent-gpu-results-review-v1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED_RESULT_INTERPRETATION",
"runtime_result": "INCONCLUSIVE",
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"historical_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_used": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup",
"findings": [
{
"id": "GPU-RUNTIME-FIXTURE-TMPDIR",
"severity": "P2",
"file": "gpu/clients-g2.c",
"symbol": "draw",
"line": 92,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"violated_requirement": "Phase C portable new LAB source kit without historical absolute paths; Phase G setup must permit reference SHM draw before GPU acquisitions",
"evidence": "Old source compares TMPDIR literally to /var/tmp/swayfx-mosaic-corec-v2-i516p6po/scratch then exit(2); Session supplies /var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/scratch. Client wire ends after configure ACK before SHM; actual client exit2, no closure/SHM receipts. This deterministic path blocks the intended experiment before arming.",
"smallest_correction": "For future offline-only fixture: validate caller-supplied new owned private LAB scratch with bounded creation and diagnostics; test actual draw environment branch. Separate review/freeze; no runtime retry and no reclassification of this run."
}
],
"scope_note": "Concrete historical fixture failure recorded; no requalification from ongoing offline correction",
"actual_binary": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"build_id": "afdde13d52f3a5fe07c096c1221fcf0c8ae223fc",
"pid": 3510983
},
"actual_client": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-client-guard/clients-g2",
"sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"source_sha256": "66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7",
"pid": 3511049
},
"observed_startup": [
"00:00:00.544 [INFO] [wlr] [render/egl.c:369] Using EGL 1.5",
"00:00:00.555 [DEBUG] [wlr] [render/egl.c:439] Created EGL context using OpenGL ES 2.0",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:474] Using OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:475] GL vendor: AMD",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:476] GL renderer: AMD Radeon 780M Graphics (radeonsi, phoenix, ACO, DRM 3.64, 7.2.9-zen1-1-zen)"
],
"native_hook_measurements": "NOT_EXERCISED",
"markers": {
"GPU_GLES_CAPABILITY_AND_READBACK_PREFLIGHT": "ACCEPTED_OFFLINE_ONLY",
"GPU_GLES_ADMISSION": "NOT_EXERCISED",
"GPU_G3_NATIVE_READBACK": "NOT_EXERCISED",
"GPU_WHOLE_FIELD_CAUSALITY": "NOT_PROVEN"
},
"actions": {
"configuration": 2,
"spawn": 3,
"tool": 29
},
"acquisition": "EMPTY; no epoch/arm/raw",
"captures": 0,
"raw_codes": {
"runner": 1,
"processes": [
{
"exit": 0,
"name": "compositor",
"pid": 3510983
},
{
"exit": 0,
"name": "pointer",
"pid": 3511036
},
{
"exit": 2,
"name": "g2-reference",
"pid": 3511049
}
],
"terminal": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"scientific_cleanup": false,
"mechanical_cleanup": "PASS",
"rescue": false,
"watchdog": false,
"seconds": {
"outcome": 7.614715491014067,
"execution": 8.184041837,
"ledger": 7.623459039
},
"total_runs": 5,
"total_captures": 32,
"retry_authorized": false,
"artifacts": {
"graphics-runs/GPU-G3/run/outcome.json": "df0fd1028dfe0e48bf20a74fafb964fd14f6f0f76fb46b82791a45b3269c44eb",
"graphics-runs/GPU-G3/run/partial-failure.json": "418bd295830dbe15568695de751aaa4be6246496fdb9a167a8cea211bf461bff",
"graphics-runs/GPU-G3/run/runtime-identity.json": "323d1ba4cba45ee9d6c5270431516edf6389e4e713fe0a960fee9f053b245bfd",
"graphics-runs/GPU-G3/run/events.jsonl": "c2866efe46406b5b025d340d8fd69ac91c02d0e0fb7eb2f2156ffe2d34f55e1e",
"graphics-runs/GPU-G3/run/g2-reference.log": "b4b0fb7cb7b3fa5b62abad70fc26fea8f0b70ec80d93dd12847b927408a1a0cc",
"graphics-runs/GPU-G3/run/g2-reference-closed-3511049.log": "b4b0fb7cb7b3fa5b62abad70fc26fea8f0b70ec80d93dd12847b927408a1a0cc",
"graphics-runs/GPU-G3/run/compositor.log": "ebe27849e576b13ad900ece6d7d4884388d4107d8a4126337229e7821873b5db",
"graphics-runs/GPU-G3/run/proc-maps.txt": "c2a1b48db5791ba6a2350f08f912a2e65c9d9ef1ab2445f1299dc4218166d55c",
"execution/GPU-G3-command.json": "c21049d1e22b769f8467a9a86794e5a51654f325ba913efdec199baeaaf07cbf",
"execution/GPU-G3-runner.log": "c0b113182d60f107a4d8aa90d3ff4f71bcd78403062ba6877a6f98abf06044c0",
"followup-work/source-manifest-v2.json": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"reviews/gpu-admission.json": "b3109371c1fe54c545291742f91432d38f70e77fa54f93abae536a5ae29c03de",
"reviews/g3-build/receipt.json": "f0a2f8089977da0039afe2fcf9203f38dfc3752d373b3c76ad9b453f6a6b123e",
"reviews/g3-build/b4-semantic.json": "72f3528fc34a19f50525a1665aa965e56998170d1d406b632b0fd8c5834e6d5d",
"g3-source-freeze-v3.json": "03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2"
},
"notes_sha256": "22553811a3dbdff89c9f4e271e03e41866144f6764b05957eb3481c2c66ea39e",
"reviewer_actions": "READ_ONLY plus exclusive review receipts; no runtime/build/stage/source edits",
"previous_review_limit": "Hardcoded historical TMPDIR missed; offline coverage did not execute first client draw with new LAB environment"
}

View file

@ -0,0 +1,82 @@
{
"schema": "G3-relative-source-freeze-v1",
"status": "EXPERIMENTAL_SOURCE_ONLY",
"review": "PENDING_INDEPENDENT",
"build": "NOT_RUN",
"runtime": "NOT_RUN",
"no_inherited_G2_qualification": true,
"files": {
"README.md": {
"sha256": "83e333c6718ef05c9009ac8340c564f39094abb8353393576f9464ea2a70042c",
"mode": "0o644"
},
"clients-g2.c": {
"sha256": "66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7",
"mode": "0o644"
},
"freeze.py": {
"sha256": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"mode": "0o644"
},
"g2_gl.h": {
"sha256": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"mode": "0o644"
},
"g2_native.h": {
"sha256": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"mode": "0o644"
},
"g3-admission.patch": {
"sha256": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"mode": "0o644"
},
"protocol.py": {
"sha256": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"mode": "0o644"
},
"protocols/wlr-layer-shell-unstable-v1.xml": {
"sha256": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"mode": "0o644"
},
"protocols/xdg-shell.xml": {
"sha256": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"mode": "0o644"
},
"reproduce.py": {
"sha256": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"mode": "0o644"
},
"scenario.py": {
"sha256": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"mode": "0o644"
},
"test-targeted.py": {
"sha256": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"mode": "0o644"
},
"test_begin.py": {
"sha256": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"mode": "0o644"
},
"test_gl.c": {
"sha256": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"mode": "0o644"
},
"test_mutations.py": {
"sha256": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"mode": "0o644"
},
"test_native.c": {
"sha256": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"mode": "0o644"
},
"test_protocol.py": {
"sha256": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"mode": "0o644"
},
"validate_source.py": {
"sha256": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"mode": "0o644"
}
}
}

View file

@ -0,0 +1,585 @@
{
"campaign_closure": {
"closed_ns": 328443332204579,
"consumed": [
"FS-P",
"DY-C",
"OM-ROOT",
"OM-NESTED",
"GPU-G3"
],
"consumed_runs": 5,
"executed_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"executed_source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"no_further_runtime_authorized": true,
"no_reset_refund_retry": true,
"not_run": {
"FS-C": "qualified FS-P dependency not satisfied",
"GPU-CTRL": "cannot replace failed GPU-G3; no new attribution question or equivalent reviewed control",
"OM-EXTRA": "no distinct reviewed discriminant; NOT_ADMITTED"
},
"output_captures": 32,
"postcampaign_source_repair": "OFFLINE_ONLY; no runtime qualification or reservation"
},
"lab": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"limits": {
"captures": 110,
"captures_per_run": 18,
"duration_s": 150,
"runs": 8
},
"namespace": "REAL",
"operations": [
{
"continuations": [
{
"authorization": "parent explicit same reserved pair continuation; original FAIL retained",
"finished_monotonic_ns": 327835502157972,
"id": "same-pair-argument-repair",
"receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/receipt.json",
"reserved_monotonic_ns": 327815215522156,
"state": "PASS"
}
],
"failure": "SceneFX Meson setup rc=1: Could not get define EGL_EGLEXT_VERSION",
"finished_monotonic_ns": 327600914563309,
"id": "G3_BUILD_PAIR",
"mosaic_builds": 1,
"reserved_monotonic_ns": 327510465794426,
"scene_builds": 1,
"setup_retried": false,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"state": "FAIL"
},
{
"destination": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/stage-g3",
"finished_monotonic_ns": 327835502199749,
"id": "G3_DESTDIR",
"reserved_monotonic_ns": 327834532865939,
"state": "PASS"
}
],
"runs": [
{
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"actions": {
"chain": 1,
"configuration": 8,
"spawn": 5,
"tool": 15
},
"bindings": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway",
"binary_sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"build_id": "ba9751c82e73d4043b7651354f20936d070c2227",
"build_review": "ACCEPTED",
"client_binary_sha256": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a",
"manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"pristine_scene": "/usr/lib/libscenefx-0.5.so",
"pristine_scene_sha256": "63586ffbe268c6830b5782d5327e8ca3624dbd9b9c9b0e93e591e94ca28a6e62",
"prospective": {
"build_review": "ACCEPTED",
"client": "fullscreen-client",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"client_build_review": "ACCEPTED",
"client_sha256": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a",
"decision": "ACCEPTED",
"identity": "pristine",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_qualification": "ACCEPTED"
},
"publication": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json",
"publication_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"review": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"review_sha256": "1e0f95eea63e4178b413e5f62190bae28f91c1b68a6530d485e42a675010caf0",
"runtime_manifest_sha256": "cbfd1ac0d2453f3144d566efa227639f648840093179bfc70ad9f53fcf52cf3c",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_qualification": "ACCEPTED",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"capture_limit": 12,
"finished_ns": 327481893644422,
"id": "FS-P",
"outcome": {
"mechanical_rescue": false,
"processes": [
{
"exit": 0,
"name": "compositor",
"pid": 3491656
},
{
"exit": 0,
"name": "pointer",
"pid": 3491708
},
{
"exit": 0,
"name": "reference",
"pid": 3491722
},
{
"exit": 0,
"name": "filler0",
"pid": 3491772
},
{
"exit": 0,
"name": "owner",
"pid": 3491797
}
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "NOT_EXERCISED",
"terminal": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"started_ns": 327475796122506,
"status": "COMPLETED",
"token": "e0ce392108fe4003ad35117f515135ee"
},
{
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"actions": {
"camera": 1,
"capture": 16,
"chain": 1,
"click": 6,
"configuration": 18,
"grab": 2,
"move": 7,
"mutation": 4,
"spawn": 6,
"tool": 96
},
"bindings": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic",
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"build_id": "d5d304533f2c8db9d738365e9bd7f2c96779ef8d",
"build_review": "ACCEPTED",
"client_binary_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"prospective": {
"build_review": "ACCEPTED",
"client": "nested-client",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"client_build_review": "ACCEPTED",
"client_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"decision": "ACCEPTED",
"identity": "core",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_qualification": "ACCEPTED"
},
"publication": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json",
"publication_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"review": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"review_sha256": "1e0f95eea63e4178b413e5f62190bae28f91c1b68a6530d485e42a675010caf0",
"runtime_manifest_sha256": "cbfd1ac0d2453f3144d566efa227639f648840093179bfc70ad9f53fcf52cf3c",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_qualification": "ACCEPTED",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"capture_limit": 16,
"finished_ns": 327550717540527,
"id": "DY-C",
"outcome": {
"mechanical_rescue": false,
"processes": [
{
"exit": 0,
"name": "compositor",
"pid": 3492726
},
{
"exit": 0,
"name": "pointer",
"pid": 3492769
},
{
"exit": 0,
"name": "reference",
"pid": 3492782
},
{
"exit": 0,
"name": "filler0",
"pid": 3492817
},
{
"exit": 0,
"name": "filler1",
"pid": 3492833
},
{
"exit": 0,
"name": "owner",
"pid": 3492898
}
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"started_ns": 327514722064470,
"status": "COMPLETED",
"token": "375adfc1bcef41088ebcb381f44d9db0"
},
{
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"actions": {
"camera": 1,
"capture": 8,
"chain": 1,
"click": 2,
"configuration": 10,
"grab": 1,
"hook": 1,
"move": 3,
"spawn": 5,
"tool": 49
},
"bindings": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"build_review": "ACCEPTED",
"client_binary_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"prospective": {
"build_review": "ACCEPTED",
"client": "nested-client",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"client_build_review": "ACCEPTED",
"client_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"decision": "ACCEPTED",
"identity": "oom",
"oom_source_review": "ACCEPTED",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_qualification": "ACCEPTED",
"variant_identity": "COREC_V2_NATIVE_OOM_DIAGNOSTIC"
},
"publication": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json",
"publication_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"review": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"review_sha256": "1e0f95eea63e4178b413e5f62190bae28f91c1b68a6530d485e42a675010caf0",
"runtime_manifest_sha256": "cbfd1ac0d2453f3144d566efa227639f648840093179bfc70ad9f53fcf52cf3c",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_qualification": "ACCEPTED",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"capture_limit": 10,
"finished_ns": 327602262992266,
"id": "OM-ROOT",
"outcome": {
"mechanical_rescue": false,
"processes": [
{
"exit": 0,
"name": "compositor",
"pid": 3494614
},
{
"exit": 0,
"name": "pointer",
"pid": 3494653
},
{
"exit": 0,
"name": "reference",
"pid": 3494681
},
{
"exit": 0,
"name": "filler0",
"pid": 3494717
},
{
"exit": 0,
"name": "owner",
"pid": 3494749
}
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"started_ns": 327584501389229,
"status": "COMPLETED",
"token": "0a825259ea7740c5a7704f149dfa0649"
},
{
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"actions": {
"camera": 1,
"capture": 8,
"chain": 1,
"click": 4,
"configuration": 10,
"grab": 2,
"hook": 1,
"move": 5,
"spawn": 5,
"tool": 54
},
"bindings": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"build_review": "ACCEPTED",
"client_binary_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"prospective": {
"build_review": "ACCEPTED",
"client": "nested-client",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"client_build_review": "ACCEPTED",
"client_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"decision": "ACCEPTED",
"identity": "oom",
"oom_source_review": "ACCEPTED",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_qualification": "ACCEPTED",
"variant_identity": "COREC_V2_NATIVE_OOM_DIAGNOSTIC"
},
"publication": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json",
"publication_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"review": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"review_sha256": "1e0f95eea63e4178b413e5f62190bae28f91c1b68a6530d485e42a675010caf0",
"runtime_manifest_sha256": "cbfd1ac0d2453f3144d566efa227639f648840093179bfc70ad9f53fcf52cf3c",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_qualification": "ACCEPTED",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"capture_limit": 10,
"finished_ns": 327723731507334,
"id": "OM-NESTED",
"outcome": {
"mechanical_rescue": false,
"processes": [
{
"exit": 0,
"name": "compositor",
"pid": 3497491
},
{
"exit": 0,
"name": "pointer",
"pid": 3497533
},
{
"exit": 0,
"name": "reference",
"pid": 3497545
},
{
"exit": 0,
"name": "filler0",
"pid": 3497579
},
{
"exit": 0,
"name": "owner",
"pid": 3497605
}
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"started_ns": 327703322633743,
"status": "COMPLETED",
"token": "39b4767924344003ad80fb9b87da4e20"
},
{
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"actions": {
"configuration": 2,
"spawn": 3,
"tool": 29
},
"bindings": {
"binary": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"build_id": "afdde13d52f3a5fe07c096c1221fcf0c8ae223fc",
"build_review": "ACCEPTED",
"client_binary_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"prospective": {
"binding": {
"binary": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"client": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-client-guard/clients-g2",
"client_sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"gate_file": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/g3-native-gate.json",
"reviewed_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
},
"build_review": "ACCEPTED",
"build_review_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/g3-build/receipt.json",
"build_review_receipt_sha256": "f0a2f8089977da0039afe2fcf9203f38dfc3752d373b3c76ad9b453f6a6b123e",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"client_build_review": "ACCEPTED",
"decision": "ACCEPTED",
"gate_file": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/g3-native-gate.json",
"gate_file_sha256": "46630653e1989c02bbfa0a7cc5b01bed8358cd23327efbbf23eec0f551302595",
"gl_observability_preflight": "ACCEPTED",
"gl_observability_preflight_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/g3-build/receipt.json",
"gl_observability_preflight_receipt_sha256": "f0a2f8089977da0039afe2fcf9203f38dfc3752d373b3c76ad9b453f6a6b123e",
"gpu_client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-client-build-normalized.json",
"gpu_client_build_receipt_sha256": "d1f5e51b463963b8c0804aaaa7a3216f8f4e439350ac8fee7ab405e0c9a3ad5b",
"gpu_source_manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/g3-source-freeze-v3.json",
"gpu_source_manifest_sha256": "03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2",
"gpu_source_review": "ACCEPTED",
"gpu_source_review_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/g3-build/receipt.json",
"gpu_source_review_receipt_sha256": "f0a2f8089977da0039afe2fcf9203f38dfc3752d373b3c76ad9b453f6a6b123e",
"native_gl_status": "NOT_RUN",
"reviewed_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da"
},
"publication": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json",
"publication_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"review": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/gpu-admission.json",
"review_sha256": "b3109371c1fe54c545291742f91432d38f70e77fa54f93abae536a5ae29c03de",
"reviewed_scene_sha256": "5e56b9de119941ac4a09c39d12d9ba4e350417d285cf7804947e58b6ecf625da",
"runtime_manifest_sha256": "9bf1922a175853d9ba4a8a0186cf6e67d01511e91cdddb102740ed7c05131cb9",
"scene_archive": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-scene/libscenefx-0.5.a",
"scene_archive_sha256": "e8995f125c3eba6669aa3a8a44be1e075f6807e91055243e67731118303faec5",
"scope": "new distinct G3 intrusive diagnostic only; native GL and GPU runtime NOT_RUN",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_qualification": "ACCEPTED",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"capture_limit": 12,
"finished_ns": 328206095687183,
"id": "GPU-G3",
"outcome": {
"mechanical_rescue": false,
"processes": [
{
"exit": 0,
"name": "compositor",
"pid": 3510983
},
{
"exit": 0,
"name": "pointer",
"pid": 3511036
},
{
"exit": 2,
"name": "g2-reference",
"pid": 3511049
}
],
"runner_failure": "Ambiguous: bounded wait timeout",
"scientific_cleanup": false,
"status": "INCONCLUSIVE",
"terminal": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"started_ns": 328198472228144,
"status": "COMPLETED",
"token": "f0083b48774a4d9e83b607a95be914aa"
}
],
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"uid": 1000
}

View file

@ -0,0 +1,190 @@
{
"contract": "Entry hashes seal the small published receipts; this index excludes its own bytes to avoid a self-reference. Heavy originals stay in the retained LAB.",
"entries": {
"abi-baseline.json": {
"bytes": 17280,
"mode": "0o644",
"sha256": "d7661a1b4e1db35069d47bd9f74fa4d20ac03d2fadf05a9299c44f700114b55e"
},
"clone-acceptance-review.json": {
"bytes": 1024,
"mode": "0o644",
"sha256": "c926c727ee56bcf850076d77c2b9db43e08a742bfeddbb742092b5177793008b"
},
"clone-validation.json": {
"bytes": 18117,
"mode": "0o644",
"sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282"
},
"coredump-final.json": {
"bytes": 272,
"mode": "0o644",
"sha256": "0af38848c5908959227455290d38014f4deafd01ed407ae7a1f370cb675c419f"
},
"final-review.json": {
"bytes": 2955,
"mode": "0o644",
"sha256": "3b15b5093730d6c43897e0adad4a1b2987fbc1097694a03645e928023ba23814"
},
"final-validation.json": {
"bytes": 7596,
"mode": "0o644",
"sha256": "aeef27c8f92f1939c0db868bab17a0175cf5c2e5c2a734f2854ad09b28ba1da2"
},
"fullscreen-dumpability-probe.json": {
"bytes": 669,
"mode": "0o644",
"sha256": "fdcca6d786067f0bd91d3c728e4db7926e23e87c1c104ae3cb8d8295756a7a7d"
},
"g3-build-initial.json": {
"bytes": 4750,
"mode": "0o644",
"sha256": "cba4f3380e88c9d2facfb468d26d1d8831b875fe2dea7722a36b118ca877d4ae"
},
"g3-build-repair.json": {
"bytes": 10562,
"mode": "0o644",
"sha256": "61455c537183a7c70b8a64949dbb67050f8aa076f1ebed62e514f0e961e93e24"
},
"g3-build-validation.json": {
"bytes": 7915,
"mode": "0o644",
"sha256": "27b886227043621098c56b16e4e6501ff7cbf34151c3c937e5580ee10e035147"
},
"gpu-b4-semantic.json": {
"bytes": 1140,
"mode": "0o644",
"sha256": "72f3528fc34a19f50525a1665aa965e56998170d1d406b632b0fd8c5834e6d5d"
},
"gpu-build-review.json": {
"bytes": 8021,
"mode": "0o644",
"sha256": "f0a2f8089977da0039afe2fcf9203f38dfc3752d373b3c76ad9b453f6a6b123e"
},
"gpu-results-review.json": {
"bytes": 6139,
"mode": "0o644",
"sha256": "78ce6fe03955d62d1b079b9a8e81161dcb5bfceef71bd2b71d13892bcf7e4d78"
},
"gpu-source-manifest-v3.json": {
"bytes": 2706,
"mode": "0o644",
"sha256": "03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2"
},
"ledger.json": {
"bytes": 23987,
"mode": "0o644",
"sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c"
},
"nongpu-admission-review.json": {
"bytes": 23730,
"mode": "0o644",
"sha256": "dcbd9c8259153c33f33dbfb2c7761794defa92ab86a21a514f7aeb28ae94b3d7"
},
"nongpu-results-review.json": {
"bytes": 15929,
"mode": "0o644",
"sha256": "a8a9ea6c9c1fab09687c1b43378d53d7add0eb421a9b2e626d60d59445578e86"
},
"offline-validation.json": {
"bytes": 17393,
"mode": "0o644",
"sha256": "f026a1fa3fe6f2a8471de4ee9693a70a807b3ed79cd52dd26f5651ed52f582b6"
},
"postcampaign-delta-initial-review.json": {
"bytes": 3003,
"mode": "0o644",
"sha256": "bc188f87b012c8acdb5c5a8cdb4ca7db0f0266d9597d6c170ec24ba7615d5afa"
},
"postcampaign-delta-review.json": {
"bytes": 1910,
"mode": "0o644",
"sha256": "4d459c0963c6535a404bfaa68d11dff0cf738e2d21167c148c12315e954ffe86"
},
"postcampaign-gpu-manifest-final.json": {
"bytes": 2843,
"mode": "0o644",
"sha256": "a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb"
},
"postcampaign-gpu-manifest.json": {
"bytes": 2843,
"mode": "0o644",
"sha256": "230f131aae824dfafb938f38f77aad08d225ea2fa5496ee65a3b45f3062e8df1"
},
"postcampaign-offline-validation.json": {
"bytes": 7887,
"mode": "0o644",
"sha256": "5905e2002041148d7a104e195132f56c8b4152952547be4ed0985da4eacc3852"
},
"postcampaign-repair.json": {
"bytes": 15323,
"mode": "0o644",
"sha256": "eae6bb85b21cbd6876e8340384314c21749040cadad89b313eae4b2d9bf7e7a4"
},
"postcampaign-source-manifest-final.json": {
"bytes": 18962,
"mode": "0o644",
"sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080"
},
"postcampaign-source-manifest.json": {
"bytes": 18962,
"mode": "0o644",
"sha256": "f13da7228c0c9f61cdefa23fa80f3dea3322cb8551edb62f459aa69a1ba7c20f"
},
"pre-freeze-validation.json": {
"bytes": 20434,
"mode": "0o644",
"sha256": "ad6696e7114a128cd5e7b5456c04f85b5ca9b3c22b5945d0ff387d9f50af324a"
},
"provenance-replay.json": {
"bytes": 20273,
"mode": "0o644",
"sha256": "e09a9da09141903fad33da178272c52fac7a29ee7cf0e9bed5b718619bf1f543"
},
"runtime-summary.json": {
"bytes": 28666,
"mode": "0o644",
"sha256": "8bebfdb30c0eaa3c7f4df95bcbf7590557b7b74fc05353b5afe77a1339c7c202"
},
"source-binding-review.json": {
"bytes": 10088,
"mode": "0o644",
"sha256": "afdeb78d8d0e60f78c3f7f25e7b66ef92bbc34dfb02ac1e37020e501f8d14766"
},
"source-delta-review.json": {
"bytes": 1708,
"mode": "0o644",
"sha256": "895dfc1870b70c49039c773cbc6012b742514f30da508a2997c352d9ea12f781"
},
"source-initial-review.json": {
"bytes": 8590,
"mode": "0o644",
"sha256": "58ee0ef4535c0e5e47cc68cb2bc35e20b73563e47438b3dee718d24194c535cc"
},
"source-manifest-v2.json": {
"bytes": 18835,
"mode": "0o644",
"sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
},
"source-publication.json": {
"bytes": 1138,
"mode": "0o644",
"sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2"
},
"system-audit.json": {
"bytes": 579,
"mode": "0o644",
"sha256": "8053a9a21a910432aea9dde8fc344d11dfa34485747d46c49a2cdb962760ce92"
},
"workflow-deviations.json": {
"bytes": 2547,
"mode": "0o644",
"sha256": "dc99325d5d1b97d0b4c2f5a88f4b78a083edb50fc6adfd3f5556d8722faf9f3b"
}
},
"excludes": [
"manifest.json"
],
"schema": "native-closure-public-evidence-index-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,496 @@
{
"schema": "independent-nongpu-admission-review-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED",
"scope": "literal accepted source/client/retained ELF bindings and published Git bytes; no new source audit",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"artifacts": {
"manifest": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
},
"review": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"sha256": "1e0f95eea63e4178b413e5f62190bae28f91c1b68a6530d485e42a675010caf0"
},
"publication": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json",
"sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2"
},
"runtime": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/runtime-identities-nongpu.json",
"sha256": "cbfd1ac0d2453f3144d566efa227639f648840093179bfc70ad9f53fcf52cf3c"
},
"binding": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/source-delta/bindings.json",
"sha256": "afdeb78d8d0e60f78c3f7f25e7b66ef92bbc34dfb02ac1e37020e501f8d14766"
},
"source_review": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/source-delta/receipt.json",
"sha256": "895dfc1870b70c49039c773cbc6012b742514f30da508a2997c352d9ea12f781"
},
"tests": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/followup-offline-receipt.json",
"sha256": "f026a1fa3fe6f2a8471de4ee9693a70a807b3ed79cd52dd26f5651ed52f582b6"
}
},
"transcription": "PASS: exact per-run bindings; identity base fields unchanged; pristine SceneFX extra path/SHA verified against actual shared file",
"publication": "PASS: validated recorded direct origin/github observations; actual commit inventory/type/modes/49blobs verified through real gate.published_sources",
"pure_preflight": {
"FS-P": "PASS pure validate_review; no reservation",
"FS-C": "PASS pure validate_review; no reservation",
"DY-C": "PASS pure validate_review; no reservation",
"OM-ROOT": "PASS pure validate_review; no reservation",
"OM-NESTED": "PASS pure validate_review; no reservation"
},
"reservation": "NOT_RUN",
"ledger_unchanged": true,
"dependencies": [
"FS-C requires completed PARTIALLY_FEASIBLE FS-P via Ledger.admit",
"OM-NESTED requires completed PARTIALLY_FEASIBLE OM-ROOT plus scientific_cleanup true; no override in admission",
"per-action sealed source/receipt identity checks preserved"
],
"clone": {
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/receipt.json",
"sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"receipt": {
"clients": {
"fullscreen-client": {
"mode": "0o755",
"sha256": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a"
},
"nested-client": {
"mode": "0o755",
"sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82"
},
"pointer-daemon": {
"mode": "0o755",
"sha256": "3188215af9ee0e2c79e1a5efc1b023ee8be47d0cade28f7c1ebe56ff140ae7db"
},
"saved-client": {
"mode": "0o755",
"sha256": "10d766c660b0ed35cd5e002d594fc776ebc4754c6b596cf61dd53facaa29d875"
},
"static-reference": {
"mode": "0o755",
"sha256": "3eebddbc3989ce0d9d2987382c8232a9cc6444cdfb29a5ca3a09e37251f6443c"
},
"vertical-client": {
"mode": "0o755",
"sha256": "49f4999aafc800192c50d5d1439ba5dd80c22a1e994dee591d9a780e018f0383"
}
},
"clone_clean": true,
"commands": [
{
"argv": [
"cc",
"--version"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-00.log",
"log_sha256": "52fa390d1b33ef5e0b20f39de6624190ade494b52dd543bd8121f350ec88e0e5",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"--version"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-01.log",
"log_sha256": "7781d4bdaabd8c59b362476a40f44a32c136372c265defc11595f5f347797e1d",
"rc": 0
},
{
"argv": [
"pkg-config",
"--version"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-02.log",
"log_sha256": "7bb9bbd2e2162e7c4db854f8740421fd7f8e6a2113a09dc1ef4711aec644536a",
"rc": 0
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-03.log",
"log_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-04.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-05.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/wlr-virtual-pointer-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/virtual-pointer-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-06.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/protocols/wlr-virtual-pointer-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/virtual-pointer-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-07.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/fullscreen-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/fullscreen-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-08.log",
"log_sha256": "00ff2f84ac3a7591528700a862eb951b7d1f6c2ce89c0f61a5c5758180f6a904",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/nested-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/nested-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-09.log",
"log_sha256": "acf128becf44469df920dd8d820b110c9a0672085f62a0efd1019a51e41fad63",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/vertical-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/vertical-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-10.log",
"log_sha256": "6240d00c893497ecd72c7eae9153ded3d7493ac5ef72f4aa2c850b5798efb800",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/saved-client.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/saved-client",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-11.log",
"log_sha256": "f0e47bff26bcdf6726ada4dc0aa3b2a32ec7a7f35131cef0cfe02b0985e0b286",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/static-reference.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/xdg-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/static-reference",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-12.log",
"log_sha256": "cfc61da356155edf0c44b257f80f724324a465bbf20e54dfe92c055e9ef9ba6c",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/clients/pointer-daemon.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/virtual-pointer-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/client-build/pointer-daemon",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-13.log",
"log_sha256": "b324274d7a22b156a98faf45514a8985f826cb52107f553b267b0d1a499a44aa",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-14.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-15.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-16.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"wayland-scanner",
"private-code",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-protocol.c"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-17.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-18.log",
"log_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-protocol.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/clients-g2",
"-lwayland-client",
"-lm"
],
"failure": "fatal error: layer-shell-client.h: No such file or directory",
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/command-19.log",
"log_sha256": "2f339fe1a8f78a2670936ab271300f6e613a0537b3cf94067fff0a89c1face8b",
"rc": 1,
"resolution": "generated required header layer-shell-client.h, then compilation passed"
},
{
"argv": [
"wayland-scanner",
"client-header",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/layer-shell-client.h"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/followup-00.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/followup-01.log",
"log_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236",
"rc": 0
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/xdg-shell-protocol.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/wlr-layer-shell-unstable-v1-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/gpu-client-build/clients-g2",
"-lwayland-client",
"-lm"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/followup-02.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
},
{
"argv": [
"/usr/bin/python",
"-B",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/gpu/reproduce.py",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--core",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/replay-core/scene",
"--destination",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/g3-scene"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/g3-reproduce.log",
"log_sha256": "af3d75d1ad42e47bf960fcf57bd58818af9f5cf80b097c948adbeb3f78722fa1",
"rc": 0
}
],
"compositor_or_wayland_client_execution": "NOT_RUN",
"g3_reproduction": {
"exact_tree_match_lab_g3_source": true,
"files": 87,
"source_receipt_sha256": "af3d75d1ad42e47bf960fcf57bd58818af9f5cf80b097c948adbeb3f78722fa1",
"status": "PASS"
},
"gpu_client": {
"mode": "0o755",
"sha256": "b764164b936c4046b0d61b3614b12c9d9c77ee623eefc51b8f437168d6901f48"
},
"graphics_tests": {
"argv": [
"/usr/bin/python",
"-B",
"-m",
"unittest",
"discover",
"-s",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-c/tooling/probes/step20c-corec-v2-followup/graphics/offline",
"-p",
"test_followup.py",
"-v"
],
"failures": 0,
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/clone-validation/graphics-clone-tests.log",
"log_sha256": "d7d70b9d2b53121d5b3deea5c90274a7820eb33b7794cb07a071d1a422875692",
"rc": 0,
"tests_run": 66
},
"origin_url": "ssh://git@git.labfytools.com:2223/fy59/swayfx-mosaic.git",
"parent_commit": "d46f854b3026e911659528fe94792aa13837a1d6",
"parent_kit_files": 116,
"parent_kit_match_retained_extraction": true,
"publication_receipt_sha256": "3dbdfc66fa48e61ef8593ac9e85481baf9dab8fff30f480e8ad38b75cb1231a2",
"publication_refs": {
"github": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"origin": "c55373eab3c53132bf1157acc9cfc9edd451156e"
},
"review_receipt_sha256": "895dfc1870b70c49039c773cbc6012b742514f30da508a2997c352d9ea12f781",
"runtime": "NOT_RUN",
"schema": "followup-clone-gate-v1",
"source_bytes_modes_match": true,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_files": 49,
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"status": "PASS",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
},
"condition": "parent must verify actual PASS and same commit/kit before reservation"
},
"runtime": "NOT_RUN",
"build": "NOT_RUN",
"stage": "NOT_RUN",
"git_mutation": "NOT_RUN",
"conditions": [
"clone PASS on exact published source before any runtime reservation",
"existing fixed per-ID ledger dependencies and budgets remain mandatory",
"actual private compositor startup, outputs, executable and mappings checks remain mandatory"
],
"authorization": "ACCEPTED admission transcription conditionally on clone PASS; no runtime started or budget consumed by reviewer",
"findings": []
}

View file

@ -0,0 +1,310 @@
{
"schema": "independent-nongpu-results-review-v1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"rows": {
"FS-P": {
"runtime_status": "NOT_EXERCISED",
"review_status": "NOT_EXERCISED",
"captures": 0,
"seconds_outcome": 6.086245531041641,
"seconds_ledger": 6.097521916,
"scientific_cleanup": true,
"all_process_exit0": true,
"terminal_swaymsg_exit": 1,
"compositor_exit": 0,
"reason": "actual fullscreen client executable"
},
"DY-C": {
"runtime_status": "PARTIALLY_FEASIBLE",
"review_status": "SAMPLED_ONLY",
"captures": 16,
"seconds_outcome": 35.98416800098494,
"seconds_ledger": 35.995476057,
"scientific_cleanup": true,
"all_process_exit0": true,
"terminal_swaymsg_exit": 1,
"compositor_exit": 0,
"stages": [
{
"tag": "resized960",
"scroll": 800.0,
"expected": 800.0,
"viewport": [
-960,
0,
960,
600
],
"point": [
-273,
168
]
},
{
"tag": "resized-back",
"scroll": 800.0,
"expected": 800.0,
"viewport": [
-800,
0,
800,
600
],
"point": [
-113,
168
]
},
{
"tag": "migrated-H2",
"scroll": 1120.0,
"expected": 1120,
"viewport": [
0,
0,
800,
600
],
"point": [
366,
168
]
},
{
"tag": "migrated-back-H1",
"scroll": 1120.0,
"expected": 1120.0,
"viewport": [
-800,
0,
800,
600
],
"point": [
-434,
168
]
}
]
},
"OM-ROOT": {
"runtime_status": "PARTIALLY_FEASIBLE",
"review_status": "SAMPLED_ONLY",
"captures": 8,
"seconds_outcome": 17.750482999021187,
"seconds_ledger": 17.761603037,
"scientific_cleanup": true,
"all_process_exit0": true,
"terminal_swaymsg_exit": 1,
"compositor_exit": 0,
"native": {
"role": "root_popup",
"nonce": "0a825259ea7740c5a7704f149dfa0649",
"pid": "3494614",
"xdg": "0x564dbd1ab920",
"xdg_parent": "0x564dbd196260",
"parent": "0x564dbc49ec90",
"tree": "0x564dbd18fc20",
"children": "0",
"matched": "1",
"failures": "1",
"successes": "0",
"initialized": "0",
"listeners": "0",
"published": "0",
"parent_children": "0",
"children_scope": "existing parent children, not failed tree",
"caller_result": {
"role": "root_popup",
"pid": "3494614",
"xdg": "0x564dbd1ab920",
"xdg_parent": "0x564dbd196260",
"parent": "0x564dbc49ec90",
"tree": "(nil)",
"successes": "0",
"failures": "1"
}
},
"availability": "SAMPLED_ONLY before cleanup with actual neighbor wire",
"no_memory_disconnect": "NOT_OBSERVED",
"normal_error0_closure": true
},
"OM-NESTED": {
"runtime_status": "PARTIALLY_FEASIBLE",
"review_status": "SAMPLED_ONLY",
"captures": 8,
"seconds_outcome": 20.39799604000291,
"seconds_ledger": 20.408873591,
"scientific_cleanup": true,
"all_process_exit0": true,
"terminal_swaymsg_exit": 1,
"compositor_exit": 0,
"root_A_input": {
"point": [
-215,
108
],
"before_neighbor": true
},
"native": {
"role": "nested_popup",
"nonce": "39b4767924344003ad80fb9b87da4e20",
"pid": "3497491",
"xdg": "0x55a818139b10",
"xdg_parent": "0x55a8180816e0",
"parent": "0x55a81812bc80",
"tree": "0x55a818143120",
"children": "1",
"matched": "1",
"failures": "1",
"successes": "1",
"initialized": "0",
"listeners": "0",
"published": "0",
"parent_children": "1",
"children_scope": "existing parent children, not failed tree",
"caller_result": {
"role": "nested_popup",
"pid": "3497491",
"xdg": "0x55a818139b10",
"xdg_parent": "0x55a8180816e0",
"parent": "0x55a81812bc80",
"tree": "(nil)",
"successes": "1",
"failures": "1"
}
},
"availability": "SAMPLED_ONLY before cleanup with actual neighbor wire",
"no_memory_disconnect": "NOT_OBSERVED",
"normal_error0_closure": true
},
"FS-C": {
"review_status": "NOT_RUN",
"reason": "FS-P not qualified; no reservation present"
}
},
"actual_ELFs": {
"FS-P": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway",
"sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"pid": 3491656,
"build_id": "ba9751c82e73d4043b7651354f20936d070c2227"
},
"DY-C": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic",
"sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"pid": 3492726,
"build_id": "d5d304533f2c8db9d738365e9bd7f2c96779ef8d"
},
"OM-ROOT": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"pid": 3494614,
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d"
},
"OM-NESTED": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"pid": 3497491,
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d"
}
},
"run_entries_sha256": "2e655b9853edf81acc4520fe3ff3f81657fb0edf3b5f91a2b8bd83c487bb3d10",
"capture_total": 32,
"reservations": 4,
"artifacts": {
"graphics-runs/FS-P/run/outcome.json": "11b37750569c1fae4aa6a9c21e3f0166461bbdcfd9c8f46e90ef8ffede72b597",
"graphics-runs/FS-P/run/runtime-identity.json": "d8ed953f80ef80c5460ad1d90b48876c01082ca964522f21ad6c2c68ac6c3639",
"graphics-runs/FS-P/run/events.jsonl": "14c4747726cf78f5e71495c74d2896a5793c98065446b0da9eba6bc023b33f00",
"graphics-runs/FS-P/run/owner.log": "f3297192c0c0a9b82b5e967646979a23dd8e85cb162eaa6ba0f9492c95a13119",
"graphics-runs/FS-P/run/compositor.log": "32b1edc16301407f5306293feff5b95e1363c7094f9695c68a55a19890044a15",
"graphics-runs/FS-P/run/reference-closed-3491722.log": "fc807a050dfd9e9bd7d911253315cc5b1e2a2b3d2484236da762426f1e097295",
"graphics-runs/FS-P/run/filler0-closed-3491772.log": "86c812f2395303b127e399682da5a8c2dcc522dad2f692372bae5bc7572d3513",
"graphics-runs/FS-P/run/owner-closed-3491797.log": "f3297192c0c0a9b82b5e967646979a23dd8e85cb162eaa6ba0f9492c95a13119",
"graphics-runs/DY-C/run/outcome.json": "13539848fa063c022115824df894be2d0c6c215720c66ce94b7aaa9d644736e4",
"graphics-runs/DY-C/run/runtime-identity.json": "979882ea1e838eff80875f63ebf233e60f559876bec809fa2c11326a172dc110",
"graphics-runs/DY-C/run/events.jsonl": "6c8570c1b79696a65b089f4084980d144cef326a156c91c35547e0b654eb37a1",
"graphics-runs/DY-C/run/owner.log": "f1f8b23c37a49d11167b92bee64280618952bb40d34e755509f370238a194939",
"graphics-runs/DY-C/run/compositor.log": "07a54ce232c3c07998d439f34fe23257eb6bcac7def5aaac07ce35a125d5deee",
"graphics-runs/DY-C/run/owner-closed-3492898.log": "f1f8b23c37a49d11167b92bee64280618952bb40d34e755509f370238a194939",
"graphics-runs/DY-C/run/filler0-closed-3492817.log": "07227b87dd7f0879cf5d205dbde4aadd19371539c92321fbc8454054223fb16a",
"graphics-runs/DY-C/run/filler1-closed-3492833.log": "12f871052bbec431e8488692ca65c60bc3a9ce39b936ef5078ee7869a79ca06d",
"graphics-runs/DY-C/run/reference-closed-3492782.log": "1cb3a812c66490eff3265f3541e38844e7c687d51e8b7d048c1ffa2ebc0471c9",
"graphics-runs/DY-C/run/H2-reference1.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/DY-C/run/H2-reference2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/DY-C/run/owner-top-1.png": "c8d50e1a0e52074bf595a82a56d5db9f1790cf0cfd7e510c32ceceeba4295802",
"graphics-runs/DY-C/run/popup-A-1.png": "35072322e2a22c1fd73e20c67593080266df0fe42b7b6320808f17fb47f98250",
"graphics-runs/DY-C/run/mapped-1-H1.png": "1d502191e74f449a3cc9d89db52708a45e9c225d7be814fe839d1513c892dc72",
"graphics-runs/DY-C/run/mapped-1-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/DY-C/run/resized960-H1.png": "6257eecea214da92d7107809fe5b54323cd6cf653e3083401c5028652f673aba",
"graphics-runs/DY-C/run/resized960-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/DY-C/run/resized-back-H1.png": "1d502191e74f449a3cc9d89db52708a45e9c225d7be814fe839d1513c892dc72",
"graphics-runs/DY-C/run/resized-back-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/DY-C/run/migrated-H2-H1.png": "0e78e1e00e1b64efefcadff280b26c47573f6b85aa1a36b6d7773abfbc2088f9",
"graphics-runs/DY-C/run/migrated-H2-H2.png": "1f9f0839bdc2bbdc8964e17ffd004c274647b81d03bd1d08cc5968cbc00c9331",
"graphics-runs/DY-C/run/migrated-back-H1-H1.png": "1f9f0839bdc2bbdc8964e17ffd004c274647b81d03bd1d08cc5968cbc00c9331",
"graphics-runs/DY-C/run/migrated-back-H1-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/DY-C/run/dynamic-final-H1.png": "0e78e1e00e1b64efefcadff280b26c47573f6b85aa1a36b6d7773abfbc2088f9",
"graphics-runs/DY-C/run/dynamic-final-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-ROOT/run/outcome.json": "4308cbf00c96c2c93bd228f5544b5f812c2e12253c59bb52b301e7b73ecd5d7b",
"graphics-runs/OM-ROOT/run/runtime-identity.json": "03e01bcf01b157b42b9d25063fafd3c5133f1e65fc09792012c3f9a527e51f10",
"graphics-runs/OM-ROOT/run/events.jsonl": "c02928d8399b79c3e5252046c08ad783a55ef63504166e48c7253636f74a4b12",
"graphics-runs/OM-ROOT/run/owner.log": "03a5cbe24d52d5c0c8b5404b0854801630de7e535141d3fa0f716b39094225ac",
"graphics-runs/OM-ROOT/run/compositor.log": "451ff086ec386269d3e7d71b4bd538994896203ecef5c5fb80bf6719abc16dd1",
"graphics-runs/OM-ROOT/run/owner-closed-3494749.log": "03a5cbe24d52d5c0c8b5404b0854801630de7e535141d3fa0f716b39094225ac",
"graphics-runs/OM-ROOT/run/reference-closed-3494681.log": "6923db619273958cac59e22d47da665d26f715deaae81438c08858309710169b",
"graphics-runs/OM-ROOT/run/filler0-closed-3494717.log": "fa7754fcaf73f05fda9473ca6cceeca8519118f88cbbceb2e90622cf638b45a0",
"graphics-runs/OM-ROOT/run/H2-reference1.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-ROOT/run/H2-reference2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-ROOT/run/oom-pre-H1.png": "c8d50e1a0e52074bf595a82a56d5db9f1790cf0cfd7e510c32ceceeba4295802",
"graphics-runs/OM-ROOT/run/oom-pre-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-ROOT/run/oom-post-H1.png": "c8d50e1a0e52074bf595a82a56d5db9f1790cf0cfd7e510c32ceceeba4295802",
"graphics-runs/OM-ROOT/run/oom-post-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-ROOT/run/oom-final-H1.png": "b3897b09ce71283b2c2ce13faa09f0431352d8c52c28de21f0cfce376ed66ff9",
"graphics-runs/OM-ROOT/run/oom-final-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-ROOT/run/oom-measurements.json": "63f158c4c0a293d36f2681238b48491b53fdb9a86e18976d7d2a2c391d291833",
"graphics-runs/OM-ROOT/run/oom-availability-live.json": "4015b0b7d366028b360e831100abfdd66d44ebfcd438744f917a09e348ea4968",
"graphics-runs/OM-ROOT/run/oom-rootA-post-input.json": "b5cb544247a8a8a80df6f24b2086a540fdaaadb8551d94964817ab3606a6c0bf",
"graphics-runs/OM-NESTED/run/outcome.json": "287ab59fb71a401df92b43f63976190913c1b4e313624863a2bd87195077294e",
"graphics-runs/OM-NESTED/run/runtime-identity.json": "be908a665bc604fb74e238ebf83583b5c1be93d0d12410e1f368a0004b885042",
"graphics-runs/OM-NESTED/run/events.jsonl": "44a209ed9a5d202460d2f14e93f303e0bd150234b17db3949a49bbd70078b7de",
"graphics-runs/OM-NESTED/run/owner.log": "db671e81532c906361843c0943af4122ff8b97c7657bc175f953f01b7d9afa5c",
"graphics-runs/OM-NESTED/run/compositor.log": "ec3b767b0f015a21cbe54a5d3afae28923e34a87a1418bd64381fe88c8bba18e",
"graphics-runs/OM-NESTED/run/owner-closed-3497605.log": "db671e81532c906361843c0943af4122ff8b97c7657bc175f953f01b7d9afa5c",
"graphics-runs/OM-NESTED/run/reference-closed-3497545.log": "e3fde099dbbb645dd3df20664ae75f2e62688534fdcb67882c9dd07f77064f98",
"graphics-runs/OM-NESTED/run/filler0-closed-3497579.log": "8869d75d7057c1a098d06467f39b0f78e3fadd16fa0ab215db01a1c09bc5bb0d",
"graphics-runs/OM-NESTED/run/H2-reference1.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-NESTED/run/H2-reference2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-NESTED/run/oom-pre-H1.png": "35072322e2a22c1fd73e20c67593080266df0fe42b7b6320808f17fb47f98250",
"graphics-runs/OM-NESTED/run/oom-pre-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-NESTED/run/oom-post-H1.png": "35072322e2a22c1fd73e20c67593080266df0fe42b7b6320808f17fb47f98250",
"graphics-runs/OM-NESTED/run/oom-post-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-NESTED/run/oom-final-H1.png": "b3897b09ce71283b2c2ce13faa09f0431352d8c52c28de21f0cfce376ed66ff9",
"graphics-runs/OM-NESTED/run/oom-final-H2.png": "4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a",
"graphics-runs/OM-NESTED/run/oom-measurements.json": "27852bd2945ad9f9b0cb6aec758ab6d5dfd195a5b604f297c0f7033e56ac2424",
"graphics-runs/OM-NESTED/run/oom-availability-live.json": "301511edc8dd1a8f1df0b62f48c6f24cf8b0f01e9de155c88aea042377e1c522",
"graphics-runs/OM-NESTED/run/oom-rootA-post-input.json": "e5f76ffe982b56eb12e468719723bb6ff298a7da2afb8e30cb8578ceb0052996"
},
"tests_receipt_sha256": "f026a1fa3fe6f2a8471de4ee9693a70a807b3ed79cd52dd26f5651ed52f582b6",
"probe_sha256": "fdcca6d786067f0bd91d3c728e4db7926e23e87c1c104ae3cb8d8295756a7a7d",
"probe_causality": "BOUNDED_PLAUSIBLE_EXPLANATION; original FS errno NOT_OBSERVED",
"offline_revalidation": "PASS raw events, exact RGB, native/wire validators, camera4 stages, closures, availability;6 negative mutations rejected",
"findings": [],
"limitations": [
"ATOMIC_GENERATION NOT_PROVEN",
"COMPLETE_DAMAGE NOT_PROVEN",
"NATIVE_BUFFER_IDENTITY NOT_PROVEN",
"GPU_COMPLETION NOT_PROVEN",
"OOM_PRODUCTION_POLICY UNDECIDED"
],
"notes_sha256": "e87720c5b8f356a8e9449550ea8615606ddde6384f00b936c3b056fa469e2c20",
"reviewer_runtime": "NOT_RUN",
"source_edit": "NOT_RUN",
"commit_push": "NOT_RUN"
}

View file

@ -0,0 +1,306 @@
{
"commands": [
{
"argv": [
"/usr/bin/python",
"-B",
"-m",
"unittest",
"discover",
"-s",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/offline",
"-p",
"test_followup.py",
"-v"
],
"environment": {
"CCACHE_DIR": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/ccache",
"PYTHONPYCACHEPREFIX": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/pycache",
"TEMP": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/scratch",
"TMP": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/scratch",
"TMPDIR": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/scratch",
"XDG_CACHE_HOME": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/cache",
"XDG_DATA_HOME": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/data"
},
"failures": 0,
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/graphics-unittest-final.log",
"log_sha256": "0004a9fefa464ef8eee43158693308273c356e66f98586dffb4e26fd198b28d3",
"rc": 0,
"tests_run": 66
},
{
"argv": [
"/usr/bin/python",
"-B",
"-c",
"import validate_offline; historical_replay(oldLAB/graphics-runs/C7/run)"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/historical-c7-final.log",
"log_sha256": "22b1529be7b3e37c1d64dd78141b35e2bf97745a9b6c4ea24d88dc84f9f3f538",
"negative_stale_camera_rejected": true,
"rc": 0,
"status": "PASS"
},
{
"argv": [
"git",
"diff",
"--check"
],
"log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-delta/git-diff-check.log",
"log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"rc": 0
}
],
"failures": 0,
"gpu_and_native": "NOT_REPEATED_UNCHANGED_PRIOR_VALIDATION",
"historical_C7": {
"inputs": {
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-runs/C7/run/migrated-H2-snapshot.json": "31edf269d83ad461ec6bb1e85402bf517bfea553f6d73eccde583e8943da3b97",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/graphics-runs/C7/run/resized-back-snapshot.json": "21581fe0065e08bbcf9763487530f5498c5db36217ec655075ff59773c0959fe"
},
"negative_stale_camera_rejected": true,
"positive": {
"cell_width": 640,
"children": [
8,
9,
10
],
"clamp": "PASS",
"content_width": 1920,
"expected_scroll": 1120,
"focused": 10,
"gap": 0,
"geometry_status": "IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE",
"max_scroll": 1120,
"min_scroll": 0,
"minimum_width": 640,
"mutation": "migration",
"output": "HEADLESS-2",
"resize_candidate": 800.0,
"scroll": 1120.0,
"viewport": [
0,
0,
800,
600
],
"workspace_id": 6
},
"scope": "historical IPC replay only; no runtime upgrade",
"status": "PASS"
},
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_digest_after": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_digest_before": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"source_files_count": 49,
"source_files_sha256_after": {
"README.md": "3d4e66160ba6191a3ec381f7104b37f8bda6e378f6001110d6048fd79ad25515",
"gpu/README.md": "83e333c6718ef05c9009ac8340c564f39094abb8353393576f9464ea2a70042c",
"gpu/clients-g2.c": "66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7",
"gpu/freeze.py": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"gpu/g2_gl.h": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"gpu/g2_native.h": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"gpu/g3-admission.patch": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"gpu/protocol.py": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"gpu/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"gpu/reproduce.py": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"gpu/scenario.py": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"gpu/test-targeted.py": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"gpu/test_begin.py": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"gpu/test_gl.c": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"gpu/test_mutations.py": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"gpu/test_native.c": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"gpu/test_protocol.py": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"gpu/validate_source.py": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"graphics/README.md": "304c6dc3feaf7d48d7e1bddd0cae427bea8a75fe93a5c027f2defd45c2e9382a",
"graphics/cases.py": "1c5bc411a4fb0572955bdefa5fb67032c682a72788bb92d6d9a390cb7055bcc4",
"graphics/clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"graphics/clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"graphics/clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"graphics/clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"graphics/clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"graphics/clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"graphics/engine.py": "34a322aad76200a4ef497305ad47b6aeff7f3944fbc2500381e50cd9040c2bc4",
"graphics/freeze.py": "d41cf96717341a64c258d418043a5da5fdb35baa244231c5b0fca2199c8e60ca",
"graphics/fullscreen.py": "601388834f049c2baa0d4fee993437b0fe5b024abc6d07ea3bda27e3199b9953",
"graphics/gate.py": "33d2f61d3d75300774185c15c4426fafdbad803bf247718c640649643875b8ee",
"graphics/geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12",
"graphics/gpu_handler.py": "9f8a1cb7bbb0dccea7d84f96bdd2ccdab9937030958c22ca1b996f99e0ab676c",
"graphics/ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352",
"graphics/lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92",
"graphics/model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a",
"graphics/offline/test_followup.py": "8316d7804ef2afe88d6fb6e6ab07410481217d5daab23efbaf399bfb84850df4",
"graphics/oom.py": "bf4a07f0337be34c548a0f1752782b36b684bdf4e249f9f7bf757b4fb47c7607",
"graphics/oom_handler.py": "37c5852ad8e5a084b58ad1a5ae842445096eb104f59059b493687792f3e68d6a",
"graphics/pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5",
"graphics/plans.py": "5fe84f4024aa0a8fa0d17a86343cd15d96131d30df3610094b86cfa0d045374c",
"graphics/predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1",
"graphics/prepare.py": "bf17e0019f5fa56b4c4c3b86d9a92ef1a6d1526fda64741cc2b5b62fc4a7f4a8",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"graphics/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"graphics/run.py": "27891c4e499457bfedceed623679addddb15e722259d976716e268800c72fb8f",
"graphics/validate_offline.py": "15e231eae78e38b38fa0edbec73b2f27440191f7c581f7eb9e4e413113473b1e",
"graphics/validators.py": "a7a19322bfeff1c1122e50f351aebfa46f4b144eb5b795c4389eae5c934e4b1d",
"graphics/wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640"
},
"source_files_sha256_before": {
"README.md": "3d4e66160ba6191a3ec381f7104b37f8bda6e378f6001110d6048fd79ad25515",
"gpu/README.md": "83e333c6718ef05c9009ac8340c564f39094abb8353393576f9464ea2a70042c",
"gpu/clients-g2.c": "66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7",
"gpu/freeze.py": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"gpu/g2_gl.h": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"gpu/g2_native.h": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"gpu/g3-admission.patch": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"gpu/protocol.py": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"gpu/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"gpu/reproduce.py": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"gpu/scenario.py": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"gpu/test-targeted.py": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"gpu/test_begin.py": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"gpu/test_gl.c": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"gpu/test_mutations.py": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"gpu/test_native.c": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"gpu/test_protocol.py": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"gpu/validate_source.py": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"graphics/README.md": "304c6dc3feaf7d48d7e1bddd0cae427bea8a75fe93a5c027f2defd45c2e9382a",
"graphics/cases.py": "1c5bc411a4fb0572955bdefa5fb67032c682a72788bb92d6d9a390cb7055bcc4",
"graphics/clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"graphics/clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"graphics/clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"graphics/clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"graphics/clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"graphics/clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"graphics/engine.py": "34a322aad76200a4ef497305ad47b6aeff7f3944fbc2500381e50cd9040c2bc4",
"graphics/freeze.py": "d41cf96717341a64c258d418043a5da5fdb35baa244231c5b0fca2199c8e60ca",
"graphics/fullscreen.py": "601388834f049c2baa0d4fee993437b0fe5b024abc6d07ea3bda27e3199b9953",
"graphics/gate.py": "33d2f61d3d75300774185c15c4426fafdbad803bf247718c640649643875b8ee",
"graphics/geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12",
"graphics/gpu_handler.py": "9f8a1cb7bbb0dccea7d84f96bdd2ccdab9937030958c22ca1b996f99e0ab676c",
"graphics/ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352",
"graphics/lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92",
"graphics/model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a",
"graphics/offline/test_followup.py": "8316d7804ef2afe88d6fb6e6ab07410481217d5daab23efbaf399bfb84850df4",
"graphics/oom.py": "bf4a07f0337be34c548a0f1752782b36b684bdf4e249f9f7bf757b4fb47c7607",
"graphics/oom_handler.py": "37c5852ad8e5a084b58ad1a5ae842445096eb104f59059b493687792f3e68d6a",
"graphics/pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5",
"graphics/plans.py": "5fe84f4024aa0a8fa0d17a86343cd15d96131d30df3610094b86cfa0d045374c",
"graphics/predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1",
"graphics/prepare.py": "bf17e0019f5fa56b4c4c3b86d9a92ef1a6d1526fda64741cc2b5b62fc4a7f4a8",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"graphics/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"graphics/run.py": "27891c4e499457bfedceed623679addddb15e722259d976716e268800c72fb8f",
"graphics/validate_offline.py": "15e231eae78e38b38fa0edbec73b2f27440191f7c581f7eb9e4e413113473b1e",
"graphics/validators.py": "a7a19322bfeff1c1122e50f351aebfa46f4b144eb5b795c4389eae5c934e4b1d",
"graphics/wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640"
},
"source_modes_after": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"source_modes_before": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"status": "PASS",
"tests_run": 66,
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,43 @@
{
"schema": "independent-postcampaign-offline-delta-review-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"author": "codex-postcampaign-offline-repair",
"independent": true,
"decision": "CORRECTION_REQUIRED",
"manifest_sha256": "f13da7228c0c9f61cdefa23fa80f3dea3322cb8551edb62f459aa69a1ba7c20f",
"source_digest": "96d02f7f90f46fcd4572850b826a894c02d0061f2014d1b2c257c43ed3577897",
"source_files": 50,
"source_modes": "all0644",
"implementation": "ACCEPTED OFFLINE_ONLY",
"tests_run": 73,
"failures": 0,
"skipped": 0,
"tests_log_sha256": "87c65b39ada324e916898340d1db474eaea7b42e88aaef6b3e571b55b75e02c8",
"findings": [
{
"id": "POST-DOC-1",
"severity": "P2",
"file": "gpu/README.md",
"symbol": "Source reconstruction and offline commands",
"line": 103,
"exact_requirement": "Parent bounded review explicitly requires README commands usable with SMX_LAB/TMPDIR and seven private temp/cache variables; new helper must be replayable from source kit",
"evidence": "New test_tmpdir.py reads os.environ[SMX_LAB], while README env-i example sets the seven temp/cache variables but no SMX_LAB; documented test-targeted.py does not invoke test_tmpdir.py and no README command names the new test. Following documented checks does not exercise the new repair; directly adding its command to the shown env fails missing SMX_LAB.",
"smallest_correction": "Add a bounded OFFLINE_ONLY command block exporting SMX_LAB=$LAB and all seven temp/cache vars, then python -B test_tmpdir.py (and graphics identity tests as appropriate). State exact extracted C-helper scope and no client/Wayland runtime, budget closed. No source implementation change needed."
}
],
"gpu_freeze_sha256": "230f131aae824dfafb938f38f77aad08d225ea2fa5496ee65a3b45f3062e8df1",
"tester_receipt_sha256": "5905e2002041148d7a104e195132f56c8b4152952547be4ed0985da4eacc3852",
"repair_receipt_sha256": "eae6bb85b21cbd6876e8340384314c21749040cadad89b313eae4b2d9bf7e7a4",
"historical_executed_source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"historical_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"ledger_sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c",
"old_client_sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"new_offline_only_client_sha256": "bfc7d47596d5f69b68cd7000e257c7819949081ee7c6d66635eb9accf9ad7f36",
"historical_G3_binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"previous_result_reviews": "UNCHANGED",
"native_runtime_qualification": "NOT_RUN",
"new_runtime_authorized": false,
"reviewer_actions": "offline tests and exclusive review artifacts only; no source edits/buildMeson/stage/Gitmutation",
"notes_sha256": "4df662538ff6faea30d16934ebd27830a3c055441e724e4e159919820712531a"
}

View file

@ -0,0 +1,40 @@
{
"schema": "independent-postcampaign-doc-recheck-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"author": "codex-postcampaign-offline-repair",
"independent": true,
"decision": "ACCEPTED",
"scope": "POST-DOC-1 only; all code/tests unchanged from already reviewed postcampaign delta",
"manifest_sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080",
"source_digest": "14e24501658f1c4c29e7d8c06db71ed07a77b8e80e283453420bbc5b3e2f03c8",
"gpu_freeze_sha256": "a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb",
"source_files": 50,
"source_modes": "all0644",
"changed_since_previous_freeze": [
"gpu/README.md"
],
"closed_findings": [
"POST-DOC-1"
],
"findings": [],
"previous_manifest_sha256": "f13da7228c0c9f61cdefa23fa80f3dea3322cb8551edb62f459aa69a1ba7c20f",
"previous_review_sha256": "bc188f87b012c8acdb5c5a8cdb4ca7db0f0266d9597d6c170ec24ba7615d5afa",
"tests": {
"previous_tests_run": 73,
"previous_failures": 0,
"reexecuted_this_recheck": false,
"basis": "code/test byte equality; prior independent73PASS",
"tester_receipt_sha256": "5905e2002041148d7a104e195132f56c8b4152952547be4ed0985da4eacc3852"
},
"README_command": "PASS explicit env-i SMX_LAB plus seven private temp/cache vars and python-B test_tmpdir.py; exact helper-only scope",
"ledger_sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c",
"historical_runtime_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"historical_result_reviews": "UNCHANGED",
"runtime": "NOT_RUN",
"admission": "NOT_AUTHORIZED",
"source_edit": "NOT_RUN",
"build_stage": "NOT_RUN",
"git_mutation": "NOT_RUN",
"notes_sha256": "a8c957daca696345e055f353235149233f2447206d3b6c1dbef86d2133e6d34e"
}

View file

@ -0,0 +1,86 @@
{
"schema": "G3-relative-source-freeze-v1",
"status": "EXPERIMENTAL_SOURCE_ONLY",
"review": "PENDING_INDEPENDENT",
"build": "NOT_RUN",
"runtime": "NOT_RUN",
"no_inherited_G2_qualification": true,
"files": {
"README.md": {
"sha256": "c297ae81c497bd5ed1704a1f9a0a8302e1010b5da956e2cba54a7692f04f491a",
"mode": "0o644"
},
"clients-g2.c": {
"sha256": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf",
"mode": "0o644"
},
"freeze.py": {
"sha256": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"mode": "0o644"
},
"g2_gl.h": {
"sha256": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"mode": "0o644"
},
"g2_native.h": {
"sha256": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"mode": "0o644"
},
"g3-admission.patch": {
"sha256": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"mode": "0o644"
},
"protocol.py": {
"sha256": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"mode": "0o644"
},
"protocols/wlr-layer-shell-unstable-v1.xml": {
"sha256": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"mode": "0o644"
},
"protocols/xdg-shell.xml": {
"sha256": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"mode": "0o644"
},
"reproduce.py": {
"sha256": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"mode": "0o644"
},
"scenario.py": {
"sha256": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"mode": "0o644"
},
"test-targeted.py": {
"sha256": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"mode": "0o644"
},
"test_begin.py": {
"sha256": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"mode": "0o644"
},
"test_gl.c": {
"sha256": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"mode": "0o644"
},
"test_mutations.py": {
"sha256": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"mode": "0o644"
},
"test_native.c": {
"sha256": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"mode": "0o644"
},
"test_protocol.py": {
"sha256": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"mode": "0o644"
},
"test_tmpdir.py": {
"sha256": "6326f087c3f03f33b5c525bbd82381b94b13d4cbcfad5347bcf25d79c02cdc6d",
"mode": "0o644"
},
"validate_source.py": {
"sha256": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"mode": "0o644"
}
}
}

View file

@ -0,0 +1,86 @@
{
"schema": "G3-relative-source-freeze-v1",
"status": "EXPERIMENTAL_SOURCE_ONLY",
"review": "PENDING_INDEPENDENT",
"build": "NOT_RUN",
"runtime": "NOT_RUN",
"no_inherited_G2_qualification": true,
"files": {
"README.md": {
"sha256": "a569fad78ed04658aed422c6acac529e17cdb8c7179042561acaaf244d531981",
"mode": "0o644"
},
"clients-g2.c": {
"sha256": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf",
"mode": "0o644"
},
"freeze.py": {
"sha256": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"mode": "0o644"
},
"g2_gl.h": {
"sha256": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"mode": "0o644"
},
"g2_native.h": {
"sha256": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"mode": "0o644"
},
"g3-admission.patch": {
"sha256": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"mode": "0o644"
},
"protocol.py": {
"sha256": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"mode": "0o644"
},
"protocols/wlr-layer-shell-unstable-v1.xml": {
"sha256": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"mode": "0o644"
},
"protocols/xdg-shell.xml": {
"sha256": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"mode": "0o644"
},
"reproduce.py": {
"sha256": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"mode": "0o644"
},
"scenario.py": {
"sha256": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"mode": "0o644"
},
"test-targeted.py": {
"sha256": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"mode": "0o644"
},
"test_begin.py": {
"sha256": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"mode": "0o644"
},
"test_gl.c": {
"sha256": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"mode": "0o644"
},
"test_mutations.py": {
"sha256": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"mode": "0o644"
},
"test_native.c": {
"sha256": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"mode": "0o644"
},
"test_protocol.py": {
"sha256": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"mode": "0o644"
},
"test_tmpdir.py": {
"sha256": "6326f087c3f03f33b5c525bbd82381b94b13d4cbcfad5347bcf25d79c02cdc6d",
"mode": "0o644"
},
"validate_source.py": {
"sha256": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"mode": "0o644"
}
}
}

View file

@ -0,0 +1,207 @@
{
"client_execution": "NOT_RUN",
"generated_source_artifacts": [],
"git_checks": [
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"diff",
"--check"
],
"name": "git-diff-check",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/git-diff-check.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/git-diff-check.stdout",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"status",
"--short",
"--branch"
],
"name": "git-status",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/git-status.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/git-status.stdout",
"stdout_sha256": "e24e148aea3e1c3a0b3fb8d27e6033f4b5b6ddeff78f1867df6df9f9320fc922"
}
],
"gpu_v4_freeze_sha256": "230f131aae824dfafb938f38f77aad08d225ea2fa5496ee65a3b45f3062e8df1",
"headless_ipc": "NOT_RUN",
"historical_bindings": {
"gpu_v4_freeze_sha256": {
"path": "g3-source-freeze-v4-postcampaign.json",
"sha256": "230f131aae824dfafb938f38f77aad08d225ea2fa5496ee65a3b45f3062e8df1"
},
"historical_g3_binary_sha256": {
"path": "builds/g3-mosaic/sway/swayfx-mosaic",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658"
},
"ledger_sha256": {
"path": "native-closure-budget.json",
"sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c"
},
"new_offline_gpu_client_sha256": {
"path": "postcampaign-repair/client-build/clients-g2-offline-only",
"sha256": "bfc7d47596d5f69b68cd7000e257c7819949081ee7c6d66635eb9accf9ad7f36"
},
"old_gpu_client_sha256": {
"path": "gpu-client-guard/clients-g2",
"sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4"
},
"postcampaign_repair_receipt_sha256": {
"path": "postcampaign-repair/receipt.json",
"sha256": "eae6bb85b21cbd6876e8340384314c21749040cadad89b313eae4b2d9bf7e7a4"
},
"source_manifest_v2_sha256": {
"path": "followup-work/source-manifest-v2.json",
"sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
}
},
"independent_review": "NOT_PROVEN",
"ledger": {
"capture_actions": 32,
"capture_limit": 110,
"mutated": false,
"runs": [
{
"id": "FS-P",
"status": "COMPLETED"
},
{
"id": "DY-C",
"status": "COMPLETED"
},
{
"id": "OM-ROOT",
"status": "COMPLETED"
},
{
"id": "OM-NESTED",
"status": "COMPLETED"
},
{
"id": "GPU-G3",
"status": "COMPLETED"
}
],
"runs_count": 5,
"sha256_before_after": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c"
},
"meson_build": "NOT_RUN",
"new_client_executed": false,
"new_client_sha256": "bfc7d47596d5f69b68cd7000e257c7819949081ee7c6d66635eb9accf9ad7f36",
"production_authorized": false,
"qualification": "offline tests do not qualify native runtime; fullscreen identity guard remains mandatory and fail-closed",
"runtime": "NOT_RUN",
"scope": "POSTCAMPAIGN_OFFLINE_ONLY",
"source_before_after_identical": true,
"source_digest": "96d02f7f90f46fcd4572850b826a894c02d0061f2014d1b2c257c43ed3577897",
"source_file_count": 50,
"source_manifest": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v3-postcampaign.json",
"source_manifest_sha256": "f13da7228c0c9f61cdefa23fa80f3dea3322cb8551edb62f459aa69a1ba7c20f",
"source_modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/test_tmpdir.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"stage": "NOT_RUN",
"status": "PASS",
"tests": {
"commands": [
{
"argv": [
"python3",
"-B",
"-m",
"unittest",
"discover",
"-s",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/offline",
"-p",
"test_followup.py",
"-v"
],
"name": "graphics-offline",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/graphics-offline.stderr",
"stderr_sha256": "faea7a2f98c2c64681ea3d21bfd3afedde778525d7c1d3182c876513d4411d61",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/graphics-offline.stdout",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"python3",
"-B",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/test_tmpdir.py"
],
"name": "gpu-tmpdir-c17",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/gpu-tmpdir-c17.stderr",
"stderr_sha256": "e45ba36d4cce054829f9b600b5473216b610891c4ad62da430316c662aaad084",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/tester-postcampaign/gpu-tmpdir-c17.stdout",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
],
"failures": 0,
"gpu_tmpdir_c17": 4,
"graphics_offline": 69,
"tests_run": 73
},
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,309 @@
{
"commands": [
{
"argv": [
"wayland-scanner",
"client-header",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/xdg-shell-client.h"
],
"name": "xdg-shell-header",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"wayland-scanner",
"private-code",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/protocols/xdg-shell.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/xdg-shell-protocol.c"
],
"name": "xdg-shell-code",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"wayland-scanner",
"client-header",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/layer-shell-client.h"
],
"name": "layer-shell-header",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"wayland-scanner",
"private-code",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/protocols/wlr-layer-shell-unstable-v1.xml",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/layer-shell-protocol.c"
],
"name": "layer-shell-code",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"pkg-config",
"--cflags",
"--libs",
"wayland-client"
],
"name": "wayland-pkgconfig",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "daeb877303c6117ce9622ed510740569c724d685d27e3401d358afb0ab932236"
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build",
"-fsyntax-only",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c",
"-lwayland-client",
"-lm"
],
"name": "client-syntax",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
"-I",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/xdg-shell-protocol.c",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/layer-shell-protocol.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/clients-g2-offline-only",
"-lwayland-client",
"-lm"
],
"name": "client-compile",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"diff",
"--check"
],
"name": "diff-check",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"status",
"--short",
"--branch"
],
"name": "git-status",
"rc": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout_sha256": "e24e148aea3e1c3a0b3fb8d27e6033f4b5b6ddeff78f1867df6df9f9320fc922"
}
],
"commit": "NOT_RUN",
"deltas": {
"README.md": {
"after": "fce1ac7d7a430d94654270b88775b8720f8c5caf998f2320dd9e55c48c486b7f",
"before": "3d4e66160ba6191a3ec381f7104b37f8bda6e378f6001110d6048fd79ad25515"
},
"gpu/README.md": {
"after": "a569fad78ed04658aed422c6acac529e17cdb8c7179042561acaaf244d531981",
"before": "83e333c6718ef05c9009ac8340c564f39094abb8353393576f9464ea2a70042c"
},
"gpu/clients-g2.c": {
"after": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf",
"before": "66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7"
},
"gpu/test_tmpdir.py": {
"after": "6326f087c3f03f33b5c525bbd82381b94b13d4cbcfad5347bcf25d79c02cdc6d",
"before": null
},
"graphics/engine.py": {
"after": "defb24b3ffb1973aefeda1928a59455bf3f8586b4bee209d118f9db8e17d8479",
"before": "34a322aad76200a4ef497305ad47b6aeff7f3944fbc2500381e50cd9040c2bc4"
},
"graphics/offline/test_followup.py": {
"after": "7d3fdd228651960b044f82d863eebede181da791e3f7ceab7a2194d7d3cee10f",
"before": "8316d7804ef2afe88d6fb6e6ab07410481217d5daab23efbaf399bfb84850df4"
}
},
"headless": "NOT_RUN",
"historical_inputs": {
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/gpu-client-guard/clients-g2": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/native-closure-budget.json": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c"
},
"historical_inputs_unchanged": true,
"ledger_unchanged": true,
"meson_build": "NOT_RUN",
"new_client": {
"executed": false,
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/client-build/clients-g2-offline-only",
"sha256": "bfc7d47596d5f69b68cd7000e257c7819949081ee7c6d66635eb9accf9ad7f36",
"source_sha256": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf"
},
"push": "NOT_RUN",
"runtime": "NOT_RUN",
"scope": "POSTCAMPAIGN_OFFLINE_ONLY; no run authorized",
"source_digest_after": "96d02f7f90f46fcd4572850b826a894c02d0061f2014d1b2c257c43ed3577897",
"source_digest_before": "96d02f7f90f46fcd4572850b826a894c02d0061f2014d1b2c257c43ed3577897",
"source_files": {
"README.md": "fce1ac7d7a430d94654270b88775b8720f8c5caf998f2320dd9e55c48c486b7f",
"gpu/README.md": "a569fad78ed04658aed422c6acac529e17cdb8c7179042561acaaf244d531981",
"gpu/clients-g2.c": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf",
"gpu/freeze.py": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"gpu/g2_gl.h": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"gpu/g2_native.h": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"gpu/g3-admission.patch": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"gpu/protocol.py": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"gpu/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"gpu/reproduce.py": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"gpu/scenario.py": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"gpu/test-targeted.py": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"gpu/test_begin.py": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"gpu/test_gl.c": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"gpu/test_mutations.py": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"gpu/test_native.c": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"gpu/test_protocol.py": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"gpu/test_tmpdir.py": "6326f087c3f03f33b5c525bbd82381b94b13d4cbcfad5347bcf25d79c02cdc6d",
"gpu/validate_source.py": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"graphics/README.md": "304c6dc3feaf7d48d7e1bddd0cae427bea8a75fe93a5c027f2defd45c2e9382a",
"graphics/cases.py": "1c5bc411a4fb0572955bdefa5fb67032c682a72788bb92d6d9a390cb7055bcc4",
"graphics/clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"graphics/clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"graphics/clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"graphics/clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"graphics/clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"graphics/clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"graphics/engine.py": "defb24b3ffb1973aefeda1928a59455bf3f8586b4bee209d118f9db8e17d8479",
"graphics/freeze.py": "d41cf96717341a64c258d418043a5da5fdb35baa244231c5b0fca2199c8e60ca",
"graphics/fullscreen.py": "601388834f049c2baa0d4fee993437b0fe5b024abc6d07ea3bda27e3199b9953",
"graphics/gate.py": "33d2f61d3d75300774185c15c4426fafdbad803bf247718c640649643875b8ee",
"graphics/geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12",
"graphics/gpu_handler.py": "9f8a1cb7bbb0dccea7d84f96bdd2ccdab9937030958c22ca1b996f99e0ab676c",
"graphics/ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352",
"graphics/lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92",
"graphics/model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a",
"graphics/offline/test_followup.py": "7d3fdd228651960b044f82d863eebede181da791e3f7ceab7a2194d7d3cee10f",
"graphics/oom.py": "bf4a07f0337be34c548a0f1752782b36b684bdf4e249f9f7bf757b4fb47c7607",
"graphics/oom_handler.py": "37c5852ad8e5a084b58ad1a5ae842445096eb104f59059b493687792f3e68d6a",
"graphics/pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5",
"graphics/plans.py": "5fe84f4024aa0a8fa0d17a86343cd15d96131d30df3610094b86cfa0d045374c",
"graphics/predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1",
"graphics/prepare.py": "bf17e0019f5fa56b4c4c3b86d9a92ef1a6d1526fda64741cc2b5b62fc4a7f4a8",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"graphics/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"graphics/run.py": "27891c4e499457bfedceed623679addddb15e722259d976716e268800c72fb8f",
"graphics/validate_offline.py": "15e231eae78e38b38fa0edbec73b2f27440191f7c581f7eb9e4e413113473b1e",
"graphics/validators.py": "a7a19322bfeff1c1122e50f351aebfa46f4b144eb5b795c4389eae5c934e4b1d",
"graphics/wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640"
},
"source_freeze": "NOT_WRITTEN; parent owns new freeze/review",
"source_modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/test_tmpdir.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"stage": "NOT_RUN",
"status": "PASS",
"tests": {
"errors": 0,
"failures": 0,
"harness_compile_argv": [
"cc",
"-std=c17",
"-O2",
"-Wall",
"-Wextra",
"-Werror",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/scratch/g3-path-uwd7gg9m/guard.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/postcampaign-repair/scratch/g3-path-uwd7gg9m/guard"
],
"run": 73,
"skips": 0,
"status": "PASS"
}
}

View file

@ -0,0 +1,575 @@
{
"author": "codex-postcampaign-offline-repair",
"files": {
"README.md": "fce1ac7d7a430d94654270b88775b8720f8c5caf998f2320dd9e55c48c486b7f",
"gpu/README.md": "c297ae81c497bd5ed1704a1f9a0a8302e1010b5da956e2cba54a7692f04f491a",
"gpu/clients-g2.c": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf",
"gpu/freeze.py": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"gpu/g2_gl.h": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"gpu/g2_native.h": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"gpu/g3-admission.patch": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"gpu/protocol.py": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"gpu/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"gpu/reproduce.py": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"gpu/scenario.py": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"gpu/test-targeted.py": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"gpu/test_begin.py": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"gpu/test_gl.c": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"gpu/test_mutations.py": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"gpu/test_native.c": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"gpu/test_protocol.py": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"gpu/test_tmpdir.py": "6326f087c3f03f33b5c525bbd82381b94b13d4cbcfad5347bcf25d79c02cdc6d",
"gpu/validate_source.py": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"graphics/README.md": "304c6dc3feaf7d48d7e1bddd0cae427bea8a75fe93a5c027f2defd45c2e9382a",
"graphics/cases.py": "1c5bc411a4fb0572955bdefa5fb67032c682a72788bb92d6d9a390cb7055bcc4",
"graphics/clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"graphics/clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"graphics/clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"graphics/clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"graphics/clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"graphics/clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"graphics/engine.py": "defb24b3ffb1973aefeda1928a59455bf3f8586b4bee209d118f9db8e17d8479",
"graphics/freeze.py": "d41cf96717341a64c258d418043a5da5fdb35baa244231c5b0fca2199c8e60ca",
"graphics/fullscreen.py": "601388834f049c2baa0d4fee993437b0fe5b024abc6d07ea3bda27e3199b9953",
"graphics/gate.py": "33d2f61d3d75300774185c15c4426fafdbad803bf247718c640649643875b8ee",
"graphics/geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12",
"graphics/gpu_handler.py": "9f8a1cb7bbb0dccea7d84f96bdd2ccdab9937030958c22ca1b996f99e0ab676c",
"graphics/ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352",
"graphics/lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92",
"graphics/model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a",
"graphics/offline/test_followup.py": "7d3fdd228651960b044f82d863eebede181da791e3f7ceab7a2194d7d3cee10f",
"graphics/oom.py": "bf4a07f0337be34c548a0f1752782b36b684bdf4e249f9f7bf757b4fb47c7607",
"graphics/oom_handler.py": "37c5852ad8e5a084b58ad1a5ae842445096eb104f59059b493687792f3e68d6a",
"graphics/pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5",
"graphics/plans.py": "5fe84f4024aa0a8fa0d17a86343cd15d96131d30df3610094b86cfa0d045374c",
"graphics/predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1",
"graphics/prepare.py": "bf17e0019f5fa56b4c4c3b86d9a92ef1a6d1526fda64741cc2b5b62fc4a7f4a8",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"graphics/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"graphics/run.py": "27891c4e499457bfedceed623679addddb15e722259d976716e268800c72fb8f",
"graphics/validate_offline.py": "15e231eae78e38b38fa0edbec73b2f27440191f7c581f7eb9e4e413113473b1e",
"graphics/validators.py": "a7a19322bfeff1c1122e50f351aebfa46f4b144eb5b795c4389eae5c934e4b1d",
"graphics/wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640"
},
"independent_review": "NOT_PROVEN",
"limits": {
"captures": 110,
"captures_per_run": 18,
"duration_s": 150,
"runs": 8
},
"modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/test_tmpdir.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"plans": {
"DY-C": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "core",
"boundary": 0,
"capture_limit": 16,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "DY-C",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
},
"FS-C": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "core",
"boundary": 0,
"capture_limit": 16,
"client": "fullscreen-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "FS-C",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "fullscreen_cross"
},
"FS-P": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "pristine",
"boundary": 0,
"capture_limit": 12,
"client": "fullscreen-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "FS-P",
"mode": "pristine",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "fullscreen_cross"
},
"GPU-CTRL": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "gpu",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "GPU-CTRL",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "B4 and separately reviewed GPU adapter required"
},
"GPU-G3": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "gpu",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "GPU-G3",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "B4 and separately reviewed GPU adapter required"
},
"OM-EXTRA": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-EXTRA",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "Distinct question, handler and additional independent review required"
},
"OM-NESTED": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 10,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-NESTED",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
},
"OM-ROOT": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 10,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-ROOT",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
}
},
"runtime": "NOT_RUN",
"schema": "native-closure-source-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,575 @@
{
"author": "codex-postcampaign-offline-repair",
"files": {
"README.md": "fce1ac7d7a430d94654270b88775b8720f8c5caf998f2320dd9e55c48c486b7f",
"gpu/README.md": "a569fad78ed04658aed422c6acac529e17cdb8c7179042561acaaf244d531981",
"gpu/clients-g2.c": "633bb3bea0eefc40bc87647edb3d550bceefef9b319b302e893ebd225e79addf",
"gpu/freeze.py": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"gpu/g2_gl.h": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"gpu/g2_native.h": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"gpu/g3-admission.patch": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"gpu/protocol.py": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"gpu/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"gpu/reproduce.py": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"gpu/scenario.py": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"gpu/test-targeted.py": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"gpu/test_begin.py": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"gpu/test_gl.c": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"gpu/test_mutations.py": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"gpu/test_native.c": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"gpu/test_protocol.py": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"gpu/test_tmpdir.py": "6326f087c3f03f33b5c525bbd82381b94b13d4cbcfad5347bcf25d79c02cdc6d",
"gpu/validate_source.py": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"graphics/README.md": "304c6dc3feaf7d48d7e1bddd0cae427bea8a75fe93a5c027f2defd45c2e9382a",
"graphics/cases.py": "1c5bc411a4fb0572955bdefa5fb67032c682a72788bb92d6d9a390cb7055bcc4",
"graphics/clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"graphics/clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"graphics/clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"graphics/clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"graphics/clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"graphics/clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"graphics/engine.py": "defb24b3ffb1973aefeda1928a59455bf3f8586b4bee209d118f9db8e17d8479",
"graphics/freeze.py": "d41cf96717341a64c258d418043a5da5fdb35baa244231c5b0fca2199c8e60ca",
"graphics/fullscreen.py": "601388834f049c2baa0d4fee993437b0fe5b024abc6d07ea3bda27e3199b9953",
"graphics/gate.py": "33d2f61d3d75300774185c15c4426fafdbad803bf247718c640649643875b8ee",
"graphics/geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12",
"graphics/gpu_handler.py": "9f8a1cb7bbb0dccea7d84f96bdd2ccdab9937030958c22ca1b996f99e0ab676c",
"graphics/ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352",
"graphics/lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92",
"graphics/model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a",
"graphics/offline/test_followup.py": "7d3fdd228651960b044f82d863eebede181da791e3f7ceab7a2194d7d3cee10f",
"graphics/oom.py": "bf4a07f0337be34c548a0f1752782b36b684bdf4e249f9f7bf757b4fb47c7607",
"graphics/oom_handler.py": "37c5852ad8e5a084b58ad1a5ae842445096eb104f59059b493687792f3e68d6a",
"graphics/pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5",
"graphics/plans.py": "5fe84f4024aa0a8fa0d17a86343cd15d96131d30df3610094b86cfa0d045374c",
"graphics/predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1",
"graphics/prepare.py": "bf17e0019f5fa56b4c4c3b86d9a92ef1a6d1526fda64741cc2b5b62fc4a7f4a8",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"graphics/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"graphics/run.py": "27891c4e499457bfedceed623679addddb15e722259d976716e268800c72fb8f",
"graphics/validate_offline.py": "15e231eae78e38b38fa0edbec73b2f27440191f7c581f7eb9e4e413113473b1e",
"graphics/validators.py": "a7a19322bfeff1c1122e50f351aebfa46f4b144eb5b795c4389eae5c934e4b1d",
"graphics/wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640"
},
"independent_review": "NOT_PROVEN",
"limits": {
"captures": 110,
"captures_per_run": 18,
"duration_s": 150,
"runs": 8
},
"modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/test_tmpdir.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"plans": {
"DY-C": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "core",
"boundary": 0,
"capture_limit": 16,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "DY-C",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
},
"FS-C": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "core",
"boundary": 0,
"capture_limit": 16,
"client": "fullscreen-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "FS-C",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "fullscreen_cross"
},
"FS-P": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "pristine",
"boundary": 0,
"capture_limit": 12,
"client": "fullscreen-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "FS-P",
"mode": "pristine",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "fullscreen_cross"
},
"GPU-CTRL": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "gpu",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "GPU-CTRL",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "B4 and separately reviewed GPU adapter required"
},
"GPU-G3": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "gpu",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "GPU-G3",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "B4 and separately reviewed GPU adapter required"
},
"OM-EXTRA": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-EXTRA",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "Distinct question, handler and additional independent review required"
},
"OM-NESTED": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 10,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-NESTED",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
},
"OM-ROOT": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 10,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-ROOT",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
}
},
"runtime": "NOT_RUN",
"schema": "native-closure-source-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,598 @@
{
"G3_stage": {
"binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"file_count": 5,
"matches_receipt": true
},
"builds_rerun": 0,
"checks": [
{
"detail": {
"bytes_hashed": 721484458,
"closeout_sha256": "4411aa97a16996e70f97f91e67adb0484a1759509e153a008dcee0f640504b59",
"entries": 19612,
"extra": 0,
"manifest_sha256": "f16c6bfa4bbd46474193401c64521d05240a52fc2d2bfe050875a6881407626a",
"max_file_bytes": 19937280,
"mismatches": 0,
"missing": 0,
"types": {
"fifo": 1,
"file": 19594,
"symlink": 17
}
},
"name": "old_lab_manifest_all_19612_entries",
"status": "PASS"
},
{
"detail": {
"count": 316,
"mismatches": []
},
"name": "protected_hashes_316",
"status": "PASS"
},
{
"detail": {
"files": 50,
"manifest_sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080",
"mode_set": [
"0o644"
],
"source_digest": "14e24501658f1c4c29e7d8c06db71ed07a77b8e80e283453420bbc5b3e2f03c8"
},
"name": "final_source_freeze_50_files",
"status": "PASS"
},
{
"detail": {
"decision": "ACCEPTED",
"delta": [
"gpu/README.md"
],
"gpu_freeze_sha256": "a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb",
"prior_failures": 0,
"prior_tests_run": 73,
"review_sha256": "4d459c0963c6535a404bfaa68d11dff0cf738e2d21167c148c12315e954ffe86"
},
"name": "doc_only_delta_independent_recheck",
"status": "PASS"
},
{
"detail": {
"identities": {
"core": {
"expected": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"match": true,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic",
"sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb"
},
"gpu": {
"expected": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"match": true,
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658"
},
"oom": {
"expected": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"match": true,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835"
},
"pristine": {
"expected": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"match": true,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway",
"sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6"
}
},
"mismatches": []
},
"name": "historical_core_oom_pristine_g3_binaries",
"status": "PASS"
},
{
"detail": {
"pristine_scene": {
"expected": "63586ffbe268c6830b5782d5327e8ca3624dbd9b9c9b0e93e591e94ca28a6e62",
"match": true,
"path": "/usr/lib/libscenefx-0.5.so",
"sha256": "63586ffbe268c6830b5782d5327e8ca3624dbd9b9c9b0e93e591e94ca28a6e62"
},
"wlroots": {
"expected": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"match": true,
"path": "/usr/lib/libwlroots-0.20.so",
"sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
}
},
"name": "pristine_scene_and_wlroots",
"status": "PASS"
},
{
"detail": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"name": "historical_gpu_client",
"status": "PASS"
},
{
"detail": {
"core_commands": 14,
"core_sha256": "0a8b9b0177cd22877130903210a8a39852fa7c539f88db999ca91e9ba67af18b",
"core_status": "PASS_BOUNDED",
"oom_commands": 44,
"oom_sha256": "fa980c65859cc590ecc6a36d580ef77bfb70dcd6c42320753c577910236b5384",
"oom_status": "PASS_BOUNDED"
},
"name": "offline_core_oom_receipts",
"status": "PASS"
},
{
"detail": {
"captures": 32,
"limits": {
"captures": 110,
"captures_per_run": 18,
"duration_s": 150,
"runs": 8
},
"operations": [
{
"continuations": [
{
"authorization": "parent explicit same reserved pair continuation; original FAIL retained",
"finished_monotonic_ns": 327835502157972,
"id": "same-pair-argument-repair",
"receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/receipt.json",
"reserved_monotonic_ns": 327815215522156,
"state": "PASS"
}
],
"failure": "SceneFX Meson setup rc=1: Could not get define EGL_EGLEXT_VERSION",
"finished_monotonic_ns": 327600914563309,
"id": "G3_BUILD_PAIR",
"mosaic_builds": 1,
"reserved_monotonic_ns": 327510465794426,
"scene_builds": 1,
"setup_retried": false,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"state": "FAIL"
},
{
"destination": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/stage-g3",
"finished_monotonic_ns": 327835502199749,
"id": "G3_DESTDIR",
"reserved_monotonic_ns": 327834532865939,
"state": "PASS"
}
],
"runs": 5,
"sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c",
"violations": []
},
"name": "ledger_runs_caps_and_G3_pair",
"status": "PASS"
},
{
"detail": {
"binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"files": 5,
"mismatches": []
},
"name": "G3_stage_exact_five",
"status": "PASS"
},
{
"detail": {
"pids_checked": 267,
"residual_pids": [],
"residual_runtimes": [],
"runtime_paths_absent": {
"/tmp/smx-gkdlhcvk": true,
"/tmp/smx-insrpz6u": true,
"/tmp/smx-it7zqf9a": true,
"/tmp/smx-ndlyp6ct": true,
"/tmp/smx-vly7lmrg": true
},
"sha256": "8053a9a21a910432aea9dde8fc344d11dfa34485747d46c49a2cdb962760ce92"
},
"name": "267_owned_PIDs_and_runtimes",
"status": "PASS"
},
{
"detail": {
"bad": [],
"count": 33
},
"name": "public_JSON_parse_and_modes",
"status": "PASS"
},
{
"detail": {
"existing_ignored_artifact_counts": {
".a": 3,
".o": 538,
"pycache": 13
},
"ignored_count": 554,
"kit_generated": [],
"large_files": [],
"observed_artifacts": 554,
"temp_candidates": [],
"top_level": {
"build-baseline": 286,
"build-mosaic": 255,
"tooling": 13
},
"tracked_artifacts": []
},
"name": "versionable_tree_artifact_scope",
"status": "PASS"
},
{
"detail": {
"free_bytes": 277253046272,
"free_min": 21474836480,
"lab_bytes_before_receipt": 231149356,
"lab_max": 9663676416,
"old_lab_bytes_final": 726154900
},
"name": "storage_bounds",
"status": "PASS"
},
{
"detail": {
"returncode": 0,
"stderr": ""
},
"name": "git-diff-check",
"status": "PASS"
},
{
"detail": {
"returncode": 0,
"stderr": ""
},
"name": "git-status",
"status": "PASS"
}
],
"commands": [
{
"argv": [
"python3",
"-B",
"-"
],
"bytes_hashed": 721484458,
"entries": 19612,
"name": "old_LAB_manifest_stream_verification",
"returncode": 0
},
{
"argv": [
"python3",
"-B",
"-"
],
"name": "source_freeze_review_and_historical_bindings",
"returncode": 0,
"source_files": 50
},
{
"argv": [
"python3",
"-B",
"-"
],
"name": "protected_316_and_system_audit",
"owned_pids_checked": 267,
"protected_files": 316,
"returncode": 0
},
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"ls-files",
"-z"
],
"name": "git_ls_files_inventory",
"returncode": 0,
"tracked_generated_artifacts": 0,
"tracked_paths": 1115
},
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"diff",
"--check"
],
"name": "git-diff-check",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/pre-freeze-validation/git-diff-check-final.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/pre-freeze-validation/git-diff-check-final.stdout",
"stdout_excerpt": "",
"stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"argv": [
"git",
"-C",
"/home/fy59/Documents/Development/swayfx-mosaic",
"status",
"--short",
"--branch"
],
"name": "git-status",
"returncode": 0,
"stderr": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/pre-freeze-validation/git-status-final.stderr",
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"stdout": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/pre-freeze-validation/git-status-final.stdout",
"stdout_excerpt": "## main...origin/main\n M CHANGELOG.md\n M docs/ARCHITECTURE.md\n M docs/KNOWN_LIMITATIONS.md\n M docs/README.md\n M docs/ROADMAP.md\n M tooling/probes/step20c-corec-v2-followup/README.md\n M tooling/probes/step20c-corec-v2-followup/gpu/README.md\n M tooling/probes/step20c-corec-v2-followup/gpu/clients-g2.c\n M tooling/probes/step20c-corec-v2-followup/graphics/engine.py\n M tooling/probes/step20c-corec-v2-followup/graphics/offline/test_followup.py\n?? docs/design/STEP20C_COREC_V2_FULLSCREEN_COMPARATIVE_GATE.md\n?? docs/design/STEP20C_COREC_V2_INTEGRATION_DECISION_V4.md\n?? docs/design/STEP20C_COREC_V2_MIGRATION_REFOCUS_GATE.md\n?? docs/design/STEP20C_COREC_V2_NATIVE_OOM_COMPLETION.md\n?? docs/design/STEP20C_GLES_CONTEXT_READBACK_FOLLOWUP.md\n?? docs/design/evidence/\n?? tooling/probes/step20c-corec-v2-followup/gpu/test_tmpdir.py\n",
"stdout_sha256": "dcb62c61ce158b2c4f0d315b7027d63bc9d0da2acdb45ec49a8e77c7f2e32e51"
}
],
"current_source": {
"changed_from_tested_v3": [
"gpu/README.md"
],
"code_and_tests_unchanged": true,
"doc_recheck_decision": "ACCEPTED",
"doc_recheck_sha256": "4d459c0963c6535a404bfaa68d11dff0cf738e2d21167c148c12315e954ffe86",
"file_count": 50,
"gpu_freeze_sha256": "a89926241a871bdc492348f922df1232962e622c4703720984ef681b5e6d98cb",
"manifest_sha256": "1db849c1152bb29d512bf62e3db53cba18d0179c0008ca116887eb572d76a080",
"modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/test_tmpdir.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"source_digest": "14e24501658f1c4c29e7d8c06db71ed07a77b8e80e283453420bbc5b3e2f03c8"
},
"failures": [],
"historical_binaries": {
"core": {
"expected": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"match": true,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic",
"sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb"
},
"gpu": {
"expected": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"match": true,
"path": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/builds/g3-mosaic/sway/swayfx-mosaic",
"sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658"
},
"oom": {
"expected": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"match": true,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835"
},
"pristine": {
"expected": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"match": true,
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway",
"sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6"
}
},
"ledger": {
"capture_used_total": 32,
"limits": {
"captures": 110,
"captures_per_run": 18,
"duration_s": 150,
"runs": 8
},
"mutated": false,
"operations": [
{
"continuations": [
{
"authorization": "parent explicit same reserved pair continuation; original FAIL retained",
"finished_monotonic_ns": 327835502157972,
"id": "same-pair-argument-repair",
"receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/build-g3-repair/receipt.json",
"reserved_monotonic_ns": 327815215522156,
"state": "PASS"
}
],
"failure": "SceneFX Meson setup rc=1: Could not get define EGL_EGLEXT_VERSION",
"finished_monotonic_ns": 327600914563309,
"id": "G3_BUILD_PAIR",
"mosaic_builds": 1,
"reserved_monotonic_ns": 327510465794426,
"scene_builds": 1,
"setup_retried": false,
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"state": "FAIL"
},
{
"destination": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/stage-g3",
"finished_monotonic_ns": 327835502199749,
"id": "G3_DESTDIR",
"reserved_monotonic_ns": 327834532865939,
"state": "PASS"
}
],
"runs": [
{
"capture_limit": 12,
"capture_used": 0,
"id": "FS-P",
"status": "COMPLETED"
},
{
"capture_limit": 16,
"capture_used": 16,
"id": "DY-C",
"status": "COMPLETED"
},
{
"capture_limit": 10,
"capture_used": 8,
"id": "OM-ROOT",
"status": "COMPLETED"
},
{
"capture_limit": 10,
"capture_used": 8,
"id": "OM-NESTED",
"status": "COMPLETED"
},
{
"capture_limit": 12,
"capture_used": 0,
"id": "GPU-G3",
"status": "COMPLETED"
}
],
"sha256": "cd79d42a97e630564ba5f3c119ee24db25f65799211ea30e440cf5b257e7705c"
},
"offline_core_oom_receipts": {
"core_sha256": "0a8b9b0177cd22877130903210a8a39852fa7c539f88db999ca91e9ba67af18b",
"oom_sha256": "fa980c65859cc590ecc6a36d580ef77bfb70dcd6c42320753c577910236b5384",
"record_counts": [
14,
44
],
"statuses": [
"PASS_BOUNDED",
"PASS_BOUNDED"
]
},
"old_gpu_client_sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"old_lab": {
"bytes_hashed": 721484458,
"closeout_sha256": "4411aa97a16996e70f97f91e67adb0484a1759509e153a008dcee0f640504b59",
"entries": 19612,
"extra": 0,
"manifest_sha256": "f16c6bfa4bbd46474193401c64521d05240a52fc2d2bfe050875a6881407626a",
"max_file_bytes": 19937280,
"mismatches": 0,
"missing": 0,
"modified": false,
"types": {
"fifo": 1,
"file": 19594,
"symlink": 17
}
},
"pinned_shared_objects": {
"pristine_scene": {
"expected": "63586ffbe268c6830b5782d5327e8ca3624dbd9b9c9b0e93e591e94ca28a6e62",
"match": true,
"path": "/usr/lib/libscenefx-0.5.so",
"sha256": "63586ffbe268c6830b5782d5327e8ca3624dbd9b9c9b0e93e591e94ca28a6e62"
},
"wlroots": {
"expected": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"match": true,
"path": "/usr/lib/libwlroots-0.20.so",
"sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
}
},
"protected_before": {
"files": 316,
"mismatches": [],
"status": "PASS"
},
"public_json": {
"all_dict_mode_0644": true,
"parsed": 33
},
"repo_files_changed_by_this_validator": false,
"repository_inventory": {
"existing_ignored_artifacts": {
".a": 3,
".o": 538,
"pycache": 13
},
"files_ge_50MiB": [],
"frozen_kit_generated_artifacts": [],
"ignored_paths_count": 554,
"note": "Ignored build-baseline/build-mosaic object/archive files and prior __pycache__ files were observed outside the frozen kit; preserved unchanged.",
"observed_artifacts_count": 554,
"temp_candidates": [],
"tracked_generated_artifacts": []
},
"runtime_or_ipc": false,
"schema": "step20c-prefreeze-readonly-validation-v1",
"scope": "PRE_FREEZE_READ_ONLY",
"stage_rerun": false,
"status": "PASS",
"storage": {
"available_bytes": 277253046272,
"new_lab_bytes_before_receipt": 231149356,
"old_lab_bytes_final": 726154900,
"old_lab_modified": false
},
"system_audit": {
"owned_pids_checked": 267,
"residual_owned_pids": [],
"residual_owned_runtimes": [],
"runtime_paths_absent": {
"/tmp/smx-gkdlhcvk": true,
"/tmp/smx-insrpz6u": true,
"/tmp/smx-it7zqf9a": true,
"/tmp/smx-ndlyp6ct": true,
"/tmp/smx-vly7lmrg": true
},
"sha256": "8053a9a21a910432aea9dde8fc344d11dfa34485747d46c49a2cdb962760ce92"
},
"tests_rerun": 0
}

View file

@ -0,0 +1,152 @@
{
"schema": "native-closure-provenance-replay-v1",
"gate": "PASS",
"git_head": "d46f854b3026e911659528fe94792aa13837a1d6",
"historical_seals": {
"closeout.json": "4411aa97a16996e70f97f91e67adb0484a1759509e153a008dcee0f640504b59",
"artifact-manifest.json": "f16c6bfa4bbd46474193401c64521d05240a52fc2d2bfe050875a6881407626a",
"budget.json": "dfe1897e255ca5a96b7b66b0af0728acdffdf3ddf397a3fa3c6b1011b07c9db6"
},
"historical_manifest_entries_checked": 19612,
"historical_manifest_failures": [],
"historical_runs": 12,
"historical_captures": 102,
"elf": {
"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",
"dynamic": "\nDynamic section at offset 0xe6c58 contains 49 entries:\n Tag Type Name/Value\n 0x0000000000000001 (NEEDED) Shared library: [libcairo.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libm.so.6]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libpixman-1.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libjson-c.so.5]\n 0x0000000000000001 (NEEDED) Shared library: [libevdev.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libinput.so.10]\n 0x0000000000000001 (NEEDED) Shared library: [libudev.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libpango-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libgobject-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libglib-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libpcre2-8.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libwlroots-0.20.so]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-client.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb-icccm.so.4]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-server.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxkbcommon.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libEGL.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libgbm.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libGLESv2.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [liblcms2.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libpangocairo-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]\n 0x000000000000000c (INIT) 0x1a000\n 0x000000000000000d (FINI) 0xb4be4\n 0x0000000000000019 (INIT_ARRAY) 0xe4010\n 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)\n 0x000000000000001a (FINI_ARRAY) 0xe4018\n 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)\n 0x000000006ffffef5 (GNU_HASH) 0x3c8\n 0x0000000000000005 (STRTAB) 0x62b0\n 0x0000000000000006 (SYMTAB) 0x688\n 0x000000000000000a (STRSZ) 26650 (bytes)\n 0x000000000000000b (SYMENT) 24 (bytes)\n 0x0000000000000015 (DEBUG) 0x0\n 0x0000000000000003 (PLTGOT) 0xe6fe8\n 0x0000000000000002 (PLTRELSZ) 21192 (bytes)\n 0x0000000000000014 (PLTREL) RELA\n 0x0000000000000017 (JMPREL) 0x14270\n 0x0000000000000007 (RELA) 0xd4d8\n 0x0000000000000008 (RELASZ) 28056 (bytes)\n 0x0000000000000009 (RELAENT) 24 (bytes)\n 0x000000006ffffffb (FLAGS_1) Flags: PIE\n 0x000000006ffffffe (VERNEED) 0xd278\n 0x000000006fffffff (VERNEEDNUM) 8\n 0x000000006ffffff0 (VERSYM) 0xcaca\n 0x000000006ffffff9 (RELACOUNT) 1141\n 0x0000000000000000 (NULL) 0x0\n",
"note": "\nDisplaying notes found in: .note.gnu.build-id\n Owner Data size \tDescription\n GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n Build ID: d5d304533f2c8db9d738365e9bd7f2c96779ef8d\n\nDisplaying notes found in: .note.gnu.property\n Owner Data size \tDescription\n GNU 0x00000030\tNT_GNU_PROPERTY_TYPE_0\n Properties: x86 ISA needed: x86-64-baseline\n\tx86 feature used: x86, XMM\n\tx86 ISA used: x86-64-baseline\n\nDisplaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\n OS: Linux, ABI: 4.4.0\n"
},
"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",
"dynamic": "\nDynamic section at offset 0xe7c58 contains 49 entries:\n Tag Type Name/Value\n 0x0000000000000001 (NEEDED) Shared library: [libcairo.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libm.so.6]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libpixman-1.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libjson-c.so.5]\n 0x0000000000000001 (NEEDED) Shared library: [libevdev.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libinput.so.10]\n 0x0000000000000001 (NEEDED) Shared library: [libudev.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libpango-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libgobject-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libglib-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libpcre2-8.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libwlroots-0.20.so]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-client.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb-icccm.so.4]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-server.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxkbcommon.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libEGL.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libgbm.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libGLESv2.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [liblcms2.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libpangocairo-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]\n 0x000000000000000c (INIT) 0x1a000\n 0x000000000000000d (FINI) 0xb5234\n 0x0000000000000019 (INIT_ARRAY) 0xe5008\n 0x000000000000001b (INIT_ARRAYSZ) 16 (bytes)\n 0x000000000000001a (FINI_ARRAY) 0xe5018\n 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)\n 0x000000006ffffef5 (GNU_HASH) 0x3c8\n 0x0000000000000005 (STRTAB) 0x62b0\n 0x0000000000000006 (SYMTAB) 0x688\n 0x000000000000000a (STRSZ) 26650 (bytes)\n 0x000000000000000b (SYMENT) 24 (bytes)\n 0x0000000000000015 (DEBUG) 0x0\n 0x0000000000000003 (PLTGOT) 0xe7fe8\n 0x0000000000000002 (PLTRELSZ) 21192 (bytes)\n 0x0000000000000014 (PLTREL) RELA\n 0x0000000000000017 (JMPREL) 0x14288\n 0x0000000000000007 (RELA) 0xd4d8\n 0x0000000000000008 (RELASZ) 28080 (bytes)\n 0x0000000000000009 (RELAENT) 24 (bytes)\n 0x000000006ffffffb (FLAGS_1) Flags: PIE\n 0x000000006ffffffe (VERNEED) 0xd278\n 0x000000006fffffff (VERNEEDNUM) 8\n 0x000000006ffffff0 (VERSYM) 0xcaca\n 0x000000006ffffff9 (RELACOUNT) 1142\n 0x0000000000000000 (NULL) 0x0\n",
"note": "\nDisplaying notes found in: .note.gnu.build-id\n Owner Data size \tDescription\n GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n Build ID: 9bc3dc9055106b343c80a51ded111a382e98442d\n\nDisplaying notes found in: .note.gnu.property\n Owner Data size \tDescription\n GNU 0x00000030\tNT_GNU_PROPERTY_TYPE_0\n Properties: x86 ISA needed: x86-64-baseline\n\tx86 feature used: x86, XMM\n\tx86 ISA used: x86-64-baseline\n\nDisplaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\n OS: Linux, ABI: 4.4.0\n"
},
"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",
"dynamic": "\nDynamic section at offset 0xebc58 contains 49 entries:\n Tag Type Name/Value\n 0x0000000000000001 (NEEDED) Shared library: [libcairo.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libm.so.6]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libpixman-1.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libjson-c.so.5]\n 0x0000000000000001 (NEEDED) Shared library: [libevdev.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libinput.so.10]\n 0x0000000000000001 (NEEDED) Shared library: [libudev.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libpango-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libgobject-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libglib-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libpcre2-8.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libwlroots-0.20.so]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-client.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb-icccm.so.4]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-server.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxkbcommon.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libEGL.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libgbm.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libGLESv2.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [liblcms2.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libpangocairo-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]\n 0x000000000000000c (INIT) 0x1a000\n 0x000000000000000d (FINI) 0xb8f94\n 0x0000000000000019 (INIT_ARRAY) 0xe9010\n 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)\n 0x000000000000001a (FINI_ARRAY) 0xe9018\n 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)\n 0x000000006ffffef5 (GNU_HASH) 0x3c8\n 0x0000000000000005 (STRTAB) 0x6490\n 0x0000000000000006 (SYMTAB) 0x688\n 0x000000000000000a (STRSZ) 26936 (bytes)\n 0x000000000000000b (SYMENT) 24 (bytes)\n 0x0000000000000015 (DEBUG) 0x0\n 0x0000000000000003 (PLTGOT) 0xebfe8\n 0x0000000000000002 (PLTRELSZ) 21672 (bytes)\n 0x0000000000000014 (PLTREL) RELA\n 0x0000000000000017 (JMPREL) 0x14688\n 0x0000000000000007 (RELA) 0xd800\n 0x0000000000000008 (RELASZ) 28296 (bytes)\n 0x0000000000000009 (RELAENT) 24 (bytes)\n 0x000000006ffffffb (FLAGS_1) Flags: PIE\n 0x000000006ffffffe (VERNEED) 0xd5a0\n 0x000000006fffffff (VERNEEDNUM) 8\n 0x000000006ffffff0 (VERSYM) 0xcdc8\n 0x000000006ffffff9 (RELACOUNT) 1151\n 0x0000000000000000 (NULL) 0x0\n",
"note": "\nDisplaying notes found in: .note.gnu.build-id\n Owner Data size \tDescription\n GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n Build ID: b6a52111beabe3c2122e0142a802415d3c84f9a5\n\nDisplaying notes found in: .note.gnu.property\n Owner Data size \tDescription\n GNU 0x00000030\tNT_GNU_PROPERTY_TYPE_0\n Properties: x86 ISA needed: x86-64-baseline\n\tx86 feature used: x86, XMM\n\tx86 ISA used: x86-64-baseline\n\nDisplaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\n OS: Linux, ABI: 4.4.0\n"
},
"pristine": {
"path": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway",
"binary_sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"build_id": "ba9751c82e73d4043b7651354f20936d070c2227",
"dynamic": "\nDynamic section at offset 0xb9c90 contains 45 entries:\n Tag Type Name/Value\n 0x0000000000000001 (NEEDED) Shared library: [libcairo.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libjson-c.so.5]\n 0x0000000000000001 (NEEDED) Shared library: [libevdev.so.2]\n 0x0000000000000001 (NEEDED) Shared library: [libinput.so.10]\n 0x0000000000000001 (NEEDED) Shared library: [libudev.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libm.so.6]\n 0x0000000000000001 (NEEDED) Shared library: [libpango-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libgobject-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libglib-2.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libpcre2-8.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libpixman-1.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libscenefx-0.5.so]\n 0x0000000000000001 (NEEDED) Shared library: [libwayland-server.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libwlroots-0.20.so]\n 0x0000000000000001 (NEEDED) Shared library: [libxkbcommon.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb.so.1]\n 0x0000000000000001 (NEEDED) Shared library: [libxcb-icccm.so.4]\n 0x0000000000000001 (NEEDED) Shared library: [libpangocairo-1.0.so.0]\n 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]\n 0x000000000000000c (INIT) 0x17000\n 0x000000000000000d (FINI) 0x93274\n 0x0000000000000019 (INIT_ARRAY) 0xb7110\n 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)\n 0x000000000000001a (FINI_ARRAY) 0xb7118\n 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)\n 0x000000006ffffef5 (GNU_HASH) 0x3c8\n 0x0000000000000005 (STRTAB) 0x4d98\n 0x0000000000000006 (SYMTAB) 0x400\n 0x000000000000000a (STRSZ) 22392 (bytes)\n 0x000000000000000b (SYMENT) 24 (bytes)\n 0x0000000000000015 (DEBUG) 0x0\n 0x0000000000000003 (PLTGOT) 0xb9fe8\n 0x0000000000000002 (PLTRELSZ) 18480 (bytes)\n 0x0000000000000014 (PLTREL) RELA\n 0x0000000000000017 (JMPREL) 0x11910\n 0x0000000000000007 (RELA) 0xad88\n 0x0000000000000008 (RELASZ) 27528 (bytes)\n 0x0000000000000009 (RELAENT) 24 (bytes)\n 0x000000006ffffffb (FLAGS_1) Flags: PIE\n 0x000000006ffffffe (VERNEED) 0xab38\n 0x000000006fffffff (VERNEEDNUM) 8\n 0x000000006ffffff0 (VERSYM) 0xa510\n 0x000000006ffffff9 (RELACOUNT) 1119\n 0x0000000000000000 (NULL) 0x0\n",
"note": "\nDisplaying notes found in: .note.gnu.build-id\n Owner Data size \tDescription\n GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n Build ID: ba9751c82e73d4043b7651354f20936d070c2227\n\nDisplaying notes found in: .note.gnu.property\n Owner Data size \tDescription\n GNU 0x00000030\tNT_GNU_PROPERTY_TYPE_0\n Properties: x86 ISA needed: x86-64-baseline\n\tx86 feature used: x86, XMM\n\tx86 ISA used: x86-64-baseline\n\nDisplaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\n OS: Linux, ABI: 4.4.0\n"
}
},
"wlroots": {
"path": "/usr/lib/libwlroots-0.20.so",
"sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837"
},
"source_replay": {
"identity": "COREC_V2_REDERIVED",
"status": "EXACT_FOR_NEW_TREE",
"components": {
"scene": {
"files": 85,
"manifest_sha256": "a29661e0eb2e96d2c8884955ae1221cd1598a1089c258dff813e97833f03945a"
},
"mosaic": {
"files": 417,
"manifest_sha256": "e8f3cba2fa0ccb90ad35985ec35ce5edd1fa413c3b544076bed58168a831e896"
}
},
"receipts": [
{
"component": "scene",
"parent_pin": "37ccd723bef49e6891156ffafce8f549f01446cc",
"parent_tree": "685a78b94f9e44ee683e5fea93874557a9fed457",
"archive_sha256": "79de4e9fff96d80f65a77d4eae33f571320840dc48e4918c4bbe4f2d3c071e49",
"patch_sha256": "6039799046d052bb4cf2b15fbeb132983d6e3c1a45ad63752a6a63e83b585627",
"forward_apply_rc": 0
},
{
"component": "mosaic",
"parent_pin": "cd550382b311efdbfe3ed892f4e1d281d852e754",
"parent_tree": "6be2d6cada19bd84673c30dfc4fb900a48b87e86",
"archive_sha256": "058ab3594e3918b2b60065c21cfe3453df4e44cd4aa873df0f0a8a96728a769f",
"patch_sha256": "9eb6afac0be5c747fbf1a1ee5a33a633c193c4ebae0a36b17636abde7a64c879",
"forward_apply_rc": 0
}
]
},
"resources": {
"lab": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"uid": 1000,
"mode": "0o700",
"historical_runs": 12,
"historical_captures": 102,
"disk_free": 277502246912,
"runtime_probes": [
{
"base": "/tmp",
"socket_bind": "PASS",
"path_length": 28
},
{
"base": "/var/tmp",
"socket_bind": "PASS",
"path_length": 32
}
]
},
"limits": {
"runs": 8,
"captures": 110,
"duration_s": 150,
"captures_per_run": 18,
"lab_max_bytes": 12884901888,
"lab_stop_bytes": 9663676416,
"disk_min_free_bytes": 21474836480,
"build_jobs": 8,
"new_core_oom_pristine_builds_default": 0,
"gpu_build_pairs_max": 1,
"conditional_oom_build_pairs_max": 1,
"stages_max": 2
},
"open_scenarios": [
"FS-P",
"FS-C",
"DY-C",
"OM-ROOT",
"OM-NESTED",
"GPU-G3"
],
"optional_not_admitted": [
"OM-EXTRA",
"GPU-CTRL"
],
"inventory": [
{
"state": "SOURCE",
"evidence": "fresh Git archive + exact CORE assembly85/417"
},
{
"state": "OFFLINE",
"evidence": "published C/Python historical receipts; no new C test yet"
},
{
"state": "RUNTIME_RAW",
"evidence": "old LAB C7/C8/O1/G2 immutable logs"
},
{
"state": "SAMPLED",
"evidence": "old positive cases only on own SHA"
},
{
"state": "NOT OBSERVED",
"evidence": "presented buffer identity, GPU completion, atomic generation, complete damage"
}
],
"no_new_runtime": true
}

View file

@ -0,0 +1,944 @@
{
"atomic_generation": "NOT_PROVEN",
"campaign_closed": true,
"complete_damage": "NOT_PROVEN",
"dynamic": {
"atomic_generation": "NOT PROVEN",
"complete_damage": "NOT OBSERVABLE",
"ids_before": {
"POPUP_A": [
12,
11,
14
],
"POPUP_B": [
15,
13,
17
],
"TOPLEVEL": [
3,
9,
10
]
},
"stages": [
{
"geometry": {
"cell_width": 640,
"children": [
8,
9,
10
],
"clamp": "PASS",
"content_width": 1920,
"expected_scroll": 800.0,
"focused": 10,
"gap": 0,
"geometry_status": "IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE",
"max_scroll": 960,
"min_scroll": 0,
"minimum_width": 640,
"mutation": "resize",
"output": "HEADLESS-1",
"resize_candidate": 800.0,
"scroll": 800.0,
"viewport": [
-960,
0,
960,
600
],
"workspace_id": 6
},
"input": {
"point": [
-273,
168
],
"status": "PASS"
},
"pixels": {
"complete_damage": "NOT OBSERVABLE",
"exclusion": "PASS",
"whole_H2": "PASS"
},
"tag": "resized960"
},
{
"geometry": {
"cell_width": 640,
"children": [
8,
9,
10
],
"clamp": "PASS",
"content_width": 1920,
"expected_scroll": 800.0,
"focused": 10,
"gap": 0,
"geometry_status": "IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE",
"max_scroll": 1120,
"min_scroll": 0,
"minimum_width": 640,
"mutation": "resize",
"output": "HEADLESS-1",
"resize_candidate": 800.0,
"scroll": 800.0,
"viewport": [
-800,
0,
800,
600
],
"workspace_id": 6
},
"input": {
"point": [
-113,
168
],
"status": "PASS"
},
"pixels": {
"complete_damage": "NOT OBSERVABLE",
"exclusion": "PASS",
"whole_H2": "PASS"
},
"tag": "resized-back"
},
{
"geometry": {
"cell_width": 640,
"children": [
8,
9,
10
],
"clamp": "PASS",
"content_width": 1920,
"expected_scroll": 1120,
"focused": 10,
"gap": 0,
"geometry_status": "IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE",
"max_scroll": 1120,
"min_scroll": 0,
"minimum_width": 640,
"mutation": "migration",
"output": "HEADLESS-2",
"resize_candidate": 800.0,
"scroll": 1120.0,
"viewport": [
0,
0,
800,
600
],
"workspace_id": 6
},
"input": {
"point": [
366,
168
],
"status": "PASS"
},
"pixels": {
"complete_damage": "NOT OBSERVABLE",
"exclusion": "PASS",
"whole_H2": "NOT_APPLICABLE: current owner workspace on H2"
},
"tag": "migrated-H2"
},
{
"geometry": {
"cell_width": 640,
"children": [
8,
9,
10
],
"clamp": "PASS",
"content_width": 1920,
"expected_scroll": 1120.0,
"focused": 10,
"gap": 0,
"geometry_status": "IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE",
"max_scroll": 1120,
"min_scroll": 0,
"minimum_width": 640,
"mutation": "migration",
"output": "HEADLESS-1",
"resize_candidate": 1120.0,
"scroll": 1120.0,
"viewport": [
-800,
0,
800,
600
],
"workspace_id": 6
},
"input": {
"point": [
-434,
168
],
"status": "PASS"
},
"pixels": {
"complete_damage": "NOT OBSERVABLE",
"exclusion": "PASS",
"whole_H2": "PASS"
},
"tag": "migrated-back-H1"
}
],
"status": "PASS"
},
"dynamic_final": {
"H2": "EXACT",
"captured_after_close": true,
"status": "PARTIALLY_FEASIBLE"
},
"executed_source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"executed_source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"gpu_completion": "NOT_PROVEN",
"gpu_results_review_sha256": "78ce6fe03955d62d1b079b9a8e81161dcb5bfceef71bd2b71d13892bcf7e4d78",
"markers": {
"DYNAMIC_INPUT_AFTER_MIGRATION": "PARTIALLY_FEASIBLE",
"DYNAMIC_MIGRATION_APPLIED": "PARTIALLY_FEASIBLE",
"FULLSCREEN_COMPARABILITY": "NOT_EXERCISED",
"FULLSCREEN_COREC_V2_NEW": "NOT_RUN",
"FULLSCREEN_PRISTINE_NEW": "NOT_EXERCISED",
"GPU_G3_NATIVE_READBACK": "NOT_EXERCISED",
"GPU_GLES_ADMISSION": "NOT_EXERCISED",
"GPU_WHOLE_FIELD_CAUSALITY": "NOT_PROVEN",
"OOM_AVAILABILITY_POST_INJECTION": "PARTIALLY_FEASIBLE",
"OOM_NESTED_NATIVE": "PARTIALLY_FEASIBLE",
"OOM_ROOT_NATIVE": "PARTIALLY_FEASIBLE"
},
"native_buffer_identity": "NOT_PROVEN",
"nongpu_results_review_sha256": "a8a9ea6c9c1fab09687c1b43378d53d7add0eb421a9b2e626d60d59445578e86",
"oom_production_policy": "UNDECIDED",
"runs": {
"DY-C": {
"actions": {
"camera": 1,
"capture": 16,
"chain": 1,
"click": 6,
"configuration": 18,
"grab": 2,
"move": 7,
"mutation": 4,
"spawn": 6,
"tool": 96
},
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"build_id": "d5d304533f2c8db9d738365e9bd7f2c96779ef8d",
"capture_limit": 16,
"captures": 16,
"command": {
"argv": [
"/usr/bin/python",
"-B",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/run.py",
"DY-C",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--manifest",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"--review",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"--publication",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json"
],
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"duration_s": 36.504983439,
"exit": 0,
"runner_log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/execution/DY-C-runner.log",
"runner_log_sha256": "26c16abd57d4bedac94e99cb7ba29095e299912fe72d9eee9a618fd1bba697dd"
},
"grab_requests": [
{
"parent": "TOPLEVEL",
"popup": "POPUP_A",
"serial": 36,
"used": 36
},
{
"parent": "POPUP_A",
"popup": "POPUP_B",
"serial": 45,
"used": 45
}
],
"ledger_duration_s": 35.995476057,
"mechanical_rescue": false,
"outcome_sha256": "13539848fa063c022115824df894be2d0c6c215720c66ce94b7aaa9d644736e4",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"pid": 3492726,
"proc_maps_sha256": "32caeb7496843bc8ad9431663e8121fcbcc8fb28f97006985bcb92e25cc9b39a",
"raw_process_exits": [
{
"exit": 0,
"name": "compositor",
"pid": 3492726
},
{
"exit": 0,
"name": "pointer",
"pid": 3492769
},
{
"exit": 0,
"name": "reference",
"pid": 3492782
},
{
"exit": 0,
"name": "filler0",
"pid": 3492817
},
{
"exit": 0,
"name": "filler1",
"pid": 3492833
},
{
"exit": 0,
"name": "owner",
"pid": 3492898
}
],
"renderer": [
"00:00:00.099 [INFO] [wlr] [render/egl.c:374] EGL vendor: Mesa Project",
"00:00:00.107 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:473] Creating scenefx FX renderer",
"00:00:00.107 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:474] Using OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"00:00:00.107 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:475] GL vendor: AMD",
"00:00:00.107 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:476] GL renderer: AMD Radeon 780M Graphics (radeonsi, phoenix, ACO, DRM 3.64, 7.2.9-zen1-1-zen)"
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"FS-C": {
"capture_limit": 16,
"captures": 0,
"grab_requests": [],
"reason": "qualified FS-P dependency not satisfied",
"status": "NOT_RUN"
},
"FS-P": {
"actions": {
"chain": 1,
"configuration": 8,
"spawn": 5,
"tool": 15
},
"binary_sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"build_id": "ba9751c82e73d4043b7651354f20936d070c2227",
"capture_limit": 12,
"captures": 0,
"command": {
"argv": [
"/usr/bin/python",
"-B",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/run.py",
"FS-P",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--manifest",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"--review",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"--publication",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json"
],
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"duration_s": 6.631161108,
"exit": 1,
"runner_log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/execution/FS-P-runner.log",
"runner_log_sha256": "4b384a7baa19535729b17ee4c05fb1c12cd0b332a7cf4f6ed91bfe545b6a2c6b"
},
"grab_requests": [],
"ledger_duration_s": 6.097521916,
"mechanical_rescue": false,
"outcome_sha256": "11b37750569c1fae4aa6a9c21e3f0166461bbdcfd9c8f46e90ef8ffede72b597",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"pid": 3491656,
"proc_maps_sha256": "235b69d003297c97782327dc5dd863148970ffffe8e1bad27e51595c5f1beb2f",
"raw_process_exits": [
{
"exit": 0,
"name": "compositor",
"pid": 3491656
},
{
"exit": 0,
"name": "pointer",
"pid": 3491708
},
{
"exit": 0,
"name": "reference",
"pid": 3491722
},
{
"exit": 0,
"name": "filler0",
"pid": 3491772
},
{
"exit": 0,
"name": "owner",
"pid": 3491797
}
],
"renderer": [
"00:00:00.358 [INFO] [wlr] [render/egl.c:374] EGL vendor: Mesa Project",
"00:00:00.366 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:473] Creating scenefx FX renderer",
"00:00:00.366 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:474] Using OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"00:00:00.366 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:475] GL vendor: AMD",
"00:00:00.367 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:476] GL renderer: AMD Radeon 780M Graphics (radeonsi, phoenix, ACO, DRM 3.64, 7.2.9-zen1-1-zen)"
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "NOT_EXERCISED",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"GPU-CTRL": {
"capture_limit": 12,
"captures": 0,
"grab_requests": [],
"reason": "cannot replace failed GPU-G3; no new attribution question or equivalent reviewed control",
"status": "NOT_RUN"
},
"GPU-G3": {
"H1_A_Areturn": "NOT_EXERCISED",
"H2_GPU_baseline": "NOT_EXERCISED",
"acquisition_entries": 0,
"actions": {
"configuration": 2,
"spawn": 3,
"tool": 29
},
"actual_gpu_client_binding_sha256": "4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4",
"binary_sha256": "9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658",
"build_id": "afdde13d52f3a5fe07c096c1221fcf0c8ae223fc",
"capture_limit": 12,
"captures": 0,
"cause": "Frozen client refuses new TMPDIR due to hardcoded old LAB; no SHM attach after initial configure; exit2",
"command": {
"argv": [
"/usr/bin/python",
"-B",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/run.py",
"GPU-G3",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--manifest",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"--review",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/gpu-admission.json",
"--publication",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json"
],
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"duration_s": 8.184041837,
"exit": 1,
"runner_log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/execution/GPU-G3-runner.log",
"runner_log_sha256": "c0b113182d60f107a4d8aa90d3ff4f71bcd78403062ba6877a6f98abf06044c0"
},
"epochs": 0,
"grab_requests": [],
"hook_queries": "NOT_EXERCISED",
"ledger_duration_s": 7.623459039,
"mechanical_rescue": false,
"native_read_success": "NOT_OBSERVED",
"outcome_sha256": "df0fd1028dfe0e48bf20a74fafb964fd14f6f0f76fb46b82791a45b3269c44eb",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"pid": 3510983,
"proc_maps_sha256": "c2a1b48db5791ba6a2350f08f912a2e65c9d9ef1ab2445f1299dc4218166d55c",
"raw_files": 0,
"raw_process_exits": [
{
"exit": 0,
"name": "compositor",
"pid": 3510983
},
{
"exit": 0,
"name": "pointer",
"pid": 3511036
},
{
"exit": 2,
"name": "g2-reference",
"pid": 3511049
}
],
"readback_bytes": 0,
"renderer": [
"00:00:00.544 [INFO] [wlr] [render/egl.c:374] EGL vendor: Mesa Project",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:473] Creating scenefx FX renderer",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:474] Using OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:475] GL vendor: AMD",
"00:00:00.556 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:476] GL renderer: AMD Radeon 780M Graphics (radeonsi, phoenix, ACO, DRM 3.64, 7.2.9-zen1-1-zen)"
],
"runner_failure": "Ambiguous: bounded wait timeout",
"scientific_cleanup": false,
"status": "INCONCLUSIVE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"OM-EXTRA": {
"capture_limit": 12,
"captures": 0,
"grab_requests": [],
"reason": "no distinct reviewed discriminant; NOT_ADMITTED",
"status": "NOT_RUN"
},
"OM-NESTED": {
"H2": "EXACT",
"actions": {
"camera": 1,
"capture": 8,
"chain": 1,
"click": 4,
"configuration": 10,
"grab": 2,
"hook": 1,
"move": 5,
"spawn": 5,
"tool": 54
},
"availability_build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"availability_pid": 3497491,
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"capture_limit": 10,
"captures": 8,
"command": {
"argv": [
"/usr/bin/python",
"-B",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/run.py",
"OM-NESTED",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--manifest",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"--review",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"--publication",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json"
],
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"duration_s": 20.966546947,
"exit": 0,
"runner_log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/execution/OM-NESTED-runner.log",
"runner_log_sha256": "26c16abd57d4bedac94e99cb7ba29095e299912fe72d9eee9a618fd1bba697dd"
},
"grab_requests": [
{
"parent": "TOPLEVEL",
"popup": "POPUP_A",
"serial": 27,
"used": 27
},
{
"parent": "POPUP_A",
"popup": "POPUP_B",
"serial": 36,
"used": 36
}
],
"ledger_duration_s": 20.408873591,
"mechanical_rescue": false,
"native": {
"caller_result": {
"failures": "1",
"parent": "0x55a81812bc80",
"pid": "3497491",
"role": "nested_popup",
"successes": "1",
"tree": "(nil)",
"xdg": "0x55a818139b10",
"xdg_parent": "0x55a8180816e0"
},
"children": "1",
"children_scope": "existing parent children, not failed tree",
"failures": "1",
"initialized": "0",
"listeners": "0",
"matched": "1",
"nonce": "39b4767924344003ad80fb9b87da4e20",
"parent": "0x55a81812bc80",
"parent_children": "1",
"pid": "3497491",
"published": "0",
"role": "nested_popup",
"successes": "1",
"tree": "0x55a818143120",
"xdg": "0x55a818139b10",
"xdg_parent": "0x55a8180816e0"
},
"old_root_A_point": [
-215,
108
],
"old_root_A_status": "PARTIALLY_FEASIBLE",
"outcome_sha256": "287ab59fb71a401df92b43f63976190913c1b4e313624863a2bd87195077294e",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"owner_disconnect": null,
"owner_raw_exit_before_cleanup": null,
"pid": 3497491,
"proc_maps_sha256": "200bf9a53737682c3a6bca834bc8d279052acff109bb28bc4a26f717d93c1eec",
"raw_process_exits": [
{
"exit": 0,
"name": "compositor",
"pid": 3497491
},
{
"exit": 0,
"name": "pointer",
"pid": 3497533
},
{
"exit": 0,
"name": "reference",
"pid": 3497545
},
{
"exit": 0,
"name": "filler0",
"pid": 3497579
},
{
"exit": 0,
"name": "owner",
"pid": 3497605
}
],
"renderer": [
"00:00:00.103 [INFO] [wlr] [render/egl.c:374] EGL vendor: Mesa Project",
"00:00:00.111 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:473] Creating scenefx FX renderer",
"00:00:00.111 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:474] Using OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"00:00:00.111 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:475] GL vendor: AMD",
"00:00:00.111 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:476] GL renderer: AMD Radeon 780M Graphics (radeonsi, phoenix, ACO, DRM 3.64, 7.2.9-zen1-1-zen)"
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
},
"OM-ROOT": {
"H2": "EXACT",
"actions": {
"camera": 1,
"capture": 8,
"chain": 1,
"click": 2,
"configuration": 10,
"grab": 1,
"hook": 1,
"move": 3,
"spawn": 5,
"tool": 49
},
"availability_build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"availability_pid": 3494614,
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"capture_limit": 10,
"captures": 8,
"command": {
"argv": [
"/usr/bin/python",
"-B",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/graphics/run.py",
"OM-ROOT",
"--lab",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39",
"--manifest",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/source-manifest-v2.json",
"--review",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/nongpu-admission.json",
"--publication",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/pre-run-publication.json"
],
"clone_receipt_sha256": "035f83e11bd1d3eed9e0ed2444750bb499aec4e4cfb501880514c72888c95282",
"duration_s": 18.258187285,
"exit": 0,
"runner_log": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/execution/OM-ROOT-runner.log",
"runner_log_sha256": "26c16abd57d4bedac94e99cb7ba29095e299912fe72d9eee9a618fd1bba697dd"
},
"grab_requests": [
{
"parent": "TOPLEVEL",
"popup": "POPUP_A",
"serial": 27,
"used": 27
}
],
"ledger_duration_s": 17.761603037,
"mechanical_rescue": false,
"native": {
"caller_result": {
"failures": "1",
"parent": "0x564dbc49ec90",
"pid": "3494614",
"role": "root_popup",
"successes": "0",
"tree": "(nil)",
"xdg": "0x564dbd1ab920",
"xdg_parent": "0x564dbd196260"
},
"children": "0",
"children_scope": "existing parent children, not failed tree",
"failures": "1",
"initialized": "0",
"listeners": "0",
"matched": "1",
"nonce": "0a825259ea7740c5a7704f149dfa0649",
"parent": "0x564dbc49ec90",
"parent_children": "0",
"pid": "3494614",
"published": "0",
"role": "root_popup",
"successes": "0",
"tree": "0x564dbd18fc20",
"xdg": "0x564dbd1ab920",
"xdg_parent": "0x564dbd196260"
},
"old_root_A_point": null,
"old_root_A_status": "NOT_EXERCISED",
"outcome_sha256": "4308cbf00c96c2c93bd228f5544b5f812c2e12253c59bb52b301e7b73ecd5d7b",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"owner_disconnect": null,
"owner_raw_exit_before_cleanup": null,
"pid": 3494614,
"proc_maps_sha256": "c801b608dc3c035b98200e3248cf8953e08e05c7087b4821fc98aee2f9e7c5a0",
"raw_process_exits": [
{
"exit": 0,
"name": "compositor",
"pid": 3494614
},
{
"exit": 0,
"name": "pointer",
"pid": 3494653
},
{
"exit": 0,
"name": "reference",
"pid": 3494681
},
{
"exit": 0,
"name": "filler0",
"pid": 3494717
},
{
"exit": 0,
"name": "owner",
"pid": 3494749
}
],
"renderer": [
"00:00:00.111 [INFO] [wlr] [render/egl.c:374] EGL vendor: Mesa Project",
"00:00:00.120 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:473] Creating scenefx FX renderer",
"00:00:00.120 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:474] Using OpenGL ES 3.2 Mesa 26.2.4-arch1.1",
"00:00:00.120 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:475] GL vendor: AMD",
"00:00:00.120 [INFO] [wlr] [render/fx_renderer/fx_renderer.c:476] GL renderer: AMD Radeon 780M Graphics (radeonsi, phoenix, ACO, DRM 3.64, 7.2.9-zen1-1-zen)"
],
"runner_failure": null,
"scientific_cleanup": true,
"status": "PARTIALLY_FEASIBLE",
"terminal_ipc": {
"ipc_exit": 1,
"stderr": "00:00:00.003 [ERROR] [common/ipc-client.c:86] Unable to receive IPC response\n",
"stdout": ""
}
}
},
"schema": "native-closure-runtime-summary-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,201 @@
{
"schema": "independent-nongpu-binding-review-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"independent": true,
"decision": "ACCEPTED",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_review_receipt_sha256": "895dfc1870b70c49039c773cbc6012b742514f30da508a2997c352d9ea12f781",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"artifacts": {
"A-PROVENANCE-REPLAY.json": "e09a9da09141903fad33da178272c52fac7a29ee7cf0e9bed5b718619bf1f543",
"H-ABI-BASELINE.json": "d7661a1b4e1db35069d47bd9f74fa4d20ac03d2fadf05a9299c44f700114b55e",
"followup-work/client-compile.json": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528"
},
"identities": {
"core": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic",
"binary_sha256": "91f48aae2675331e0a2c60ec2fedf983745c521c75232c704a6516a4140801fb",
"build_id": "d5d304533f2c8db9d738365e9bd7f2c96779ef8d",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only"
},
"oom": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic",
"binary_sha256": "6067946bd79ad6fd8da7669ab9b0b3bacfd2638f5d3d8382002b9118db20d835",
"build_id": "9bc3dc9055106b343c80a51ded111a382e98442d",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only"
},
"pristine": {
"binary": "/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway",
"binary_sha256": "b7fa32116e3c42706b9b02da7df12f27e76d82dd253deb8bdec81519eed145f6",
"build_id": "ba9751c82e73d4043b7651354f20936d070c2227",
"wlroots": "/usr/lib/libwlroots-0.20.so",
"wlroots_sha256": "7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837",
"build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"scope": "exact retained ELF/source provenance; conditional pre-run binding only"
}
},
"runs": {
"FS-P": {
"decision": "ACCEPTED",
"client_build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"build_review": "ACCEPTED",
"identity": "pristine",
"client": "fullscreen-client",
"client_sha256": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
},
"FS-C": {
"decision": "ACCEPTED",
"client_build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"build_review": "ACCEPTED",
"identity": "core",
"client": "fullscreen-client",
"client_sha256": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
},
"DY-C": {
"decision": "ACCEPTED",
"client_build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"build_review": "ACCEPTED",
"identity": "core",
"client": "nested-client",
"client_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7"
},
"OM-ROOT": {
"decision": "ACCEPTED",
"client_build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"build_review": "ACCEPTED",
"identity": "oom",
"client": "nested-client",
"client_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"oom_source_review": "ACCEPTED",
"variant_identity": "COREC_V2_NATIVE_OOM_DIAGNOSTIC"
},
"OM-NESTED": {
"decision": "ACCEPTED",
"client_build_review": "ACCEPTED",
"source_qualification": "ACCEPTED",
"build_review": "ACCEPTED",
"identity": "oom",
"client": "nested-client",
"client_sha256": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"client_build_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/followup-work/client-compile.json",
"client_build_receipt_sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"source_manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"oom_source_review": "ACCEPTED",
"variant_identity": "COREC_V2_NATIVE_OOM_DIAGNOSTIC"
}
},
"commands": [
{
"argv": [
"readelf",
"-n",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "779d0f0868f12f6c0d573cb5c4daa94c356bdaf65767286b63e5127a631b6c4f"
},
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/core-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "99d0fc6a70b68f32fb879989e395c9f8401408202c28e0b3ae0b9d23535aca93"
},
{
"argv": [
"readelf",
"-n",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "9152478c8b41320676cd5f4b644b19af7cb47109ec1761a3d90964398488226e"
},
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/builds/oom-mosaic/sway/swayfx-mosaic"
],
"exit": 0,
"stdout_sha256": "a843b228b5ab61a45a43c1bcd18156eda8c728d33748d0e6085b9159237506f2"
},
{
"argv": [
"readelf",
"-n",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway"
],
"exit": 0,
"stdout_sha256": "742d73bff7455fa5388f8e25a8fbef04dc27ecbf99ca94fd803f3fb392a32bac"
},
{
"argv": [
"readelf",
"-d",
"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/controls/pristine/sway"
],
"exit": 0,
"stdout_sha256": "8e7a5fb22031fe10c1de5bb1abe53d80520ea50ca4a050659983ba693e94702c"
}
],
"client_inputs": {
"clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df"
},
"client_generated": {
"fullscreen-client": "ccf3ce2f7ac4ba116057f2c266e837e8dd5df020785430f6843557423ed6a24a",
"nested-client": "3e58515cee4efc55c05f8ca8ac943209532f314b4dcf0c07299607d25ffa9e82",
"pointer-daemon": "3188215af9ee0e2c79e1a5efc1b023ee8be47d0cade28f7c1ebe56ff140ae7db",
"saved-client": "10d766c660b0ed35cd5e002d594fc776ebc4754c6b596cf61dd53facaa29d875",
"static-reference": "3eebddbc3989ce0d9d2987382c8232a9cc6444cdfb29a5ca3a09e37251f6443c",
"vertical-client": "49f4999aafc800192c50d5d1439ba5dd80c22a1e994dee591d9a780e018f0383",
"virtual-pointer-client.h": "0dcb6107cf948a007dcef0a6b2192e4f7b9166c0f57b499ca49b7aaf48adc56c",
"virtual-pointer-protocol.c": "a72e9b38dd5ed0c49fae22aa2f01883aea76075ad33f6399d9b2033df4330675",
"xdg-shell-client.h": "a09726137ea9fe1a23d58c95f1d33ab77a3fc692c63726bc82fbc91ab8e5c6fc",
"xdg-shell-protocol.c": "9e12fcd5676d8c6b6cfd233c2eba563163c0ea7e586cb6e27f202a328323c7f0"
},
"runtime": "NOT_RUN",
"conditional_on": [
"Phase C source-only publication to origin/github and clone verification",
"exact published kit bytes/modes equal manifestV2",
"parent runtime-manifest construction and gate.validate_review before debit",
"FS-C requires qualified FS-P",
"OM-NESTED requires qualified OM-ROOT or separately reviewed explicit dependency override",
"actual compositor startup/mappings/private outputs/input/capture evidence remains to be measured"
],
"authorization": "ACCEPTED pre-run source/client/retained-build bindings only; NO_RUNTIME_AUTHORIZATION; no historical runtime evidence upgraded"
}

View file

@ -0,0 +1,49 @@
{
"schema": "independent-source-delta-review-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"author": "codex-native-closure-implementation",
"independent": true,
"decision": "ACCEPTED",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"gpu_source_manifest_sha256": "03b3cdb4b665aeca860cf3e1363d4fbe5c2cbcb0372f3b4fe582e88488ccb5d2",
"prior_review_sha256": "58ee0ef4535c0e5e47cc68cb2bc35e20b73563e47438b3dee718d24194c535cc",
"repair_receipt_sha256": "bac668f134dd9e6464312545d005c9068f7e833c8e3f0e3f614411dcf68d3275",
"changed_contents": [
"graphics/README.md",
"graphics/gate.py",
"graphics/offline/test_followup.py",
"graphics/oom_handler.py"
],
"source_entries": 49,
"source_modes": "all 0644",
"gates": {
"B1": "ACCEPTED",
"B2": "ACCEPTED",
"B3": "ACCEPTED",
"B4": "ACCEPTED",
"B5_C_publication_modes": "ACCEPTED"
},
"carried_acceptance": [
"B1",
"B2",
"B4"
],
"closed_findings": [
"SR-B3-1",
"SR-B3-2",
"SR-C-1"
],
"findings": [],
"tests_run": 66,
"failures": 0,
"tests_log_sha256": "d15282c23cfbf80489b45c485586d6fae0013b57cb9af2ffcd0467e0eba8a8d9",
"notes_sha256": "2ad257b325cff36e7d27b42d3ed50a89a7865d50a6d8623024dd20e167af8fbc",
"runtime": "NOT_RUN",
"production_build": "NOT_RUN",
"stage": "NOT_RUN",
"commit_push": "NOT_RUN",
"phase_C_publication": "NOT_YET_VERIFIED",
"authorization": "SOURCE_ONLY_PUBLICATION_REVIEW_ACCEPTED; NO_RUNTIME_AUTHORIZATION"
}

View file

@ -0,0 +1,202 @@
{
"schema": "independent-source-review-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1",
"reviewer": "codex-source-review-independent",
"author": "codex-native-closure-implementation",
"independent": true,
"manifest_sha256": "36722a891c9dddf4234f64de0f7804158c52d29f42dc4158627f69df0fec5fda",
"source_digest": "ac97791e6bcfee3e02a0fbe9aea20d06ea325fab3c08fe0625ea5a0fd9a215a0",
"decision": "CORRECTION_REQUIRED",
"gates": {
"B1": "ACCEPTED",
"B2": "ACCEPTED",
"B3": "CORRECTION_REQUIRED",
"B4": "ACCEPTED",
"B5_C_publication_modes": "CORRECTION_REQUIRED"
},
"findings": [
{
"id": "SR-B3-1",
"severity": "P2",
"file": "graphics/oom_handler.py",
"symbol": "run",
"line": 128,
"requirement": "Phase F OM-NESTED: Tester input A visible si vivant.",
"evidence": "La branche A vivant qualifie uniquement count(post[0], POPUP_A)>0; ensuite les seuls clicks visent reference et peuvent fermer A par dismissal. Aucun delivery POPUP_A après injection.",
"correction": "Avant le clic voisin, sélectionner un intérieur A fraîchement peint, injecter et valider paire/wire/pointer-local sur A; conserver séparément le dismissal réellement observé et ajouter un négatif absence/mauvais destinataire."
},
{
"id": "SR-B3-2",
"severity": "P2",
"file": "graphics/oom_handler.py",
"symbol": "run",
"line": 126,
"requirement": "B3 et phase F: avant/post/final sans image de popup raté, surfaces effectivement retirées.",
"evidence": "oom-post vérifie uniquement exact(baseline,post[1]); H1 autorise toute couleur du popup échoué. oom-final vérifie uniquement H2 et ne refuse aucun résidu A/B sur H1.",
"correction": "Sur captures post, refuser la couleur du rôle échoué sur les deux outputs tout en permettant A survivant dans OM-NESTED; sur final après close, refuser couleurs A/B sur les deux outputs. Tests négatifs vrai validateur appelé par run."
},
{
"id": "SR-C-1",
"severity": "P2",
"file": "graphics/gate.py",
"symbol": "validate_review / source_modes",
"line": 103,
"requirement": "Phase C kit reconstructible depuis clone Git; phase I exactitude modes; parent exige SHA/modes Git avant débit.",
"evidence": "source_modes compare modes POSIX locaux au manifeste; la boucle Git lit uniquement git show et SHA des blobs, sans ls-tree/type/mode. Le manifeste fourni contient 16 fichiers en0600; Git stocke les fichiers ordinaires non exécutables en100644 et un clone ne conserve pas0600. Donc ni comparaison modeGit ni replay identique des modes gelés depuis clone.",
"correction": "Normaliser les sources non exécutables au mode portable0644 avant nouveau freeze; comparer les types/modes Git canoniques attendus avec ls-tree, plus ensemble des entrées souskit et SHA, et rejouer refus d’un mode exécutable ou symlink divergent. Ne pas prétendre préserver0600 viaGit."
}
],
"tests": {
"graphics": {
"manifest_sha256": "36722a891c9dddf4234f64de0f7804158c52d29f42dc4158627f69df0fec5fda",
"files": 49,
"modes": "PASS",
"tests": 62,
"failures": 0,
"historical_C7": {
"workspace_id": 6,
"output": "HEADLESS-2",
"children": [
8,
9,
10
],
"viewport": [
0,
0,
800,
600
],
"minimum_width": 640,
"cell_width": 640,
"gap": 0,
"content_width": 1920,
"min_scroll": 0,
"max_scroll": 1120,
"scroll": 1120.0,
"focused": 10,
"geometry_status": "IPC_PENDING_CANDIDATE; native generation NOT_OBSERVABLE",
"expected_scroll": 1120,
"resize_candidate": 800.0,
"mutation": "migration",
"clamp": "PASS"
}
},
"gpu_commands": [
{
"argv": [
"cc",
"-std=c17",
"-Wall",
"-Wextra",
"-Werror",
"-I/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/test_gl.c",
"-o",
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/source-review/test_gl"
],
"exit": 0,
"log": "gpu-0.log"
},
{
"argv": [
"/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/reviews/source-review/test_gl"
],
"exit": 0,
"log": "gpu-1.log"
},
{
"argv": [
"/usr/bin/python",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/test_mutations.py"
],
"exit": 0,
"log": "gpu-2.log"
},
{
"argv": [
"/usr/bin/python",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/validate_source.py"
],
"exit": 0,
"log": "gpu-3.log"
},
{
"argv": [
"/usr/bin/python",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/test_protocol.py"
],
"exit": 0,
"log": "gpu-4.log"
},
{
"argv": [
"/usr/bin/python",
"/home/fy59/Documents/Development/swayfx-mosaic/tooling/probes/step20c-corec-v2-followup/gpu/test_begin.py"
],
"exit": 0,
"log": "gpu-5.log"
}
]
},
"artifacts": {
"followup-work/source-manifest.json": {
"sha256": "36722a891c9dddf4234f64de0f7804158c52d29f42dc4158627f69df0fec5fda",
"mode": "0o600"
},
"followup-work/offline-tests.json": {
"sha256": "a264c23a82a8b0b01d0a24d27a28d0d9401afe0a112c307cbda89c6c29ba4cc9",
"mode": "0o600"
},
"followup-work/client-compile.json": {
"sha256": "58798a2dd1ad3d9faff4e02b3413ffefc224ec81121c63eea15e192805219528",
"mode": "0o600"
},
"g3-source-freeze-v2.json": {
"sha256": "acc575eaa4e836368b40077f8362f73bfa725187fb69c750cb55b29badc54611",
"mode": "0o600"
},
"g3-offline/receipt.json": {
"sha256": "8578ad7ad8a1188b0e215c49684034e1acdc59702bfc85c2162451e163c3b93e",
"mode": "0o644"
},
"gpu-client-guard/receipt.json": {
"sha256": "7dc827169937b2dfeadad9d0a802527c4e43d58b3457d07f3a25b39c56e59475",
"mode": "0o644"
},
"offline-core-c/result.json": {
"sha256": "0a8b9b0177cd22877130903210a8a39852fa7c539f88db999ca91e9ba67af18b",
"mode": "0o644"
},
"offline-oom-c/result.json": {
"sha256": "fa980c65859cc590ecc6a36d580ef77bfb70dcd6c42320753c577910236b5384",
"mode": "0o644"
},
"offline-core-mutants/mutations.json": {
"sha256": "42ffcc875e9aa1639f3a9ceb40f127feff52670bd42e2c54c54de6baf5d76aa2",
"mode": "0o644"
}
},
"g3_freeze_sha256": "acc575eaa4e836368b40077f8362f73bfa725187fb69c750cb55b29badc54611",
"runtime": "NOT_RUN",
"build": "NOT_RUN",
"stage": "NOT_RUN",
"commit_push": "NOT_RUN",
"authorization": "NO_RUNTIME_AUTHORIZATION; B4 source-only supports independent private G3 build gate, subject to parent review",
"notes_sha256": "a305fccd492a72265ae23e17185cf6262739050b58e4aca52a791b43dc2ada59",
"review_artifacts": {
"check.py": "ad38b81d5814605fb1d977f0357fbcebcc6bab98c6a1712a1d15f9725f6d9247",
"graphics-tests.log": "0939b29211a441f77ba669edebef394a9138cb6a85caee7a0292c528db8a8fa2",
"checks.json": "c275ac1329274ce66d71c02a76919a56120469dd4c373a4b23aeb265ec1f1342",
"gpu-check.py": "53c171f40261cae5413c357f10acc7456e4c9b06a13a8a9fded20b62d314ede7",
"test_gl": "689b3508d111a00bd88b22a3222a86df5e98433a10fc6134c2415ce680128784",
"gpu-0.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"gpu-1.log": "6ec803c703a1a998847fa09bfa5f3924f53c589c240c84e3254044d11b5d5614",
"gpu-2.log": "e14c1178c590c2c109134f4e15d3a594d98506e8eab1908936042e747c7709e1",
"gpu-3.log": "8d38bb336ccc12945a1e9485bc6e8d0edccfb00370a600ff839e3cf5a7a7fa11",
"gpu-4.log": "2a13d035481d175f8def601c56189df95a040b49c038fb244405cafb31981588",
"gpu-5.log": "7f8ce6c940016515a9dfc2ac2871bfeb33450110fc34111e4fc443333e8d0593",
"gpu-checks.json": "8ecf0b244bf1d10aa033cfd6ef85ac7722ba9ad253e227a4a4df38c816e70b99",
"notes.md": "a305fccd492a72265ae23e17185cf6262739050b58e4aca52a791b43dc2ada59"
}
}

View file

@ -0,0 +1,573 @@
{
"author": "codex-native-closure-implementation",
"files": {
"README.md": "3d4e66160ba6191a3ec381f7104b37f8bda6e378f6001110d6048fd79ad25515",
"gpu/README.md": "83e333c6718ef05c9009ac8340c564f39094abb8353393576f9464ea2a70042c",
"gpu/clients-g2.c": "66658e99704c32d90b073f7664dd4aa9ff1cbf3530c81f7f7ac40e2fa49d9ca7",
"gpu/freeze.py": "1e823aa00aface9416ac687116f51867824973cca5da1ce1b5e1077d7b6d65b8",
"gpu/g2_gl.h": "f7862768293f290044feb013e6c25422ace76ec670813537e96b71f373af5969",
"gpu/g2_native.h": "0ed910ab4285c0db848b715867b0c98241a77f81d7afe0739583bf834fc40263",
"gpu/g3-admission.patch": "0d0717b006d88ade5503431f8e0d20bb1d0416eb745ae37a00a5c9bb1a20e81b",
"gpu/protocol.py": "3b664f1400394980913870cc3de5e0c1e70b7f14a96bee259a21fff954816394",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "996b8c66e1c2276c443336d4cb174634e8e5948823779042f244930525b79cc2",
"gpu/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"gpu/reproduce.py": "169701e803ef0f5cfc1e0e66483a465c5390f841702a905b3f07e381a0d1a4c1",
"gpu/scenario.py": "d844c85d08866bfd07d6324d4f089b87f825ea83234132b2258b0fca4eae2672",
"gpu/test-targeted.py": "09401232887a741cb65ab98ebd44da3786495265410a390cadce7e174d014ce4",
"gpu/test_begin.py": "8e9addbfee3491170dec3303024ddd901aa3d4ead6b25bbafe32424890891f5f",
"gpu/test_gl.c": "7ed342e2119e31a873a90b011466a17bbf08e1c4416397c65c80554636a6483d",
"gpu/test_mutations.py": "b29058af2be2d13a5378bd93aebb2066247a7e5b5434f7c40f73bac463d1cfd3",
"gpu/test_native.c": "53aa4635095b91164140bd0272803c1335b235a42a688da2680fe654c0f2b82a",
"gpu/test_protocol.py": "0ed67c714971b35750c510458ca4d6f358a4d29ad354bfd2aeb6446e7cd19421",
"gpu/validate_source.py": "00ab0e5822be31dc0cbc9c32656ccad56fb4afc28155a421339616f3a5ce1dc0",
"graphics/README.md": "304c6dc3feaf7d48d7e1bddd0cae427bea8a75fe93a5c027f2defd45c2e9382a",
"graphics/cases.py": "1c5bc411a4fb0572955bdefa5fb67032c682a72788bb92d6d9a390cb7055bcc4",
"graphics/clients/fullscreen-client.c": "f71a818ec850bc54bd154f14f5bb300387c3d7340a2f19704f93e49dfbbca2bc",
"graphics/clients/nested-client.c": "88f6ad3f6a2843ac13e2ea9a1fe5407e47d23694197408a096046b9ada9bb5cd",
"graphics/clients/pointer-daemon.c": "a03188a445c4ecef09f420d000315ce71ca70e5c3fd4a2ba8cc60110c32635c3",
"graphics/clients/saved-client.c": "2858fed56cc5384ba325affddbcf35e011cca700015868d42c53ff8ec4ba0867",
"graphics/clients/static-reference.c": "e346a85ded3345b232cd6edca5a1ac57aebfd548a60e12b3c47a5cf515e6c50e",
"graphics/clients/vertical-client.c": "52e050929a21bd5df0aac21a1156f033bca94e3f90950ef5bcfc3d37daa840e5",
"graphics/engine.py": "34a322aad76200a4ef497305ad47b6aeff7f3944fbc2500381e50cd9040c2bc4",
"graphics/freeze.py": "d41cf96717341a64c258d418043a5da5fdb35baa244231c5b0fca2199c8e60ca",
"graphics/fullscreen.py": "601388834f049c2baa0d4fee993437b0fe5b024abc6d07ea3bda27e3199b9953",
"graphics/gate.py": "33d2f61d3d75300774185c15c4426fafdbad803bf247718c640649643875b8ee",
"graphics/geometry.py": "76a80e98887d3a3707ee942b48a49c1850cdc4aeeb28237d9fea33fa3470fb12",
"graphics/gpu_handler.py": "9f8a1cb7bbb0dccea7d84f96bdd2ccdab9937030958c22ca1b996f99e0ab676c",
"graphics/ipc_predicates.py": "5354ba53e1b3f8d0026f4475beebee58d093a81db7d26304cad7085ae3efd352",
"graphics/lifecycle.py": "df0c11027b3b8b0ef371ddb6ec4bcfd28dac09835644d0c3ce6e273d5e565e92",
"graphics/model.py": "a578fc589fb092dae3ccdcf8c4eec12a97e515f721decc4c968078dedcb2367a",
"graphics/offline/test_followup.py": "8316d7804ef2afe88d6fb6e6ab07410481217d5daab23efbaf399bfb84850df4",
"graphics/oom.py": "bf4a07f0337be34c548a0f1752782b36b684bdf4e249f9f7bf757b4fb47c7607",
"graphics/oom_handler.py": "37c5852ad8e5a084b58ad1a5ae842445096eb104f59059b493687792f3e68d6a",
"graphics/pixels.py": "d315ddad978238ffbf1c8e4d712d4608ba23564703332d814f627f57f7b6e7f5",
"graphics/plans.py": "5fe84f4024aa0a8fa0d17a86343cd15d96131d30df3610094b86cfa0d045374c",
"graphics/predicates.py": "abe0c4c5b3b6d533d2714e13d317d68cd02e1f1c6180d2972ff94d00c9069cd1",
"graphics/prepare.py": "bf17e0019f5fa56b4c4c3b86d9a92ef1a6d1526fda64741cc2b5b62fc4a7f4a8",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "3ff6d540be0bc5228195bf072bde42117ea17945a5c2061add5d3cf97d6bb524",
"graphics/protocols/xdg-shell.xml": "7ba7f9c8473deee674cb1f154a18abd0bb0cc072604fc055b0c15e459fc4c7df",
"graphics/run.py": "27891c4e499457bfedceed623679addddb15e722259d976716e268800c72fb8f",
"graphics/validate_offline.py": "15e231eae78e38b38fa0edbec73b2f27440191f7c581f7eb9e4e413113473b1e",
"graphics/validators.py": "a7a19322bfeff1c1122e50f351aebfa46f4b144eb5b795c4389eae5c934e4b1d",
"graphics/wire-fixture.txt": "c6c9fc072f78fbcf9cfdeebcc5becdbdfb61824352495a0e767d7d390267f640"
},
"independent_review": "NOT_PROVEN",
"limits": {
"captures": 110,
"captures_per_run": 18,
"duration_s": 150,
"runs": 8
},
"modes": {
"README.md": "0o644",
"gpu/README.md": "0o644",
"gpu/clients-g2.c": "0o644",
"gpu/freeze.py": "0o644",
"gpu/g2_gl.h": "0o644",
"gpu/g2_native.h": "0o644",
"gpu/g3-admission.patch": "0o644",
"gpu/protocol.py": "0o644",
"gpu/protocols/wlr-layer-shell-unstable-v1.xml": "0o644",
"gpu/protocols/xdg-shell.xml": "0o644",
"gpu/reproduce.py": "0o644",
"gpu/scenario.py": "0o644",
"gpu/test-targeted.py": "0o644",
"gpu/test_begin.py": "0o644",
"gpu/test_gl.c": "0o644",
"gpu/test_mutations.py": "0o644",
"gpu/test_native.c": "0o644",
"gpu/test_protocol.py": "0o644",
"gpu/validate_source.py": "0o644",
"graphics/README.md": "0o644",
"graphics/cases.py": "0o644",
"graphics/clients/fullscreen-client.c": "0o644",
"graphics/clients/nested-client.c": "0o644",
"graphics/clients/pointer-daemon.c": "0o644",
"graphics/clients/saved-client.c": "0o644",
"graphics/clients/static-reference.c": "0o644",
"graphics/clients/vertical-client.c": "0o644",
"graphics/engine.py": "0o644",
"graphics/freeze.py": "0o644",
"graphics/fullscreen.py": "0o644",
"graphics/gate.py": "0o644",
"graphics/geometry.py": "0o644",
"graphics/gpu_handler.py": "0o644",
"graphics/ipc_predicates.py": "0o644",
"graphics/lifecycle.py": "0o644",
"graphics/model.py": "0o644",
"graphics/offline/test_followup.py": "0o644",
"graphics/oom.py": "0o644",
"graphics/oom_handler.py": "0o644",
"graphics/pixels.py": "0o644",
"graphics/plans.py": "0o644",
"graphics/predicates.py": "0o644",
"graphics/prepare.py": "0o644",
"graphics/protocols/wlr-virtual-pointer-unstable-v1.xml": "0o644",
"graphics/protocols/xdg-shell.xml": "0o644",
"graphics/run.py": "0o644",
"graphics/validate_offline.py": "0o644",
"graphics/validators.py": "0o644",
"graphics/wire-fixture.txt": "0o644"
},
"plans": {
"DY-C": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "core",
"boundary": 0,
"capture_limit": 16,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "DY-C",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
},
"FS-C": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "core",
"boundary": 0,
"capture_limit": 16,
"client": "fullscreen-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "FS-C",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "fullscreen_cross"
},
"FS-P": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "pristine",
"boundary": 0,
"capture_limit": 12,
"client": "fullscreen-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "FS-P",
"mode": "pristine",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "fullscreen_cross"
},
"GPU-CTRL": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "gpu",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "GPU-CTRL",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "B4 and separately reviewed GPU adapter required"
},
"GPU-G3": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 3,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "gpu",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "GPU-G3",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "B4 and separately reviewed GPU adapter required"
},
"OM-EXTRA": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "NOT_ADMITTED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 12,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-EXTRA",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross",
"reason": "Distinct question, handler and additional independent review required"
},
"OM-NESTED": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 10,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-NESTED",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
},
"OM-ROOT": {
"action_limits": {
"camera": 6,
"chain": 2,
"click": 12,
"configuration": 80,
"grab": 4,
"hook": 1,
"move": 24,
"mutation": 26,
"source_marker": 1,
"spawn": 12,
"tool": 160
},
"admission": "INDEPENDENT_REVIEW_REQUIRED",
"axis": 0,
"binary": "oom",
"boundary": 0,
"capture_limit": 10,
"client": "nested-client",
"config": "output HEADLESS-1 resolution 800x600 scale 1 transform normal position -800 0\noutput HEADLESS-2 resolution 800x600 scale 1 transform normal position 0 0\nworkspace 1 output HEADLESS-1\nworkspace 2 output HEADLESS-2\nfocus_follows_mouse no\nseat seat0 hide_cursor 100\nshadows disable\nblur disable\n",
"id": "OM-ROOT",
"mode": "mosaic",
"outputs": [
{
"logical": [
-800,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-1",
"scale": 1,
"transform": "normal"
},
{
"logical": [
0,
0,
800,
600
],
"mode": [
800,
600
],
"name": "HEADLESS-2",
"scale": 1,
"transform": "normal"
}
],
"placement": "static_cross"
}
},
"runtime": "NOT_RUN",
"schema": "native-closure-source-v1",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,35 @@
{
"commands_receipt": "/var/tmp/swayfx-mosaic-step20c-native-closure-qseaqp39/source-publication-progress.json",
"decision": "VERIFIED",
"github_sha": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"manifest_sha256": "2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7",
"offline_test_only": false,
"origin_sha": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"remote_observations": {
"github": {
"argv": [
"git",
"ls-remote",
"github",
"refs/heads/main"
],
"exit": 0,
"stderr": "",
"stdout": "c55373eab3c53132bf1157acc9cfc9edd451156e\trefs/heads/main\n"
},
"origin": {
"argv": [
"git",
"ls-remote",
"origin",
"refs/heads/main"
],
"exit": 0,
"stderr": "",
"stdout": "c55373eab3c53132bf1157acc9cfc9edd451156e\trefs/heads/main\n"
}
},
"source_commit": "c55373eab3c53132bf1157acc9cfc9edd451156e",
"source_digest": "f21ea193aedfada620c251f0cf6a22375fb993483905129208864e22e535b140",
"ticket": "SWAYFX_MOSAIC_STEP20C_COREC_V2_FULLSCREEN_OOM_GLES_NATIVE_CLOSURE_BATCH_V1"
}

View file

@ -0,0 +1,23 @@
{
"daily_process": {
"executable": "/usr/bin/sway",
"observation": "read-only comparison to historical closeout baseline; no IPC",
"pid": 2325,
"startticks": "2833"
},
"free_bytes": 277259689984,
"generated_source_artifacts": [],
"lab_bytes": 230680734,
"owned_pids_checked": 267,
"protected_failures": [],
"protected_files": 316,
"residual_owned_pids": [],
"residual_owned_runtimes": [],
"runtimes_checked": [
"/tmp/smx-gkdlhcvk",
"/tmp/smx-insrpz6u",
"/tmp/smx-it7zqf9a",
"/tmp/smx-ndlyp6ct",
"/tmp/smx-vly7lmrg"
]
}

View file

@ -0,0 +1,46 @@
{
"items": [
{
"evidence": "agent report in execution conversation; source manifests and after-inventories",
"issue": "Initial offline tester generated two Python bytecode files in the source kit",
"resolution": "Agent removed its generated files before final freeze; all later source checks reject pycache"
},
{
"evidence": "repair-preflight-v1/receipt.json incident",
"issue": "Initial resolver documentation redirection wrote /var/tmp/preflight-contract-read.txt outside the LAB",
"resolution": "Immediately moved into LAB/repair-preflight-v1/contracts.txt"
},
{
"evidence": "g3-offline/initial-failure-notes.txt; receipt-initial-failed.json; receipt-second-failed.json",
"issue": "Two initial G3 offline attempts failed",
"limit": "Full immutable initial raw log sets are not retained",
"resolution": "Failure receipts retained; final per-index log names overwrite the initial per-index raw logs"
},
{
"evidence": "tester-offline/graphics-tests.json",
"issue": "Initial offline graphics import failed",
"resolution": "Corrected module path, preserved failure; final62 and subsequent66/73 pass"
},
{
"evidence": "gpu-client-guard/receipt.json; clone-validation/receipt.json",
"issue": "Initial GPU client link and clone compile missing generated protocol or expected header name",
"resolution": "Generate correct protocol code/header name; actual compilation passes; client never exercised by those compile checks"
},
{
"evidence": "source-publication-attempt1.json; source-publication-attempt2.json; source-publication-progress.json",
"issue": "First source publication remote check lacked SSH_AUTH_SOCK; first commit attempt lacked HOME configuration",
"resolution": "Kept failure receipts; used existing agent socket and Git user configuration for Git only, changed no Git configuration"
},
{
"evidence": "build-g3/receipt.json; build-g3-repair/receipt.json",
"issue": "G3 initial Meson setup fused two preprocessor arguments",
"resolution": "One explicit continuation of same reserved pair; originalFAIL retained; no source or shader change"
},
{
"evidence": "evidence/khronos-download-refusal.json",
"issue": "Direct Khronos PDF download returned HTTP403",
"resolution": "No retry or alternate download; refusal receipt preserved"
}
],
"scope": "Factual workflow deviations; no runtime evidence repaired or upgraded"
}

View file

@ -7,6 +7,46 @@ ticket. Its parent is project commit
[parent kit](../step20c-corec-v2/README.md) and its closed runtime receipts
remain unchanged. This directory does not add a production dependency.
## Post-campaign portability repair — OFFLINE_ONLY
The closed campaign executed commit
`c55373eab3c53132bf1157acc9cfc9edd451156e`, source manifest v2 SHA256
`2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`.
Its historical GPU client SHA256 is
`4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4`;
its G3 compositor SHA256 is
`9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658`.
These identities and their original receipts remain authoritative for that
campaign. FS-P was NOT_EXERCISED at the client identity guard. A separate
post-campaign probe reproduced EACCES for a nondumpable child, while the
original FS-P errno remains NOT_OBSERVABLE. GPU-G3 was INCONCLUSIVE with zero
captures, epochs and arms: reference exited2 after configure/ACK and before SHM.
The old client required the retired LAB's absolute TMPDIR. DY-C, OM-ROOT and
OM-NESTED were PARTIALLY_FEASIBLE in the sampled scope (32 captures total).
The following source changes are **OFFLINE_ONLY**, made after that campaign,
and have never run in a compositor. The GPU SHM path helper requires SMX_LAB
to be a canonical owned0700 direct child of `/var/tmp` whose name begins
`swayfx-mosaic-step20c-native-closure-`, and TMPDIR to be its exact canonical
owned0700 `scratch` directory. It rejects missing values, old-ticket/outside
paths, symlinks, foreign ownership, wrong modes and truncation, with explicit
stderr diagnostics. mkstemp stays in that scratch directory. Existing core and
dumpability guards remain mandatory.
Fullscreen client identity still requires an observed matching PID/proc/exe
path and SHA. Inaccessible proc identity now saves NOT_OBSERVABLE plus the
operation and original OS error/errno before the same mandatory gate refuses.
This improves diagnostics and does not fix or exercise the native fullscreen
gate; a future observable identity proof remains to be designed. No self-report
substitute or weakened dumpability is admitted.
The new helper tests execute only extracted production C path-validation code,
and Python identity predicates. A corrected client may be compiled offline;
that is not a native qualification. The campaign budget is closed: these bytes
authorize no retry, new reservation, GPU-CTRL or other headless run. They require
a new parent-owned source freeze and independent review, without rewriting any
historical manifest, review, admission, ledger or runtime receipt.
The follow-up derives prospective fullscreen, migration/refocus and root/nested
OOM fixtures in `graphics/`, and a distinct intrusive GLES diagnostic in `gpu/`.
Each implementation has its own offline tests. Independent acceptance of the

View file

@ -1,11 +1,51 @@
# GPU-G3 — private GLES admission follow-up
EXPERIMENTAL_SOURCE_ONLY. This kit derives a new diagnostic from the published
[G2 sources](../../step20c-corec-v2/gpu/README.md). It carries no G2 binary or
runtime qualification. B4 is INCONCLUSIVE until an independent reviewer accepts
the exact final bytes and receipts. Compositor build, staging and native GPU
run are NOT_RUN. STEP20C remains NEXT; production multi-output is
NOT_YET_SUPPORTED and PRODUCTION_AUTHORIZED is FALSE.
EXPERIMENTAL_SOURCE_ONLY. This kit derives a diagnostic from the published
[G2 sources](../../step20c-corec-v2/gpu/README.md). The historical B4 acceptance,
private build/stage and failed GPU-G3 attempt concern the frozen campaign bytes
identified below. They do not qualify this post-campaign repair. STEP20C remains
NEXT; production multi-output is NOT_YET_SUPPORTED and PRODUCTION_AUTHORIZED is
FALSE.
## Post-campaign portability repair — OFFLINE_ONLY
The closed campaign executed commit
`c55373eab3c53132bf1157acc9cfc9edd451156e`, source manifest v2 SHA256
`2e9fe75a48466fa1a9e3081137146d5cfffb35145c1749160e2c4f350bc6e5b7`.
Its historical GPU client SHA256 is
`4e791780ac62152245891459864283750681b136a246c3c39ccf36b4f33972b4`;
its G3 compositor SHA256 is
`9da90b178f20ea79bc9fb2a105c227f9d5d66a9de7eac77ff4ec3ea102908658`.
These identities and their original receipts remain authoritative for that
campaign. FS-P was NOT_EXERCISED at the client identity guard. A separate
post-campaign probe reproduced EACCES for a nondumpable child, while the
original FS-P errno remains NOT_OBSERVABLE. GPU-G3 was INCONCLUSIVE with zero
captures, epochs and arms: reference exited2 after configure/ACK and before SHM.
The old client required the retired LAB's absolute TMPDIR. DY-C, OM-ROOT and
OM-NESTED were PARTIALLY_FEASIBLE in the sampled scope (32 captures total).
The following source changes are **OFFLINE_ONLY**, made after that campaign,
and have never run in a compositor. The GPU SHM path helper requires SMX_LAB
to be a canonical owned0700 direct child of `/var/tmp` whose name begins
`swayfx-mosaic-step20c-native-closure-`, and TMPDIR to be its exact canonical
owned0700 `scratch` directory. It rejects missing values, old-ticket/outside
paths, symlinks, foreign ownership, wrong modes and truncation, with explicit
stderr diagnostics. mkstemp stays in that scratch directory. Existing core and
dumpability guards remain mandatory.
Fullscreen client identity still requires an observed matching PID/proc/exe
path and SHA. Inaccessible proc identity now saves NOT_OBSERVABLE plus the
operation and original OS error/errno before the same mandatory gate refuses.
This improves diagnostics and does not fix or exercise the native fullscreen
gate; a future observable identity proof remains to be designed. No self-report
substitute or weakened dumpability is admitted.
The new helper tests execute only extracted production C path-validation code,
and Python identity predicates. A corrected client may be compiled offline;
that is not a native qualification. The campaign budget is closed: these bytes
authorize no retry, new reservation, GPU-CTRL or other headless run. They require
a new parent-owned source freeze and independent review, without rewriting any
historical manifest, review, admission, ledger or runtime receipt.
## Normative basis and bounded contract
@ -64,7 +104,8 @@ env -i PATH=/usr/bin:/bin LANG=C.UTF-8 \
TMPDIR="$LAB/scratch" TMP="$LAB/scratch" TEMP="$LAB/scratch" \
XDG_CACHE_HOME="$LAB/cache" XDG_DATA_HOME="$LAB/data" \
PYTHONPYCACHEPREFIX="$LAB/pycache" CCACHE_DIR="$LAB/ccache" \
python "$KIT/reproduce.py" --lab "$LAB" --core "$CORE/scene" \
SMX_LAB="$LAB" PYTHONDONTWRITEBYTECODE=1 \
python -B "$KIT/reproduce.py" --lab "$LAB" --core "$CORE/scene" \
--destination "$LAB/replay-g3-scene"
```
@ -85,7 +126,23 @@ python "$KIT/test-targeted.py" --lab "$LAB" --scene "$LAB/replay-g3-scene"
python "$KIT/freeze.py" --lab "$LAB" --output "$LAB/g3-source-freeze-v2.json"
```
This performs C17 FakeGL execution of the exact header, controlled wrong
The four post-campaign TMPDIR helper tests are **OFFLINE_ONLY** and require
their own explicit command. The unchanged 12-command `test-targeted.py`
suite did not run `test_tmpdir.py`:
```sh
env -i PATH=/usr/bin:/bin LANG=C.UTF-8 \
TMPDIR="$LAB/scratch" TMP="$LAB/scratch" TEMP="$LAB/scratch" \
XDG_CACHE_HOME="$LAB/cache" XDG_DATA_HOME="$LAB/data" \
PYTHONPYCACHEPREFIX="$LAB/pycache" CCACHE_DIR="$LAB/ccache" \
SMX_LAB="$LAB" PYTHONDONTWRITEBYTECODE=1 \
python -B "$KIT/test_tmpdir.py"
```
These tests execute the extracted C validation/template helper, not a Wayland
draw or a native GPU acquisition. They do not qualify the consumed G3 run.
The targeted suite performs C17 FakeGL execution of the exact header, controlled wrong
native variants, exact arm-consumer C extraction, actual native helper C,
Python parser/scenario negative tests, source syntax checking, Wayland header
generation and client syntax compilation. The client is not executed. It

View file

@ -16,6 +16,7 @@
#include <wayland-client.h>
#include <sys/resource.h>
#include <sys/prctl.h>
#include <sys/stat.h>
/* WHY: one persistent background supplies real A/B commits below blur_tree.
* CONTRACT: fixed opaque background, premultiplied ARGB glass and static H2.
@ -74,6 +75,71 @@ static void release(void *data, struct wl_buffer *b) {
free_pixels(data);
}
static const struct wl_buffer_listener buffer_listener = {.release = release};
/* BEGIN G3_SHM_PATH_HELPER
* WHY: the retired G2 LAB pathname rejects a newly reserved G3 LAB before SHM.
* CONTRACT: only the owned canonical 0700 new-ticket LAB and its exact scratch.
* INVARIANT: no ambient temp fallback, truncation, symlink or dumpability change.
* This bounded helper is extracted verbatim by the non-graphical offline test. */
static int g3_path_reject(const char *reason) {
fprintf(stderr, "G3_SHM_PATH_REJECT reason=%s errno=%d\n", reason, errno);
return -1;
}
static int g3_private_directory(const char *path) {
struct stat st;
if (lstat(path, &st) < 0)
return g3_path_reject("directory_lstat");
if (!S_ISDIR(st.st_mode) || st.st_uid != getuid() ||
(st.st_mode & 07777) != 0700) {
errno = EPERM;
return g3_path_reject("directory_type_owner_mode");
}
char *canonical = realpath(path, NULL);
if (!canonical)
return g3_path_reject("directory_realpath");
bool same = !strcmp(canonical, path);
free(canonical);
if (!same) {
errno = EINVAL;
return g3_path_reject("directory_not_canonical");
}
return 0;
}
static int g3_shm_path(char *name, size_t capacity) {
const char *lab = getenv("SMX_LAB"), *runtime = getenv("TMPDIR");
const char prefix[] = "/var/tmp/swayfx-mosaic-step20c-native-closure-";
if (!lab || !runtime) {
errno = EINVAL;
return g3_path_reject("missing_SMX_LAB_or_TMPDIR");
}
if (strlen(lab) >= 512 || strlen(runtime) >= 512) {
errno = ENAMETOOLONG;
return g3_path_reject("environment_path_overflow");
}
if (strncmp(lab, prefix, sizeof(prefix) - 1) ||
!lab[sizeof(prefix) - 1] || strchr(lab + sizeof(prefix) - 1, '/')) {
errno = EINVAL;
return g3_path_reject("new_ticket_LAB_prefix_or_direct_child");
}
char scratch[512];
int n = snprintf(scratch, sizeof(scratch), "%s/scratch", lab);
if (n < 0 || (size_t)n >= sizeof(scratch)) {
errno = ENAMETOOLONG;
return g3_path_reject("scratch_path_overflow");
}
if (strcmp(runtime, scratch)) {
errno = EINVAL;
return g3_path_reject("TMPDIR_not_exact_LAB_scratch");
}
if (g3_private_directory(lab) || g3_private_directory(runtime))
return -1;
n = snprintf(name, capacity, "%s/g2-shm-XXXXXX", runtime);
if (n < 0 || (size_t)n >= capacity || n >= 512) {
errno = ENAMETOOLONG;
return g3_path_reject("SHM_template_overflow");
}
return 0;
}
/* END G3_SHM_PATH_HELPER */
static void draw(void) {
/* CONTRACT: exactly one runner command per reserved A/B image.
* INVARIANT: configures cannot draw, and the sequence is A/B/A only. */
@ -88,13 +154,13 @@ static void draw(void) {
/* CONTRACT: each mapping stays immutable until native wl_buffer.release.
* Bounds keep pool/stride integers valid, with at most eight outstanding. */
char name[512];
const char *runtime = getenv("TMPDIR");
if (!runtime || strcmp(runtime,"/var/tmp/swayfx-mosaic-corec-v2-i516p6po/scratch") || snprintf(name, sizeof(name), "%s/g2-shm-XXXXXX", runtime) >=
(int)sizeof(name))
if (g3_shm_path(name, sizeof(name)) < 0)
exit(2);
int fd = mkstemp(name);
if (fd < 0)
if (fd < 0) {
perror("G3_SHM_MKSTEMP_FAILED");
exit(2);
}
unlink(name);
if (ftruncate(fd, (off_t)size) < 0)
exit(2);

View file

@ -0,0 +1,71 @@
"""OFFLINE_ONLY: compile/exercise the actual SHM path guard, never Wayland."""
import os,subprocess,tempfile,unittest
from pathlib import Path
class TmpdirGuard(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.work=Path(tempfile.mkdtemp(prefix='g3-path-',dir=os.environ['TMPDIR']))
source=(Path(__file__).parent/'clients-g2.c').read_text()
begin=source.index('/* BEGIN G3_SHM_PATH_HELPER');end=source.index('/* END G3_SHM_PATH_HELPER */',begin)
helper=source[begin:end]
cls.executable=cls.work/'guard'
harness=cls.work/'guard.c'
harness.write_text('''#define _GNU_SOURCE
#include <errno.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/resource.h>
#include <sys/prctl.h>
#include <unistd.h>
'''+helper+'''
int main(int argc,char **argv) {
struct rlimit limit={0,0};
if(setrlimit(RLIMIT_CORE,&limit)||prctl(PR_SET_DUMPABLE,0,0,0,0))return 3;
if(argc==3 && !strcmp(argv[1],"directory"))return g3_private_directory(argv[2])?2:0;
char path[512];size_t cap=argc==2?(size_t)strtoul(argv[1],NULL,10):sizeof(path);
if(cap>sizeof(path))return 3;
if(g3_shm_path(path,cap))return 2;
puts(path);return 0;
}
''')
cls.compile_argv=['cc','-std=c17','-O2','-Wall','-Wextra','-Werror',str(harness),'-o',str(cls.executable)]
subprocess.run(cls.compile_argv,check=True,capture_output=True)
def call(self,env=None,*args):
e=dict(os.environ,SMX_LAB=os.environ['SMX_LAB'],TMPDIR=os.environ['SMX_LAB']+'/scratch')
for k,v in (env or {}).items():
if v is None:e.pop(k,None)
else:e[k]=v
return subprocess.run([str(self.executable),*args],env=e,capture_output=True,text=True)
def refuse(self,env=None,*args):
p=self.call(env,*args);self.assertEqual(p.returncode,2,p.stdout+p.stderr)
self.assertIn('G3_SHM_PATH_REJECT reason=',p.stderr);return p
def test_new_LAB_exact_template(self):
p=self.call();self.assertEqual(p.returncode,0,p.stderr)
self.assertEqual(p.stdout,os.environ['SMX_LAB']+'/scratch/g2-shm-XXXXXX\n')
def test_missing_old_outside_prefix_and_noncanonical(self):
for env in ({'SMX_LAB':None},{'TMPDIR':None},
{'SMX_LAB':'/var/tmp/swayfx-mosaic-corec-v2-i516p6po','TMPDIR':'/var/tmp/swayfx-mosaic-corec-v2-i516p6po/scratch'},
{'SMX_LAB':'/tmp/swayfx-mosaic-step20c-native-closure-test'},
{'SMX_LAB':os.environ['SMX_LAB']+'/../child'},
{'TMPDIR':str(self.work)},
{'TMPDIR':os.environ['SMX_LAB']+'/scratch/'},
{'SMX_LAB':'/var/tmp/swayfx-mosaic-step20c-native-closure-'}):
self.refuse(env)
def test_overflow_environment_and_output(self):
for env in ({'SMX_LAB':'/var/tmp/swayfx-mosaic-step20c-native-closure-'+'x'*512},{'TMPDIR':'x'*512}):
self.assertIn('environment_path_overflow',self.refuse(env).stderr)
self.assertIn('SHM_template_overflow',self.refuse(None,'16').stderr)
def test_real_directory_mode_symlink_and_owner(self):
directory=Path(tempfile.mkdtemp(dir=self.work));directory.chmod(0o700)
self.assertEqual(self.call(None,'directory',str(directory)).returncode,0)
directory.chmod(0o755);self.refuse(None,'directory',str(directory));directory.chmod(0o700)
alias=self.work/'alias';alias.symlink_to(directory);self.refuse(None,'directory',str(alias))
self.refuse(None,'directory',str(directory)+'/../'+directory.name)
if os.stat('/root').st_uid!=os.getuid():self.refuse(None,'directory','/root')
else:self.skipTest('no accessible foreign-owned 0700 directory')
if __name__=='__main__':unittest.main(verbosity=2)

View file

@ -14,6 +14,26 @@ from lifecycle import opening_pair
from model import Provenance
COLORS={'TOPLEVEL':(35,68,204),'POPUP_A':(224,192,32),'POPUP_B':(32,208,160)}
def client_executable_identity(pid,binary,expected_sha):
# WHY: PR_SET_DUMPABLE0 can make /proc/PID/exe inaccessible to the parent.
# CONTRACT: preserve OS error and NOT_OBSERVABLE; identity remains mandatory.
# INVARIANT: no fallback, self-reported identity or weakened dumpability.
exe=Path(f'/proc/{pid}/exe');operation='resolve'
proof=dict(pid=pid,proc=str(exe),expected_binary=str(binary),expected_sha256=expected_sha)
try:
actual=exe.resolve(strict=True);operation='sha256';observed=sha(exe)
except OSError as error:
return dict(proof,status='NOT_OBSERVABLE',matches=False,operation=operation,
errno=error.errno,error_type=type(error).__name__,error=str(error))
return dict(proof,status='OBSERVED',binary=str(actual),sha256=observed,
matches=actual==Path(binary) and observed==expected_sha)
def require_client_identity(proof):
# The exact predicate used by launch_client remains fail-closed offline too.
need(proof['status']=='OBSERVED' and proof['matches'],
'actual fullscreen client executable: '+json.dumps(proof,sort_keys=True))
return proof
def storage_guard(lab):
# WHY/CONTRACT/INVARIANT: stop before new action at 9GiB or <20GiB free;
# never purge old evidence to manufacture space.
@ -196,8 +216,10 @@ class Session:
build=self.lab/'followup-work/client-build'
p=self.spawn(name,[build/client,*args],True);self.wait(lambda:self.find(name));time.sleep(.25)
if client=='fullscreen-client':
exe=Path(f'/proc/{p.pid}/exe');need(exe.resolve()==build/client and sha(exe)==self.auth['client_binary_sha256'],'actual fullscreen client executable')
self.record('fullscreen-client-identity',pid=p.pid,binary=str(exe.resolve()),sha256=sha(exe))
proof=client_executable_identity(p.pid,build/client,self.auth['client_binary_sha256'])
self.save('fullscreen-client-identity',proof)
self.record('fullscreen-client-identity',**proof)
require_client_identity(proof)
return p
def capture(self,tag,out,orientation_pending=False):
self.debit('capture');spec=next(o for o in self.outputs if o['name']==out);p=self.run/(tag+'.png');need(not p.exists(),'capture unique')

View file

@ -216,6 +216,32 @@ class RepairPredicates(unittest.TestCase):
p.chmod(0o600);self.rejects(gate.source_modes,root)
p.unlink();p.symlink_to('/dev/null');self.rejects(gate.source_modes,root)
class IdentityDiagnostic(unittest.TestCase):
def test_observed_exact_identity_and_mismatch_stays_refused(self):
pid=os.getpid();exe=Path(f'/proc/{pid}/exe');binary=exe.resolve(strict=True)
proof=engine.client_executable_identity(pid,binary,gate.sha(exe))
self.assertEqual(proof['status'],'OBSERVED');engine.require_client_identity(proof)
self.assertEqual(proof['pid'],pid);self.assertEqual(proof['proc'],str(exe))
for target,digest in ((binary,'0'*64),(Path('/wrong/binary'),gate.sha(exe))):
proof=engine.client_executable_identity(pid,target,digest)
with self.assertRaises(ValueError):engine.require_client_identity(proof)
def test_EACCES_diagnostic_is_saved_and_same_final_predicate_refuses(self):
import errno
for phase in ('resolve','sha256'):
failure=PermissionError(errno.EACCES,'offline actual OS error fixture','/proc/123/exe')
if phase=='resolve':context=patch.object(Path,'resolve',side_effect=failure)
else:context=patch.object(engine,'sha',side_effect=failure)
with context:proof=engine.client_executable_identity(os.getpid(),Path('/expected'),'a'*64)
self.assertEqual(proof['status'],'NOT_OBSERVABLE');self.assertFalse(proof['matches'])
self.assertEqual(proof['errno'],errno.EACCES);self.assertEqual(proof['operation'],phase)
self.assertIn('PermissionError',proof['error_type']);self.assertIn('offline actual OS error fixture',proof['error'])
with self.assertRaisesRegex(ValueError,'NOT_OBSERVABLE'):engine.require_client_identity(proof)
def test_missing_proc_preserves_errno(self):
import errno
proof=engine.client_executable_identity(2147483647,Path('/expected'),'a'*64)
self.assertEqual(proof['status'],'NOT_OBSERVABLE');self.assertEqual(proof['errno'],errno.ENOENT)
with self.assertRaises(ValueError):engine.require_client_identity(proof)
class Admission(Scientific):
def setUp(self):
self.root=Path(tempfile.mkdtemp(prefix='gate-',dir=os.environ.get('TMPDIR',str(LAB/'scratch'))));self.ns=self.root/'OFFLINE_TEST_ONLY';self.ns.mkdir(mode=0o700)