Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions .github/workflows/i46-b34-dirty-open-x11.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: I46 B35 real X11 dirty-Open preserve user TeX and PDF
name: I51 B37 real X11 dirty-Open preserve user TeX and PDF
on:
push:
branches:
- qa/i51-b36-real-x11-pdf-focus
- qa/i46-b34-dirty-open-real-x11
- b/b32-safe-open-source-undo-20261101
- b/b36-compact-pdf-focus
- main
paths:
- '.github/workflows/i46-b34-dirty-open-x11.yml'
Expand All @@ -15,10 +17,13 @@ on:
- 'Cargo.toml'
- 'plans/2026-11-01_I46_B35_DIRTY_OPEN_REAL_X11.md'
- 'insights/2026-11-01_I46_B35_REAL_OPEN_QA.md'
- 'plans/2026-11-01_I51_B36_LIVE_PDF_FOCUS.md'
- 'insights/2026-11-01_I51_B36_LIVE_DESKTOP_QA.md'
- 'CHANGELOG.md'
pull_request:
branches:
- b/b32-safe-open-source-undo-20261101
- b/b36-compact-pdf-focus
- main
paths:
- '.github/workflows/i46-b34-dirty-open-x11.yml'
Expand All @@ -38,7 +43,7 @@ concurrency:
group: i46-b34-${{ github.event.pull_request.head.sha || github.sha }}
cancel-in-progress: true
jobs:
actual-b34-desktop:
actual-b36-desktop:
runs-on: ubuntu-24.04
timeout-minutes: 40
env:
Expand All @@ -52,11 +57,11 @@ jobs:
- uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec
with:
toolchain: '1.91.0'
- name: Verify exact checkout and B35 app source tree; never accept stale B31 X11
- name: Verify exact checkout and B37 app source tree; never accept stale B31 X11
run: |
test "$(git rev-parse HEAD)" = "$TIKZARIUM_SOURCE_SHA"
echo "TIKZARIUM_APP_TREE_SHA=$(git rev-parse HEAD:crates/tikzarium-app/src)" >> "$GITHUB_ENV"
test "$(git rev-parse HEAD:crates/tikzarium-app/src)" = '46aced2dbe1b66ba10d8cc92292024625e73936b'
test "$(git rev-parse HEAD:crates/tikzarium-app/src)" = 'b855b7d8972b6663e0e764daa140c68a6b232fef'
- name: Install external Linux X11, XeLaTeX and PDF prerequisites
run: |
sudo apt-get update -q
Expand All @@ -67,7 +72,7 @@ jobs:
xelatex --version | head -1
- name: I46 offline predicates (not accepted as actual GUI)
run: python3 -m unittest discover -s scripts/tests -p test_qa_i46_dirty_open_x11.py -v
- name: Build unmodified B35 egui executable with checked Cargo.lock
- name: Build unmodified B37 egui executable with checked Cargo.lock
run: |
cargo build --locked -p tikzarium-app --bin tikzarium-app
git diff --exit-code -- Cargo.lock
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/n1-desktop-smoke.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
name: I47 B35 real X11 native TikZ six gestures, held Undo and PDF
name: I51 B37 real X11 native TikZ six gestures, held Undo and PDF
on:
push:
branches:
- qa/i51-b36-real-x11-pdf-focus
- qa/i46-b34-dirty-open-real-x11
- qa/i45-b31-zoom-label-live-reaccept
- qa/i43-b31-compact-real-x11
Expand All @@ -19,9 +20,12 @@ on:
- 'Cargo.lock'
- 'plans/2026-11-01_I46_B35_DIRTY_OPEN_REAL_X11.md'
- 'insights/2026-11-01_I46_B35_REAL_OPEN_QA.md'
- 'plans/2026-11-01_I51_B36_LIVE_PDF_FOCUS.md'
- 'insights/2026-11-01_I51_B36_LIVE_DESKTOP_QA.md'
- 'CHANGELOG.md'
pull_request:
branches:
- b/b36-compact-pdf-focus
- b/b32-safe-open-source-undo-20261101
- feat/b27-egui-undo-held-pointer-20261101
- b/b31-compact-xelatex-fit
Expand Down Expand Up @@ -63,7 +67,7 @@ jobs:
run: |
test "$(git rev-parse HEAD)" = "$TIKZARIUM_SOURCE_SHA"
echo "TIKZARIUM_APP_TREE_SHA=$(git rev-parse HEAD:crates/tikzarium-app/src)" >> "$GITHUB_ENV"
test "$(git rev-parse HEAD:crates/tikzarium-app/src)" = '46aced2dbe1b66ba10d8cc92292024625e73936b'
test "$(git rev-parse HEAD:crates/tikzarium-app/src)" = 'b855b7d8972b6663e0e764daa140c68a6b232fef'
- name: Install isolated hosted GUI and external XeLaTeX prerequisites
run: |
sudo apt-get update -q
Expand All @@ -81,7 +85,7 @@ jobs:
cargo build --locked -p tikzarium-app --bin tikzarium-app
git diff --exit-code -- Cargo.lock
cp Cargo.lock "$RUNNER_TEMP/i19-build-evidence/Cargo.lock"
- name: Real B35 X11 held-pointer Undo, six gestures, GUI XeLaTeX, compact Fit Page/Fit width
- name: Real B36 X11 held-pointer Undo, six gestures, GUI XeLaTeX, compact Fit Page/Fit width
run: |
mkdir -p "$RUNNER_TEMP/i19-runtime"
chmod 700 "$RUNNER_TEMP/i19-runtime"
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
## Unreleased — I51 B36 actual-X11 automated PASS / PDF-focus manual visual FAIL (block main merge)

