Compiled 2026-07-18 at working-tree commit 596e6bbfd9. Maps every available
harness family to the Section 18 release gates (YSD-18130–18148 "Gate 1–19") and
the checklist items each will serve. 102 CI workflows exist under
.github/workflows/; only study-relevant ones are listed.
1. Playwright / end-to-end#
testing/e2e/—playwright.config.ts,fixtures.ts,page-objects/,setup/,tests/(includingtests/api/{isis,sophia,hathor}/*.e2e.ts); workflowe2e.yml.- Maps to: Gate 1 (anchor open/inaccessibility, YSD-18130), Gate 12 (manual study without models, YSD-18141), Gate 15 (pin/typed-link traversal, YSD-18144), walking-skeleton journeys YSD-1036/1037, Section 22.1 learner acceptance.
- Gap: no study-workspace page objects; the walking skeleton must add its own journey specs.
2. Accessibility#
- Workflows
accessibility.yml,a11y-pa11y-nightly.yml(pa11y nightly); report storeinfra/a11y-reports/; shell primitiveAccessibilityShell(YSD-0106). Study-specific since this file was first compiled:apps/oshun/web/e2e/studio-study-a11y.spec.ts(keyboard-only + screen-reader semantics over the walking skeleton) andstudio-study-a11y-modalities.spec.ts(contrast, zoom/reflow, reduced motion, captions + transcript, media alternative + accessible export), both against the real stack. - Maps to: Gate 10 (keyboard/screen-reader/contrast/reduced-motion/ zoom, YSD-18139), YSD-1037, Section 16.
- Gap (revised 2026-08-09): what this entry recorded on 2026-07-18 —
"page-level scanning only — no harness yet for timeline scrubbing,
canvas/graph non-spatial alternatives, or accessible media study patterns" —
is no longer true of media study patterns; the two suites above cover them.
What remains open is the non-spatial alternative for the graph and canvas
views, and it is the single scope entry
release-gate-evidence.jsonreports Gate 10 short of. Note the shape of this gate: it is the only one of the nineteen with norelease-gate-*.spec.ts, because its subject is a rendered document and no library suite can settle it — and consequently the only one whose evidence survives the conditions test in YSD-22057's register.
3. Contract / schema#
libs/contracts(canonical zod contracts, e.g. canonical-audit-event); workflowscontent-slot-contract.yml,api-inventory.yml,external-api-guard.yml,capability-truth-drift.yml; program-local checkerstools/yemaya-study/check-*.mjs(YSD-0101/0103).- Maps to: Gate 2 (machine-output identity, YSD-18131), Gate 3 (epistemic non-conflation at the contract layer, YSD-18132), YSD-1009, YSD-2008–2010 (schema/OpenAPI/compat tests).
- Gap: no OpenAPI/back-compat pipeline for a study-workspace service yet (created with YSD-1003/1009); no epistemic-type conflation tests anywhere.
4. Evaluation#
- Workflows
benchmarks.yml,3d-quality-continuous-evaluation.yml,generated-evidence-freshness.yml,audit-verification-record.yml,adversarial-review-reconciliation.yml,test-coherence.yml+test-coherence-check.yml(tests-must-fail-on-stubs discipline). - Gold-set precedent: agentic content-quality program stores gold sets in Postgres (2026-06-13 memory record; ClipMultimodalBackend evaluation).
- Maps to: Section 18.1 rights-cleared evaluation program, 18.2/18.3 metrics, Gate 8 (bias/calibration/cultural/safety eval, YSD-18137).
- Gap: no film/performance/game gold sets exist (YSD-0130 licensing decision precedes them); no calibration harness for confidence values (YSD-2006).
5. Performance#
testing/performance/—k6/{aphrodite,bellona}load suites;benchmarks/(api-benchmark.test.ts,cross-domain-latency.test.ts,tps-models.spec.ts,local-fixture-server.ts); workflowbenchmarks.yml; V-series size budgets (v3-cook-size-budgets.yml) as budget-gate precedent.- Maps to: Gate 11 (UI/API performance, job reliability, scale, cost budgets, YSD-18140), Section 17.
- Gap: no k6 suite for a study-workspace service; no media-pipeline (ingest/proxy/thumbnail) throughput benchmarks.
6. Deletion#
libs/oshun/persistence/src/dsar-deletion-cascade.ts(+.test.tsand.integration.test.ts) — DSAR deletion cascade with real tests;libs/oshun/privacy/src/deletion-erasers/,export-deletion/;libs/oshun/auth/src/customer-data-deletion-store.ts;apps/oshun/bff/src/data-export/durability integration specs (added 2026-07-18); DR workflowv1-disaster-recovery.yml.- Maps to: Gate 5 (expiry/deletion propagation, YSD-18134), YSD-1035, YSD-3061–3068, Section 22.1 YSD-22018.
- Gap: cascade covers DSAR user data; no media-derivative fan-out (original→proxy→thumbnail→embedding→index→graph→notebook-preview→export) deletion harness — that is new Section 3.4 work.
7. Privacy#
libs/oshun/privacy/(erasers, export-deletion),libs/oshun/auth/src/customer-consent-store.ts,libs/oshun/memory-iris/src/consent-ledger.ts+data-rights.ts;apps/v2/telemetry-privacy-compliance(telemetry filtering precedent); sharedvoice-likeness-consent.ts(audit-platform).- Maps to: Gate 6 (cross-tenant leakage, YSD-18135 — partially; see security), Gate 7 (consent/roles/retention for performer+learner data, YSD-18136), Section 4.3.
- Gap: no biometric-like-feature handling tests (YSD-4051), no aggregate-threshold harness (YSD-4058), no game-telemetry identifier filter for study ingest (YSD-4057 — v2's is product-local).
8. Security#
- SAST
codeql.yml; DASTsecurity-dast.yml; deps+secretssecurity-deps-and-secrets.yml; domain exampleiris-security.yml; prompt injectiontesting/prompt-injection/(TS + python +held-out/sets); architecture boundariestesting/boundary/validate-boundaries.ts; stub hygienestub-indicator-scan.yml+adversarial-grep-trend.yml; chaostesting/chaos/aphrodite; containercontainer-build.yml; IaCterraform.yml,iris-infra-drift-detection.yml. - Maps to: Gate 4 (restricted-action blocking — partially, via authz tests to be written, YSD-18133), Gate 6 (leakage, YSD-18135), YSD-4099 (SAST/deps/secret/container/IaC/prompt-injection categories exist; parser-fuzz, archive-bomb, SSRF suites do not), YSD-3068 chaos precedent.
- Gap: no media-parser fuzz/sandbox harness, no SSRF/DNS-rebinding suite
(agentic-systems memory:
::ffffIPv4-mapped bypass was a real prior bug — reuse that fix's tests as the pattern), no cross-tenant vector/graph/cache leakage suite.
Gate-by-gate coverage summary#
Superseded as a status report (2026-08-09). The table below is the plan as it stood on 2026-07-18 and its "to write" / "new" column is now wrong in most rows: eighteen
release-gate-*.spec.tsexist, plus the service integration suites and the studio e2e journeys. It is kept as the record of what was intended. The current answer is machine-held rather than written down here —docs/proposals/yemaya-study-workspace/release-gate-evidence.jsonnames the evidence per gate andrelease/gate-evidence-register.spec.tsruns it through the real release decision, which is the only form in which this table cannot quietly go stale again.
| Gate (YSD) | Existing harness | Status |
|---|---|---|
| 1 anchor fidelity (18130) | Playwright e2e | journey specs to write |
| 2 output identity (18131) | contracts + checkers | service pipeline to build |
| 3 epistemic non-conflation (18132) | none | new (contract + UI tests) |
| 4 restricted actions (18133) | authz patterns in domain tests | new central rights tests |
| 5 deletion propagation (18134) | dsar-deletion-cascade | extend to media fan-out |
| 6 leakage (18135) | boundary validator, security suites | new vector/graph/cache leakage tests |
| 7 consent (18136) | consent stores + ledger | performer/learner consent tests new |
| 8 bias/safety eval (18137) | eval workflows, gold-set precedent | gold sets + calibration new |
| 9 game sync honesty (18138) | v2 telemetry apps (product-local) | new cross-game harness |
| 10 accessibility (18139) | pa11y + accessibility.yml | media-study patterns new |
| 11 performance (18140) | k6 + benchmarks | study-service suites new |
| 12 no-AI manual study (18141) | Playwright | journey spec to write |
| 13 feedback safety (18142) | none | new (Section 14) |
| 14 transfer originality (18143) | none | new (Section 4.2) |
| 15 pin/typed links (18144) | Playwright | journey spec to write |
| 16 provisional links (18145) | none | new (Section 2.6 invariants) |
| 17 graph diversity/leakage (18146) | none | new (Section 13) |
| 18 decision provenance (18147) | none | new (Section 13/14) |
| 19 impact reviews (18148) | none | new (Section 3.4/13) |
Bottom line: e2e, accessibility, contract, performance, deletion(DSAR), privacy(consent), and security(SAST/DAST/deps/prompt-injection/chaos) harnesses exist and are extensible; gates 3, 9, 13–19 and the media-specific halves of gates 5/6/7/8/10/11 need harnesses built by their owning sections.