Skip to content

Releases: fderuiter/deruiter.dev

v1.1.0 (2026-10-28)

Choose a tag to compare

@github-actions github-actions released this 28 Oct 05:01
9b9f855

Features

  • feat(study-workspace): study command line for import, info and export (#3125)
  • feat(crf): open plain USDM studies with form items from their concepts (#3122)
  • feat(study-data): report the DEMO-301 win ratio as ARS analyses and Table 14.2.3 (#3121)
  • feat(study-workspace): randomised TAVR versus SAVR reference study for the win ratio (#3120)
  • feat(study-workspace): the TAVR device reference study as USDM (#3118)
  • feat(clinical): standards conformance matrix at /clinical/standards (#3116)
  • feat(study-data): add ADaM for the DEMO-301 hierarchical composite (#3110)
  • feat(crf): bind forms to a visit through one operation in studio and CLI (#3114)
  • feat(standards): add registry fields to the standards bill of materials (#3106)
  • feat(study-workspace): import a USDM study into a workspace without guessing (#3107)
  • feat(study-data): win statistics engine for hierarchical composite endpoints (#3100)
  • feat(clinical-standards): one USDM hand-off envelope for every clinical tool (#3098)
  • feat(standards): standards bill of materials and a weekly standards watch (#3094)
  • feat(deploy): on-demand isolated Preview deployments (ADR 0071) (#3082)
  • feat(crf): carry protocol content in CRF Studio's USDM export (#3069)
  • feat(ops): weekly encrypted backup of the production database (#3048)
  • feat(study-data): show CDISC CORE's recorded findings on the conformance stage (#3058)
  • feat(crf): one form catalog behind one "Add form" surface (#3054)
  • feat(crf): group the studio's modes into Design, Schedule and Verify stages (#3047)

Fixes

  • fix(build): pin the build heap cap and turn off Sentry source maps (#3128)
  • fix(build): turn on webpack memory optimizations for the 8 GB build machine (#3124)
  • fix(ci): fail the CDISC Library sync when the Library read fails (#3113)
  • fix(clinical-standards): never read the first USDM study version silently (#3111)
  • fix(crf): stop the CLI swapping a missing or broken study file for a preset (#3105)
  • fix(study-data): run the CORE workflow on lib/clinical-standards changes (#3103)
  • fix(crf): clear nine CDISC CORE findings on the CRF Studio USDM export (#3061)
  • fix(crf): run CDISC CORE's USDM rules on every CRF Studio export (#3055)
  • fix(cdisc): check every NCI code against the pinned EVS release (#3050)
  • fix(db): let the running site connect as a least-privilege role (#3046)
  • fix(study-data): write the ARS reporting event as valid ARS 1.0 (#3045)
  • fix(crf): make CRF Studio's ODM export valid ODM 1.3.2 and gate it on the XSD (#3039)

Performance

  • perf(nav): prefetch links on hover, focus or touch instead of on scroll (#3089)
  • perf(pwa): precache only the offline shell, not the whole site (#3081)

Other changes

  • docs(readme): show TypeScript 7 in the badge, stack and commands (#3117)
  • build(typescript): type-check with the TypeScript 7 compiler (#3115)
  • ci(study-data): weekly CDISC Library sync of ADaM metadata (#3108)
  • docs(blog): series post 1, one metric, one definition, every tool (#3099)
  • docs(readme): add a banner, screenshots, an arcade gallery and diagrams (#3070)
  • docs(blog): three posts on the release train, schema-checked exports and the AWS warehouse (#3063)
  • refactor(crf): give lib/crf the deep-module shape of lib/study-data (#3060)
  • refactor(clinical-standards): share standards and terminology through one module (#3057)
  • docs(neon): refresh the capacity inventory from the 2026-10-27 audit (#3049)
  • docs(agents): add our own humanizer writing skill (#3042)
  • docs(release): accept ADR 0063 and supersede ADR 0051 (#3040)
  • docs(readme): rewrite the README for v1.0.0 (#3038)
  • docs(blog): Oct 27 post, a conformance engine checks the standard, not the study (#3035)

Commit: 9b9f85514fbdba56b528310023d03d36d95da796

Full changelog: v1.0.0...v1.1.0

v1.0.0 (2026-10-27)

Choose a tag to compare

@github-actions github-actions released this 27 Oct 02:28
05b351e

Features

  • feat(study-data): ADaM ADCM with prior, on-treatment and rescue flags (#3029)
  • feat(study-data): run CDISC CORE over every scenario and commit its findings (#3024)
  • feat(study-data): SDTM IE for screen failures, keyed to TI (#3028)
  • feat(arcade): guided tutorial system, starting with Laser Loon (#3016)
  • feat(platform): load the gold layer into Aurora DSQL from a manual workflow (#3013)
  • feat(study-data): tabulate medical history as SDTM MH (#3015)
  • feat(platform): vital signs feed and two central monitoring tests on them (#3008)
  • feat(platform): plan the Aurora DSQL load and parity fingerprints for the gold layer (#3004)
  • feat(clinical): link the pipeline back to CRF Studio and the dashboards to each other (#3001)
  • feat(infra): add the GitHub OIDC role stack for the always-free AWS data stores (#2995)
  • feat(platform): adverse event feed and an AE under-reporting test (#2993)
  • feat(nav): build every breadcrumb trail from the navigation (#2978)
  • feat(study-data): tabulate prior and concomitant medications as SDTM CM (#2986)
  • feat(platform): data quality scorecard on /platform/governance (#2983)
  • feat(platform): entry hour in visit facts and a time-of-day entry test (#2965)
  • feat(nav): regroup the site into Clinical, Labs, Arcade, Writing and About (#2954)
  • feat(study-data): add ECG scenarios for a QTcF outlier and a missing RR (#2959)
  • feat(arcade): Retro Labyrinth takes the dominant hand from the device settings (#2960)
  • feat(platform): data catalog, glossary and stewardship at /platform/governance (#2953)
  • feat(study-data): analyse ECGs in ADEG with a Fridericia QTcF (#2951)
  • feat(platform): in-browser sql workbench at /platform/sql (#2633) (#2950)
  • feat(arcade): wire the device settings into views, docks and haptics (#2949)
  • feat(study-data): tabulate the collected ECGs as SDTM EG (#2948)
  • feat(retro-labyrinth): phone action cluster with a More sheet (#2947)
  • feat(platform): self-service metrics explorer at /platform/explore (#2634) (#2945)
  • feat(study-data): collect 12-lead ECG intervals for DEMO-301 (#2946)
  • feat(study-data): check every ARS result resolves to rows that reproduce it (#2940)
  • feat(platform): portfolio risk heatmap with stated rules (#2914) (#2939)
  • feat(arcade): one cabinet Setup sheet for the device settings (#2938)
  • feat(study-data): check Define-XML parity with the datasets before export (#2937)
  • feat(study-data): fail conformance when a record does not trace to its source (#2936)
  • feat(platform): enrollment forecast with a what-if on the portfolio page (#2913) (#2935)
  • feat(retro-labyrinth): phone landscape stage with a one-row HUD (#2934)
  • feat(platform): budget and forecast at completion on the portfolio page (#2925)
  • feat(arcade): one device-settings record for every cabinet (#2926)
  • feat(retro-labyrinth): give the phone its own PhoneView (#2921)
  • feat(platform): portfolio dashboard with milestone swimlane and cycle-time benchmarks (#2911) (#2920)
  • feat(platform): event adjudication backlog on operations (#2881) (#2910)
  • feat(retro-labyrinth): lay a portrait iPad out under the maze (#2909)
  • feat(platform): site activation funnel on operations (#2880) (#2905)
  • feat(platform): screen failures by reason on operations (#2879) (#2892)
  • feat(retro-labyrinth): frame the maze with two columns on a landscape tablet (#2883)
  • feat(platform): deviation, queried form and query age breakdowns on operations (#2759) (#2878)
  • feat(dx): scaffold a three-view arcade game with its session and views (#2876)
  • feat(platform): risk tab on the operations dashboard (#2875)
  • feat(retro-labyrinth): give the tablet its own view (#2872)
  • feat(study-data): inject an issue on /study-data and show where the gate caught it (#2865)
  • feat(retro-labyrinth): grow the maze in whole steps on 1920 and 2560 screens (#2858)
  • feat(site): place Clinical Trial Chaos beside the journey, as a game (#2855)
  • feat(dx): flag stale status:in-progress claims in the tracker report (#2854)
  • feat(study-data): derive DTHFL and DTHDTC in DM and DTHDT in ADSL (#2825)
  • feat(dx): report epic checklist drift and in-progress claims (#2836)
  • feat(arcade): field manual as a bottom sheet on phones (#2819)
  • feat(release): flag destructive migrations in a release range (#2818)
  • feat(api): GET /api/version reports the live deployment's commit SHA (#2817)
  • feat(clinical): one clinical data journey from CRF to portfolio (#2814)
  • feat(arcade): one question per screen in the setup wizard on phones (#2812)
  • feat(arcade): full-screen ResultCard on phones with thumb-zone actions, share and a stats disclosure (#2809)
  • feat(platform): data catalog, business glossary and stewardship model (#2638 part 1) (#2800)
  • feat(study-data): seven more messy-data scenarios, unit standardization (#2798)
  • feat(platform): self-service explorer model over the semantic layer (#2634 part 1) (#2788)
  • feat(arcade): drive the phone gate, hub badges and phone order from the registry (#2785)
  • feat(platform): data quality rules, scorecards and issue log (#2636 part 1) (#2782)
  • feat(platform): SQL workbench query library, schema browser and read-only guard (#2633 part 1) (#2786)
  • feat(platform): column-level lineage, impact analysis and OpenLineage events (#2637 part 1) (#2783)
  • feat(study-data): show reviewer guides on the page, add the case study and attributions (#2781)
  • feat(platform): seeded enrollment forecast engine (#2779)
  • feat(study-data): messy-data scenario library with expected findings (#2784)
  • feat(platform): risk-based quality management engine (#2778)
  • feat(platform): monitoring plans in gold, and certified overdue monitoring metrics (#2772)
  • feat(study-data): generate cSDRG-lite and ADRG-lite reviewer guides from each run (#2771)
  • feat(platform): operations dashboards from portfolio to site (#2767)
  • feat(arcade): add the shared run-fairness contract (RunTags) (#2766)
  • feat(study-data): run the pipeline on a study exported from CRF Studio (#2765)
  • feat(arcade): add touch-control dock presets on the action layer (#2761)
  • feat(platform): data products with versioned data contracts and ODCS export (#2758)
  • feat(study-data): prepare CRF Studio USDM exports for a pipeline run (#2756)
  • feat(arcade): add the phone UI patterns (sheet, HUD, coach marks, tap tips) (#2755)
  • feat(duck): add trick-or-treaters, a costume trophy and an October card (#2751)
  • feat(platform): reporting framework with certified tiers and a report catalog (#2750)
  • feat(study-data): add /study-data page with in-browser pipeline and lineage explorer (#2742)
  • feat(duck): add a Halloween mode with a duck costume for Duck (#2739)
  • feat(platform): add governed metric registry compiled to SQL, MetricFlow and TMDL (#2735)
  • feat(study-data): add Kaplan-Meier figure with Greenwood CI and log-rank test (#2728)
  • feat(study-data): add Define-XML 2.1 for SDTM and ADaM from the pipeline specs (#2726)
  • feat(study-data): ARS-linked demographics, TEAE and change-from-baseline tables (#2725)
  • feat(study-data): Dataset-JSON, CSV and XPT exports in a hashed package (#2718)
  • feat(platform): seeded synthetic portfolio with DEMO-301 from the pipeline (#2713)
  • feat(study-data): derive ADAE and ADTTE with event and censoring boundaries (#2704)
  • feat(study-data): derive ADSL, ADVS and ADLB with SDTM traceability (#2702)
  • feat(study-data): gate SDTM and ADaM with versioned conformance rules (#2701)
  • feat(study-data): derive traceable DEMO-301 SDTM subject domains (#2700)
  • feat(study-data): derive DEMO-301 trial design domains (#2699)
  • feat(study-data): generate seeded DEMO-301 collected subjects (#2698)
  • feat(study-data): USDM v4 adapter and DEMO-301 definition (#2697)
  • feat(platform): add strategy decision toolkit (#2696)
  • feat(platform): add clinical data platform hub (#2688)
  • feat(arcade): phone Back walks the cabinet's Escape ladder through one history entry (#2656)
  • feat(arcade): shared useGesture and usePickPlace hooks, with pick-and-place in the Protocol Drift toolbox (#2597)
  • feat(arcade): seeded session RNG, fixed step and RNG state in the run snapshot (#2655)
  • feat(trial-and-error): vary the first-Blind opener by seed (#2653)
  • feat(arcade): add the arcade progress store with core and Daily slices (#2649)
  • feat(arcade): one cabinet pause service with a versioned run snapshot (#2581)
  • feat(arcade): host a game's desktop, tablet and phone views in the cabinet (#2572)
  • feat(quasi-puzzler): download proofs as .lean, export a step log, save custom Sandbox theorems (#2560)
  • feat(arcade): add one input action layer and move Duck onto it (#2566)
  • feat(patty-drive-thru): add a Custom shift with tunable dials and a hand-built order queue (#2525)
  • feat(arcade): classify the viewport as phone, tablet or desktop (#2527)
  • feat(arcade): add one registry for every arcade game and its view readiness (#2522)
  • feat: make card surfaces opaque and drop their backdrop blur (#2320)
  • feat: add a named type scale and move route headings onto it (#2322)
  • feat(retro-labyrinth): polish list from the 10/10 audit (#2319)
  • feat: make amber the single interactive accent in site chrome (#2318)
  • feat: unify site grays on one graphite ramp (#2317)
  • feat(study-director): say how long a quiet site has gone unvisited (#2316)
  • feat(retro-labyrinth): sweeping drones in the middle rooms (#2300)
  • feat(protocol-drift): let the seed place the study's puzzle beats (#2297)
  • feat(retro-labyrinth): trophies for real moments in a run (#2272)
  • feat(protocol-drift): vary each study by seed so the Daily plays differently (#2265)
  • feat(working-with-duck): give sprints 2 to 5 a signature twist each (#2258)
  • feat(protocol-drift): skip to the next event, readable chip names and a way back (#2257)
  • feat(retro-labyrinth): give the Neural Warden its own fight (#2256)
  • feat(laser-loon): give each of the four bosses its own attack pattern (#2250)
  • feat(protocol-drift): mark reference-loaded runs as assisted and waive design par (#2243)
  • feat(las...
Read more

v0.4.1

Choose a tag to compare

@fderuiter fderuiter released this 30 Sep 15:19
15398fc

What's Changed

  • docs(changelog): record the changes shipped since 0.4.0 by @fderuiter in #1503
  • fix(seo): meet 50-60 char title and 140-160 char description bounds on every route by @fderuiter in #1505
  • ci: skip cancel-closed-pr-ci's no-op job so it never takes a runner by @fderuiter in #1502
  • feat(study-director): desk layout, status bar and scoped design tokens by @fderuiter in #1510
  • test(e2e): ignore decorative SVG opacity in the seo-and-navigation settle wait by @fderuiter in #1506
  • refactor(arcade): route arcade game storage through safeStorage by @fderuiter in #1513
  • refactor(core): enforce the nested Math.min/max ban and migrate clamps to clamp() by @fderuiter in #1443
  • fix(clinical-chaos): open DS and MH in phase 3 and explain wrong routes by @fderuiter in #1470
  • refactor(forms): send Contact and Newsletter through apiClient and show the newsletter email error by @fderuiter in #1512
  • docs: replace em-dashes in authored prose by @fderuiter in #1508
  • refactor(storage): move Field Manual, offline queue and telemetry cache storage onto safeStorage by @fderuiter in #1515
  • refactor(services): return ServiceResult from the project image upload path by @fderuiter in #1533
  • chore(deps): bump markdown-it from 14.3.0 to 14.3.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1534
  • fix(trial-and-error): lift played cards out of the hand row at once by @fderuiter in #1527
  • test(seo): add SEO and social integrity suite and DX Doctor check by @fderuiter in #1509
  • refactor(clinical-chaos): route Clinical Chaos storage through safeStorage by @fderuiter in #1538
  • fix(deps): patch nested brace-expansion copies for new DoS advisories by @fderuiter in #1540
  • test(navigation): wait for the Navbar's deferred hash scroll in the mobile drawer test by @fderuiter in #1562
  • refactor(events): add a typed app event bus and useAppEvent hook by @fderuiter in #1525
  • refactor(clipboard): route blog code copy through useClipboard and re-enforce the clipboard lint rule by @fderuiter in #1566
  • test(trial-and-error): add a synthetic probe for the Card Table journey by @fderuiter in #1563
  • fix(clinical-chaos): honest BIMO report numbers and a solvable DOB puzzle by @fderuiter in #1572
  • fix(quasi-puzzler): raise remaining low-contrast text to WCAG AA by @fderuiter in #1545
  • feat(arcade): show a gameplay thumbnail on every arcade hub card by @fderuiter in #1574
  • fix(quasi-puzzler): state the rw targeting rule before the tap and align rewrite level copy by @fderuiter in #1568
  • feat(proof): collapse the theorem catalog on mobile so the canvas stays in reach by @fderuiter in #1558
  • feat(study-director): study-health radar, phase timeline, team portraits and site cards by @fderuiter in #1541
  • refactor(forms): validate contact, newsletter, feedback and blog forms with the route Zod schemas by @fderuiter in #1569
  • test(trial-and-error): aim the drag-reorder e2e at the middle of its drop window by @fderuiter in #1573
  • fix(arcade): stop Duck's urgent-state deadlock and correct control labels by @fderuiter in #1570
  • refactor(ui): move CRT calibration and Patrol code dialogs onto ModalContainer by @fderuiter in #1536
  • refactor(animation): add useAnimationFrame and run the Patrol loops on it by @fderuiter in #1579
  • chore(deps): upgrade dependency-cruiser 18, concurrently 10 and dotenv 18 by @fderuiter in #1511
  • refactor(meme-vault): route Meme Vault events through the typed event bus by @fderuiter in #1583
  • fix(arcade): free the hub Field Manual, fix Retro Chaos copy, clear Garmin crash ghost by @fderuiter in #1577
  • feat(trial-and-error): add sponsor and stake modifiers to the domain by @fderuiter in #1582
  • refactor(command-palette): bind Cmd/Ctrl+K through useHotkeys by @fderuiter in #1581
  • ci(mutation): ratchet stryker break threshold from 65 to 75 by @fderuiter in #1544
  • refactor(logging): route the last console calls through the logger and widen no-console to lib and hooks by @fderuiter in #1531
  • feat(arcade): show the game on the cabinet attract screen and give each game its own accent by @fderuiter in #1588
  • fix(arcade): Laser Loon pause confirmation and Retro Labyrinth retry scoring by @fderuiter in #1575
  • chore(deps): retire four obsolete package overrides by @fderuiter in #1594
  • refactor(neuro): run the Brain3DViewer render loop on useAnimationFrame by @fderuiter in #1595
  • refactor(neuro): move NeuroRecon onto the shared toast, hash-param, hotkey and clamp primitives by @fderuiter in #1590
  • feat(trial-and-error): seeded runs, challenge links and the Daily Protocol by @fderuiter in #1559
  • feat(study-director): present messages and decisions as a real inbox by @fderuiter in #1593
  • test(trial-and-error): cover #925's presentation-hardening checks by @fderuiter in #1600
  • refactor(services): finish the ServiceResult migration for maintenance services and media storage by @fderuiter in #1584
  • chore(deps): upgrade TypeScript to 6.0.3 by @fderuiter in #1602
  • docs(changelog): record the changes merged since the 2026-09-29 release by @fderuiter in #1605
  • feat(study-director): show consequences and mark the passing of days by @fderuiter in #1606
  • fix(chrome): settle the status pings and pulses instead of looping forever by @fderuiter in #1607
  • feat(laser-loon): draw a real loon, shape-coded enemies and per-act parallax backdrops by @fderuiter in #1604
  • refactor(clinical-chaos): run the component and engine on one set of shift rules by @fderuiter in #1608
  • feat(simulator): reframe /simulator as an Architectural Archetype evaluation by @fderuiter in #1612
  • feat(study-director): briefing dossier and closeout report redesign by @fderuiter in #1615
  • feat(trial-and-error): add Codex and run history by @fderuiter in #1613
  • fix(a11y): restore focus to the original trigger when a handed-off dialog closes by @fderuiter in #1618
  • fix(clinical-chaos): count the final CRF in the phase report and unfreeze the auditor after a break by @fderuiter in #1620
  • feat(study-director): keyboard shortcut sheet and keyboard-only play by @fderuiter in #1621
  • fix(content): point stale simulator, CRF and brain-viewer links at the right pages and retire simulator_schedule_click by @fderuiter in #1622
  • feat(laser-loon): slim HUD strip, full-bleed stage and a docked boss plate with hit feedback by @fderuiter in #1623
  • fix(proof): release the terminal's Tab trap and move the workspace onto shared toast, hash and hotkey helpers by @fderuiter in #1619
  • feat(study-director): living office illustration that falls apart as the study does by @fderuiter in #1625
  • feat(trial-and-error): pick sponsor and stake in new run by @fderuiter in #1626
  • chore(deps): align eslint-config-next with next 16.3.6 by @fderuiter in #1630
  • refactor(arcade): move game loops onto useAnimationFrame and Duck keys onto useHotkeys by @fderuiter in #1627
  • feat(study-director): career file, visible saving and a shareable closeout card by @fderuiter in #1634
  • refactor: move the last clipboard ...
Read more

v0.4.0

Choose a tag to compare

@fderuiter fderuiter released this 30 Sep 01:30
d1a66b7

What's Changed

  • docs: correct stale release-workflow claims found in a post-merge audit by @fderuiter in #735
  • fix(deps): pin jsdom to 26.1.0 to fix ERR_REQUIRE_ESM production 500s by @fderuiter in #741
  • feat(a11y): implement dyslexia-first typography, pretext calibration and speed insights (#722, #738, #739, #740) by @fderuiter in #743
  • Install and configure Vercel Speed Insights by @vercel[bot] in #742
  • fix(a11y): resolve CRF Studio's remaining structural WCAG violations (#727) by @fderuiter in #745
  • feat(crf): implement form removal preview, duplication, positional insertion and draft protection (#668, #667, #669, #666) by @fderuiter in #746
  • feat(crf): dependency web sentinel and calculated field derivations (#542, #671) by @fderuiter in #768
  • feat(crf): insert starter clinical smart blocks with slash commands (#538) by @fderuiter in #772
  • fix(arcade): fix dead isSupported check and label the mobile fullscreen fallback by @fderuiter in #773
  • feat(crf): save named baselines and restore into a new draft (#672) by @fderuiter in #774
  • docs(blog): define blog product strategy, editorial scope, and content architecture ADR by @fderuiter in #771
  • fix(crf): insert new fields into the section the author actually targeted (#669) by @fderuiter in #770
  • ci(actions): split fast/heavy gates and cut redundant Playwright matrix cost by @fderuiter in #775
  • feat(crf): compare working draft against a named baseline (#676) by @fderuiter in #776
  • refactor(crf): unexport internal modal props interfaces by @fderuiter in #777
  • test(ci): verify browser-scoped cache contracts by @fderuiter in #778
  • fix(ci): gate merges on targeted device coverage by @fderuiter in #779
  • fix(dx): align verification output with exit status by @fderuiter in #780
  • fix(ci): enforce required-check event safety by @fderuiter in #781
  • feat(blog): integrate resilient published-post persistence by @fderuiter in #782
  • fix(duck): suspend play during reading interruptions by @fderuiter in #783
  • test(migrations): include blog migration in integrity inventory by @fderuiter in #787
  • fix(duck): coordinate manual hotkeys and interruption ownership by @fderuiter in #788
  • fix(blog): enforce cache contracts and rendered-page invalidation by @fderuiter in #790
  • docs(ci): synchronize references and current merge-gate guidance by @fderuiter in #793
  • fix(duck): select visible responsive manual owner by @fderuiter in #794
  • feat(blog): add authorized sanitized draft collection API by @fderuiter in #795
  • feat(blog): add authorized draft reading and editing by @fderuiter in #797
  • fix(content): render case-study Mermaid diagrams by @fderuiter in #798
  • feat: reconcile dev authoring, studio, and accessibility work into main by @fderuiter in #801
  • fix(dx): normalize Next.js bracket route parameters in OpenAPI doctor check by @google-labs-stitch[bot] in #818
  • refactor: relocate CopyButton implementation to components/ui and update consumer imports by @google-labs-stitch[bot] in #819
  • feat(arcade): enforce standardized 44px minimum touch targets and active visual feedback across Arcade HUD components by @google-labs-stitch[bot] in #820
  • refactor(audio): centralize sound engine delegation across application by @google-labs-stitch[bot] in #824
  • feat(test): direct Stryker CLI runner and unified core coverage inclusion by @google-labs-stitch[bot] in #825
  • feat(patrol): headless shift state machine engine and wave 1 enhancements (#748) by @fderuiter in #827
  • feat(patrol): unified vertical slice, OET mini-game, and OEC scene interaction (#749, #750, #751) by @fderuiter in #831
  • feat(patrol): three MVP scenario content packages and interpersonal dialogue system (#752) by @fderuiter in #832
  • feat(patrol): contextual rule-based debrief engine (#753) by @fderuiter in #833
  • feat(patrol): ambient operations mini-events and realistic Welch Village trail map (#754, #835) by @fderuiter in #837
  • feat(patrol): field manual, optional audio layer, and M10 launch QA (#755, #756) by @fderuiter in #838
  • perf(web-vitals): keep hero text an opaque LCP candidate and drop production layout reflow by @fderuiter in #839
  • feat(crf): resolve show, hide and require sentence rules at runtime by @fderuiter in #842
  • feat(crf): save and reuse versioned personal clinical blocks by @fderuiter in #843
  • feat(crf): test forms in a responsive in-builder simulator dock by @fderuiter in #844
  • feat(crf): save named test scenarios with expected outcomes and run evidence by @fderuiter in #845
  • fix(domain): canonicalize on the apex so advertised URLs match the serving host by @fderuiter in #846
  • ci(actions): supersede redundant main-push runs and correct the Free-plan budget by @fderuiter in #847
  • dx(lint): exclude agent worktrees from ESLint traversal by @fderuiter in #855
  • chore(deploy): stop uploading build output and agent worktrees to Vercel by @fderuiter in #856
  • fix(build): gate fallback logging on runtime rather than production alone by @fderuiter in #857
  • fix(build): abort a production build when a data source is unreachable by @fderuiter in #858
  • fix(db): run migrations on the direct endpoint by default by @fderuiter in #860
  • docs(agents): correct the fallback logging gate and state the build-time rule by @fderuiter in #861
  • fix(build): load .env.local before falling back to a dummy connection by @fderuiter in #862
  • docs(neon): record observed provider state and correct two false protections by @fderuiter in #864
  • docs(neon): record a measured restore rehearsal and correct the production branch id by @fderuiter in #870
  • chore(git): state the .env*.local ignore rule explicitly by @fderuiter in #872
  • fix(seed): upsert by slug instead of wiping, and recover two orphaned case studies by @fderuiter in #873
  • feat(blog): cover all six content pillars and enforce the taxonomy by @fderuiter in #876
  • fix(case-studies): render editorial_content as Markdown and de-duplicate ids by @fderuiter in #877
  • chore(deps): add @upstash/qstash and bump @upstash/redis by @fderuiter in #878
  • fix(ui): stop clipping code blocks, de-duplicate titles, and add missing page headings by @fderuiter in #881
  • fix(observability): stop spending the Sentry error budget on local development by @fderuiter in #883
  • dx(hooks): close the guardrail, branch, drift and test-scope gaps by @fderuiter in #884
  • fix(routes): stable /crf heading, bounded titles, gated mobile blur by @fderuiter in #885
  • chore(release): license the source under Apache-2.0 and harden public repository readiness by @fderuiter in #886
  • docs(release): reconcile public-release readiness and Vercel/production evidence by @fderuiter in #887
  • refactor(security): unify secret scanning into lib/security-scan by @fderuiter in #888
  • feat(clinical-chaos): offices, sponsor inbox, outfits, and a guided board redesign by @fderuiter in #908
  • feat(crf): add durable field review threads by @fderuiter in https:/...
Read more

v0.3.0

Choose a tag to compare

@fderuiter fderuiter released this 13 Sep 17:59
ba66fff

What's Changed

  • feat(security): CVE-granular advisory matching and 90-day expiration cap by @google-labs-jules[bot] in #464
  • feat(garmin): add power brownout warnings, shutdown handling, flash storage caps, and session persistence by @google-labs-jules[bot] in #465
  • perf(crf): lazy load secondary studio overlays by @google-labs-jules[bot] in #466
  • feat(simulator): Screen Reader Telemetry, Touch Gestures, & Haptic Feedback by @google-labs-jules[bot] in #467
  • feat(garmin): synchronize Monkey C Mayhem & Garmin Schvitz App branding and integrate sub-50KB standalone build target by @google-labs-jules[bot] in #468
  • perf(schemaflow): direct DOM ref patching and hook memoization for solver telemetry by @google-labs-jules[bot] in #469
  • perf(crf): implement targeted main-thread idle scheduling & debounced diagnostic badge by @google-labs-jules[bot] in #470
  • perf(ui): default lazy loading for scrapbook carousel images by @google-labs-jules[bot] in #471
  • docs(architecture): add targeted topology update and automated drift verification by @google-labs-jules[bot] in #472
  • feat(neuro): add event-driven progress bus and floating visual HUD overlay by @google-labs-jules[bot] in #474
  • feat(crf): implement lossless universal CRF YAML exporter & schema test suite by @google-labs-jules[bot] in #476
  • fix(crf): generate high-entropy cryptographic UUIDs during CDISC compliance auto-fix by @google-labs-jules[bot] in #473
  • feat(seo): explicit social card image metadata & contact server layout wrapper by @google-labs-jules[bot] in #477
  • feat(a11y): action-driven reducer state machine for screen reader announcements by @google-labs-jules[bot] in #478
  • perf(arcade): implement component-level pathfinding memoization in RetroLabyrinth by @google-labs-jules[bot] in #479
  • fix(telemetry): instant snapshot-based telemetry reversion on API failure and rate limit by @google-labs-jules[bot] in #480
  • feat(perf): gpu-accelerated case study scroll indicator by @google-labs-jules[bot] in #482
  • feat(ci): integrate real-browser sub-route performance gating by @google-labs-jules[bot] in #483
  • fix(a11y): patch useEffect block with ref-based guards for announcement timers by @google-labs-jules[bot] in #484
  • perf(arcade): optimize TSP shortest path calculation using useMemo by @google-labs-jules[bot] in #485
  • perf(404): defer retro minigame bundle loading behind interactive insert coin preview by @google-labs-jules[bot] in #486
  • fix(crf): targeted safe property guard in health calculator by @google-labs-jules[bot] in #487
  • feat(layout): implement CSS layout budgeting, offscreen card precompute, and scrollbar gutters by @google-labs-jules[bot] in #488
  • feat(arcade): migrate arcade game canvas interactions to unified React Pointer Events by @google-labs-jules[bot] in #492
  • fix(homepage): resolve compiled terminology tags in project teaser cards before truncation by @google-labs-jules[bot] in #489
  • feat(layout): implement CSS variable space contract and dynamic viewport heights by @google-labs-jules[bot] in #491
  • refactor(command-palette): optimize search performance and audio throttling by @google-labs-jules[bot] in #493
  • feat(telemetry): in-memory outbox queue with exponential backoff and targeted rollbacks by @google-labs-jules[bot] in #494
  • fix(crf): enforce exact subject matching and XML attribute escaping in CDISC ODM exporters by @google-labs-jules[bot] in #490
  • refactor(neuro): offload 3D mesh generation to background Web Worker thread by @google-labs-jules[bot] in #496
  • feat(a11y): action-driven reducer state machine for screen reader announcements by @google-labs-jules[bot] in #495
  • feat(crf): implement unified missing value & CDISC null flavor guard engine by @google-labs-jules[bot] in #498
  • refactor(audio): centralize Web AudioContext governance and unmount cleanup by @google-labs-jules[bot] in #499
  • docs(security): update SECURITY.md with audit CLI, CI gates, and override governance rules by @google-labs-jules[bot] in #500
  • feat(crf): integrate interactive AST rule evaluation and live conformance engine into simulation by @google-labs-jules[bot] in #501
  • docs(onboarding): add environment verification step to setup guides by @google-labs-jules[bot] in #504
  • feat(crf): Implement Graph-Extended Schema and Bidirectional CDISC USDM Adapter by @google-labs-jules[bot] in #505
  • docs(contributing): add root contribution guide and interactive cli scaffolder by @google-labs-jules[bot] in #506
  • feat(build): standardize asset commands and document token compiler pipeline by @google-labs-jules[bot] in #507
  • docs(onboarding): add environment variable verification step to setup guides by @google-labs-jules[bot] in #508
  • docs(readme): document local health diagnostics and CI quality gate mapping by @google-labs-jules[bot] in #509
  • docs(onboarding): document API compilation and drift verification commands by @google-labs-jules[bot] in #503
  • docs(deploy): add standalone deployment operations & synthetic monitoring guide by @google-labs-jules[bot] in #502
  • docs(db): align database migration guides, CLI help, and diagnostic completeness gate by @google-labs-jules[bot] in #510
  • feat(seo): implement dynamic runtime file system stat mapping for static routes by @google-labs-jules[bot] in #511
  • fix(telemetry): implement rate limiting circuit breaker cooldown fallback by @google-labs-jules[bot] in #512
  • feat(telemetry): lazy load sentry in client error boundaries with missing dsn guard by @google-labs-jules[bot] in #516
  • feat(seo): universal schema language and access declarations by @google-labs-jules[bot] in #517
  • feat(neuro): decouple 3d rendering engine with engine loader bridge and raw binary geometry buffers by @google-labs-jules[bot] in #550
  • fix(crf): update docx export table widths to 9,360 DXA for standard Letter paper margins by @google-labs-jules[bot] in #552
  • feat(dx): add npm run audit:security to pre-commit hook by @google-labs-jules[bot] in #551
  • perf(bento-grid): cache getBoundingClientRect and batch CSS updates via requestAnimationFrame by @google-labs-jules[bot] in #553
  • feat(crf): extract USDM valueSets/codeLists into codelists and map visit tolerances to schedule rules by @google-labs-jules[bot] in #554
  • fix(graphics): clamp Hermite spline control point tangents and adjust sparkline inner padding by @google-labs-jules[bot] in #555
  • Release v0.2.0 by @fderuiter in #463
  • feat(garmin): implement fog-state prioritized gesture isolation by @google-labs-jules[bot] in #556
  • feat(dx): implement Doctor-native ADR invariant suite and CI verification step by @google-labs-jules[bot] in #558
  • feat(arcade): Standardized Canvas Arcade Engine & Event Bridge by @google-labs-jules[bot] in #562
  • feat(arcade): strongly-typed arcade registry & bento dual-cta action bar by @google-labs-jules[bot] in #557
  • Revert "feat(arcade): strongly-typed arcade registry & bento dual-cta action bar" by @fderuiter in #564
  • refactor(types): eliminate any usage from production code paths by @fderuiter in #571
  • test: disable file parallelism to fix CRF Studio test-suite hang; sync docs drift by @fderuiter in #572
  • fix(homepage): resolve hydration mismatches breaking the landing page by @fderuiter in #573
    ...
Read more

v0.1.0 (Initial Release)

Choose a tag to compare

@fderuiter fderuiter released this 20 Aug 14:37

What's Changed

  • Integrate Pretext Core Layout Engine by @fderuiter in #1
  • Phase 3: Visual Ecosystem Setup by @fderuiter in #2
  • build(deps): bump next from 16.2.4 to 16.2.6 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3
  • Implement TypeScript-first design manifest and build-time theme sync by @google-labs-jules[bot] in #49
  • feat: automate design token synchronization from CSS to TypeScript by @google-labs-jules[bot] in #52
  • Implement Native ISR for case study detail pages by @google-labs-jules[bot] in #50
  • Implement Platform Transparency Hub for verifiable security metrics by @google-labs-jules[bot] in #53
  • feat: integrate Sentry for production observability and error tracking by @google-labs-jules[bot] in #54
  • feat: implement global measurement caching for layout hooks by @google-labs-jules[bot] in #55
  • feat: implement standardized persistence utility for CLI history by @google-labs-jules[bot] in #56
  • Refactor masonry layout logic into custom hook and shared constants by @google-labs-jules[bot] in #57
  • Implement Zero-Downtime Resilience Engine for DB Migrations by @google-labs-jules[bot] in #62
  • Establish engineering-driven logic testing for core algorithms by @google-labs-jules[bot] in #63
  • feat: implement high-availability telemetry buffer with Redis fallback by @google-labs-jules[bot] in #64
  • Establish Rigor Ecosystem for automated layout and performance gating by @google-labs-jules[bot] in #65
  • Humanize portfolio with civic milestones and creative narratives by @google-labs-jules[bot] in #69
  • Implement Enterprise Accessibility Infrastructure and PDF/UA Engine by @google-labs-jules[bot] in #76
  • Secure Telemetry Sync Route Authorization by @google-labs-jules[bot] in #87
  • feat: integrate native framer-motion useReducedMotion hooks for system-level accessibility by @google-labs-jules[bot] in #88
  • feat(ci): implement branch-isolated dual caching for Next.js and Playwright by @google-labs-jules[bot] in #89
  • feat: implement static pre-commit and seed script regex guards by @google-labs-jules[bot] in #91
  • feat: Targeted Route Error Telemetry on 404 Pages by @google-labs-jules[bot] in #94
  • Update Telemetry Sync Cron Job Frequency to Daily by @fderuiter in #97
  • Integrate Vercel Analytics by @fderuiter in #96
  • Post-Build Conditional Migration Execution by @google-labs-jules[bot] in #95
  • fix: make preview builds and routes fully robust to database branch limit failures by @google-labs-jules[bot] in #102
  • feat: defer CommandPalette with SearchWrapper client loader and design interactive 404 page by @google-labs-jules[bot] in #92
  • feat: fetch static public ASCII art on client idle by @google-labs-jules[bot] in #113
  • feat: Centralized Graphics Math and Layout Engine Abstraction by @google-labs-jules[bot] in #114
  • feat: implement accessible logic proof workspace with split-view command console by @google-labs-jules[bot] in #109
  • feat: implement interactive console API with sandbox event bridge by @google-labs-jules[bot] in #106
  • Fix GitHub Telemetry Cache Key Collision and Metrics Bleeding by @google-labs-jules[bot] in #105
  • Implement Targeted Error Sanitization and Build-Time Log Suppression by @google-labs-jules[bot] in #104
  • Feature: Language-Tailored Simulated Telemetry for Legacy & Private Projects by @google-labs-jules[bot] in #103
  • feat(sandbox): implement interactive terminal sandbox accessibility enhancements by @google-labs-jules[bot] in #117
  • feat: Unified Recovery Layout & Global Search Context by @google-labs-jules[bot] in #108
  • Unified Responsive Observer Infrastructure by @google-labs-jules[bot] in #110
  • feat: Context-Aware Global Listener Exclusion & Garmin Watch Simulator by @google-labs-jules[bot] in #118
  • feat(layout): centralize theme font resolution and unify markdown tokenization configurations by @google-labs-jules[bot] in #119
  • feat: Implement dynamic height override context and interactive Pitch/Reality switcher for bento grid cards by @google-labs-jules[bot] in #107
  • feat: declarative Zod validation and programmatic OpenAPI spec generation by @google-labs-jules[bot] in #112
  • feat: Implement Smart Fuzzy Matcher & Telemetry Pipeline on NotFound Fallbacks by @google-labs-jules[bot] in #116
  • feat: Implement Progressive Retro Labyrinth on 404 Not Found Page by @google-labs-jules[bot] in #145
  • feat: implement translation-aware layout dependency tracking and cache invalidation by @google-labs-jules[bot] in #144
  • feat: implement multi-paragraph userland splitting with layout calibration by @google-labs-jules[bot] in #143
  • feat: implement Vitest-powered programmatic integrity gates by @google-labs-jules[bot] in #141
  • feat: implement automated browser-based accessibility audits with Playwright-Axe by @google-labs-jules[bot] in #140
  • feat: Background Tactic Simulation with 5s Watchdog Worker Recovery by @google-labs-jules[bot] in #139
  • feat: Standardized SDK-Based Telemetry Rate Limiting with Local Caching by @google-labs-jules[bot] in #136
  • feat: Implement Global Dynamic Multi-Profile Synthesizer with Sound Settings Panel by @google-labs-jules[bot] in #134
  • feat: Interactive Terminology Tooltips in Case Studies by @google-labs-jules[bot] in #133
  • feat: implement centralized Sentry telemetry filtering for GameEngineException by @google-labs-jules[bot] in #131
  • feat: implement gamified recruiter compatibility simulator route by @google-labs-jules[bot] in #130
  • feat: implement transparent continuous overlay layer for accessible text layouts by @google-labs-jules[bot] in #126
  • feat: automate TypeDoc compilation, markdown linting, and CI drift checking by @google-labs-jules[bot] in #124
  • docs: align CMS guidelines with RichNarrative HTML allowlist & compile docs by @google-labs-jules[bot] in #163
  • feat: Implement Integrated JSDOM Unit/Integration Test Suite and Enforce 80% Hard Gates by @google-labs-jules[bot] in #168
  • feat: language-tailored simulated telemetry and alignment fixes by @google-labs-jules[bot] in #166
  • perf: optimize Playwright cache and resolve accessibility test failures by @google-labs-jules[bot] in #165
  • docs: align permitted HTML elements and attributes list with RichNarrative component schema by @google-labs-jules[bot] in #164
  • feat: implement integrated command console split-view keyboard navigation and accessibility by @google-labs-jules[bot] in #157
  • feat(telemetry): implement robust unit test suite for pipeline timeout and deduplication logic by @google-labs-jules[bot] in #155
  • feat(ci): implement branch-isolated Next.js and Playwright dual caching by @google-labs-jules[bot] in #170
  • feat(a11y): implement interactive accessibility e2e tests and fix WCAG label violation by @google-labs-jules[bot] in #171
  • feat: idiomatic context provider & unified recovery layout by @google-labs-jules[bot] in #172
  • feat: enhance static pre-commit and seed script regex guards with template literal support and unit testing by @google-labs-jules[bot] in #174
  • feat(schemaflow): implement declarative SVG layout proof tree, telemetry RAM gauge, and state rollback his...
Read more