Repository navigation
Releases: TheOutlandsDev/workfloor
Release list
Workfloor 0.4.1 - durable import history
Workfloor 0.4.1 - durable import history
Download ZIP
Upgrade guide | Validation
CSV orders, completion events and their complete JSON receipt now commit in one
SQLite transaction. Open Import history to inspect or download the exact stored
receipt after restarting the app or restoring a verified backup. Receipt-storage
failure rolls back the entire batch. The latest 50 entries are listed without
deleting older ones. Raw CSV contents and filenames are not retained.
Fresh databases use schema 2. Existing schema-1 databases require an explicit
stopped-app upgrade: python migrate.py --data-dir ABSOLUTE_EXISTING_DATA_DIR --backup-dir ABSOLUTE_NEW_BACKUP_DIR (one command on one line). Use new absolute
backup paths with existing parents. It creates and verifies the old-format backup
before adding history, preserves all four original tables and saved payloads,
and starts with empty history. Earlier receipts are not fabricated. Failed
upgrades preserve the backup and roll back the schema transaction.
Run and reproduce
Compare the three release assets with their checksum list; extract into a new
folder. With Python 3.12+ and sqlite3 installed, run python app.py --port 0, or
use start-workfloor.cmd --port 0 on Windows. No pip packages are needed for the
application. Use only invented records. Follow the ten-check case
and reproduction command. The report moves from 9 orders /
365 units / 4 delayed to 12 / 440 / 6 after the three-order sample import.
An explicit source inventory excludes databases, backups, runtime dependencies,
logs, credentials and employer material. Windows/Ubuntu with Python 3.12/3.13
build and extract identical ZIPs, then run the unit, CLI, recovery and import-history
checks. Main may reuse only a completed successful canonical push run at the
identical commit, and rechecks all four artifacts and every committed member
before creating a new release. Existing named releases are never replaced.
A separate Windows workflow checks three browser scenarios.
Limits
This remains a synthetic, single-user local prototype. History is editable by
someone with database access; hashes are not signatures, identity or proof of
human review. Only committed imports are recorded. There is no undo-import UI.
Old binaries do not understand schema 2: use their preserved schema-1 backup in
a separate directory. Recovery accepts either supported schema but does not
upgrade it automatically. Stop every older app and database tool before maintenance.
Only trusted local DELETE-journal databases up to 64 MiB are qualified. No employer
system, production integration, macOS execution, multi-user service, hostile-writer
isolation or power-loss guarantee is represented. Browser is disabled locally;
new local visual acceptance is not claimed. Historical captures remain v0.2.
The earlier v0.3.1 release and its notes remain unchanged.
Patch 0.4.1 gives the stored-receipt JSON explicit dark text and a light background,
fixing the low-contrast inherited SQL text style found during actual capture review.
It also corrects the sidebar version and removes a stale version from the insert-only
feature label. No database schema or receipt-storage behavior changes. The 0.4.0
release and its notes remain unchanged. Capture and walkthrough
sources are separate from the downloadable application source inventory.
Workfloor 0.4.0 - durable import history
Workfloor 0.4.0 - durable import history
Download ZIP
Upgrade guide | Validation
CSV orders, completion events and their complete JSON receipt now commit in one
SQLite transaction. Open Import history to inspect or download the exact stored
receipt after restarting the app or restoring a verified backup. Receipt-storage
failure rolls back the entire batch. The latest 50 entries are listed without
deleting older ones. Raw CSV contents and filenames are not retained.
Fresh databases use schema 2. Existing schema-1 databases require an explicit
stopped-app upgrade: python migrate.py --data-dir ABSOLUTE_EXISTING_DATA_DIR --backup-dir ABSOLUTE_NEW_BACKUP_DIR (one command on one line). Use new absolute
backup paths with existing parents. It creates and verifies the old-format backup
before adding history, preserves all four original tables and saved payloads,
and starts with empty history. Earlier receipts are not fabricated. Failed
upgrades preserve the backup and roll back the schema transaction.
Run and reproduce
Compare the three release assets with their checksum list; extract into a new
folder. With Python 3.12+ and sqlite3 installed, run python app.py --port 0, or
use start-workfloor.cmd --port 0 on Windows. No pip packages are needed for the
application. Use only invented records. Follow the ten-check case
and reproduction command. The report moves from 9 orders /
365 units / 4 delayed to 12 / 440 / 6 after the three-order sample import.
An explicit source inventory excludes databases, backups, runtime dependencies,
logs, credentials and employer material. Windows/Ubuntu with Python 3.12/3.13
build and extract identical ZIPs, then run the unit, CLI, recovery and import-history
checks. Main may reuse only a completed successful canonical push run at the
identical commit, and rechecks all four artifacts and every committed member
before creating a new release. Existing named releases are never replaced.
A separate Windows workflow checks three browser scenarios.
Limits
This remains a synthetic, single-user local prototype. History is editable by
someone with database access; hashes are not signatures, identity or proof of
human review. Only committed imports are recorded. There is no undo-import UI.
Old binaries do not understand schema 2: use their preserved schema-1 backup in
a separate directory. Recovery accepts either supported schema but does not
upgrade it automatically. Stop every older app and database tool before maintenance.
Only trusted local DELETE-journal databases up to 64 MiB are qualified. No employer
system, production integration, macOS execution, multi-user service, hostile-writer
isolation or power-loss guarantee is represented. Browser is disabled locally;
new local visual acceptance is not claimed. Historical captures remain v0.2.
The earlier v0.3.1 release and its notes remain unchanged.
Workfloor 0.3.1 - verified database recovery
Workfloor 0.3.1 - verified offline database recovery
Download ZIP
· Recovery guide
· Synthetic case
· Platform checks
Patch 0.3.1 also checks the stored SQLite header before immutable inspection,
refusing a WAL-marked snapshot even if its manifest checksum was recomputed.
The previously published 0.3.0 release is retained unchanged.
Adds stopped-database backup, checksum/integrity verification and fresh-directory
restore. A shared OS-owned guard prevents concurrent v0.3 server/maintenance use.
SQLite's backup API takes a consistent snapshot; only new output directories are
created. Existing databases, report snapshots and earlier releases are preserved.
The schema remains v1, compatible with the earlier public data format.
The reproducible case saves the original 9-order / 4-delayed report, backs up,
imports three invented orders to obtain 12 orders / 6 delayed, saves a second
snapshot, and backs up again. It restores both states into separate new folders,
checks all four tables and exact saved-report HTTP bytes, and proves the original
imported database is unchanged. It deliberately refuses a running backup,
corruption and an existing restore destination.
Download and run
Compare the ZIP with SHA256SUMS.txt from the same release, then extract into a
new folder. Install Python 3.12 or 3.13 separately; the runtime app requires no pip
packages, account or network service. Run python app.py --port 0 or the Windows
start-workfloor.cmd --port 0 launcher. Stop with Ctrl+C before maintenance.
Use the absolute-path commands in docs/RECOVERY.md to back up, verify and restore.
The ZIP includes reviewed original source, synthetic fixtures, documentation,
tests, licenses and historical public captures. No database, backup, runtime,
real metrics, credentials, logs or employer material is included. SOURCE-MANIFEST.json
records every member's bytes/hash, and release-receipt.json pins the source commit
and outer ZIP hash. Windows/Ubuntu Python 3.12/3.13 independently build, extract,
test and reproduce recovery; matching package/checksum bytes are required before
publication. Existing named releases are never replaced.
Boundaries
This is a single-user synthetic local prototype. Backups cover SQLite, not CSV
files or browser-downloaded receipts. History snapshots remain reports, not full
database backups. Only stopped DELETE-journal databases up to 64 MiB are supported.
WAL/SHM/journal sidecars are preserved and refused; no automatic repair or mode
conversion occurs. Checksums are not signatures or encryption. Restore never
reverts the original database in place. Stop idle older releases manually: they
do not participate in the new ownership guard.
The new recovery evidence is CLI/HTTP. Local Browser access was disabled, so no
new local interactive visual acceptance is claimed. Existing Windows browser CI
checks run separately; older captures and the static browser demo retain their
v0.2 provenance. macOS, hostile concurrent file changes, network/cloud storage,
multi-user/public hosting, MES integration and power-loss recovery remain unqualified.
See validation
and recovery decisions.
Workfloor 0.3.0 - verified database recovery
Workfloor 0.3.0 - verified offline database recovery
Download ZIP
· Recovery guide
· Synthetic case
· Platform checks
Adds stopped-database backup, checksum/integrity verification and fresh-directory
restore. A shared OS-owned guard prevents concurrent v0.3 server/maintenance use.
SQLite's backup API takes a consistent snapshot; only new output directories are
created. Existing databases, report snapshots and earlier releases are preserved.
The schema remains v1, compatible with the earlier public data format.
The reproducible case saves the original 9-order / 4-delayed report, backs up,
imports three invented orders to obtain 12 orders / 6 delayed, saves a second
snapshot, and backs up again. It restores both states into separate new folders,
checks all four tables and exact saved-report HTTP bytes, and proves the original
imported database is unchanged. It deliberately refuses a running backup,
corruption and an existing restore destination.
Download and run
Compare the ZIP with SHA256SUMS.txt from the same release, then extract into a
new folder. Install Python 3.12 or 3.13 separately; the runtime app requires no pip
packages, account or network service. Run python app.py --port 0 or the Windows
start-workfloor.cmd --port 0 launcher. Stop with Ctrl+C before maintenance.
Use the absolute-path commands in docs/RECOVERY.md to back up, verify and restore.
The ZIP includes reviewed original source, synthetic fixtures, documentation,
tests, licenses and historical public captures. No database, backup, runtime,
real metrics, credentials, logs or employer material is included. SOURCE-MANIFEST.json
records every member's bytes/hash, and release-receipt.json pins the source commit
and outer ZIP hash. Windows/Ubuntu Python 3.12/3.13 independently build, extract,
test and reproduce recovery; matching package/checksum bytes are required before
publication. Existing named releases are never replaced.
Boundaries
This is a single-user synthetic local prototype. Backups cover SQLite, not CSV
files or browser-downloaded receipts. History snapshots remain reports, not full
database backups. Only stopped DELETE-journal databases up to 64 MiB are supported.
WAL/SHM/journal sidecars are preserved and refused; no automatic repair or mode
conversion occurs. Checksums are not signatures or encryption. Restore never
reverts the original database in place. Stop idle older releases manually: they
do not participate in the new ownership guard.
The new recovery evidence is CLI/HTTP. Local Browser access was disabled, so no
new local interactive visual acceptance is claimed. Existing Windows browser CI
checks run separately; older captures and the static browser demo retain their
v0.2 provenance. macOS, hostile concurrent file changes, network/cloud storage,
multi-user/public hosting, MES integration and power-loss recovery remain unqualified.
See validation
and recovery decisions.
Workfloor 0.4.1 - portable Windows x64
Workfloor 0.4.1 — portable Windows x64, package 1
Download workfloor-0.4.1-windows-x64.zip and SHA256SUMS.txt from this release.
Extract All into a new local folder, then double-click Workfloor.cmd. Your
browser opens the local report. Keep the console open; press Ctrl+C there to stop.
No Python installation, terminal command, pip, administrator rights or PATH change
is required for the ordinary first launch. A current browser is required.
The default private database lives under %LOCALAPPDATA%\Outlands\Workfloor\data,
outside the extracted app. Relaunching reopens it. A second running instance is
refused. Older source-download data is not searched for, moved, reset or upgraded
automatically. Keep data and backups private. Replacing the extracted application
does not delete its external database.
One useful workflow
Keep the default dates, 2026-10-01 through before 2026-10-08. Expect 9 orders /
365 units / 4 delayed; the deliberate bad join counts 26 rows / 1,195 units.
Save a snapshot. Load the valid fictional CSV, preview, then import: expect
12 orders / 440 units / 6 delayed. Stop and relaunch; the import receipt and
the older snapshot remain available.
The extracted START-HERE.txt gives explicit backup, verify, fresh-directory
restore and legacy-upgrade commands using the bundled runtime. These advanced
maintenance steps use a terminal and require the server to be stopped. There is
no automatic overwrite, deletion or migration. Report exports are not backups.
What is included
- The unchanged reviewed Workfloor 0.4.1 source at
6a7a02ade5b01e1a6fc76f6e87a40ac7d2c24af6, with its original source manifest. - Official CPython 3.14.10 Windows x64 embeddable runtime, pinned to upstream
SHA-25690905e64a840557d8c1bc4f5b74db3d7ee85e3ffb217611cac1c7813acea4159.
All binaries and license files remain exact. Onlypython314._pthadds the
sibling application folder; automatic site imports remain disabled. - The original launcher, offline instructions, third-party notices and exact
package-member hashes. Runtime, source and packaging revisions are separate.
The runtime comes from Python's official release.
Python documents this application-local distribution.
No installer, browser, pip, employer material, credentials or user data is bundled.
The prior cross-platform source ZIP and its release assets remain unchanged.
Qualification and boundaries
The portable workflow builds on Windows and Ubuntu and requires identical archive
bytes. Windows acceptance runs the extracted original core suite under the bundled
Python, then launches through Workfloor.cmd from a different working directory
with spaces, PATH restricted to Windows system directories, and invalid
PYTHONHOME/PYTHONPATH values. It checks default external storage, ordinary reports,
the join error, transactional import, historical snapshot/receipt bytes after a
real process restart, stopped backup/restore, existing-target refusal and explicit
schema-1 upgrade with a verified original backup. Package files must remain exact.
A separate Chromium test connects to a real bundled-runtime process and checks
invalid/valid CSV, snapshots, restart and restored receipt downloads. Browser test
dependencies are not included in the user package. The public acceptance JSON
contains only counts and check outcomes; raw logs, tokens, runtime files and
generated databases are not uploaded. A skipped native fixture remains a skip.
These are fresh hosted Windows runner and interpreter-isolation checks. Hosted
runners have other installed software; this does not establish a manual test
on a PC with Python absent, Explorer double-click acceptance, default-browser
integration on every machine or a reputation/signing guarantee. Windows 11 x64 is
the intended desktop; Windows ARM64/32-bit and other operating systems are not
qualified for this portable package. Use the existing source alternative there.
OUTLANDS does not Authenticode-sign the launcher/outer archive. If device policy
or Windows reputation protection blocks it, use the source alternative or consult
the administrator; do not disable protections. No public hosting, production MES,
signed audit log or power-loss durability guarantee is claimed.
Workfloor v0.2.0 — CSV preview and transactional imports
Workfloor is an original synthetic manufacturing and SQL reporting workbench. This Windows-checked local prototype requires Python 3.12+ and its standard SQLite module; no package installation or account is needed.
What changed
- Preview UTF-8 CSV files with row-level validation before any database write.
- Import up to 500 new orders / 256 KiB in one transaction. Duplicate IDs, invalid dates and missing required values block the whole file.
- Recheck the exact previewed file and current source; changed or expired previews require review again. Failed writes roll back the entire batch.
- Preserve existing records and saved snapshots, with valid/error sample CSVs and a downloadable import receipt.
Verified result
39 tests passed locally, from the extracted ZIP, and in GitHub Actions. Both fresh-database CLI and Windows launcher checks passed, including extraction into a path containing spaces.
The actual browser workflow rejected the error sample, selected the valid file through the file picker, imported 3 orders / 2 completion events, and reopened the earlier snapshot after app restart. The current report changed from 9 orders / 4 delayed to 12 orders / 6 delayed; the earlier snapshot stayed at 9 / 4.
Public CI run · CSV workflow and format · Validation and limits
Download
Extract workfloor-0.2.0.zip into a new folder. Run python app.py or start-workfloor.cmd, then open the loopback URL it prints. Use the attached SHA256SUMS.txt to verify the ZIP. All 47 source members match the tested source and its manifest. No runtime database, logs, credentials or employer material is included.
This remains a single-user synthetic local prototype. It has no update/delete/undo-import UI or MES integration. Snapshots are reports, not database backups. Linux/macOS, public backend hosting, multi-user use and power-loss recovery remain unqualified. The original v0.1.0 release is preserved.
Workfloor v0.1.0 — synthetic manufacturing reporting prototype
An original synthetic manufacturing and SQL reporting workbench. Select a UTC due-date range, inspect completion evidence, compare a correct parameterized report with an intentionally incorrect join, and save report snapshots in local SQLite.
Try it
Download and extract workfloor-0.1.0.zip, then run python app.py with Python 3.12+ or use start-workfloor.cmd on Windows. No extra Python packages are required.
The default fixture contains 9 orders / 365 units, with 4 delayed, 2 needing review, and 3 completed on time. The deliberately incorrect join produces 26 rows / 1,195 units, and validation catches the mismatch.
Recorded validation
- Windows 11, Python 3.12.7, SQLite 3.45.3: 21 automated tests passed, no skips.
- Browser report, source inspector, invalid/empty ranges, save/reopen, JSON export and persistence after server restart checked.
- A fresh extraction into a path containing spaces ran through both Python and the Windows launcher.
- Desktop and 320/390-pixel layouts checked using browser emulation.
All manufacturing records are invented. This is a single-user local prototype. Linux/macOS execution, public backend hosting, multi-user use and power-loss recovery remain unqualified. See the README and docs/VALIDATION.md for the full scope and contribution statement.
ZIP SHA-256:
a9b90ecbfb708f96b7f9f7f394444ec593490188c0bb7a126dfc524a67c847d5
The attached checksums and release receipt describe the tested package. The public source adds publication links and release documentation; runtime files match the package.