HS: closest parent <sel> traversal (+1 test)

parse-trav recognises `parent` as an ident modifier after the
`closest` keyword — consumes it and re-invokes with kind
`closest-parent`, producing AST `(closest-parent "div" (me))` instead
of the generic trailing-ident-as-unit shape
`(string-postfix (closest "*" (me)) "parent")`.

Compiler translates `(closest-parent sel target)` to
`(dom-closest (host-get target "parentElement") sel)` so `me` is
skipped and only strict ancestors match. `closest-parent` also
joined the `put X into <trav>` inner-html shortcut alongside
next/previous/closest.

Suite hs-upstream-core/regressions: 10/16 → 11/16.
Smoke 0-195: 162/195 → 163/195.
This commit is contained in:
2026-04-24 09:33:32 +00:00
parent 99706a91d1
commit 0d38a75b21
6 changed files with 54 additions and 13 deletions

View File

@@ -4,10 +4,10 @@ Live tally for `plans/hs-conformance-to-100.md`. Update after every cluster comm
```
Baseline: 1213/1496 (81.1%)
Merged: 1247/1496 (83.4%) delta +34
Merged: 1248/1496 (83.4%) delta +35
Worktree: all merged
Target: 1496/1496 (100.0%)
Remaining: ~249 tests
Remaining: ~248 tests
```
## Cluster ledger
@@ -43,7 +43,7 @@ Remaining: ~249 tests
| 20 | `repeat` property for-loops + where | pending | (+3 est) | — |
| 21 | `possessiveExpression` property access via its | done | +1 | f0c41278 |
| 22 | window global fn fallback | blocked | — | — |
| 23 | `me symbol works in from expressions` | pending | (+1 est) | — |
| 23 | `me symbol works in from expressions` | done | +1 | (pending) |
| 24 | `properly interpolates values 2` | pending | (+1 est) | — |
| 25 | parenthesized commands and features | pending | (+1 est) | — |
@@ -86,7 +86,7 @@ Defer until AD drain. Estimated ~25 recoverable tests.
| Bucket | Done | Partial | In-prog | Pending | Blocked | Design-done | Total |
|--------|-----:|--------:|--------:|--------:|--------:|------------:|------:|
| A | 12 | 4 | 0 | 0 | 1 | — | 17 |
| B | 1 | 0 | 0 | 5 | 1 | — | 7 |
| B | 2 | 0 | 0 | 4 | 1 | — | 7 |
| C | 0 | 0 | 0 | 5 | 0 | — | 5 |
| D | 0 | 0 | 0 | 5 | 0 | — | 5 |
| E | 0 | 0 | 0 | 0 | 0 | 5 | 5 |