feat(ibmi-rpg): apply a declared routine source loss after each deploy #311

Merged
binjovi-bot merged 1 commit from feat/routine-loss into trunk 2026-09-14 11:48:54 +00:00
Owner

Routine source loss after each ibmi-rpg deploy

rpg-lemonade and rpg-munchers are synthetic. To stand in for an application developed over decades, every deployment must leave the box in the decades-old condition: source members gone, observability stripped, only executables left. The originals stay in Git, so the next deploy restores everything.

  • A recipe that declares loss_profile (safe relative path) ends its deploy with the released repository's own tooling: scripts/source-loss.sh routine --profile <path> --development SOMEARA1 --production SOMEARAB --report /tmp/loss-report.json, after the production evidence is verified and before result.json is written.
  • The report goes to the log only; the deploy evidence stays the exact four keys binjovi compares. Staging is never touched (the next deploy diffs it against the release). A failing loss step fails the deploy with no result written.
  • scripts/check validates the key; recipes/ibmi-rpg/test-deploy-runner covers the call and its arguments, the unchanged result, the no-profile case, a failing step, a missing script and an unsafe path.
  • No recipe declares the key yet. The applications gain the routine mode in their own PRs; a follow-up plans PR then declares the profile for both.

https://claude.ai/code/session_01HPdKaFBKQVs8hzfgXMrnwV

## Routine source loss after each ibmi-rpg deploy rpg-lemonade and rpg-munchers are synthetic. To stand in for an application developed over decades, every deployment must leave the box in the decades-old condition: source members gone, observability stripped, only executables left. The originals stay in Git, so the next deploy restores everything. - A recipe that declares `loss_profile` (safe relative path) ends its deploy with the released repository's own tooling: `scripts/source-loss.sh routine --profile <path> --development SOMEARA1 --production SOMEARAB --report /tmp/loss-report.json`, after the production evidence is verified and before `result.json` is written. - The report goes to the log only; the deploy evidence stays the exact four keys binjovi compares. Staging is never touched (the next deploy diffs it against the release). A failing loss step fails the deploy with no result written. - `scripts/check` validates the key; `recipes/ibmi-rpg/test-deploy-runner` covers the call and its arguments, the unchanged result, the no-profile case, a failing step, a missing script and an unsafe path. - No recipe declares the key yet. The applications gain the `routine` mode in their own PRs; a follow-up plans PR then declares the profile for both. https://claude.ai/code/session_01HPdKaFBKQVs8hzfgXMrnwV
feat(ibmi-rpg): apply a declared routine source loss after each deploy
All checks were successful
binjovi/ci Binjovi completed the frozen plan
24df9f1306
rpg-lemonade and rpg-munchers are synthetic applications. To stand in for
an application developed over decades, every deployment must leave the
box in the decades-old condition: source members gone, observability
stripped, only executables left. The originals stay in Git, so this is
safe and reversible by the next deploy.

A recipe that declares `loss_profile` (a safe relative path inside the
released repository) now ends its deploy with the released repository's
own loss tooling: `scripts/source-loss.sh routine --profile <path>
--development <build library> --production <production library>
--report /tmp/loss-report.json`, run after the production evidence is
verified and before the result is written. The report goes to the log
only; the deploy evidence stays the exact result.json binjovi compares.
Staging is never touched, because the next deploy diffs it against the
release. A failing loss step fails the deploy with no result written.

`scripts/check` validates the key. The deploy-runner test covers the
call and its arguments, the unchanged result, the absent-profile case,
a failing step, a missing script and an unsafe path. No recipe declares
the key yet; the applications gain the `routine` mode first.

Claude-Session: https://claude.ai/code/session_01HPdKaFBKQVs8hzfgXMrnwV
binjovi-bot deleted branch feat/routine-loss 2026-09-14 11:48:55 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/binjovi-plans!311
No description provided.