diff --git a/README.md b/README.md index 6049969..46b7620 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,10 @@ Vertex AI supports media analysis and constrained storyboard planning. The API validates the plan before FFmpeg renders the selected source media, with optional original music from Google Lyria. Google Cloud AI is the product's only AI provider. The official ClickHouse MCP path checks selected-media consent evidence before rendering and again before export. The separately deployed -ADK / Agent Engine planning endpoint is shown below the main flow; the current web -interface does not call it. +Google ADK / Vertex AI Agent Engine planning endpoint is shown below the main flow +and is labelled **Deployed & smoke-test verified**. Solid arrows show the public +web path; dashed arrows show the separate Agent Engine endpoint. The current web +interface does not call that endpoint. [Read the architecture guide](docs/ARCHITECTURE.md) for the workflow, module responsibilities, data boundaries, and verified limitations, or @@ -129,9 +131,7 @@ comma-separated, exact browser origins allowed to call the API. - [Application deployment](docs/operations/APP_DEPLOYMENT.md) - [Public-domain operations](docs/operations/public-edge.md) - [Devpost project page](docs/submission/DEVPOST_PROJECT_PAGE.md) -- [ST-32 competition compliance checklist](docs/submission/SUBMISSION_CHECKLIST.md) - [ST-33 public evidence package](docs/submission/EVIDENCE_PACKAGE.md) -- [Three-minute demo script](docs/submission/DEMO_SCRIPT.md) Internal planning artifacts are kept separate from the public product-documentation path. diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index b0ae42f..4c83123 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -27,9 +27,11 @@ return messages and infrastructure connections for readability. In particular, Gemini and Lyria return results to the API; Lyria is not downstream of Gemini as a separate autonomous agent. -The grey strip shows a **separate deployed planning endpoint**. Its dashed arrows -do not mean every web request uses Agent Engine. This endpoint has hosted smoke -evidence, but the current public web journey uses `/storyboards` directly. +The grey strip is labelled **Google ADK + Vertex AI Agent Engine · Deployed & +smoke-test verified** and shows the **separate deployed planning endpoint**. Its +dashed arrows represent that endpoint's ClickHouse preference lookup, verified +through hosted deployment smoke tests. The footer distinguishes this from the +solid-arrow public web path: the current web journey uses `/storyboards` directly. ### 1. You tell the story diff --git a/docs/CAPABILITY_EVIDENCE.md b/docs/CAPABILITY_EVIDENCE.md index 2b2a69c..10b5b32 100644 --- a/docs/CAPABILITY_EVIDENCE.md +++ b/docs/CAPABILITY_EVIDENCE.md @@ -39,8 +39,8 @@ Evidence levels are intentionally separate: | Real iPhone journey | Not a code capability | Not proven by emulation | Passed on iPhone 11, iOS 26.6.1, Chrome (version not recorded) | Evidence ready; final recording still pending | [ST-52 iPhone acceptance](qa/ST-52-PHYSICAL-IPHONE-ACCEPTANCE.md) | | Real Android journey | Not a code capability | Not proven by emulation | Not tested | Not required for the Web entry | No Android claim is made | | Rights-cleared final demo media | Eight fixtures and the generated song are recorded and approved | Final 60-second export reviewed | Owner accepted incidental-background risk and approved the complete song | Evidence ready; keep private artefacts private | [Media rights register](demo/MEDIA_RIGHTS_REGISTER.md) — Yvonne | -| Final English demo video, at most three minutes | Script and runbook exist | Not applicable | iPhone rehearsal evidence is ready | Pending ST-17 | [Demo script](submission/DEMO_SCRIPT.md), [demo runbook](demo/DEMO_RUNBOOK.md) — Yvonne | -| Devpost entry and submission confirmation | Draft package exists | Not applicable | iPhone evidence ready | Pending final submission checklist | [Submission checklist](submission/SUBMISSION_CHECKLIST.md), [evidence package](submission/EVIDENCE_PACKAGE.md) — Yvonne; also depends on ST-17, roster, eligibility, track selection, public video, form review, and receipt | +| Final English demo video, at most three minutes | Script and runbook exist | Not applicable | iPhone rehearsal evidence is ready | Pending ST-17 | Private demo script, [demo runbook](demo/DEMO_RUNBOOK.md) — Yvonne | +| Devpost entry and submission confirmation | Draft package exists | Not applicable | iPhone evidence ready | Pending final submission checklist | Private submission checklist, [evidence package](submission/EVIDENCE_PACKAGE.md) — Yvonne; also depends on ST-17, roster, eligibility, track selection, public video, form review, and receipt | The deployed browser evidence does not imply full phone-library access, direct posting to social networks, Android or native-screen-reader coverage, a finished diff --git a/docs/PROJECT_BRIEF.md b/docs/PROJECT_BRIEF.md index 1dc2444..2fe28b0 100644 --- a/docs/PROJECT_BRIEF.md +++ b/docs/PROJECT_BRIEF.md @@ -27,8 +27,9 @@ Memory Director is a mobile-first web application that guides a user through: The core experience combines a simple voice/text request with selected media, a validated production plan, and a playable film the user controls. The official -`mcp-clickhouse` consent/export path can block rendering and export when required -consent evidence is missing. +`mcp-clickhouse` path checks consent records before rendering and again before +export. Either action is blocked when permission is denied or required consent +evidence is missing. A separate deployed Agent Engine planner demonstrates an approved, read-only ClickHouse preference lookup. It is not connected to the public web interface. diff --git a/docs/assets/architecture/memorydirector-architecture.drawio b/docs/assets/architecture/memorydirector-architecture.drawio index 91562c9..8c920d4 100644 --- a/docs/assets/architecture/memorydirector-architecture.drawio +++ b/docs/assets/architecture/memorydirector-architecture.drawio @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/docs/assets/architecture/memorydirector-architecture.png b/docs/assets/architecture/memorydirector-architecture.png index c5b88e0..1d93c13 100644 Binary files a/docs/assets/architecture/memorydirector-architecture.png and b/docs/assets/architecture/memorydirector-architecture.png differ diff --git a/docs/research/agentic-cinema-link-archive.md b/docs/research/agentic-cinema-link-archive.md index e0a85cf..8d66da4 100644 --- a/docs/research/agentic-cinema-link-archive.md +++ b/docs/research/agentic-cinema-link-archive.md @@ -7,7 +7,7 @@ Retrieved 2026-08-16. This is a practical archive of every unique destination ex - The challenge asks for a functional, production-ready Gemini + Google Cloud Agent Builder agent or multi-agent network for a media-and-entertainment workflow. - A project must actively use the selected partner at runtime. For ClickHouse, that means the official `mcp-clickhouse` server connected to ClickHouse Cloud or a self-hosted cluster. - The resources page explicitly includes multimodal video analysis, audio/music generation (Lyria 3), Gemini TTS, native ADK/Agent Engine, function calling, Cloud Run, and Secret Manager. -- The live official rules, overview, and dates page were rechecked on 7 September 2026 and now agree on the entry deadline: **2026-09-09 14:00 PDT**. The earlier September 7 conflict has been corrected on Devpost. See the current [ST-32 compliance checklist](../submission/SUBMISSION_CHECKLIST.md) and recheck the live rules immediately before submission. +- The live official rules, overview, and dates page were rechecked on 7 September 2026 and now agree on the entry deadline: **2026-09-09 14:00 PDT**. The earlier September 7 conflict has been corrected on Devpost. The ST-32 compliance checklist is maintained privately; recheck the live rules immediately before submission. - The rules prohibit non-Google AI models, AI APIs, and agent frameworks in the submitted project. Use only Google Cloud AI plus the chosen partner’s built-in AI capabilities. ## Challenge pages diff --git a/docs/submission/DEMO_SCRIPT.md b/docs/submission/DEMO_SCRIPT.md deleted file mode 100644 index 3a48fd3..0000000 --- a/docs/submission/DEMO_SCRIPT.md +++ /dev/null @@ -1,37 +0,0 @@ -# Three-minute demo script - -This script is for an English-subtitled recording. Use only media marked -approved in [`docs/demo/MEDIA_RIGHTS_REGISTER.md`](../demo/MEDIA_RIGHTS_REGISTER.md). -The spoken lines are intentionally short so the product behaviour, not a -slide deck, remains the focus. - -| Time | On screen | Voiceover / subtitle | Evidence to capture | -| --- | --- | --- | --- | -| 0:00–0:15 | Open the phone-sized Memory Director page. | “My mother takes beautiful photos, but making a short film is still too complicated.” | Lived family problem, large controls, typed fallback visible. | -| 0:15–0:35 | Type or speak the request and deliberately select approved photos/videos. | “I want to remember this cheerful garden visit.” | Browser receives only selected media; permission confirmation is visible. | -| 0:35–0:55 | Press **Make my film**. | “One request is enough. Memory Director prepares the moments I selected.” | Compact preparing state; no timeline or required plan-review screens. | -| 0:55–1:15 | Show the portrait preview, selected cover, and playback controls. | “It makes a 60-second preview that I can simply watch.” | Actual visible output only; do not claim a selected/held-back explanation that the UI does not show. | -| 1:15–1:35 | **Release gate:** show the original-memory-song option only if the approved-fixture rehearsal succeeds. | “The song is made from the memories I approved, not copied from a favourite singer.” | Capture the user-facing result and retain safety/provenance evidence; otherwise use instrumental or no sound and make no song claim. | -| 1:35–1:55 | **Release gate:** pair the hosted journey with sanitized workflow evidence for the official ClickHouse MCP runtime. | “Before rendering, the guardian checks that these moments are allowed in this film.” | The UI does not show a tool log. Clearly label separate Agent Engine/MCP smoke evidence rather than presenting it as the Web call path. | -| 1:55–2:25 | **Release gate:** show the completed vertical MP4 and tap **Save video**. | “When I am ready, I save the film myself.” | Capture a real visible export and device result; browser UI evidence alone is not a filesystem check. | -| 2:25–2:45 | Tap **Share video**, following the completed ST-52 iPhone rehearsal; use the save-first fallback if the recording environment does not expose native sharing. | “I choose where to share it. Memory Director never signs in to my social account.” | Native share sheet or truthful fallback; no social OAuth or direct posting. | -| 2:45–3:00 | Closing card with repository and hosted URL. | “Every memory, directed by you.” | Repository, hosted URL, licence, and ClickHouse track proof. | - -## Recording checklist - -- Capture the actual hosted product interaction, not a slide replacement. -- Burn in English subtitles and keep every spoken line readable. -- Use a 375px-wide viewport for the mobile flow. -- Keep sanitized ClickHouse MCP evidence in the same recording, clearly separated - from the visible Web journey. -- Do not expose Secret Manager values, bearer tokens, private GCS URIs, or - personal media. -- Do not describe a direct API smoke test as a complete hosted UI journey. -- Cite [ST-52 physical iPhone acceptance](../qa/ST-52-PHYSICAL-IPHONE-ACCEPTANCE.md) - for device evidence; do not describe emulation as physical evidence or imply - that the iPhone pass also covers Android. -- Before recording the release-gated rows, verify that the Web page creates the - preview, invokes the required ClickHouse MCP consent/export path, and exports - the MP4 through the intended user flow. -- Before publishing, complete the final artefact manifest in - [`EVIDENCE_PACKAGE.md`](EVIDENCE_PACKAGE.md) and record the final video URL. diff --git a/docs/submission/DEVPOST_PROJECT_PAGE.md b/docs/submission/DEVPOST_PROJECT_PAGE.md index 5e26b19..56eb371 100644 --- a/docs/submission/DEVPOST_PROJECT_PAGE.md +++ b/docs/submission/DEVPOST_PROJECT_PAGE.md @@ -13,7 +13,7 @@ The browser only sees files the user selects. Media processing requires consent, ## How we built it We built a mobile-first Next.js and React interface backed by a FastAPI service on Google Cloud Run. Gemini on Vertex AI supports media analysis and turns a plain-language request into a constrained storyboard. The API validates the plan before FFmpeg renders a 60-second portrait MP4 from the selected source media. Google Lyria supports the original music option, with instrumental and no-music fallbacks. -ClickHouse Cloud is part of the runtime through the official mcp-clickhouse server: consent/export checks can block rendering and export, and scoped events provide evidence of those decisions. We also deployed a separate Google ADK / Vertex AI Agent Engine production-planning endpoint that invokes an approved, read-only ClickHouse preference tool. That endpoint has passed deployment smoke checks; the current public web interface uses the direct Gemini storyboard path rather than the separate Agent Engine endpoint. Private Cloud Storage holds consented media. +ClickHouse Cloud is part of the runtime through the official mcp-clickhouse server: consent-record checks before rendering and export can block either action if permission is denied, and scoped events provide evidence of those decisions. We also deployed a separate Google ADK / Vertex AI Agent Engine production-planning endpoint that invokes an approved, read-only ClickHouse preference tool. That endpoint has passed deployment smoke checks; the current public web interface uses the direct Gemini storyboard path rather than the separate Agent Engine endpoint. Private Cloud Storage holds consented media. We built automated deployment workflows with GitHub Actions and Terraform for Google Cloud infrastructure, containerized services, public-domain configuration, ClickHouse schema and access setup, and ADK Agent Engine deployment with runtime verification. Workload Identity Federation supports deployment authentication, and Secret Manager holds runtime credentials. diff --git a/docs/submission/EVIDENCE_PACKAGE.md b/docs/submission/EVIDENCE_PACKAGE.md index 931bd09..cc08403 100644 --- a/docs/submission/EVIDENCE_PACKAGE.md +++ b/docs/submission/EVIDENCE_PACKAGE.md @@ -24,8 +24,8 @@ documentation and approved evidence, not the deployed application image. | Demo language | English or English-subtitled | Blocked on final video | Use [`DEVPOST_PROJECT_PAGE.md`](DEVPOST_PROJECT_PAGE.md) as the source for the -long description, [`DEMO_SCRIPT.md`](DEMO_SCRIPT.md) for the recording, and -[`SUBMISSION_CHECKLIST.md`](SUBMISSION_CHECKLIST.md) for rules compliance. +long description. The recording script and internal submission checklist are +maintained privately by the project owner. The [capability evidence matrix](../CAPABILITY_EVIDENCE.md) is the cross-document source of truth for implemented, deployed, physical-device, and final-submission claims. diff --git a/docs/submission/SUBMISSION_CHECKLIST.md b/docs/submission/SUBMISSION_CHECKLIST.md deleted file mode 100644 index aa2377e..0000000 --- a/docs/submission/SUBMISSION_CHECKLIST.md +++ /dev/null @@ -1,91 +0,0 @@ -# ST-32 competition compliance checklist - -Last revalidated: **8 September 2026 (AEST)** against repository commit -`eab585c9f8db6bbf14143c8e5c61c24c7cf2ecca` and the live Devpost pages. - -Status meanings: - -- **Verified** — the linked public evidence was checked during this audit. -- **Ready** — repository material exists, but the final submission must include it. -- **Blocked** — a human action or final artefact is still missing. -- **Attestation required** — the repository cannot prove the entrant's eligibility - or authority. - -Use [`EVIDENCE_PACKAGE.md`](EVIDENCE_PACKAGE.md) to assemble the public proof -and complete the final release artefact manifest without overstating unfinished -capabilities. - -## Source of truth - -Use the [official rules](https://agentic-cinema.devpost.com/rules) where the -overview or an older repository note conflicts with them. The live rules, -[schedule](https://agentic-cinema.devpost.com/details/dates), and -[overview](https://agentic-cinema.devpost.com/) all currently show the same -deadline: **9 September 2026 at 2:00 PM Pacific Daylight Time**. That is -**10 September 2026 at 7:00 AM AEST (Melbourne)**. - -The earlier September 7 date recorded in this repository is obsolete. Recheck -the live rules immediately before the final Devpost submission. - -## Compliance matrix - -| Requirement | Official source | Exact proof to submit or retain | Status | Owner | Blocker / next action | -| --- | --- | --- | --- | --- | --- | -| Submit before 9 Sep 2026, 2:00 PM PDT | [Rules, sections 5 and 7](https://agentic-cinema.devpost.com/rules); [schedule](https://agentic-cinema.devpost.com/details/dates) | Devpost confirmation before 10 Sep, 7:00 AM AEST | Ready | Devpost representative | Submit early enough to recover from upload or form errors. | -| Every entrant is eligible | [Rules, section 4](https://agentic-cinema.devpost.com/rules) | Each member confirms age, residence, sanctions-list and contest-entity eligibility | Attestation required | Every team member | Repository evidence cannot establish personal eligibility. | -| No more than four people; every member added on Devpost; one authorised representative | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Screenshot or final review of the Devpost member list and named representative | Blocked | Devpost representative | Verify the live Devpost roster; do not infer it from GitHub or Linear. | -| Functional production-ready agent powered by Gemini and Google Cloud Agent Builder | [Rules, section 7.A](https://agentic-cinema.devpost.com/rules) | Source paths for ADK/Agent Engine and Gemini; successful [Agent Engine deployment and smoke run](https://github.com/afaryy/MemoryDirector/actions/runs/34024861486); truthful final demo | Verified runtime, recording pending | Engineering | The run proves the separate hosted Agent Engine proposal and tool invocation. The current Web UI uses `/storyboards`, not `/production-proposals`; the recording must not imply otherwise. | -| Active ClickHouse use at runtime through official `mcp-clickhouse`, connected to Cloud or self-hosted ClickHouse | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules); [ClickHouse track resources](https://agentic-cinema.devpost.com/details/clickhouse-resources) | `mcp-clickhouse` image/config in source; runtime call shown in the final demo; successful Agent Engine smoke step named “Prove Agent Engine plan and ClickHouse preference-tool invocation” | Verified | Engineering / demo recorder | Keep the MCP call visible and explain its actual preference/consent role; a README mention alone is insufficient. | -| Only Google Cloud AI and the chosen partner's built-in AI features are used by the submitted product | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Runtime dependency and architecture review; final copy contains no unsupported AI claim | Verified | Engineering / submission editor | Current runtime code uses Google ADK, Vertex AI/Gemini and ClickHouse; re-scan dependencies and submission copy after later merges. | -| Project runs on web, Android or iOS | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Public web URL and demo footage | Verified | Engineering | [Hosted web app](https://memorydirector.com/) and same-origin health route passed production checks on the audited commit. | -| Project is new, original work created during the contest period | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Repository creation history plus entrant attestation that this is not an extension of earlier work | Attestation required | Devpost representative | Public repository metadata shows creation on 16 Aug 2026, but originality and prior-work status require human confirmation. | -| Hosted project URL is supplied for judging and testing | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules); [overview](https://agentic-cinema.devpost.com/) | `https://memorydirector.com/` in Devpost and an incognito check | Verified | Engineering / Devpost representative | Apex and `/api/health` passed production checks on 8 Sep 2026. Direct `run.app` URLs return 404 by design after ingress lockdown and must not be submitted. | -| English text description covers features, functionality, technologies, data sources, findings and learnings | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Finalised [`DEVPOST_PROJECT_PAGE.md`](DEVPOST_PROJECT_PAGE.md) copied to Devpost | Ready | Submission editor | The repository story is aligned with the supplied Devpost copy; compare it with the final demo before release. | -| Public source repository includes all source, assets and run instructions and demonstrates Google Cloud and partner runtime calls | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | [Public repository](https://github.com/afaryy/MemoryDirector), root README, source, Terraform, workflows and operations docs | Verified | Engineering | GitHub reports the repository as public. Perform one final clean-clone instructions check after the last merge. | -| Public repository has a visible OSI-approved licence permitting commercial use | [Rules, sections 7.B and 12](https://agentic-cinema.devpost.com/rules); [overview](https://agentic-cinema.devpost.com/) | Root [`LICENSE`](../../LICENSE) and GitHub licence detection | Verified | Engineering | GitHub detects the root file as MIT. Confirm it remains visible at the top of the repository page. | -| ClickHouse partner track is selected | [Overview submission requirements](https://agentic-cinema.devpost.com/) | Final Devpost track field set to ClickHouse | Blocked | Devpost representative | Must be selected in the Devpost form; repository metadata cannot prove the form value. | -| Public demo shows the project functioning as built | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules); [overview](https://agentic-cinema.devpost.com/) | Final hosted-product recording following [`DEMO_SCRIPT.md`](DEMO_SCRIPT.md) | Blocked | Demo recorder | Browser, rights, and ST-52 iPhone acceptance are complete; record the approved-fixture flow. Do not substitute slides or an API-only test. | -| Demo is no longer than three minutes, public on YouTube or Vimeo, and English or English-subtitled | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Public YouTube/Vimeo URL, duration at or below 3:00, captions checked | Blocked | Demo editor / Devpost representative | Public YouTube/Vimeo URL and final playback review are still required. A local draft alone does not satisfy publication. Aim below 2:55 to leave margin. | -| Written submission is English and product supports English | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | English Devpost page, English demo/captions and English product path | Ready | Submission editor / QA | The repository and UI support English; verify the final deployed path and all form fields. | -| Third-party SDKs, APIs and data are authorised under their terms | [Rules, section 7.B](https://agentic-cinema.devpost.com/rules) | Dependency inventory and evidence that team accounts/assets may be used in the submission | Attestation required | Engineering lead / Devpost representative | Confirm account terms and any non-code data sources before submission. | -| Video and project assets are original or authorised and do not violate privacy, publicity, trademark or IP rights | [Rules, sections 7.B and 15](https://agentic-cinema.devpost.com/rules) | Completed [`MEDIA_RIGHTS_REGISTER.md`](../demo/MEDIA_RIGHTS_REGISTER.md), consent/licence evidence and final-frame review | Verified | Media owner / demo editor | Eight approved private fixtures and the generated memory song were reviewed on 8 Sep 2026. Keep the private originals, named consent and final film outside the public repository. | -| Completed Devpost form contains every required field and no secrets/private media | [Overview submission requirements](https://agentic-cinema.devpost.com/); [rules, section 6](https://agentic-cinema.devpost.com/rules) | Final form review, public links opened incognito, submission receipt | Blocked | Devpost representative | Requires the final video URL, track choice, roster check and submission action. | - -## Repository evidence checked - -- Public repository and MIT licence: - -- Hosted product: -- Hosted health route: -- Current main Tests run: - -- Deployed Web release: `6b738f40014e4c7861ff1705f7df4d26d294d051` -- Current Web deployment: - -- Hosted Agent Engine and ClickHouse preference-tool smoke: - -- Public-edge deployment and HTTPS verification: - -- Agent runtime boundary and evidence criteria: - [`docs/operations/AGENT_ENGINE.md`](../operations/AGENT_ENGINE.md) -- ClickHouse MCP boundary: - [`docs/clickhouse-mcp-proof.md`](../clickhouse-mcp-proof.md) -- Current implementation, deployment, device, and submission status: - [`docs/CAPABILITY_EVIDENCE.md`](../CAPABILITY_EVIDENCE.md) -- Completed physical iPhone acceptance: - [`docs/qa/ST-52-PHYSICAL-IPHONE-ACCEPTANCE.md`](../qa/ST-52-PHYSICAL-IPHONE-ACCEPTANCE.md) - -## Final release sequence - -1. Keep the approved rights register with the private consent evidence and confirm - that the recording uses only its approved fixtures. -2. Verify the Devpost roster, eligibility attestations, representative and - ClickHouse track selection. -3. Run the hosted Web flow with the exact approved demo fixtures and capture - separate sanitized ClickHouse/Agent Engine workflow evidence without implying - that the Web UI invoked the Agent Engine endpoint. -4. Record and publish an English or English-subtitled YouTube/Vimeo demo under - three minutes. -5. Refresh the project-page copy so every capability matches the final build. -6. Open the app, health route, repository, licence and video from an incognito - session, then submit before the deadline and retain the receipt. diff --git a/infra/terraform/tools/config-validator/test/documentation-consistency.test.mjs b/infra/terraform/tools/config-validator/test/documentation-consistency.test.mjs index 4d6baa8..46cdb10 100644 --- a/infra/terraform/tools/config-validator/test/documentation-consistency.test.mjs +++ b/infra/terraform/tools/config-validator/test/documentation-consistency.test.mjs @@ -71,7 +71,6 @@ test("each current journey document rejects the obsolete combined action", () => "docs/ux/MOBILE_PRODUCTION_FLOW.md", "docs/demo/DEMO_RUNBOOK.md", "docs/submission/DEVPOST_PROJECT_PAGE.md", - "docs/submission/DEMO_SCRIPT.md", ]) { assert.doesNotMatch(readDocument(path), /Save\s*&\s*share/i, path); } @@ -154,7 +153,6 @@ test("QA documents record the completed physical iPhone scope", () => { test("current evidence distinguishes main from the deployed Web release", () => { for (const path of [ "docs/CAPABILITY_EVIDENCE.md", - "docs/submission/SUBMISSION_CHECKLIST.md", "docs/submission/EVIDENCE_PACKAGE.md", ]) { assert.match(readDocument(path), /eab585c/, `${path}: current main commit`); @@ -163,7 +161,6 @@ test("current evidence distinguishes main from the deployed Web release", () => for (const path of [ "docs/CAPABILITY_EVIDENCE.md", "docs/operations/APP_DEPLOYMENT.md", - "docs/submission/SUBMISSION_CHECKLIST.md", "docs/submission/EVIDENCE_PACKAGE.md", "design-qa.md", ]) { @@ -173,13 +170,7 @@ test("current evidence distinguishes main from the deployed Web release", () => } }); -test("submission documents preserve the remaining human release gates", () => { - - const checklist = readDocument("docs/submission/SUBMISSION_CHECKLIST.md"); - for (const evidence of ["eab585c", "6b738f4", "34191468668", "34188310631", "ST-52", "rights register", "submission receipt"]) { - assert.match(checklist, new RegExp(evidence, "i"), evidence); - } - assert.match(checklist, /Video and project assets[\s\S]*\| Verified \|/); +test("public evidence package preserves recorded release gates", () => { const evidencePackage = readDocument("docs/submission/EVIDENCE_PACKAGE.md"); assert.match(evidencePackage, /VIDEO_URL_REQUIRED/);