- QA `6eea588f`: genuine Linux/X11 I47 `41330287961` SUCCESS, ZIP `13092913019` CRC and 45/45 hashes, real PDF/guide selected states and six native gestures with byte-preserved source. Separate I46 real safe Open SUCCESS. Manual comparison with same-run GUI-exported PDF reference exposes **missing rectangle strokes, stippled circle/Bézier and tiny text in the compact PDF-focus viewport**, plus stale prior `2% cannot fit` warning while focused PDF fits; **B36 visual fidelity FAIL**. No B/main merge pending correction, exact next QA CI NOT_RUN, physical Win10/Mac NOT_RUN.

## Unreleased — I51 B36 two-line diagnostic layout X11 strict selection (fresh CI NOT_RUN)

- Real I47 `41329734338` reached six native gesture+actual GUI PDF but exposed a wrapped Fit Page error banner shifting control y-coordinates by 16px; no B36 production fault demonstrated. Independently inspected screenshot `05a`; QA now tests exactly one selected-button layout among reviewed single-/two-line cases using real PNG RGB, with negative ambiguous/none tests. No edits to production Rust. New exact-head GUI and whole-page manual QA NOT_RUN at authoring; physical Win10/Mac NOT_RUN.

## Unreleased — I51 real B36 X11 screenshot calibration (second QA HEAD pending)

- First exact-I51 genuine X11 I46 PASS, independently verified 21/21 uploaded hashes and foreground modal + real XeLaTeX PDF. I47 first run failed after six persisted native TikZ gestures, XTest held Undo, F1 and PDF because B35 fit coordinates were now wrong: Zoom Out clicked B36 PDF focus and compact Fit Page missed. Corrected all zoom/fit and focus click positions from B36 screenshot 04d/04e2, added actual selected-button blue-pixel predicates in both modes. No production Rust touched. Fresh exact-SHA rerun and new visual acceptance **NOT_RUN** at correction authorship; physical Windows 10 / Mac ARM NOT_RUN.

## Unreleased — I51 B36 independent X11 PDF-focus integration (NOT_RUN; QA source head)

- QA-only source-tree rebase of I46 dirty-Open and I47 full six-gesture native-X11 workflows onto B36 #79 `af75b0402bdf9c99dd18999fc5a4f6eb4c974e23` (app/src `276ad1525db4ef3d3aab4624808453a897ad5b6a`), preserving existing Save/Undo/CRLF/opaque macro, external XeLaTeX PDF and F1 checks. Adds provisional 1180×680 real pointer PDF-focus/guide-return screenshots and no-TeX-mutation hash gates. Old B35 coordinates expressly NOT calibrated on B36; no visual acceptance inferred from mere differing screenshots.
- Exact-head hosted X11, screenshot and PDF manual review, PR merge and post-merge CI **NOT_RUN** at authoring. Physical Windows 10/MiKTeX and Mac M1/M4/XeLaTeX **NOT_RUN**. No production Rust, catalogue or TeX behavior changed.

## Unreleased — I50 D06 MiKTeX rerun artifact provenance (CI pending)

