Skip to content

Feature/spy gemini photino segments 8 16 - #1

Merged
ClydeQue merged 5 commits into
mainfrom
feature/spy-gemini-photino-segments-8-16
Jun 21, 2026
Merged

Feature/spy gemini photino segments 8 16#1
ClydeQue merged 5 commits into
mainfrom
feature/spy-gemini-photino-segments-8-16

Conversation

@ClydeQue

Copy link
Copy Markdown
Owner

No description provided.

ClydeQue and others added 5 commits June 9, 2026 11:56
Segments 8-16 work plus this session's fixes:

- Grammar checker now backed by Google Gemini (Google.GenAI SDK) instead
  of LanguageTool; same GrammarCheckResponse contract. Model configurable
  via Gemini:Model (default gemini-2.5-flash); API key read from
  Gemini:ApiKey (user-secrets / env), never committed.
- Spy engine pipeline fixed: issueStore.ts createId template literal
  repaired and initializeSpyListener() added/exported so the iframe
  SILIP_ERROR probe messages actually reach the store (was dead-ended).
- Desktop build fixed: Photino.NET v4 renamed its namespace
  PhotinoNET -> Photino.NET; updated Program.cs using directive.
- QA de-hardcoding: axe-core a11y check, accessibility-text extraction,
  deterministic variable interceptor, SCORM 2004 manifest namespaces,
  SourceFileInPackageRule.
- IssueInspector / SlideHealthStrip / unified severity feed (Segment 16).
- Stop tracking silip.db; ignore SQLite runtime artifacts.

Client tsc clean (0 errors); dotnet build solution clean (0/0).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Injects the real SILIP_SPY_SCRIPT into a Chromium iframe, triggers
js_error / console_error / scorm_failure / observation_dead_click /
observation_scene_change, and asserts each arrives at the parent in the
{kind, slide, breadcrumb, data} shape initializeSpyListener consumes.
All 5 probe types validated green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Proves the app works against the real DH_Procurement Storyline export:
- verify-real-course-apionly.cjs: uploads the real package via the live API,
  renders the real Storyline course headless (799 DOM nodes), completes the
  SCORM handshake, and the spy fires real observations on real DOM (20 events).
- verify-real-course-e2e.cjs: full-app harness (needs a faster host than sandbox).
- main.tsx: dev-only window.__silipStores hook (import.meta.env.DEV).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 21, 2026 18:26
@ClydeQue
ClydeQue merged commit 8689749 into main Jun 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants