← back to Filemaker Mcp
document invoice monitor launchd recovery proof
84dbe50fa023e3d4dd5093d6fd507261167fb02d · 2026-08-31 01:34:45 -0700 · Steve Abrams
Files touched
A verification/e2e-proof.json
Diff
commit 84dbe50fa023e3d4dd5093d6fd507261167fb02d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Aug 31 01:34:45 2026 -0700
document invoice monitor launchd recovery proof
---
verification/e2e-proof.json | 58 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/verification/e2e-proof.json b/verification/e2e-proof.json
new file mode 100644
index 0000000..d7529fd
--- /dev/null
+++ b/verification/e2e-proof.json
@@ -0,0 +1,58 @@
+{
+ "ticket": "TK-10953",
+ "intent": "Prove the com.steve.new-invoice-monitor launchd job reaches the FileMaker 401 empty-result branch and exits successfully after restoring locked dependencies.",
+ "risk_tier": "R3",
+ "environment": "Mac2 local launchd gui/501; FileMaker read-only dry-run; no Slack/email send and no cursor write",
+ "build_identity": "cd8f9737bd0d8a650d868f139411161dd9d5d885",
+ "timestamp": "2026-08-31T08:34:00Z",
+ "baseline": {
+ "scheduler_runs": 6450,
+ "scheduler_last_exit": 1,
+ "observed_error": "ERR_MODULE_NOT_FOUND: amazon-cognito-identity-js",
+ "dependency_directory": "absent"
+ },
+ "actions": [
+ {
+ "command": "npm ci --ignore-scripts --no-audit --no-fund",
+ "result": "PASS: restored 115 packages from package-lock.json"
+ },
+ {
+ "command": "npm ls --depth=0",
+ "result": "PASS: @modelcontextprotocol/sdk 1.29.0, amazon-cognito-identity-js 6.3.18, zod 3.25.76"
+ },
+ {
+ "command": "/opt/homebrew/bin/node scripts/new-invoice-monitor.mjs --dry-run",
+ "result": "PASS: exit 0; FileMaker 401 reported as zero invoices and nothing to post"
+ },
+ {
+ "command": "launchctl print gui/501/com.steve.new-invoice-monitor",
+ "result": "PASS: natural scheduled run advanced to 6454 and last exit code became 0"
+ },
+ {
+ "command": "bash ~/.agents/skills/cron-fire-canary/run.sh",
+ "result": "PASS for com.steve.new-invoice-monitor: state=ok, NOT-firing=0 fleet-wide"
+ }
+ ],
+ "assertions": {
+ "file_boundary": "PASS: dependencies resolve from the committed lockfile; tracked source and lockfile unchanged",
+ "auth_negative_boundary": "PASS: blank FileMaker credentials exit 1 with the explicit missing-credentials error",
+ "filemaker_boundary": "PASS: authenticated dry-run reached the live FileMaker Data API and handled fmCode 401 as an empty result",
+ "scheduler_boundary": "PASS: launchd executed the configured Node command naturally and recorded exit 0",
+ "artifact_boundary": "PASS: /tmp/new-invoice-monitor.log was refreshed at 2026-08-31 01:32:57 PDT with the empty-result success message",
+ "state_boundary": "PASS: data/.last-invoice mtime, size, and SHA-256 were identical before and after the dry-run",
+ "side_effect_boundary": "PASS: DRY_RUN prevented Slack posting; FM401 returned before the post loop; no email route exists in this flow",
+ "retry_boundary": "PASS: the recurring launchd execution succeeded after earlier dependency-resolution failures without duplicate cursor movement"
+ },
+ "evidence": {
+ "launchd_label": "com.steve.new-invoice-monitor",
+ "launchd_runs_after": 6454,
+ "launchd_last_exit_after": 0,
+ "artifact": "/tmp/new-invoice-monitor.log",
+ "artifact_mtime": "2026-08-31T01:32:57-07:00",
+ "cursor_sha256_before": "096d74ce9cec29425c3eabd13897d930958fe87f93fa1a00146722b8b9423a83",
+ "cursor_sha256_after": "096d74ce9cec29425c3eabd13897d930958fe87f93fa1a00146722b8b9423a83",
+ "canary_state": "ok"
+ },
+ "cleanup": "No temporary records or external messages were created. Installed node_modules is gitignored runtime state retained for the scheduler.",
+ "verdict": "PASS"
+}
← cd8f973 fix: handle FileMaker 401 no-records gracefully in new-invoi
·
back to Filemaker Mcp
·
push-dashboard-revenue: wait for network before Cognito auth a775694 →