Skip to content

Add item-cue diagnostics with inspect-only blind probes - #18

Merged
aharlap merged 11 commits into
mainfrom
feat/item-cues
Oct 19, 2026
Merged

aharlap merged 11 commits into
mainfrom
feat/item-cues

Conversation

@aharlap

@aharlap aharlap commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Adds scripted item-cue reporting and two blind solver probes. Preparation requires praxity inspect <course> --schema 1 JSON with projection 2. HTML directories and older/non-inspect inputs receive actionable refusals before output is created; newer projections ask the author to update Trace. Scripted HTML reports remain available and write no solver inputs.

Blind HTML fields accept Studio paragraphs, emphasis, inline code, strikeout, highlights, href-only links, canonical tooltip spans and canonical doodles. Attributes must match each form exactly. Class tokens split only on HTML ASCII whitespace, so NBSP, BOM and zero-width variants are excluded. Styles, hiding attributes, unfamiliar markup and empty icon/variable placeholders remain excluded. The reason identifies the rejected tag or attribute. Tooltip definitions never enter solver prose. The shared visibility projection and interpretation fingerprint are unchanged; no dependency was added.

Retains the bracket guard, independent permutations, pooled course and bank rows, exact upper choicesOnly.p and lower choicesOnly.pLow tails, four cover judgements and existing command shapes. Reports identify and count exclusions, show question excerpts, give setup commands only at course level and offer both remedies for "Another valid answer". The skill copies the version from the manifest.

Validation: 54 affected checks and typecheck pass. Each changed behavior has a regression run red before its fix. The Unicode/CSS/class canary matrix runs through JSON file, stdin and direct preparation and scans all 18 output files. Current Studio inspection retains all 44 internal-bank choices with zero exclusions. The 16-item formatting probe now retains 14 items; only empty icon and variable placeholders are excluded. The combined accessibility fixture keeps its browser assertions and passes its browser-free full preparation check. Full/browser CI for db40c3c is running; the controller owns its final confirmation and readiness.

Review: 2/1/3 round 1; 0/2/3 round 2; fixes 1.
CI on db40c3c (run 39282455940): public-files and verify pass.

aharlap and others added 10 commits October 19, 2026 09:29
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
…ions

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Exclude projected stems and options with leftover annotation delimiters. Count exclusions, clarify alternative free answers, and put cover answers needing action first.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Refuse HTML exports, schema 0 and other unsupported inputs before preparing solver files. Keep scripted HTML report checks, explain exclusions and align alternative-answer guidance.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Exercise every model-view preparation without a browser as a focused fixture regression. Retain the existing browser checks.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Keep ordinary Studio paragraphs and inline glossary labels while excluding styles, hiding attributes and unfamiliar markup. Reuse the installed HTML parser and leave the shared visibility projection unchanged.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Reject Unicode class variants, retain Studio inline emphasis and doodles, name rejected markup, and make preparation guidance actionable.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
@aharlap
aharlap marked this pull request as ready for review October 19, 2026 16:31
@aharlap
aharlap merged commit 09fcaaf into main Oct 19, 2026
2 checks passed
@aharlap
aharlap deleted the feat/item-cues branch October 19, 2026 16:32
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.

1 participant