From 46bdf5fa27d5beb583384dede9ccff90da03b2e9 Mon Sep 17 00:00:00 2001 From: Siddhartha Prasad Date: Wed, 22 Jul 2026 07:07:19 -0400 Subject: [PATCH] Acknowledge 'sentence unclear' feedback instead of closing silently Submitting the "Is this English sentence confusing or unclear?" report previously just hid the modal: no confirmation, and no guidance on what to do next. Students were left wondering whether they still had to answer. A persistent note now appears under the question link telling them the feedback was recorded and to answer with their best-guess interpretation (role="status" so screen readers announce it). A failed submission now alerts the student instead of logging only to the console, which was indistinguishable from success. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 1 + src/templates/exercise.html | 3 +++ src/templates/ltltoengrater.html | 7 +++++-- src/templates/version.html | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46d7d4c..ce6001a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ This document summarizes notable updates since February 2025, with commit dates from the repository history for context.【728428†L1-L48】 ## 2026-07 +- **UX (2.1.3):** Submitting the "Is this English sentence confusing or unclear?" report on an english-to-LTL question now acknowledges the feedback instead of silently closing the modal: a persistent note appears under the question ("Thank you for your feedback. Please answer with your best-guess interpretation of the sentence."), announced to screen readers via `role="status"`. A failed submission now alerts the student instead of logging only to the console. - **UX (2.1.2):** Misconception explainers now show inline LTL operators and formulas in the learner's selected Classic, Forge, or Electrum syntax, updating immediately when the top-bar syntax choice changes. Explainer fragments are authored in Classic inside `` and rewritten client-side by token substitution — safe because the tutor grammar only permits lowercase atoms, so a bare `X`/`F`/`G`/`U` is always an operator. - **Bugfix (2.1.2):** The precedence explainer claimed `a | b & c -> d` parses as `((a | b) & c) -> d`; the parser actually yields `(a | (b & c)) -> d` (binary operators bind `&` > `|` > `U` > `->` > `<->`, left-associative within a level). Separately, the Electrum rendering of `U` formulas rendered operands with the Forge renderer, so e.g. `(X p) U q` displayed `NEXT_STATE` where Electrum uses `AFTER`. - **Experiment (2.1.1):** The english-to-LTL framing experiment now has three arms (one third each) instead of the 50/50 abstract/lights split: abstract, lights (concrete but *descriptive*), and a new deontic arm that frames the *same* formula as a document-access policy the student audits ("You are auditing access to a confidential document. Company policy: Whenever the document is open, the VPN must be connected."). Per the Wason selection-task literature, facilitation comes from deontic, violation-checkable rules rather than concrete content alone — so the lights arm becomes the mere-content control. The audit theme's four attributes (document open, clearance active, VPN connected, screen shared) are deliberately independent in a student's mental model: coupled only by the policy under test, never by physics, so every state assignment stays conceivable. Deontic phrasing places the obligation on consequents only ("is connected" → "must be connected"); triggers stay indicative. New responses log `translation_mode="contextualizeddeontic"`; the lights arm keeps its historical `"contextualized"` value and its exact wording, so earlier responses stay comparable. diff --git a/src/templates/exercise.html b/src/templates/exercise.html index 029ca2b..8c5a10d 100644 --- a/src/templates/exercise.html +++ b/src/templates/exercise.html @@ -86,6 +86,9 @@
+

+ Thank you for your feedback. Please answer with your best-guess interpretation of the sentence. +

{% include 'ltltoengrater.html' %} {% endif %} diff --git a/src/templates/ltltoengrater.html b/src/templates/ltltoengrater.html index bbbd77e..63eaddd 100644 --- a/src/templates/ltltoengrater.html +++ b/src/templates/ltltoengrater.html @@ -127,10 +127,13 @@