Skip to content

Add Sinatra and Sequel inspection log example - #469

Draft
sdairs wants to merge 2 commits into
mainfrom
codex/inspection-log
Draft

sdairs wants to merge 2 commits into
mainfrom
codex/inspection-log

Conversation

@sdairs

@sdairs sdairs commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Add a loopback Sinatra/Sequel workbench that saves an immutable synthetic inspection header and three checklist results in one PostgreSQL transaction. A retained form UUID replays identical content, conflicts on changed fields, and remains usable at the locked 200-record fixture cap. Date-only history and bounded CSV exports preserve calendar days and explicitly transform formula-looking text.

The example includes pinned Ruby/gem versions, native build instructions, reviewed migrations/seed, restricted runtime grants, verified Cloud CA/hostname configuration, native Rack CSRF/Host/Origin checks and source-only acceptance helpers. The companion article stays local for review.

Validation: fresh Linux ARM64 frozen bundle; 5 tests / 50 assertions and ERB compilation; actual Managed Postgres 18.6 migration up/repeat/down/up and repeat seed; real desktop/mobile browser; independent-session retry and cap contention; forced second-child rollback after header/first child; runtime permission/check/unique failures; exact 100-row CSV/numeric ordering and overflow rejection; actual Sequel CA/name negatives; original Puma exit before replacement with persisted content/CSV and retained replay. The owned Cloud fixture was deleted and absence confirmed. CI runs secret-free native checks.

Scope: trusted loopback synthetic fixture, no operator authentication/tenant isolation; all saves serialize through one budget lock. CSV apostrophe mitigation changes text and is not a universal spreadsheet guarantee.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant