DROPPEDBIT BLOG
The Misfiled Manifest: Solution
Weekly Puzzle #07 of the Autumn 2026 season presented The Misfiled Manifest, a five-locker cargo puzzle wrapped in a Serenity freight-office dispatch. With Weekly Puzzle #08 now active, ranked submissions for Issue 07 have concluded.
Spoiler warning: This post contains the complete solution for Weekly Puzzle #07. If you have not reviewed the transmission yet, you can inspect the archived puzzle record.
1. The Challenge Artifact
The transmission presented a set of detached cargo labels and recovered notes from a five-locker bay and asked solvers to rebuild the manifest and read the channel marks from locker 1 to locker 5:
SERENITY / CARGO BAY
Personal effects: Jayne’s knitted hat.
Do not include it in the freight count.
Lockers run left to right, 1 through 5.
Each holds one case on one unique channel.
Cases: relay, diode, coil, antenna, engine
Channels and printed marks:
42 A 21 R 35 D 27 C 14 E
Recovered notes:
- Coil is immediately left of engine.
- Diode is left of antenna.
- Antenna is left of relay.
- Coil uses channel 27; relay uses 21.
- Channel 14 is immediately left of 35.
- Channel 42 is next to relay.
- Channel 35 is two lockers right of coil.
"Left of" need not mean adjacent unless
"immediately" is stated.
Each of the five lockers (1 through 5, left to right) holds both a case (relay, diode, coil, antenna, engine) and a unique channel (42, 21, 35, 27, 14). Because the recovered notes mix case-to-case rules, channel-to-channel rules, and cross-constraints between cases and channels, neither permutation can be solved in isolation.
2. The Traps: Uncoupled Ordering and Adjacency Assumptions
Several shortcuts fail before constraint propagation even begins:
-
Reading the printed channel marks in table or numeric order: Reading the
Channels and printed marksrow directly (42 A 21 R 35 D 27 C 14 E) yieldsARDCE, while sorting by channel number (14, 21, 27, 35, 42) yieldsERCDA. The channel numbers are identifiers, not locker indices or sort keys. -
Treating every "left of" clue as adjacent: The footer explicitly distinguishes relative order from adjacency:
Coil is immediately left of enginerequirespos(engine) = pos(coil) + 1.Channel 14 is immediately left of 35requirespos(35) = pos(14) + 1.-
Diode is left of antennaandAntenna is left of relayrequire onlypos(diode) < pos(antenna) < pos(relay)—the three cases can be separated bycoilandengine. -
Counting the personal-effects line as cargo: The header notes
Personal effects: Jayne’s knitted hat. Do not include it in the freight count.It is a narrative red herring rather than a sixth item.
3. Structural Reduction: Four Candidate Case Layouts
Although 5! × 5! = 14,400 combined (case, channel) pairings exist in principle, the case constraints alone collapse the search space to just four candidate case arrangements:
coilandengineform a contiguous two-locker block(coil, engine)starting at lockerk ∈ {1, 2, 3, 4}.- Once
(coil, engine)occupies lockers(k, k + 1), exactly three lockers remain empty. - Because
diode,antenna, andrelaymust appear in strict left-to-right order (diode < antenna < relay), there is only one way to place them into the three remaining lockers for any choice ofk:
| Candidate | coil pos (k) |
Locker 1 | Locker 2 | Locker 3 | Locker 4 | Locker 5 |
|---|---|---|---|---|---|---|
| Layout 1 | 1 |
coil |
engine |
diode |
antenna |
relay |
| Layout 2 | 2 |
diode |
coil |
engine |
antenna |
relay |
| Layout 3 | 3 |
diode |
antenna |
coil |
engine |
relay |
| Layout 4 | 4 |
diode |
antenna |
relay |
coil |
engine |
Now consider how the channel rules attach to coil at locker k:
Coil uses channel 27places channel27(C) in lockerk.Channel 35 is two lockers right of coilplaces channel35(D) in lockerk + 2.Channel 14 is immediately left of 35places channel14(E) in locker(k + 2) - 1 = k + 1—the exact locker occupied byengine.
Together, these three clues form a rigid three-locker channel block (27, 14, 35) spanning lockers (k, k + 1, k + 2):
pos(27) = k (coil)
pos(14) = k + 1 (engine)
pos(35) = k + 2
4. Eliminating the Impossible Placements
Testing the four candidate layouts against the remaining channel rules (relay uses 21 and Channel 42 is next to relay) eliminates three of the four options immediately:
-
Layout 4 (
k = 4,coilin locker 4) — Out of bounds: Channel35must sit two lockers right ofcoilat locker4 + 2 = 6, which does not exist in a five-locker bay. -
Layout 3 (
k = 3,coilin locker 3) — Collision at locker 5: Withcoilin locker 3, channel35must go into locker3 + 2 = 5. However, Layout 3 placesrelayin locker 5, andrelayuses channel21. Locker 5 cannot hold both channel35and channel21. -
Layout 2 (
k = 2,coilin locker 2) — Conflict at locker 4: Withcoilin locker 2 andenginein locker 3, the ordered triodiode,antenna,relayoccupies lockers1,4, and5. - Channel
35goes two lockers right ofcoilinto locker2 + 2 = 4. relaysits in locker 5 on channel21.-
Channel 42 is next to relayrequires channel42to sit in locker 4 (the only neighbor of locker 5), which is already taken by channel35. -
Layout 1 (
k = 1,coilin locker 1) — Unique valid manifest: coilis in locker 1 on channel27(C).engineis immediately to its right in locker 2 on channel14(E).diode,antenna, andrelayfill lockers3,4, and5in order.- Channel
35(D) sits two lockers right ofcoilin locker 3 (diode), immediately right of channel14. relayoccupies locker 5 on channel21(R).- Channel
42(A) sits in locker 4 (antenna), adjacent torelayin locker 5.
5. Verifying with Python
We can verify both the solution and its uniqueness by checking all 5! × 5! = 14,400 case-and-channel permutations:
from itertools import permutations
cases = ["relay", "diode", "coil", "antenna", "engine"]
marks = {"42": "A", "21": "R", "35": "D", "27": "C", "14": "E"}
solutions = []
for case_order in permutations(cases):
p = {case: case_order.index(case) for case in case_order}
if not (p["coil"] + 1 == p["engine"] and p["diode"] < p["antenna"] < p["relay"]):
continue
for chan_order in permutations(marks):
q = {chan: chan_order.index(chan) for chan in chan_order}
if (
q["27"] == p["coil"]
and q["21"] == p["relay"]
and q["14"] + 1 == q["35"]
and abs(q["42"] - p["relay"]) == 1
and q["35"] == p["coil"] + 2
):
word = "".join(marks[c] for c in chan_order)
solutions.append((case_order, chan_order, word))
assert len(solutions) == 1
case_order, chan_order, word = solutions[0]
for locker in range(5):
c = chan_order[locker]
print(f"Locker {locker + 1}: {case_order[locker]:7s} channel {c} mark {marks[c]}")
print("Answer:", word) # CEDAR
The reconstructed five-locker manifest is:
| Locker | Case | Channel | Printed Mark | Satisfied Constraints |
|---|---|---|---|---|
1 |
coil |
27 |
C |
coil uses 27; immediately left of engine |
2 |
engine |
14 |
E |
Immediately right of coil; 14 immediately left of 35 |
3 |
diode |
35 |
D |
35 is two lockers right of coil; diode left of antenna |
4 |
antenna |
42 |
A |
antenna between diode and relay; 42 next to relay |
5 |
relay |
21 |
R |
relay uses 21; right of antenna |
Reading the channel marks from locker 1 to locker 5 spells:
CEDAR
Submitting CEDAR completed the issue. Letter case and repeated whitespace are ignored by the answer checker.
6. Constraint Satisfaction in Practice
The deduction in The Misfiled Manifest is a compact instance of a finite-domain constraint satisfaction problem (CSP), where variables (cases and channels) must be assigned distinct positions from {1, 2, 3, 4, 5} subject to unary, binary, and alldifferent constraints:
Coupled Variables and Arc Consistency
When two permutation domains are linked by cross-constraints (Coil uses channel 27, Channel 35 is two lockers right of coil), pruning the domain of one variable immediately restricts the other. In automated solvers, arc consistency (AC-3) and bounds propagation formalize this exact step: because pos(35) = pos(coil) + 2 and pos(35) ≤ 5, the solver immediately narrows pos(coil) from {1, 2, 3, 4, 5} to {1, 2, 3} before branching.
Declarative Scheduling and Manifests
Real-world stowage planning, rack-elevation layout, and slot allocation problems use the same constraint structure at larger scales: hazmat containers must maintain minimum separation distances, refrigerated units must land on powered bay channels, and heavy pallets must sit adjacent to structural bulkheads. Rather than writing ad-hoc search loops, engineering teams encode these rules into CP-SAT or SMT solvers (such as OR-Tools or Z3) to find valid layouts or prove that a manifest is over-constrained.
Firefly Theming
The cargo bay header—referencing Serenity and Jayne’s knitted hat—nods to the 2002 space-western series Firefly (specifically the episode "The Message", in which Jayne Cobb receives a homemade orange-and-yellow earflap hat from his mother). As with the Hill Valley service log in Issue 06 and the Wayne Enterprises dispatch in Issue 05, the header provides in-universe flavor while the seven recovered notes completely determine the manifest.
More Weekly Puzzles
Want another technical puzzle? Explore the weekly puzzles →