fix(flight-finder): require fresh search evidence and improve PDF layout
This commit is contained in:
@@ -12,10 +12,15 @@ Reusable flight-search report skill for OpenClaw. It replaces the brittle one-of
|
||||
- normalize pricing to USD before ranking
|
||||
- produce a report payload first, then render PDF/email only when the report is complete
|
||||
- behave safely on WhatsApp-style chat surfaces by treating status nudges as updates, not resets
|
||||
- require a fresh bounded search run for every report instead of reusing earlier captures
|
||||
|
||||
## Important rules
|
||||
|
||||
- Recipient email is a delivery gate, not a search gate.
|
||||
- Cached flight-search data is forbidden as primary evidence for a new run.
|
||||
- same-day workspace captures must not be reused
|
||||
- previously rendered PDFs must not be treated as fresh search output
|
||||
- if fresh search fails, the skill must degrade honestly instead of recycling earlier artifacts
|
||||
- `marketCountry` is explicit-only in this implementation pass.
|
||||
- It must be an ISO 3166-1 alpha-2 uppercase code such as `TH` or `DE`.
|
||||
- If present, it activates VPN only for the bounded search phase.
|
||||
@@ -36,6 +41,13 @@ npm run render-report -- --input "<report-payload.json>" --output "<report.pdf>"
|
||||
npm run delivery-plan -- --to "<recipient@example.com>" --subject "<subject>" --body "<body>" --attach "<report.pdf>"
|
||||
```
|
||||
|
||||
Expected report-payload provenance fields:
|
||||
|
||||
- `searchExecution.freshSearch: true`
|
||||
- `searchExecution.startedAt`
|
||||
- `searchExecution.completedAt`
|
||||
- `searchExecution.artifactsRoot`
|
||||
|
||||
## Delivery
|
||||
|
||||
- sender identity: `luke@fiorinis.com`
|
||||
|
||||
Reference in New Issue
Block a user