swayfx-mosaic/docs/design/STEP20C_RELEASE_SHAPE_EXTENDED_MATRIX.md
fy59 ed9375797e test(mosaic): record targeted STEP20C partial closure
Record exact-SHA scale and extended G samples, same-source blur measurements
and retained negative saved/input results. Keep STEP20C NEXT and production
multi-output unsupported; no production integration.

Preserve immutable probe fixtures, offline regressions and compact artifact
provenance. Fourteen consumed runs / 125 output captures, independent final
audit accepted. Saved timeout/GPU lifetime, whole-H1 return, input after camera
mutation and all-frame damage remain open.
2026-10-14 07:00:33 +02:00

5.2 KiB
Raw Permalink Blame History

STEP20C — matrice étendue release-shape

EXPERIMENTAL — édition du 2026-10-14, clôture documentaire des quatorze runs ciblés, diagnostic C3 inclus. Revue finale indépendante : ACCEPTED, audit PASS pour la fidélité de l’évidence expérimentale. Publication documentaire autorisée et préparée, non exécutée à cette édition. Le diagnostic C3 est exécuté : résultat INCONCLUSIVE, observations natives partielles sans transfert à A/G. STEP20A DONE ; STEP20B EXPERIMENTAL ; STEP20C NEXT ; STEP20D–G PLANNED. Multi-output de production : NOT YET SUPPORTED. Aucune intégration, installation ou décision UX.

L’autorité brute est le LAB privé /home/fy59/swayfx-mosaic-targeted-7gge6h8b ; HIST désigne /home/fy59/swayfx-mosaic-overnight-mcolx0gq. Les chemins LAB/HIST sont des artefacts externes locaux, pas des fichiers distribués. Le rapport de clôture donne les identités exactes, la matrice des quatorze runs et les limites. Les sources de fixture ciblé restent des entrées expérimentales ; elles n’ajoutent aucune dépendance de production. Les rapports historiques et leurs verdicts restent inchangés.

Résultats graphiques propres à G

G possède son propre SHA et n’hérite d’aucun PASS de A. Le smoke horizontal historique reste historique ; les nouveaux runs sont scale-G, saved-G, FX-G, input-G et les trois cellules ci-dessous.

Run G ciblé PNG Grabs wire A/B Observations retenues Verdict architecture
G-dynamic-G 14 42/51 resize 960 puis800, migration H1→H2→H1, quatre étapes et input frais PARTIALLY_FEASIBLE
G-hidden-G 12 61/70 même hiérarchie conservée, owner pleinement caché/clip vide/aucun enter, retour et clic B FEASIBLE pour l’échantillon
G-R90-G 9 35/44 transform R90 réel, mode physique750×1000, scale1,25, logique800×600, PNG1000×750/markers FEASIBLE pour l’échantillon

Le dynamique mesure de nouveaux clics toplevel lorsque popup_done a fermé la chaîne ; aucun popup n’est recréé. Il ne prouve pas une chaîne grabbed persistante durant chaque migration. R90 conserve B visible, exclusion du bouton interdit, dismissal et H2 final exact. Les mesures de ces trois runs sont PASS ; chaque résultat runtime reste INCONCLUSIVE (IPC terminal1), processus 0 et scientific cleanup PASS distincts. Standard return n’est pas exercé dans cette allocation. Les résultats saved/input/FX partiels figurent dans leurs rapports dédiés.

Instrumentation résiduelle et ABI exacte

G a retiré26 statements OPT et des helpers orphelins ; il conserve listener commit, logs present, boucles scène/owner/popup et clocks. L’absence de nouveau lock/référence/allocation dans les callbacks PI est un audit source ; logging peut bloquer/allouer. fx_framebuffer_bind(pass->buffer) reste avant la branche failed, avec ordre différent de pristine. Cette neutralité est INCONCLUSIVE, pas garantie par les seize images A/G exactes.

La paire locale est SceneFX 0.5 commit 37ccd723bef49e6891156ffafce8f549f01446cc et wlroots 0.20.2 commit d783533489e1f75d6886c2ab5c5960090ef268f8, bibliothèque SHA 7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837. Les121 headers sont inchangés et chaque nouveau run possède ses propres maps. Aucune SceneFX shared séparée n’y est mappée. Les17 structs/six offsets égaux et85 exports chevauchants sont des checks nécessaires :34 bindings retenus, 31 vers l’exécutable/trois vers wlroots. Ils ne prouvent ni incompatibilité ni safety complète ; toutes autres paires NOT QUALIFIED.

Package privé, notices et maintenance

LAB parent/package-audit.json rapporte bash -n, sept checksums, makepkg --printsrcinfo, makepkg --verifysource et git apply --check des deux patches PASS sur copies privées locales. Aucun réseau/install ; full makepkg build NOT RUN. Les stages A/G contiennent exactement cinq fichiers réguliers sans symlink : binaire mode755, quatre notices mode644 sous /usr/share/licenses/swayfx-mosaic/. DT_NEEDED ne contient pas SceneFX shared. Le PKGBUILD courant reste inchangé ; aucune distribution n’est validée.

LAB parent/abi-maintenance.json vérifie les hashes de notices et inventories conservateurs895/894 entrées A/G, 894/893 chemins uniques (un doublon chacun). testlog.junit.xml recensé est un résultat de test, pas du code incorporé. Sept C changent A/G et opt_probe.h est retiré ; cette comparaison ne prouve pas l’incorporation exacte par préprocesseur ni les membres réellement extraits des archives. Suffisance des licences : HUMAN_REVIEW_REQUIRED.

La responsabilité projet SceneFX embarqué est déjà approuvée pour le candidat privé. Release maintainer et security reviewer restent à nommer, sans noms/SLA inventés. Avant distribution : veille/impact des fixes, pins source+hash, rebuild paire exacte, tests ABI/graphique/lifetime/clip/damage, notices et stage, puis décision distincte de publication. Standard SwayFX reste indépendant et fallback ; aucun système d’update, dépendance ou politique d’installation nouveau n’est adopté. Ces gates prolongent le contrat privé existant sans modifier Packaging/Upstream/Development.