Agent/elcid country club recovery - #3015
Conversation
* Add bounded cached-first staff bootstrap hotfix * Wire staff bootstrap hotfix into PWA shell * Cache staff bootstrap hotfix as PWA 2.3.1 * Validate staff PWA 2.3.1 bootstrap hotfix before deploy
* Add read-only Beds24 finance snapshot * Test read-only Beds24 finance allocation * Add read-only Beds24 finance snapshot workflow
* Add AUMARA post-stay follow-up policy * Document AUMARA feedback and voucher flow * Test AUMARA post-stay feedback safeguards * Validate AUMARA feedback release * Add AUMARA feedback database migration * Add AUMARA feedback Edge Function * Add multilingual AUMARA post-stay survey * Guard feedback reward state across language changes * Use the current checkout action in feedback CI * Add idempotent AUMARA Beds24 percentage voucher activation * Activate AUMARA post-stay voucher on main
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
…flow Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Fix shadow CI: align live canary workflow with test assertions
…estion Add read-only Beds24 guest-message ingestion
…ions-job Handle Beds24 property 401/403 in AUMARA voucher activation with refresh-token fallback
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
…ailure-again [WIP] Fix the failing GitHub Actions job
There was a problem hiding this comment.
Pull request overview
This pull request introduces a large set of static-site assets, operational documentation, automation scripts, and GitHub Actions workflows oriented around EL CID / AUMARA (plus a separate “PHENOMENA” site), along with repository governance documentation updates.
Changes:
- Adds Vercel/GitHub Pages routing and multiple static site trees (root redirect, EL CID, AUMARA, staff PWA, PHENOMENA).
- Introduces an “AUMARA Control Tower” codebase (Node/Python) with policies, fixtures, evidence artifacts, and operational tooling.
- Adds/updates many GitHub Actions workflows for probes, publishing, credential checks, voucher flows, and other ops tasks.
Reviewed changes
Copilot reviewed 167 out of 799 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| vercel.json | Vercel routing rules for static paths |
| staff/sw.js | Staff PWA service worker + caching |
| staff/manifest.webmanifest | Staff PWA manifest |
| staff/icon.svg | Staff PWA icon asset |
| staff/bootfix231.js | Staff app runtime boot fixes |
| SECURITY.md | Added security policy template |
| phenomena/site/index.html | PHENOMENA static site entry |
| phenomena/README.md | PHENOMENA project README |
| phenomena/PUBLISHING.md | PHENOMENA publishing notes |
| ops/nominalia-secret-slots.json | Nominalia secret-slot presence receipt |
| ops/nominalia-secret-presence.json | Nominalia variable presence receipt |
| ops/nominalia-login-form.json | Sanitized login form capture |
| ops/nominalia-control-probe.json | Nominalia control probe output |
| ops/elcid-root-deploy.md | EL CID root deploy evidence note |
| ops/elcid-production-probe.md | Production probe evidence |
| ops/aumara-domain-network-probe.md | Domain/DNS routing probe notes |
| ops/AUMARA_VOUCHERS_LIVE.md | Voucher rollout status notes |
| ops/AUMARA_FIRST_GUESTS_VOUCHER_10.md | Voucher outreach work order |
| index.html | Root redirect to elcid-site |
| images/prompt-caching-201/figure-4.svg | Removed prompt caching figure asset |
| elcid-site/privacy.html | EL CID privacy page (review) |
| elcid-site/legal.html | EL CID legal notice (review) |
| elcid-site/cookies.html | EL CID cookies page (review) |
| elcid-site/CONTENT_BASELINE.md | EL CID content baseline spec |
| elcid-site/AGENT_BRIEF.md | EL CID recovery brief |
| elcid-site/.production-release-v2 | EL CID release trigger marker |
| elcid-site/.deploy-release-2026-07-14 | EL CID deploy note |
| docs/CNAME | GitHub Pages custom domain set |
| docs/CHECKPOINT_PROTOCOL.md | Added checkpoint protocol doc |
| docs/AI_EXECUTION_POLICY.md | Added AI execution policy doc |
| diagnostics/nominalia-ftp.txt | FTP diagnostic output |
| diagnostics/nominalia-deploy-status.txt | Deployment status receipt |
| aumara-site/video-preview.html | Redirect helper page |
| aumara-site/scripts/build_walkthrough_nodes.sh | Walkthrough node build script |
| aumara-site/script.js | Smooth-scroll helper |
| aumara-site/route-v01.json | Walkthrough route metadata |
| aumara-site/README.md | AUMARA site README |
| aumara-site/PUBLISHING.md | AUMARA publishing notes |
| aumara-site/map.html | Redirect helper page |
| aumara-site/EXECUTION_STATUS_2026-08-03.md | Execution status note |
| aumara-site/docs/media-ingest-2026-07-10.md | Media ingest notes |
| aumara-site/direct-v3-preview.html | Preview redirect helper |
| aumara-site/deploy-checkpoint-explore-v1.txt | Deploy checkpoint marker |
| aumara-site/creative/README.md | Visual pipeline documentation |
| aumara-site/creative/output_images/README.md | Output artifact guidance |
| aumara-site/creative/.gitignore | Ignore generated outputs |
| aumara-site/content/AUMARA_Rates_Stay_Format_Pack_v01.md | Rates/copy reference pack |
| aumara-site/aumara-site/direct-v3-preview.html | Nested preview redirect helper |
| aumara-control-tower/video/animate_photo_ffmpeg.sh | Photo-to-video script |
| aumara-control-tower/vendor/beds24-swagger-page.html | Captured Swagger UI HTML |
| aumara-control-tower/vendor/beds24-openapi-discovery.json | OpenAPI discovery receipt |
| aumara-control-tower/tests/test_guest_reply_policy_runtime.py | Guest reply runtime tests |
| aumara-control-tower/systems/ttlock-lock-registry.md | TTLock registry doc |
| aumara-control-tower/systems/aumara-fixed-guest-pin.md | Fixed PIN operating doc |
| aumara-control-tower/src/send-test-email.mjs | Resend send test script |
| aumara-control-tower/src/runtime-config.mjs | Runtime config loader |
| aumara-control-tower/src/message-template.mjs | Guest email template logic |
| aumara-control-tower/src/mailer.mjs | Resend mail client wrapper |
| aumara-control-tower/src/idempotency.mjs | Idempotency key/store helpers |
| aumara-control-tower/src/healthcheck.mjs | Resend healthcheck script |
| aumara-control-tower/scripts/tests/test_eposnow_reporting_export.py | Epos export tests |
| aumara-control-tower/scripts/tests/test_beds24_finance_snapshot.py | Beds24 finance tests |
| aumara-control-tower/scripts/tests/test_beds24_elcid_auto_replies.py | Auto-reply audit tests |
| aumara-control-tower/scripts/tests/test_beds24_aumara_voucher_autogen.py | Voucher autogen tests |
| aumara-control-tower/scripts/tests/test_beds24_aumara_voucher_activate.py | Voucher activate tests |
| aumara-control-tower/policies/shared.yaml | Shared policy registry |
| aumara-control-tower/policies/registry.yaml | Policy registry index |
| aumara-control-tower/policies/README.md | Policy registry documentation |
| aumara-control-tower/policies/guest_reply_runtime.json | Guest reply snapshot pin |
| aumara-control-tower/policies/guest_journey_runtime.json | Guest journey snapshot pin |
| aumara-control-tower/policies/elcid-direct-guest-notes.json | EL CID guest notes policy |
| aumara-control-tower/policies/elcid-bed-nonsmoking.json | EL CID combined note policy |
| aumara-control-tower/policies/CHANGELOG.md | Policy changelog |
| aumara-control-tower/policies/aumara-poststay-followup.json | Post-stay followup policy |
| aumara-control-tower/packets/2026-07-06-nominalia-deployment.md | Deployment packet |
| aumara-control-tower/packets/2026-07-06-execution-status.md | Execution status packet |
| aumara-control-tower/packets/2026-07-06-beds24-cutover.md | Beds24 cutover packet |
| aumara-control-tower/package.json | Control tower Node package manifest |
| aumara-control-tower/fixtures/guest-service-journey.json | Guest journey fixtures |
| aumara-control-tower/fixtures/guest-request-dry-run.json | Guest request fixtures |
| aumara-control-tower/fixtures/daily-ops/gmail.json | Daily ops Gmail fixture |
| aumara-control-tower/fixtures/daily-ops/epos/tenders.csv | Daily ops EPOS fixture |
| aumara-control-tower/fixtures/daily-ops/epos/manifest.json | Daily ops EPOS manifest |
| aumara-control-tower/fixtures/daily-ops/beds24.json | Daily ops Beds24 fixture |
| aumara-control-tower/fixtures/daily-ops/b24.json | Daily ops Bitrix24 fixture |
| aumara-control-tower/evidence/secret-anchor-presence.json | Secret presence receipt |
| aumara-control-tower/evidence/beds24-v2-picture-structure/32100194895-started.json | Evidence run receipt |
| aumara-control-tower/evidence/beds24-ui-session/status.json | UI session status receipt |
| aumara-control-tower/evidence/beds24-ui-session/public.pem | Captured public key |
| aumara-control-tower/evidence/beds24-token-recovery/32100728804.json | Token recovery receipt |
| aumara-control-tower/evidence/beds24-token-auth-status.json | Token auth receipt |
| aumara-control-tower/evidence/beds24-source-job-matches.txt | Job log excerpt |
| aumara-control-tower/evidence/beds24-secret-presence.json | Beds24 secret presence receipt |
| aumara-control-tower/evidence/beds24-production-auth/32100461222.json | Production auth receipt |
| aumara-control-tower/evidence/beds24-legacy-probe/32099742935/status.json | Legacy probe status |
| aumara-control-tower/evidence/beds24-legacy-probe/32099742935/public.pem | Legacy probe public key |
| aumara-control-tower/evidence/beds24-legacy-probe/32099742935/login_payload.b64 | Sanitized login payload marker |
| aumara-control-tower/evidence/beds24-legacy-probe/32099692814/status.json | Legacy probe status |
| aumara-control-tower/evidence/beds24-legacy-probe/32099692814/public.pem | Legacy probe public key |
| aumara-control-tower/evidence/beds24-historical-invite/32100854181.json | Historical invite receipt |
| aumara-control-tower/evidence/beds24-finalize-status.json | Finalize status receipt |
| aumara-control-tower/evidence/beds24-execution-log.txt | Execution log summary |
| aumara-control-tower/evidence/beds24-exchange/latest.json | Exchange status receipt |
| aumara-control-tower/evidence/beds24-credential-shape.json | Credential shape receipt |
| aumara-control-tower/evidence/beds24-booking-id-recovery-diagnostic.json | Recovery diagnostic |
| aumara-control-tower/evidence/beds24-booking-bridge-status.json | Bridge status receipt |
| aumara-control-tower/evidence/beds24-auth-bootstrap-status.json | Auth bootstrap receipt |
| aumara-control-tower/docs/ttlock-gateway-mesh-v01.md | Gateway mesh doc |
| aumara-control-tower/docs/aumara-poststay-feedback-v1.md | Post-stay feedback doc |
| aumara-control-tower/config/copilot-mcp.json | MCP config for agents |
| aumara-control-tower/checkpoints/AUMARA_CONTENT_TEAM_STATE.json | Content team checkpoint |
| aumara-control-tower/checkpoints/AUMARA_AGENT_CONNECTIVITY_RECEIPT.json | Connectivity receipt |
| aumara-control-tower/checkpoints/AUMARA_ACTIONS_HEARTBEAT.json | Actions heartbeat receipt |
| aumara-control-tower/checkpoints/2026-08-18-aumara-continuous-notes-write-and-verify.md | Checkpoint doc |
| aumara-control-tower/checkpoints/2026-08-17-guest-service-journey-v1.md | Checkpoint doc |
| aumara-control-tower/checkpoints/2026-08-17-aumara-live-canary-v1.md | Checkpoint doc |
| aumara-control-tower/checkpoints/2026-08-02-continuous-beds24-note-writer.md | Checkpoint doc |
| aumara-control-tower/checkpoints/2026-07-30-daily-ops-dashboard-v1.md | Checkpoint doc |
| aumara-control-tower/beds24-requests/AUMARA-MEDINA-20260718-660.json | Beds24 request record (contains PII) |
| aumara-control-tower/.env.example | Example env file |
| aumara_control_tower/scripts/init.py | Python module bridge init |
| aumara_control_tower/init.py | Python package init |
| AGENTS.md | Added AI execution governance section |
| .secure/nominalia-password-31894675037.enc | Encrypted secret blob |
| .secure/nominalia-password-31894570722.enc | Encrypted secret blob |
| .secure/nominalia-live-31894675037.pub | Public key material |
| .secure/nominalia-live-31894570722.pub | Public key material |
| .gitignore | Ignore voucher evidence dir |
| .github/workflows/secret-anchor-probe.yml | Workflow secret presence probe |
| .github/workflows/probe-nominalia-secret-slots.yml | Workflow secret-slot probe |
| .github/workflows/probe-nominalia-secret-presence.yml | Workflow vars presence probe |
| .github/workflows/probe-nominalia-login-form.yml | Workflow login form probe |
| .github/workflows/policy-registry.yml | Policy registry CI |
| .github/workflows/phenomena-pages.yml | Deploy PHENOMENA Pages workflow |
| .github/workflows/nominalia-live-domain-mutate.yml | DNS mutation workflow |
| .github/workflows/nominalia-live-domain-mutate-email.yml | DNS mutation workflow variant |
| .github/workflows/elcid-site-check.yml | EL CID static checks workflow |
| .github/workflows/build-website.yaml | Website deploy hook guard |
| .github/workflows/beds24-secret-probe.yml | Beds24 secret presence probe |
| .github/workflows/beds24-openapi-sync.yml | Beds24 OpenAPI evidence sync |
| .github/workflows/beds24-guest-message-ingest.yml | Beds24 message ingest workflow |
| .github/workflows/beds24-finance-snapshot.yml | Beds24 finance snapshot workflow |
| .github/workflows/beds24-elcid-studio-audit.yml | EL CID studio audit workflow |
| .github/workflows/beds24-elcid-auto-replies.yml | Auto-reply audit workflow |
| .github/workflows/beds24-auth-check.yml | Beds24 auth check workflow |
| .github/workflows/beds24-aumara-fixed-pin-seed.yml | Fixed PIN seed workflow |
| .github/workflows/beds24-aumara-booking.yml | Retired booking bridge workflow |
| .github/workflows/beds24-aumara-booking-v2.yml | Legacy bridge safety workflow |
| .github/workflows/beds24-aumara-access-message-send.yml | Access message send workflow |
| .github/workflows/beds24-aumara-access-audit.yml | Access audit workflow |
| .github/workflows/aumara-webhook-safety.yml | Webhook safety CI |
| .github/workflows/aumara-walkthrough-preview.yml | Walkthrough preview builder |
| .github/workflows/aumara-voucher-autogen.yml | Voucher autogen workflow |
| .github/workflows/aumara-voucher-activate.yml | Voucher activate workflow |
| .github/workflows/aumara-visual-pack.yml | Visual pack generation workflow |
| .github/workflows/aumara-validate.yml | Visual pipeline validation CI |
| .github/workflows/aumara-provider-binding-discovery.yml | Provider binding discovery |
| .github/workflows/aumara-feedback-validate.yml | Post-stay feedback validation |
| .github/workflows/aumara-actions-heartbeat.yml | Heartbeat workflow |
| .github/pull_request_template.md | Added execution contract section |
| .github/copilot-instructions.md | Added repo-specific Copilot guidance |
Suppressed comments (4)
aumara-control-tower/beds24-requests/AUMARA-MEDINA-20260718-660.json:21
- This file contains real guest contact details (email + phone). These must not be committed; replace with redacted placeholders or remove entirely.
aumara-control-tower/beds24-requests/AUMARA-MEDINA-20260718-660.json:27 - The free-form notes fields embed additional sensitive details (including repeating the guest email/phone). These should be redacted before committing to a public repository.
.github/workflows/secret-anchor-probe.yml:45 - This workflow pushes commits back to
mainfrom within CI. Self-mutating workflows are risky (can create loops, bypass review expectations, and make repo state non-deterministic). Prefer uploading the report as an artifact instead of committing.
.github/workflows/probe-nominalia-secret-slots.yml:48 - This workflow commits and pushes a secret-slot presence map back to the repository. Even without values, persisting secret inventory in git is unnecessary exposure; upload as an artifact and keep the workflow manual-only.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
https://github.com/openai/openai-cookbook/blob/13bf3b5c44764c0f06093314d2e12e33cc76e7e2/images/01_alti_agent_governance.png#L1
Restore the shared image library
The commit deletes all 522 files under images/, while surviving notebooks still reference them—for example, agentic_governance_cookbook.ipynb references this file and Speech_transcription_methods.ipynb references the deleted agents_sdk_transcription.png. Merging this makes diagrams and screenshots disappear throughout the published cookbook, which is a priority-zero broken-link regression under the repository review rules.
AGENTS.md reference: AGENTS.md:L56-L58
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. |
Co-authored-by: elcidspain <208400175+elcidspain@users.noreply.github.com>
…eec243fd-3a6c-4443-88fb-5db9cb690184
Summary
Briefly describe the changes and the goal of this PR. Make sure the PR title summarizes the changes effectively.
Motivation
Why are these changes necessary? How do they improve the cookbook?
For new content
When contributing new content, read through our contribution guidelines, and mark the following action items as completed:
We will rate each of these areas on a scale from 1 to 4, and will only accept contributions that score 3 or higher on all areas. Refer to our contribution guidelines for more details.