- Closed a demonstrated GitHub Actions evidence-routing defect: [D06 #41315329378](https://github.com/i-shutov/tikzarium/actions/runs/41315329378) attempt 4 actually built six PDFs with privately installed MiKTeX 25.12 on hosted Windows Server (47-file ZIP, package inventory unchanged), but the independent Ubuntu auditor fetched the stale 265-byte ZIP from attempt 1 by nonunique artifact name and failed before PDF audit.
Expand Down Expand Up @@ -246,3 +263,5 @@ Unreleased development state; no production release.
The first exact QA `94a081559f280acda0fe6718982f98b5866caf31` B35 real egui/X11 I46 run [41313976782](https://github.com/i-shutov/tikzarium/actions/runs/41313976782) **FAILED** at "Production modal never saved scratch to separate file", despite successful app launch, Cargo build, offline predicates, and verified original victim/occupied SHA256 byte preservation. Downloaded artifact [13085569228](https://github.com/i-shutov/tikzarium/actions/runs/41313976782/artifacts/13085569228) (ZIP CRC PASS) and independently reviewed screenshots 05/06/07/08. B35 product's requested fix **IS confirmed in real foreground modal**: 06 displays bright-red "Файл уже существует. Автоматическая перезапись чужого TeX запрещена; выберите новое имя." The live modal layout **re-centers** when this new red error line is shown. Before error the save TextEdit is at approx x465–875, y381–401 (driver click [675,398]); after error it moves to x465–875, y366–387. The old subsequent click [675,398] selected the explanatory text, not the TextEdit. Screenshots 06 and 07 have identical SHA-256; 08 still displays victim.tex, not the intended new scratch destination. Consequently the first X11 red run diagnoses a **QA mouse coordinate defect**, *not* a demonstrated B35 application failure. Do **not** claim the full safe Save/Open, cross-document Undo or GUI PDF PASS from I46 yet.

QA-only correction introduces screenshot-reviewed `modal_input_with_error=[675,376]` and bounds [465,366,875,387], separate from no-error `modal_input=[675,398]`. Driver uses error-state click after each rejected Save, offline tests reject stale y398 and missing bounds; B production Rust/source tree unchanged. New exact-head workflow, saved-scratch exact byte hash, original victim/occupied hashes, cross-buffer Undo, PDF glyph/font, and screenshot 07/08/09 must be independently reviewed before PASS. B35 I47 six actual pointer gestures/held-button Undo/PDF [41313976739](https://github.com/i-shutov/tikzarium/actions/runs/41313976739) **PASS exact previous QA SHA** with B35 app tree, downloaded ZIP artifact [13086785731](https://github.com/i-shutov/tikzarium/actions/runs/41313976739/artifacts/13086785731), ZIP CRC and 42/42 file SHA256 verified and visual sample/manual PDF inspected; this proves that unchanged B35 production tree, not the as-yet-unrun new I46 QA. It does not replace the I46 source-safety gate. Physical Win10+MiKTeX and macOS ARM remain NOT_RUN.

- QA I52 (B37 candidate, **not yet accepted**): source-tree-pinned independent Linux/X11 replay of I46/I47 and two real PDF-focus raster snapshots; PDF stroke fidelity and stale-fit-status remain manual NOT_RUN pending exact-head evidence. No production TeX/GUI changes in QA branch.
6 changes: 3 additions & 3 deletions fixtures/qa/i46-b34-dirty-open-x11-1366.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema": 1,
"profile": "I46/I48 B35 exact-app-tree real X11; error-state TextEdit re-centered and calibrated by first B35 41313976782 screenshots 05/06/08; new positive workflow evidence pending.",
"profile": "I51 B37 source-tree-pinned X11; B35 modal coordinates inherited, NOT screenshot-calibrated for B36",
"source": [
120,
190
Expand Down Expand Up @@ -33,8 +33,8 @@
536,
429
],
"reviewed_app_tree_sha": "46aced2dbe1b66ba10d8cc92292024625e73936b",
"bootstrap_caveat": "B35 exact app/source tree 46aced2dbe1b66ba10d8cc92292024625e73936b. 41313976782 genuine X11 screenshot 06 PROVES red rejection error in foreground modal; 05 no-error input y398, 06 after-rejection input y376. First B35 I46 FAIL was QA click y398 into explanatory text, not a proven B35 product failure. A fresh exact-head real GUI positive Save/Open/Undo/PDF run and independent artifact review remain mandatory. Physical Windows 10 and Mac ARM NOT_RUN.",
"reviewed_app_tree_sha": "b855b7d8972b6663e0e764daa140c68a6b232fef",
"bootstrap_caveat": "B37 exact app/src tree Git-verified, B36 modal controls inherited from real Linux/X11; fail closed if positions drift. Independently inspect new modal/source/PDF PNG and fonts before acceptance. Physical Win10 and Mac ARM NOT_RUN.",
"modal_save_reviewed_rect": [
465,
416,
Expand Down
73 changes: 58 additions & 15 deletions fixtures/qa/n1-desktop-x11-1366.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema": 1,
"profile": "I47 B35 app-tree: prior accepted B31 six gestures/held-pointer Undo/compact Fit controls, repinned to B35; new real X11 run and manual screenshots required",
"profile": "I51 B37 source-tree-pinned X11; inherited B35 gestures and new provisional PDF focus clicks REQUIRE actual independent screenshot calibration",
"calibration_runs": [
41192581511,
41193030547,
Expand All @@ -11,7 +11,7 @@
],
"initial_png_sha256": "b65754a44205040655d6434b8a592b665ec4fa02deac4ff8c4dfc50ddc7f612a",
"selected_png_sha256": "61f3d83313300494bc43fa3696c148b2c54011b27682210610d81db1f68f966a",
"layout_note": "B35 app/src tree 46aced2dbe1b66ba10d8cc92292024625e73936b; B34 source/proof tree ecc6d40668fd6edddc97c682f8ddcca5fe615c99 and prior I46/I47 screenshots are HISTORICAL. B35 coordinates are provisionally inherited from real B34; real B35 X11 source/gestures/PDF and manual screenshot review NOT_RUN. Not B35 acceptance yet.",
"layout_note": "I51 B37 source-tree pinned. Inherited B36 real-X11 coordinates and blue-selected-button probes are provisional after removal of global stale fit warning; fail closed on unknown layout. New B37 raster LOD and status visual review NOT_RUN.",
"path_click": [
310,
18
Expand All @@ -25,16 +25,16 @@
13
],
"fit_click": [
1027,
72
659,
99
],
"compact_fit_width_click": [
603,
98
490,
125
],
"compact_fit_page_click": [
680,
98
570,
125
],
"gestures": [
{
Expand Down Expand Up @@ -136,14 +136,14 @@
698,
13
],
"reviewed_app_tree_sha": "46aced2dbe1b66ba10d8cc92292024625e73936b",
"reviewed_app_tree_sha": "b855b7d8972b6663e0e764daa140c68a6b232fef",
"zoom_out_click": [
882,
72
523,
99
],
"fit_page_click": [
515,
97
739,
99
],
"responsive_resize": [
1180,
Expand All @@ -155,6 +155,49 @@
],
"undo_held_pointer": true,
"b30_release_source_history_regression": true,
"calibration_reference": "Prior B34 I46/I47 X11 passes on ecc6d40668fd6edddc97c682f8ddcca5fe615c99; new B35 app 46aced2dbe1b66ba10d8cc92292024625e73936b requires fresh exact-head acceptance.",
"b34_modal_real_run": 41308995293
"calibration_reference": "B36 real-X11 six gestures and PDF toggles accepted as controls only on B36 app/src tree 276ad1525db4ef3d3aab4624808453a897ad5b6a; B37 image quality and warning status require new artifacts and independent manual comparison.",
"b34_modal_real_run": 41308995293,
"b36_bootstrap_clicks_unreviewed": false,
"b36_evidence_recalibrated_from": "B36 two screenshot-verified layouts inherited strictly as candidate B37 coords; status layout changed. Unknown/ambiguous probe rejects test; no B37 GUI claim until exact-head live proof.",
"b36_focus_layouts": [
{
"name": "ordinary_single_line",
"guide_probe": [
750,
72
],
"pdf_probe": [
460,
98
],
"pdf_click": [
492,
98
],
"guide_click": [
788,
72
]
},
{
"name": "two_line_fit_page_status",
"guide_probe": [
750,
87
],
"pdf_probe": [
460,
114
],
"pdf_click": [
492,
114
],
"guide_click": [
788,
87
]
}
],
"b37_preview_fidelity_visual_review": "NOT_RUN"
}
Loading
Loading