Skip to Main Content

DraftMark

Built at Meta Global AI Developer Hackathon · Oct 26, 2026 · Remote

DraftMark — Demo video

Judge path (2 minutes, no code): https://draftmark.edycu.dev/judge Time-average one filmed draft mark; the program Muse Wonder writes must match the booklet before any displacement is printed, or it refuses. Bulk cargo (coal, ore, grain) is weighed by draft survey: a surveyor reads the six painted draft marks on a hull, converts them to displacement through the ship's hydrostatic booklet, and subtracts ballast, fuel and constants. The reading is the weak step, because the sea keeps moving across the numerals and the surveyor eyeballs a mean. The paperwork after it is a per-ship spreadsheet. A P&I club's guide says "a well-conducted draught survey of a large vessel should achieve accuracy to within 0.5%" (North of England P&I Association, Draught Surveys: A Guide to Good Practice, Witherby); on an illustrative 60,000 t cargo that is 300 t resting on a reading of a moving waterline. On the one booklet we test, 1 cm of draft at 6.5 m is 36.99 t. That 0.5 % is the guide's bar, not our result: on clip dB7X the stated figure is repeatability (±0.086 m), a one-pitch label miss would move the draft 0.20 m, and the 36.99 t/cm belongs to the booklet's ship, not to either filmed hull. The first realistic user is a surveyor's assistant who wants an auditable, repeatability-stated pre-read and a refusal trail before the official survey, not a replacement certificate. Its output is a pre-survey consistency record for one filmed midship position: it can flag an unstable reading or a broken label chain before the official six-position survey; it cannot contribute an official cargo figure. No operational benefit has been measured yet. Judge it as two linked proofs that have not yet met on one ship: Proof 1 measures a real hull and refuses; Proof 2 runs the survey program Wonder wrote on its own booklet, after it reproduced that booklet's 22 printed conditions. DraftMark measures one filmed midship waterline from a short video, takes the other five drafts as entered values, and prints a certificate, or a refusal, whose every number comes from code. The filmed hulls read 12.761 m (dB7X) and 20.830 m (UKTRQ), past the booklet's 0.5-9.3 m table, so they cannot be its ship, and no bulk carrier with its own booklet was available: of three real hull clips tried (third-party footage, no ground truth), two were measured end to end and refused, one was refused at the label checks; the displacement arithmetic is shown on the one public (Ro-Ro/passenger) booklet we have. No real clip has issued a tonnage yet: no filmed hull has its own booklet here, so the program refuses to extrapolate; it issues on the booklet's own condition 4.1 with all six drafts entered. 1. Measure. SAM 3.1 segments the painted numerals ("white number") and the sea surface ("water") on a 2x crop of the mark column. SAM tracks two concepts across every frame, code fits the pitch-constrained mark geometry, and a proven program, not a model, makes the final decision or refusal. Code reads the waterline against the marks in every frame, rejects outliers (MAD) and time-averages the swell with a repeatability uncertainty. On real clip dB7X, SAM found the marks in 60 of 60 frames (draft 12.761 m, u_rep 0.086 m); on UKTRQ, numerals in 48 of 48 frames and the water edge in 46 of 48 (46 kept; 20.830 m, u_rep 0.055 m); a third clip (eeLL) was refused by the label checks. 2. Confirm. Muse Spark 1.3 reads which box is which label (strict JSON schema, with a "?" it may abstain with). Five code checks must pass before any label is used: monotone, pitch, fit residual, two-frame agreement, wide-glyph anchor. SAM gives geometry, never digits. 3. Prove. Muse Wonder 1.0 writes the per-ship survey program from the booklet. It is accepted only after it reproduces at least 20 of 22 of the booklet's own printed worked conditions within 0.1 % (it reproduced 22/22 after 2 regenerations; the booklet's section 3.1 procedure implemented verbatim scored 14/22, a generic template 0/22). It runs in a no-network sandbox and refuses to extrapolate outside the table. 4. Certify. The certificate prints code values only and is refused (REFUSE) when a check fails. Both real-ship clips certify as REFUSE OUT_OF_TABLE, because the only booklet we have covers 0.5-9.3 m. On Trieste condition 4.1 the survey gives 17825.8 t against the printed 17827.7 t (-0.0106 %); condition 4.1 is one of the 22 acceptance rows, not a held-out check. Refusing to guess is the feature: an edited station is REFUSE UNSIGNED, an unconfirmed label is never used, and a draft outside the table is not extrapolated. Honest limits 1. The weight check is on 12 loads of a rendered synthetic barge (12 of 12 within ±2 % of the constructed truth, median error 0.12 %; ±2 % is the pass rule pre-registered in our eval protocol, not comparable to the guide's 0.5 %); it is not a physical scale check. SAM segments the rendered numerals (Spark reads them) but found no rendered water, so that edge is a colour threshold on our own pixels. The eval was developed on these same loads (it exposed three code fixes), so it is not a held-out score. 2. The real-ship clips are third-party test footage without ground truth: repeatability and refusal only, no accuracy claim. 3. The test booklet is a Ro-Ro/passenger ship, not a bulk carrier; the range check does not verify that a clip and a booklet belong to the same vessel (the operator must). 4. Uncertainty is wave-averaging repeatability only (±0.086 m on clip dB7X's 10 s of swell: a spread, not an accuracy, and too wide to carry a cargo figure yet). 5. A consistent whole-metre misread passes the geometry checks by construction, so a live run asks the user to confirm the anchor crop. 6. A clip reads the port midship mark only; the other positions are entered and printed as entered. This is a prototype, not a surveyor's document. Nearest neighbours Excel draft-survey calculators and apps, academic draft-line readers, laser/radar draft systems, and "draft tube" practice, named from public material, not from a systematic prior-art search; no benchmark against them is claimed. New here: wave-averaged reading from a short video clip (tested on a 2x crop of the mark column), plus an agent that writes the per-ship survey program and must reproduce the booklet's printed conditions with it. Links Live: https://draftmark.edycu.dev · Evidence: https://draftmark.edycu.dev/evidence · Deck: https://draftmark.edycu.dev/deck · Repo: https://github.com/edycutjong/draftmark (public) · Video: https://youtu.be/9vRaziU6X1g Notes for judges Start here: https://draftmark.edycu.dev/judge (two-minute judge path, no upload, no code). Same path in words: /survey step 1 "Re-run Wonder's self-test live" (under a second) -> /runs clip dB7X (recorded SAM 3.1 + Spark 1.3 measurement, five label checks, REFUSE OUT_OF_TABLE) -> /runs Program (Wonder's three attempts, 22/22 table) -> the two certificates. Running SAM 3.1 + Spark 1.3 live needs your own prepared draft-mark clip (MP4, cropped to the mark column, <= 10.5 s, <= 8 fps, <= 64 frames, <= 3 MB; about 45-60 s for measure plus ~15 s for labels) and the judge code: dm-8a1b1eb942c9. Our real-hull test clips are third-party footage we may not re-host. Solo entrant.

Team