Prechádzať zdrojové kódy

ASCII sweep: script bodies and stm expressions after the UI tasks

The stm-mkpstm contract (test_template_ascii.py) requires pure ASCII inside script bodies and stm-* expressions because the compiler entity-encodes them and the browser never decodes scripts. The goal-41 tasks introduced em-dashes in script comments (home, profile, goal_detail) and a branch glyph inside an stm-text expression (projects). Replaced with ASCII equivalents; no behaviour change. test_template_ascii.py OK; pages/goalui/goals/t4lists/advisor_fix/push/theme bundles all green.
saddle-ClankerSaddle 1 deň pred
rodič
commit
02f4866333

+ 4 - 4
src/pages/goal_detail.html

@@ -4,9 +4,9 @@
     <pstm-uri>/goals/{goal_id}</pstm-uri>
     <pstm-template>main</pstm-template>
 <script>
-    // The goal page (goal 41 T6): the state strip leads — the
+    // The goal page (goal 41 T6): the state strip leads - the
     // one-glance verdict (status badge, the open-item line, the
-    // primary lifecycle button) — then the anchor sub-nav, then the
+    // primary lifecycle button) - then the anchor sub-nav, then the
     // Act|Consult two-column layout (spry .with-sidebar): the acting
     // surfaces (state, blocks/questions, plan review, completion
     // review, comments) on the left, the consulting ones (tasks with
@@ -69,7 +69,7 @@
 
             // Goal 41 T6 (bet 2): the anchor sub-nav. Statum re-renders
             // replace the DOM, so the listener binds ONCE on document
-            // and the highlight pass re-runs after every evaluate —
+            // and the highlight pass re-runs after every evaluate -
             // the same rebound pattern as the filter strip (the
             // seals survive because nothing page-scoped is captured).
             var SUBNAV = 'goal-subnav';
@@ -150,7 +150,7 @@
             // now lives once); only the block resolution is page
             // state.
             // Plan 16 S2: the block for a review container resolves
-            // from the ACTUAL [data-plan-review] element — the
+            // from the ACTUAL [data-plan-review] element - the
             // pending completion review renders as a LEADING review
             // card (goal 41 T6), so goal.plan_pending_block alone
             // never resolves it; the slot's three review shapes plus

+ 2 - 2
src/pages/home.html

@@ -8,7 +8,7 @@
     // re-runs the sealed refresh action whenever task or saddle state
     // changes, so progress, blocks and review requests stream in.
     // The notification bell drives the Web Push subscribe flow (plan
-    // 11 task E) — the shared engine lives in app.js
+    // 11 task E) - the shared engine lives in app.js
     // (window.initPushBell, goal 41 task 3: the dashboard's compact
     // rail strip and /profile's settings card run the same code).
     if (window.statum) {
@@ -45,7 +45,7 @@
             // is slot-based) and statum exposes no client slot WRITE,
             // so a true server-side last-visit is not available: the
             // stamp lives in localStorage, written when the dashboard
-            // tab UNLOADS — a visit updates the baseline, a background
+            // tab UNLOADS - a visit updates the baseline, a background
             // pulse does not (an open tab keeps its count growing
             // until you come back). First visit: no stamp, no badge
             // (everything would be "new"). The count covers the full

+ 1 - 1
src/pages/profile.html

@@ -10,7 +10,7 @@
     // compact rail strip (window.initPushBell in app.js); it reads
     // THIS page's slot (stateType: 'profile'), which carries the same
     // VAPID key, endpoint fingerprints and push actions the dashboard
-    // exposes — the server actions are the existing DTOs, untouched.
+    // exposes - the server actions are the existing DTOs, untouched.
     if (window.statum && window.initPushBell) {
         window.initPushBell({ stateType: 'profile' });
     }

+ 1 - 1
src/pages/projects.html

@@ -32,7 +32,7 @@
                             <div class="truncate mono repo-url" stm-attribute.title="project.git_url"
                                  stm-text="project.git_url">git_url</div>
                             <div class="text-muted"><span stm-if="project.default_branch.length > 0"
-                                     stm-text="'⎇ ' + project.default_branch">branch</span></div>
+                                     stm-text="' ' + project.default_branch">branch</span></div>
                         </td>
                         <td><span stm-text="project.open_tasks">0</span> open ·
                             <span stm-text="project.done_tasks">0</span> closed</td>