5.9 KiB
Program execution flow V1 validation evidence
Status: PASS
This record covers both the isolated implementation evidence and the completed private coordinated rollout. It does not claim a tag or public release.
Functional evidence
- Android starts one projected Program session through the production durable singleton, returns the same draft on replay, refuses an unrelated singleton, and refuses a second execution after completion.
- Finalization retains the stable
program_id,program_session_id, and executionsession_id; reopening preserves completion and creates no draft. - A production full-generation scenario imports
programs-v1on Android, performs and finalizes the session, publishesprogram-executions-v1, imports completed history and provenance on desktop, accepts the real correlated ACK, and exposes Webcompletedbefore continuing through deletion and replay. - Existing logical Program deletion, tombstone ACK, restart and non-resurrection coverage remains in the same integrated scenario.
Validation evidence
- Native Meson suite: 87/87 passed.
- ASan/UBSan Meson suite with Web assets: 89/89 passed.
- Android JVM suite: 231 passed, 5 intentionally skipped hardware cases.
- Android debug and private release builds passed; release lint passed.
- Web Vitest: 94/94 passed; TypeScript and production build passed.
- Real headless Firefox against the C server passed desktop and exact 390×844 Programs flows, including readable state text and deletion confirmation.
- Populated desktop migration continues from v25 through v27 with identical
business projections, integrity
ok, empty foreign-key check, and an empty execution ledger. Android v24 to v25 migration preserves the active draft and invents no Program provenance. - JSON/import validators,
git diff --check, andtools/check_changed_c_format.sh mainpassed.
Private deployment evidence
- Source commit:
949ace63013feb714657f81cf809029276ec8e79. - Desktop candidate SHA-256:
a6aa6745fe3f8cf55c25272d9b92c97b2ab3242041764d07555536733f04ab12. Its 49-file inventory, source commit, desktop schema v27 andprogram-executions-v1companion were verified before installation. - Android private release SHA-256:
7ce6aaa0e6bd889b4e369c4dac3785c6344515ba4ea8190daa78c01ad271ecdf. Official Android tools verified application IDcom.labfytools.trainlog, versionName 0.1.2, versionCode 17, nondebuggable release metadata, and certificate SHA-256aa56c97f2781a0d01f007f4444c3970deb58ad8327ca3da7b0b90f37dbe2ad25. The previous installed package was the same application and certificate at versionCode 16. Installation usedadb install -r; no uninstall or data clear occurred. - Verified pre-install backups are stored outside the repository under
program-flow-v17-rollout-20260918T193800Z. The desktop snapshot is schema v26 with integrityok; the Android archive is schema v24 and contains the complete SQLite store and preferences. A post-migration Android archive and the final post-replay archive both verify as schema v25 with integrityok. - Desktop migrated from schema v26 to v27 with integrity
okand an empty foreign-key check. Android migrated from schema v24 to v25 with integrityok, an empty foreign-key check, no active draft invented, and its nine pre-existing completed sessions retained.
Real execution, synchronization, and deletion
The rollout used only disposable Program
pg_17a00000-0000-4000-8000-000000000001. Its single projected session was
started on Android, left and resumed, then completed as
se_6bb66f59-a6fb-4759-a75d-c1a79ea107e8. Android displayed Effectuée.
The correlated execution exchange completed as run
sy_b9c2e545-ec63-4836-beea-cff1aa7c5115, consuming Android generation
gen_9a0b7968-eeee-49ba-895b-36aa1783e412 and acknowledging desktop
generation gen_0b52e009-f654-4da4-8f1b-f23665c97784. The inbound generation
contained the production program-executions-v1.json; desktop and Web exposed
the same completed Program provenance.
The second idempotence exchange completed as run
sy_81d12965-846d-4502-a864-8ded4d5f1f1d, with inbound generation
gen_60e615b9-d06f-43ca-8280-c3bd96cebe63 and outbound generation
gen_55dd9234-0f8c-4a1a-9b57-d6d549888e82. It retained one execution link,
one completed session, and no active draft.
The revision-guarded Web deletion created exactly one durable Program deletion.
Run sy_fa74a008-6767-40e2-b973-7bda38eaad68 consumed Android generation
gen_598eff4b-4b3d-4b8f-8202-1e0c153568ff, published desktop generation
gen_36f3dbbd-1610-463e-ab0d-f43c10392117, and recorded its correlated
acknowledgement. Android retained exactly one tombstone and no live disposable
Program.
After Trainlog services and both stores were closed and reopened, the real
desktop production consumer replayed the preserved pre-deletion generation
gen_9a0b7968-eeee-49ba-895b-36aa1783e412. It returned the exact stored
sqlite-commit-full consumed ACK and changed no execution, session, deletion,
or Program cardinality. The final correlated run
sy_ffb11cba-fa2a-43a4-89dc-7395b8a6cbc3 completed with inbound generation
gen_020b4747-9260-4cd7-ac92-8381b93bfa73, outbound generation
gen_ff13e95b-274e-4abd-a006-c8bbddf6ded1, zero reconciled sessions, and no
missing capability. The deleted Program did not reappear.
The protected Program
Renforcement 4 semaines — priorité ceinture abdominale remains active and
unique with its original identity, 24 sessions, 164 ordered entries, and no
deleted_at. Real Firefox loaded the deployed C server at 1440×1000 and exact
390×844 viewports; both had no document overflow, showed the protected Program,
and excluded the disposable Program. trainlog-web.service and
trainlog-syncd.service were active at closeout.
Candidate boundary
The candidates were built from the exact functional source commit before this deployment-only evidence update. This documentation commit changes no runtime artifact; no tag or public release was created.