E2 is FEASIBLE for the measured matrix. The initial private integration candidate is BUILDABLE; its accepted comment delta is NOT REBUILT. STEP20C remains NEXT and production multi-output remains NOT YET SUPPORTED.
21 KiB
STEP20C static E2 transition and completion
EXPERIMENTAL. Phase B PASS; Phase C FEASIBLE for the tested matrix;
Phase D initial candidate BUILDABLE, comment delta ACCEPTED / NOT REBUILT.
Independent B/C/D reviews accept these bounded findings. Phase E final deep audit is PASS / ACCEPTED, with no BLOCKING finding.
Publication identities are recorded in Git history and the private closeout
receipt; this report does not self-reference its publication commit.
Ticket: SWAYFX_MOSAIC_STEP20C_E2_COMPLETION_AND_PRIVATE_INTEGRATION_BATCH_V1.
Historical freeze: c5f96a34e3924275179365938d02f3a318c0c4bf, verified on
Forgejo and GitHub. The historical runtime remains INCONCLUSIVE.
Accepted bounded experiment contract
Canonical architecture, UX,
limitations, roadmap,
development, packaging and
upstream govern. This experiment changes no production or UX
contract. All historical LAB bytes remain unchanged. Historical fixture scripts are
unchanged, and the repository fixtures remain byte-identical to the Phase A
publication baseline c5f96a34 during B–E. The Phase A README status update
and its earlier runtime-inventory binding are explicitly documented below.
The derived fixture under tooling/probes/step20c-static-e2-completion/ must
share validate_applied_standard_transition(...) between offline replay and
runtime. It verifies ordered applied Mosaic, targeted accepted splith IPC,
applied standard and stabilized standard observations, with exact owner/root/
workspace/output attribution, absent tiled/root clips and live mapped popups.
Pending state is insufficient. Multiple roots or ambiguous epochs are
INCONCLUSIVE. Independent observations do not establish atomic generation.
Negative tests cover all seventeen specified temporal/provenance failures,
legitimate omissions and empty PASS records. The entire E2 assertion path and
handoff must be independently accepted before any runtime reservation.
Sole authorized runtime, conditional on offline gates
One fresh private LAB, ticket-specific durable owner and exclusive consumed
launch token. Unchanged static binary SHA256
f82557c1a9978a5e9665b9b4291b74880253725359e3df1c5b8d554921f7603b,
build ID 942db64269640778ee433e5970ba1100bc60f94c; actual mapped wlroots
SHA256 7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837.
No SceneFX dynamic mapping, compositor rebuild or pristine control.
Private headless H1(-800,0), H2(0,0), each800x600, scale1/normal; runtime0700,
clean environment and explicit private IPC socket on every command.
Limits: run1, chain1, grabs2, complete clicks4, camera1, transition1,
PNG12, positions16, maximum150 seconds. Failed runs are never refunded/retried.
Unique static H2 reference #303038, border none by actual con_id, full content. Two stabilized full-RGB references must be identical without mask/tolerance. A and B open from distinct real button serials with TOPLEVEL->A->B hierarchy, configure/ACK/map/protocol corroboration. Applied camera/owner geometry and root/tiled clips must explain measured Mosaic H1 pixels and whole-H2 equality. Targeted splith preserves workspace and mapped owner/A/B; shared temporal predicate qualifies observed clip removal. Standard H2 overflow is expected. B right press/release comes from a measured solid green interior. Explicit client close of B must be distinguished from popup_done; A retains its XDG object, map, pixels and input. Recalculate A right-click point from a new capture after B disappears. Normal owner close destroys popups; final whole H2 RGB must exactly equal the initial reference, with no A/B residual color. Preserve raw runner, terminal IPC, compositor/client codes and protocol logs, including cleanup/rescue. Terminal IPC1 alone does not undo completed science.
Conditional private integration and publication
Only runtime FEASIBLE plus accepted review permits a private integration
candidate outside production Git. Pinned source/patch provenance is mandatory;
limits are one SceneFX static build, one Mosaic build, one DESTDIR stage, zero
graphical runs/installations. Stage only /usr/bin/swayfx-mosaic and justified
notices under /usr/share/licenses/swayfx-mosaic/. BUILDABLE is not production
readiness, and the candidate binary has no graphical qualification from E2.
Reviewed documentation/fixture source may be committed and pushed normally;
no production source, real PKGBUILD, cumulative patch, binary, PNG or build file.
STEP20A DONE; STEP20B EXPERIMENTAL; STEP20C NEXT; STEP20D–G PLANNED. Production multi-output NOT YET SUPPORTED.
Recorded completion — 2026-10-13
This is the current results record for the ticket. The original fixture README is the sealed pre-execution protocol, preserved byte-for-byte in the accepted runtime manifest; its PREPARATION/NOT RUN wording describes that earlier state. Use README_RESULTS for the synchronized current status. Historical reports and fixtures retain their original INCONCLUSIVE verdicts. This report adds evidence, not production architecture, final popup UX, a packaging change or STEP20D implementation.
Phase A — historical preservation
Initial batch HEAD was 54392cc0; historical publication was verified at
c5f96a34e3924275179365938d02f3a318c0c4bf, equal to origin/main and github/main
at that gate with a clean tracked tree. This identifies the historical
publication only; the completion batch has no recorded publication SHA yet.
The 60-entry historical source manifest SHA256 is
263f5dbee5e96f2c49619802d063115f792718f6aeb71fa41c58c73b83eb8c91;
the 178-entry historical evidence manifest is
e8b2307612ce2402ff9b31e68b50a47d666ca38cd8cce1d67096297f8129034a.
All entries, thirteen PNGs and raw terminal codes were verified. Historical
runner/dispatch1, IPC1 and compositor/clients0 remain unchanged. Historical
standard input, explicit B close/A survival and final H2 restoration remain
NOT TESTED in that campaign.
The Phase A publication updated only historical repository documentation
status, including the runtime fixture README. Its old 92-entry pre-execution
inventory still records that README at SHA256
12d324b8cc971565c1e1f59b370cc7ada5df2567f6c6573f8b4f6cf60b8e56d8;
the published README is now
9574f2ab2cd538d78f9bf57bf98484dd5fdd66203013658709ddeb02ba5332ed.
The inventory and LAB copies remain intact. No new PASS92 is claimed: the
final source60/evidence178 seals used here and by replay verify every entry.
The final reviewer classified this documentation provenance note NON_BLOCKING.
Phase B — shared applied-transition validation, offline only
validate_applied_standard_transition(...) is shared by replay and runner.
It requires source-backed applied/current Mosaic, a targeted accepted splith
request, applied standard and at least two coherent stabilized standard
observations. Exact owner/root/workspace/output, live XDG hierarchy, protocol
and capture identity are correlated, and observed clip reactivation is rejected.
Pending state or ambiguous roots/epochs cannot qualify the gate. This bounded
correlation does not establish atomic transaction generation.
The old request-start timestamp was absent. Offline replay uses the explicit
actual interval [181922658327071,181923034516066], reply
181923035203192, retained old root 181923034904618 and cleared standard roots
181923236944243 and 181923848675032. No old row is discarded. The historical
standard PNG has content origin (-398,25), A [-298,105,350,170],
B [-198,165,300,130], and H2 A3120/B13260 pixels. This is OFFLINE replay,
not a new runtime or retroactive qualification of missing historical input.
The final derived fixture corrects old-configure mixing and the pre-root opening window. All 104 targeted tests pass, including seventeen temporal/ provenance negatives and fifteen explicitly synthetic handoff tests. Nonempty executed receipts are required; the 277 static assertion inventory classifies source sites and is not graphical execution proof. The independent tester reproduced 104 PASS, C17 syntax for four clients and nineteen Python AST checks. The independent reviewer reran 88 pure tests and verified all 104 actual receipts, accepting B. All B gate markers pass before dispatch.
The attempted fresh setup of the older 206-test suite retained 145 PASS and 61 errors from missing preflight native-SHM evidence and dependent source-audit setup. Its 145 preflight checks and replay passed. This setup limitation is separate from the new 104-test gate and does not rewrite the historical qualified 206 result. No synthetic execution receipts were substituted. Early failed bounded tester attempts are retained privately; the final C validation has 28 PASS.
Phase C — sole new runtime, FEASIBLE for this E2 matrix
Private LAB: /home/fy59/swayfx-mosaic-e2-completion-dk1hq9an.
The exclusive launch token was consumed once; post-run refusal was verified.
There was no E1/pristine-control build or runtime retry. Binary SHA256 remains
f82557c1a9978a5e9665b9b4291b74880253725359e3df1c5b8d554921f7603b,
build ID 942db64269640778ee433e5970ba1100bc60f94c. Actual mapped wlroots is
7edca9a7d65855addda68e29ba5db94d57c803eb5fa7d0f86db3136b90ca9837.
No dynamic SceneFX mapping was observed. Actual rendering used FX/GLES;
an environment renderer request is not evidence of Pixman execution.
Outputs were H1 (-800,0) and H2 (0,0), 800×600, scale1, normal transform.
Reference container7/PID2130252 was solid #303038 with empty decoration and
full client size. Stored border width2 is valid under the observed border-none
state. Owner9/PID2130263 stayed in workspace6. One camera scroll -320 changed
480→160; applied scene was (-320,0,640,600), content origin (-318,25).
Native SHM420×320 remains distinct from assigned content636×573. Root
0x55b8d482ea30 carried local clip [-482,-25,800,600], global
[-800,0,800,600].
Real left serial33/ACK34 opened A; real left serial42/ACK43 opened B.
The wire chain was TOPLEVEL XDG9 → A XDG12 → B XDG15. Configure/ACK/map and
wire/client observations corroborate both valid grabs. Mosaic A was
[-218,105,350,170], B [-118,165,300,130].
| Settled capture | H1 A | H1 B | H2 A | H2 B | Whole H2 reference equality |
|---|---|---|---|---|---|
| Mosaic | 24080 | 15340 | 0 | 0 | Exact |
| Standard A+B | 28880 | 25740 | 3120 | 13260 | Ordinary overflow expected |
| Standard after explicit B close | 50660 | 0 | 8840 | 0 | Ordinary A overflow expected |
| Final owner close | 0 | 0 | 0 | 0 | Exact |
Targeted [con_id=9] layout splith request 191234782728967 received accepted
reply 191234785087227. First applied standard root was 191234987463354,
stabilized root 191235601727206; four more standard callbacks through B input
retained absent tiled/root clips. Owner/root/workspace/output and mapped popups
were preserved. Standard content origin became (-398,25) with the same A/B
rectangles as the old standard replay. Standard H2 popup pixels are expected
ordinary overflow, not a reference-equality failure.
Measured B point (10,175) delivered right pair53/54 at local (208,10).
Explicit close_b produced exact wire destruction and COMMAND close_b DONE,
with no popup_done. A retained the same mapped objects and pixels. A new
post-close capture selected point (10,115) and right pair59/60 at local
(308,10). Normal close_owner destroyed A before TOPLEVEL and exited0.
Final H1/H2 contain zero A/B colors. Reference1, reference2, Mosaic H2 and final
H2 all have PNG SHA256
4471e93ccb6cf3ff4970f61fce405431a228af598d2f1f030a3b7586962ecd7a;
all 480000 RGB pixels match without mask or tolerance. Twelve captures and
six exact A/B geometry/occlusion masks were independently verified.
Runtime was 13.05365723601426 seconds of 150: run1, chain1, grabs2, complete
clicks4, captures12, camera1, transition1, positions5/16. Runner and dispatch0;
terminal IPC1 retained stderr Unable to receive IPC response; compositor,
E2, filler, reference and pointer0. No rescue/watchdog was needed; private
runtime /tmp/msng-znx8zrw4 disappeared and owned PIDs were reaped. Response
loss during normal shutdown is compatible with these observations, not causally
proven. Two startup EGL_BAD_ALLOC enumeration entries are retained; they did
not prevent the measured matrix or normal exits. The 256 damage traces are
sampled coverage, not complete damage or atomic-generation proof.
Independent C review ACCEPTED the FEASIBLE finding; final tester C has 28 PASS.
Phase D — private initial candidate BUILDABLE, annotated delta NOT REBUILT
C's accepted FEASIBLE gate enabled the conditional private integration dossier
at LAB/integration-candidate/. Pinned sources: SwayFX
fd71a6bdc061bd633b488ae7b83e8a6981d22f86, Mosaic
cd550382b311efdbfe3ed892f4e1d281d852e754, SceneFX
37ccd723bef49e6891156ffafce8f549f01446cc, wlroots
d783533489e1f75d6886c2ab5c5960090ef268f8. Archive reconstruction and eight
historical patches passed applicability and source-equivalence checks.
One SceneFX static build, one Mosaic build, one model test1/1 and one DESTDIR
stage passed. Zero graphical runs and zero installations occurred.
The private initial binary is
616aa504334d88aada5b1596df624957f39b0f1ae975a1a04105fbf73aea6dd0,
build ID a0a46860f3b0f1b9dcc7f9044acca7f8489cceec; it differs from C and
is graphically NOT TESTED. Private cumulative SwayFX patch SHA256 is
8acde9a9755e0db16fee4c49c479649414bd23f0dab399e4e6a4aa2e1053b1d3,
SceneFX 768372773f8755083aa02be5547863b1269ef9facb2131b0a7acc5574c822856.
These private patches are not published in the fixture or production patch.
No additional Meson delta was needed beyond the existing private static
pkg-config selection. PKGBUILD.future syntax passed; recipe execution is
NOT RUN and the production PKGBUILD remains unchanged.
The complete stage has exactly five regular owned files:
/usr/bin/swayfx-mosaic;/usr/share/licenses/swayfx-mosaic/INCORPORATED-NOTICES;/usr/share/licenses/swayfx-mosaic/SceneFX-LICENSE;/usr/share/licenses/swayfx-mosaic/SwayFX-LICENSE;/usr/share/licenses/swayfx-mosaic/wlroots-LICENSE.
The one-binary Meson manifest is the intermediate stage before notice addition; the final five-file manifest is complete. An initial tester concern about absent notices was corrected against that final manifest. Relocation checks pass; 85 overlapping symbols are characterized, 17 structs/six offsets were locally checked with C17 and 71 transitive libraries inventoried. Semantic ABI maintenance is NOT ESTABLISHED. Conservative notice inventory covers 895 inputs, 599 headers,12 shaders,7 XML,16 generated inputs and282 full notice blocks. Exact extraction/header obligations and legal release clearance remain open: legal compliance NOT APPROVED. Named release/security roles remain required.
The initial independent D review was CORRECTION_REQUIRED on P2 source comments.
One bounded comment-repair/ derivation annotated four files in two private
patches: SceneFX
21f057ff4180bb5dd35af35070aa4a95923be83f81abb864793e5bfb93643b01,
Mosaic 7fee137101abc0cd5024cea172c5904268ddf995bc5855c570e4dfabd643c970.
Lexical checks preserve all active C tokens; exact patch application and parent/
annotated hashes pass. Delta review ACCEPTED / P2 RESOLVED. This is
COMMENT-ONLY / NOT REBUILT: the original sources/builds/binary/manifests are
unchanged; inserted lines may affect __LINE__ diagnostics. The initial recipe
was neither amended nor executed for these annotated copies. A future annotated
recipe must add both patches after the eight historical patches and requires
separate rebuild authorization. D BUILDABLE means initial build evidence plus
resolved comment obligation, never a compiled annotated candidate.
The sealed results/final-gate.json retains its original review-PENDING
snapshot. The authoritative appended /batch/phase-d-gate.json records the
accepted final D gate without rewriting that snapshot.
Provenance and independent review bindings
/batch below means /home/fy59/swayfx-mosaic-e2-batch-hyrd8qm1; LAB means
the sole C laboratory above. All referenced private manifests and entries were
verified; artifacts, raw logs, PNGs, builds and integration patches remain
outside Git. The 23 accepted fixture source files, including the original README,
remain byte-identical. The current results README is a documentation append,
not a modification of the reviewed runtime inputs.
| Record | Entries / status | SHA256 |
|---|---|---|
| B/C source handoff | 73 verified entries | b90bd1564acfdd78276843a5fe5ddb2ba1b5fb75fdd5f097fa64f073d0a89cbc |
| C evidence | 66 verified entries | 1f3723db89a6a5dca05f094d8e7c370feebcc640c922838b7abecb99167b6067 |
| D initial source | 1003 verified entries | fca097b0376694fd563b33fb49923086a19d1a5a9cfe5ba9fc045707b07bc61f |
| D initial evidence | 172 verified entries | 4be20af63e0ee4f4b5c2187584bbb7087ece1be5cd9d5576246ae5a62eda2957 |
/batch/review-b-report.md |
ACCEPTED | eddefb3dfbde5410c32b1addf940977d0b2a176c91009597bf4130ba4929ef82 |
/batch/review-c-report.md |
ACCEPTED / FEASIBLE | e506b42e64a18fd237cea5199f67d49745436ee9a10f01798f07eb2072050f68 |
/batch/review-d-delta.md |
ACCEPTED / P2 RESOLVED | 6a7299e530ce3abde51997572b0bccccc61c5d88180c15925dcecc6cb76a32d7 |
The original D review /batch/review-d-initial.md, earlier tester failures,
raw terminal failures and historical fixtures remain available unchanged.
Consolidated boundary and next gate
| Domain | Evidence now recorded | Remaining qualification |
|---|---|---|
| Static tiled clip | Prior static RGB/input/standard retest | Wider graphics/daily use NOT QUALIFIED |
| Static grabbed popups in Mosaic | Historical E1 and new C E2 sampled pixels/hierarchy/grabs | Other popup families/geometries NOT TESTED by C |
| Static standard return/input/lifecycle | C E2 FEASIBLE, B then A input and explicit normal close | Universal click-through/final popup UX UNDECIDED |
| Hidden-owner guard | Historical private evidence | New static C hidden-owner matrix NOT TESTED |
| Saved-buffer continuity | Separate historical saved-target evidence | Static C continuity NOT TESTED; lifetime gate open |
| Blur/shadow/effects | Historical PARTIALLY_FEASIBLE with retained limits | New static C effects NOT TESTED |
| Scale/rotation/vertical geometry | Historical bounded private probes | Generalized static pair NOT QUALIFIED |
| Output migration/resize | Historical bounded ownership evidence | Static C/D migration NOT QUALIFIED |
| Damage/stale pixels | Settled restoration and 256 sampled C traces | Complete/intermediate-frame coverage NOT QUALIFIED |
| Transaction generation | Ordered applied observations | Atomic transaction/render/input identity NOT ESTABLISHED |
| ABI and maintenance | D local header/symbol/relocation characterization | Maintained semantic ABI, upgrades/security gates open |
| Private static packaging | D initial BUILDABLE, exact five-file stage | Annotated source NOT REBUILT; recipe NOT RUN; legal NOT APPROVED |
| Production integration/distribution | No source/package/UX change | STEP20C NEXT, production multi-output NOT YET SUPPORTED |
Phase E documentation prepares the authorized second publication with intended
message test(mosaic): qualify static nested standard return and integration readiness.
The final deep batch audit is PASS / ACCEPTED, with no BLOCKING finding.
Normal publication identities are recorded by the accompanying Git commit and
/batch/closeout.json; no self-referential commit SHA is embedded here. Any graphical qualification of the D binary or annotated rebuild
requires a separate bounded authorization; C's result cannot qualify D.
STEP20A DONE; STEP20B EXPERIMENTAL; STEP20C NEXT; STEP20D–G PLANNED.
Final audit and gate record
The independent Astra final review is preserved at /batch/final-review.md,
SHA256 088f1b0e9d32095d20c842400d865a3e880cf122ce51b952cbf342c99ee3fe3f.
It reran 88 pure tests, recalculated all claimed A/C/D manifest entries and
C's actual geometry/RGB/input/lifecycle evidence, and accepted publication.
No additional runtime, build or staging was executed during closeout.
STATIC_NESTED_RUNTIME_FREEZE=PASS
E2_TEMPORAL_REPLAY=PASS
E2_TEMPORAL_NEGATIVES=PASS
E2_ASSERTION_AUDIT=PASS
E2_OFFLINE_TESTS=PASS
E2_INDEPENDENT_REVIEW=ACCEPTED
STATIC_E2_RUNTIME_PREPARATION=PASS
STATIC_E2_RUNTIME_HANDOFF=PASS
SWAYFX_MOSAIC_STATIC_E2_COMPLETION=FEASIBLE
STEP20C_PRIVATE_INTEGRATION_CANDIDATE=BUILDABLE
BUILDABLE refers to the initial D build; the accepted annotated source delta
remains COMMENT-ONLY / NOT REBUILT. Final remote identities and publication
outcome are recorded separately in /batch/closeout.json after direct checks.