zwesty
Write-ups / Day 7 / Warmups
Day 7 · Wed, Oct 7 · Warmups

Percent Chance

Prey slaughtered

URL percent-encoding · a week of compounding decoders · seven-way per-line decoding

STTMClaude Homebase Both

Flags are shortened to their first 8 and last 4 characters because they're unique per team.

Challenge ID
warmups-day-07 (+ /time_trial, /mastery)
Solved
2026-10-07, all three modes, first attempt each, in 33 s from the first start (15:49:13 → 15:49:47 UTC)
Player
Zwesty (solo), with Claude Code (Opus 5.5)

The challenge

My address bar is having a moment.

The question, word for word Days 1–6: decode the blob completely and submit the slug its final non-empty line names. Answer format: word-word-word-NN, trimmed. Mastery: 33 blobs.

Reading the prompt: what it said we'd need

Clue What it pointed to What I did about it
"My address bar" Text as it appears in a URL: percent-encoding, where a byte is written % plus two hex digits Nothing new: the decoder was added on Day 4, three days early
"Having a moment" The URL is garbled, everything %-escaped —
"Percent Chance" (the title) A pun on "percent" —
Mastery gains a line each day Seven lines this time, the last in percent-encoding Test seven-line blobs with the last line fully and partly encoded

What was in the files

%4e%69%63%65%20%77%6f%72%6b%20%64%65%63%6f%64%69%6e%67%20 …

Nice work decoding this warmup! To solve, submit this exact answer to the Game Master: witty-storm-fern-77

How to read percent-encoding by eye: it's hex with a % in front of each byte. %20 is a space, %2d a hyphen, %3a a colon. In real URLs usually only the unsafe characters are escaped (Nice%20work); here every single byte was, which is the "moment" the address bar is having.

Mode Delivered as Raw format
Single Solve blob.txt, 318 B Every byte as lowercase %xx
Time Trial blob.txt, 333 B The same
Mastery One zip of blob-01..33.txt (16,362 B) Seven labelled lines, one encoding from each day

A Mastery blob (blob-01), split seven ways:

Line Encoding Decodes to
01 Base64 (Day 1) "Nice work decod"
02 ROT13 (Day 2) "ing this warmup"
03 Hex (Day 3) "! To solve, subm"
04 Binary (Day 4) "it this exact a"
05 Decimal (Day 5) "nswer to the Gam"
06 Octal (Day 6) "e Master: eager"
07 Percent (Day 7) "-island-petal-75"

The slug was split across the last two lines again ("eager" + "-island-petal-75"), as on Day 6. Since Day 6's edge-word fix, a fragment at a line boundary can't mislead the scorer.

Single Solve: CORRECT in 23 seconds

Started at 15:49:13 UTC. The solver read it in one percent layer: witty-storm-fern-77. CORRECT at 15:49:36, flag e27637f8…6086. Our solver reuses Day 4's decoders; its 4 tests passed before the timed runs, including seven-line blobs with the last line fully and partly encoded.

Time Trial: 1.41 s of a 7-second clock

started_at 2026-10-07T15:49:40.685Z  deadline 2026-10-07T15:49:47.685Z
  artifact blob.txt 333 bytes sha256 f3c0df26e5e8c520… (checked)
  message: happy-starfish-quartz-38
  start         469 ms
  artifact      320 ms
  solve           0 ms
  submit        617 ms
  TOTAL        1406 ms
result CORRECT  flag 1f55a336…e437

Mastery: 1.96 s of a 9-second clock, first attempt

started_at 2026-10-07T15:49:45.529Z  deadline 2026-10-07T15:49:54.529Z
  artifact warmups-day-07-mastery.zip 16362 bytes sha256 add5655a4f7ae68c… (checked)
  set1.message … set33.message (33 slugs)
  start         594 ms
  artifact      501 ms
  solve          51 ms
  submit        810 ms
  TOTAL        1955 ms
result CORRECT  flag caa3cace…78f9

33 seven-line blobs solved in 51 ms in total.

Time to solve

All three modes were solved in 33 s, from the Single Solve start at 15:49:13 UTC to the Mastery CORRECT at 15:49:47 UTC; each mode went through on the first submit, with the Time Trial taking 1.41 s of its 7 s and the Mastery 1.96 s of its 9 s.

The first week of warmups, in one table

Day Challenge New encoding Mastery Attempts to Mastery CORRECT
1 A Little Based Base64 3 blobs 3 (delivery-shape bugs)
2 Half a Turn ROT13 8 × 2 lines 1 (partly by luck)
3 Hex Appeal Hex 13 × 3 1
4 Two of a Kind Binary 18 × 4 3 (server 503; slug-only line)
5 By the Numbers Decimal 23 × 5 1
6 Eight Is Enough Octal 28 × 6 2 (word split at a line edge)
7 Percent Chance Percent 33 × 7 1

Every failure became a permanent fix in the shared decoder: per-line decoding (Day 2's luck), the naturalness tie-breaker and combinations (Day 4), and edge-word scoring (Day 6).

Takeaways

  • Reading ahead finished the week early. Decimal, octal, and percent were added on Day 4 from the posted prompts. Days 5–7 each took about half a minute.
  • The shared decoder is the real product. Seven days of encodings and three hard-won scoring fixes live in one place, so each day's solver is a few lines.
  • Next week will likely add an eighth line. The pattern (one new encoding a day, one more Mastery line, five more blobs) has held for six days straight.