The challenge
"The alphabet got bigger. Adobe might recognize the neighbors."
| answer_id | Question | Format |
|---|---|---|
message |
"Decode the assigned blob completely. What exact answer slug does its final non-empty decoded line instruct you to submit?" | pattern: "three lowercase words separated by hyphens, followed by a hyphen and a two-digit number; submit the slug only"; trimmed |
Mastery asked the same question once per blob (set1.message … set113.message).
Reading the prompt: what it said we'd need
| Clue | What it pointed to | What I did about it |
|---|---|---|
| "The alphabet got bigger" | A bigger alphabet than Base64: Base85 | The chain already read Ascii85 (pre-built for Day 16) |
| "Adobe might recognize" | Adobe's Ascii85 variant, wrapped in <~ … ~> |
Same reader; the delimiters made it easy to spot |
| "the neighbors" | Base85's neighbours in the chain: the earlier layers on the other Mastery lines | Nothing new, but each Mastery blob gained a 23rd line |
| "Eighty-Five" (title) | Base85 | Confirmed the reading |
| "submit the slug only" (format) | The answer is the slug, even if something follows it | This is where it failed: one sentence had extra digits after the slug |
What was in the files
- Single Solve:
blob.txt, 143 bytes: one Ascii85 string,<~:2+3L+EqaECER/!@rGmlDJ()6BPDN1G@>N/F…~>. It decodes to the usual sentence ending in the slugcrisp-starfish-quartz-70. - Time Trial:
blob.txt, 141 bytes, the same template with a different slug (quiet-canoe-boulder-30). - Mastery: one zip of 113 blobs (69,851 bytes ranked, 70,105 bytes retry). Each blob has 23 labelled lines, the history pattern of the earlier days. Line 22 is Base64 zlib (Day 22) and line 23 Ascii85 (today), for example
<~Bk&_S1&~>on line 23 of the rankedblob-01.txt. - Set 93 was different. Its sentence ended
…Game Master: zippy-sailor-ivy-82-24034. Line 22 (zlib) gavey-82-and line 23 (<~1,L[@1]~>) gave24034. The sentence is cut into 23 pieces ati*112//23, all 4 or 5 characters long, so the five digits are plaintext, not a misread. The other 112 sets, the Single Solve, and the Time Trial all end at the slug.
Single Solve
The solver solved it with no stop, using the Warmups solver from Day 22.
started_at 2026-10-23T13:00:34.733Z
deadline none (Single Solve)
answers 1 crisp-starfish-quartz-70
start 245 ms
artifact 298 ms
solve 6 ms
submit 1469 ms
TOTAL 2019 ms (submit +1.85 s after started_at)
result CORRECT flag 90aa8119…6703
Time Trial
CORRECT on the first attempt, ranked.
started_at 2026-10-23T13:00:42.093Z
deadline 2026-10-23T13:01:12.093Z (30 s)
answers 1 quiet-canoe-boulder-30
start 582 ms
artifact 513 ms
solve 6 ms
submit 709 ms
TOTAL 1810 ms (submit +1.41 s after started_at)
result CORRECT flag 42676648…9802
Mastery
Ranked attempt: 112 of 113, expired
started_at 2026-10-23T13:00:49.140Z
deadline 2026-10-23T13:02:59.140Z (130 s)
answers 112 of 113 (set93 not in the submit)
start 635 ms
artifact 361 ms
solve 861 ms
submit 338 ms
TOTAL 2195 ms (submit +1.66 s after started_at)
result accepted, remaining 1; no further submit, so the attempt expired at the deadline
What went wrong. The chain's slug grammar ends at the two-digit number. For set 93 no reading of the 23 lines made a sentence that ended there, so the solver raised "no instruction line found" and skipped the set under the clock. It then stopped; it is set not to retry on its own.
Nothing was burned. The submit in the request log has 112 keys and no set93, so no wrong value was sent.
Not explained: why the generator added -24034. There was no duplicate slug in the set, slug length doesn't explain it, and the plain last piece vy-82 encodes fine.
The fix
Our solver (loading the Day 22 solver by its own path): one extra reading, used only when the old chain finds nothing for a blob (any error except "ambiguous"). It re-solves with the slug grammar extended by an optional trailer of - and 1 to 8 digits after the two-digit number, then drops the trailer. The words must still pass the positional vocabulary, and the grammar is restored afterwards.
Two details from building it: - The walk's tie rule saw 4 digit readings of line 23 (Ascii85 and other decoders, same cost) as a tie. That tie is now settled only when every fewest-cost reading gives the same slug; two different slugs still raise. - Known gap: a whole-blob sentence with a trailer (the Single and Time Trial shape) isn't read; it stops cleanly, because Day 12's strict instruction check wants the slug last. None has been seen.
Checks before the retry:
- Tests 11 of 11: the real set 93 and set 1 through the solver, grammar restored, 25 synthetic trailer blobs in the real 23-line layout, 15 plain ones unchanged and answered by the old chain, non-numeric and 9-digit trailers refused, a two-slug tie raises, the whole-blob gap stops.
- The failed set replayed: 113 of 113 (1.21 s whole including warm-up, 0.57 s per set, equal), all 112 accepted answers unchanged, and set93 = zippy-sailor-ivy-82.
- Rehearsal: a regression rehearsal against the Day 22 solver's results on 112 saved attempts, plus 60 synthetic blobs with today's Adobe Ascii85 layer: 111 identical, 1 newly solved, 0 changed; synthetic 60 of 60. It passed.
Untimed retry: CORRECT
We then ran one untimed retry, using the Game Master's retry without asking for a ranked run. This Mastery has no ranked time.
started_at 2026-10-23T13:13:34.988Z (retry, untimed)
deadline none
answers 113
retry 78 ms after started_at
artifact 346 ms
solve 641 ms
submit 1154 ms
TOTAL 3162 ms (submit +2.22 s after started_at)
result CORRECT flag 704b659d…d53e
The trailer reading wasn't used. The retry's fresh variant had no trailer set, and the old chain solved all 113. So the slug-only answer form (zippy-sailor-ivy-82, inferred from the format text) is still unconfirmed by the server.
Afterwards, at 09:13:50 ET, the fixed solver became the one the scheduled job uses.
Time to solve
The Single Solve (09:00:36 ET) and the ranked Time Trial (09:00:43 ET) each went through on the first submit. The ranked Mastery answered 112 of 113 and expired; after about 12 min 44 s of diagnosis, fix, tests, replay, and rehearsal, one untimed retry went through at 09:13:37 ET, 13 min 3 s after the lane's first start and 13 min 37 s after release, so the Mastery is unranked.
Takeaways
- A parser anchored on "the slug ends the sentence" misses trailers. One set in 113 had
-24034after the slug; allow a trailing-digitsand drop it. - Today's layer was the easy part, again. Ascii85 was pre-built a week early and worked first time; the miss was a generator quirk in one set.
- Leaving a set out is better than guessing it. The solver sent 112 known answers and burned nothing, so the retry started clean.
- One missed set costs the whole ranked Mastery. 112 of 113 is still not CORRECT, and the retry has no ranked time.
- A fix can pass without being proven. The retry's variant didn't contain a trailer, so the answer form the fix produces has never been graded.