Clarify flight-finder cron completion rules
This commit is contained in:
@@ -66,6 +66,8 @@ Completion rule:
|
|||||||
- A partial source result is not completion.
|
- A partial source result is not completion.
|
||||||
- A partial helper result is not completion.
|
- A partial helper result is not completion.
|
||||||
- The workflow is complete only when the final report payload exists, the PDF is rendered, the email was sent, and any VPN cleanup required by the run has been attempted.
|
- The workflow is complete only when the final report payload exists, the PDF is rendered, the email was sent, and any VPN cleanup required by the run has been attempted.
|
||||||
|
- An interim commentary/status line is not completion.
|
||||||
|
- For isolated cron-style runs, do not leave the run with only a phase-update summary. If PDF render or email send did not happen, the terminal result must say so explicitly as a failed or incomplete outcome.
|
||||||
|
|
||||||
## WhatsApp-safe behavior
|
## WhatsApp-safe behavior
|
||||||
|
|
||||||
@@ -80,6 +82,23 @@ Follow the same operational style as `property-assessor`:
|
|||||||
- if PDF render fails, return the completed report summary in chat and report delivery failure separately
|
- if PDF render fails, return the completed report summary in chat and report delivery failure separately
|
||||||
- if email send fails after render, say so clearly and keep the rendered PDF path
|
- if email send fails after render, say so clearly and keep the rendered PDF path
|
||||||
|
|
||||||
|
## Long-running command rule
|
||||||
|
|
||||||
|
- Do not fire a long-running local command and then abandon it.
|
||||||
|
- If an `exec` call returns a running session/process handle instead of a completed result, immediately follow it with the relevant process polling/log calls until the command finishes, fails, or times out.
|
||||||
|
- Treat VPN connect, fresh search sweeps, PDF render, and Gmail send as critical-path commands. They must be observed to completion; do not assume they succeeded just because the process started.
|
||||||
|
- If a critical-path command cannot be observed to completion, stop claiming progress and report the run as incomplete.
|
||||||
|
|
||||||
|
## Isolated cron rule
|
||||||
|
|
||||||
|
- In isolated cron runs, success means all of the following are true:
|
||||||
|
- fresh search artifacts exist for the current run
|
||||||
|
- final `report-payload.json` exists for the current run
|
||||||
|
- PDF render completed
|
||||||
|
- Gmail send completed to the requested recipient
|
||||||
|
- If the model/provider times out, the VPN step flakes, or the run ends before those artifacts exist, report a failure/incomplete outcome rather than an `ok`-sounding completion summary.
|
||||||
|
- Do not end an isolated cron run on the VPN/connect phase alone.
|
||||||
|
|
||||||
## Search-source contract
|
## Search-source contract
|
||||||
|
|
||||||
Use the proven travel-source order from the local viability findings:
|
Use the proven travel-source order from the local viability findings:
|
||||||
|
|||||||
Reference in New Issue
Block a user