Engineering Passports, Builder Reports, Simulations, and Hiring Workspace. Each leaves an inspectable record, with cited evidence and the limits left visible.
Replies are lost when the partner gateway returns a 502. Keep what the customer typed so they can send it again.
Keep the draft after a failed send
Clear it only after a confirmed success
Time box
45 min
Elapsed
41 min
Sealed
Held-out checks
Behavior after a failed send
Composer, recorded at submit
Partner reply · Acme supportComposer
#4821Refund event · partner retry windowWaiting on partner
Partner returned 502 · send failed
Draft kept
Reply to Northwind support
Can you confirm the partner retry window before we close this ticket?
Submitted behavior - the typed message stays available after the failed send.
Checks
3 passed · 1 not assessed
PassedPassed3
CHK-01PassedDraft kept after a 502Observed
CHK-02PassedDraft cleared after a 200Observed
CHK-03PassedRetry still editableObserved
Not AssessedNot Assessed1
CHK-04Not AssessedRepeated submissionsNo run
Product suite
Four products and a desktop app, one evidence model.
Every product works from the same idea: open the work, read the finding, keep the limit beside it. Start with one and add the others when the record leaves a question open.
Selected projects with contribution context and evidence a recipient can open.
Simulation
Keep the draft when a send fails
In Review
Jordan Hale · Lumen Ledger · 41 min · Backend
PassedCHK-01Draft kept after a 502
PassedCHK-02Draft cleared after a 200
PassedCHK-03Existing delivery tests
Not AssessedCHK-04Repeated submissions
Observed: after a 502 the typed reply stays in the composer.
Simulations
A Simulation records the task, changes, checks, and a handoff your team can inspect.
Agent comparison
Setup v1 to v2
Completed
From Clear the composer on any error
To Keep the draft until a 2xx is confirmed
FailedAGT-01Draft kept after a 502 · setup v1
PassedAGT-02Draft kept after a 502 · setup v2
PassedAGT-03Draft cleared after a 200 · both setups
Acme keep-draft · held-out sealed until after the run
Agent evaluation
Recorded actions and a setup comparison on the same suite.
Engineering Passports
A record of the work, not a résumé line.
An Engineering Passport brings selected projects, your own statement of what you contributed, and the supporting evidence into one record you control. Each capability carries a status you can read and a source you can open.
Recipients see the work, the engineer's statement, and what could not be checked. Observations and inferences stay labeled, so a reader can disagree with one finding without discarding the rest.
Projects with context
Repository, summary, and the engineer's statement, marked as self-reported.
Capabilities with status
Cited, Partial, or Not observed. A gap is a gap, not a negative finding.
Shared on your terms
Choose the projects, pin the versions, and revoke the link.
At Harbor Pay I own partner payment delivery. The webhook service keeps posts reliable with a and an . Next: show how it holds up with .
Featured project
Webhook delivery service
Delivers partner payment events with bounded retries and a duplicate-event check.
1Event receiveddispatch starts delivery for one eventdispatcher.ts
2Duplicate checkAn event_id already seen is skippeddispatcher.ts
3Post to partnerMarked seen only after a successful postdispatcher.ts
Retry on failureUp to five attempts, with backoffretry.ts
Backed by evidence
The retry loop stops after five attempts and exits on the first successful response.
retry.ts · lines 18-27
Builder Reports
Open the project before you open the interview.
A Builder Report shows what the project does, what the engineer contributed, and which findings have cited evidence. Every finding opens the file and lines it rests on, and states its limitation in the same view.
A report reads the selected files and says plainly what it did not check. Add the project to your Engineering Passport when the findings read the way you want them shared.
Cited at a revision
File, lines, and commit. Everyone reads the same code.
Labeled by basis
Code, the engineer's statement, and reviewer notes stay separate.
Not Assessed1Not assessed · not claimed either way
CitedCited2
PartialPartial1
Not AssessedNot Assessed1
HBR-201
Partner posts stop after five failed attempts.
Cited
Observed
The retry cap is five attempts, and the loop exits on the first successful response.
Inferred
A partner outage cannot hold a worker open indefinitely.
Source
retry.tslines 18-27
Limit
Backoff timing is not exercised in the selected files.
Every finding names the file it rests on or says what was not checked. fydell does not score the project.
Connections
Connect the sources your work lives in.
Connect GitHub, GitLab, and selected local folders to your Engineering Passport. You choose which repositories enter the record, and local folders get a review step before anything uploads.
Providers you choose
Link once, then pick repositories for each Passport share.
Review before upload
Local folders show the selection first. Nothing leaves until you confirm.
Partner event delivery with retries and a duplicate-event gate.
GitHub · event-deliveryAvailable
Files in the snapshot
retry.ts
dispatcher.ts
keep-draft.test.ts
Hiring Workspace
Start the interview with better questions.
Hiring Workspace reviews applicants against your opening. Select a requirement to see the finding and its source, then draft the interview question that belongs in the room.
Advance, Hold, or Decline from the same place you read the evidence.
Read by requirement
Supported, not yet enough, or not covered, with the finding beside it.
Decide as a team
Record Advance, Hold, or Decline with a note your workspace keeps.
A webhook service that stops retrying after five attempts and skips events it has already delivered. Concurrent workers and load behavior were not shown.
Webhook delivery service
Delivers partner payment events with bounded retries and a duplicate-event check.
1Event receiveddispatch starts delivery for one eventdispatcher.ts
2Duplicate checkAn event_id already seen is skippeddispatcher.ts
3Post to partnerMarked seen only after a successful postdispatcher.ts
Retry on failureUp to five attempts, with backoffretry.ts
Selected requirement citesretry.ts · lines 18–27
Requirements
The loop stops after five attempts and exits on the first successful response.
Simulations
A timed task with a full record.
A Simulation gives every candidate the same disclosed scope and clock. When the run ends, your team opens the checks, changed files, coworker thread, and handoff in one artifact.
Simulated teammates answer from role knowledge and disclosure rules. Nothing outside the disclosed trail appears in the report, and Not Assessed stays labeled when a check was never reached.
Graded checks
Passed, Failed, and Not Assessed stay distinct on the same record.
Handoff attached
What the candidate wrote stays with the files and checks you review.
HBR-142BackendFrontendJordan Hale · submitted after 41 min · Review pending
1Draft preserved after a failed send
Composer behavior, recorded at submit
Partner reply · Acme supportComposer
#4821Refund event · partner retry windowWaiting on partner
Partner returned 502 · send failed
Draft kept
Reply to Northwind support
Can you confirm the partner retry window before we close this ticket?
Submitted behavior - the typed message stays available after the failed send.
Starting
The reply is cleared when the send fails.
Submitted
The reply stays, and clears only after a confirmed 200.
Handoff from Jordan Hale
The draft is kept when the partner returns a 502 and cleared after a 200. Repeated submissions were not covered.
Agents
Change the setup. Inspect what changed.
Compare outcomes on the same task and review the evidence behind each run. Practice and held-out checks stay separate, so a setup change is judged on what actually moved.
Sign in to open Agents, run comparisons, and keep decisions with your Hiring Workspace.
Preview the shared record before you send it. Excluded work stays out, and its name never appears in what the recipient sees.
Set an expiry, or revoke the link when the conversation ends. Copies a recipient already saved cannot be recalled, which is why the preview comes first.
Each template ships with a starter project, tests, a reference solution, and simulated teammates. Only validated templates are offered.
Fix stale and off-plan support retrieval
Diagnose why a support assistant's retrieval returns stale, off-plan or headless passages, using a recorded eval set, and fix it so it holds on held-out articles and questions.
Applied AI60 minRetrievalNode.js 22, standard library only (BM25 over an in-memory index)
Keep the support agent inside its budgets and tool boundaries
Repair a tool-using agent loop: enforce step and cost budgets before each call, retry only idempotent tools, send a timed-out refund to review, and run only allowed, well-formed tool calls.
Applied AI60 minAgent ToolsPython 3.12, standard library, recorded and scripted model turns
Make the triage evaluation report honest numbers
Fix an evaluation harness that overstates a classifier: few-shot leakage, dropped abstentions and failures, pooled macro F1 and undefined per-label metrics.
Applied AI60 minEvaluationPython 3.12, standard library, recorded JSON predictions
Stop invalid extractions from reaching the shipment store
Make a model-backed extraction pipeline safe: validate output against a schema, repair only safe cases, retry provider failures within a bounded policy that honors retry-after, and route unrecoverable documents to manual review.
Applied AI60 minStructured OutputNode.js 22, standard library only (recorded provider responses, injected sleep)
Add cursor pagination to the inventory list without breaking clients
A partner's inventory sync gets duplicate and missing items. Add exact cursor pagination and parameter validation without breaking clients that still page with offset and limit.
Make clinic bookings consistent under concurrent requests
Make slot booking atomic across worker processes, keep the booking and its reminder together, and keep cancellation and rebooking correct on a database that already holds double bookings.
Backend & API75 minConsistencyPython 3.12, standard library, sqlite3
Prevent duplicate webhook processing
A retried webhook credits a customer twice. Reproduce it, make event handling exactly once across workers and restarts, and add regression coverage.
Backend & API60 minReliabilityPython, SQLite
Recover label jobs after crashes and timeouts
Label jobs get stuck after deploys and some shipments are charged for two labels. Make leases, retries and dead-lettering recover correctly, and add regression coverage.
Backend & API60 minJobsNode.js, in-memory job store
Make the daily revenue rollup survive redeliveries, late events and reruns
Fix an event ingestion job and its backfill so each event counts once toward its UTC day, however often it is delivered and however often a range is rebuilt, and add regression tests.
data50 minPipelinePython 3.11+, sqlite3, standard library
Make the CLI's layered configuration follow its own rules
Fix a CLI's configuration loader so defaults, config file, environment and flags combine per setting as documented, booleans parse strictly, and every problem names its setting and source, with regression tests.
devtools_systems50 minConfigNode.js 22, standard library, CLI with injected io
Stop a sump pump controller from short-cycling, hanging and forgetting faults
Logic harness for a firmware control loop: fix a sample ring buffer, a float switch debouncer, the watchdog kick placement and a fault latch that must survive resets, driven tick by tick.
embedded_firmware45 minState MachineNode.js 22, standard library, logic harness (no board or real timers)
Stop stale searches from overwriting newer results
Fix a search-as-you-type panel so results, the busy state and the error state always belong to the latest query, whatever order responses arrive in, and add deterministic regression tests.
Frontend50 minState SyncNode.js 22, standard library, DOM stand-in (no browser)
Make bulk card moves safe across the board API and client
Fix a small board service and its client so changes stay inside the project in the path, input is validated, bulk moves are all-or-nothing in memory and on disk, and the client rolls back refused moves.
Fix tunneling and timestep drift in a 2D game simulation
Logic harness for gameplay simulation: fix a fixed-timestep accumulator and its catch-up cap, and replace a discrete overlap check with swept box collision that slides along surfaces.
game_graphics45 minSimulationNode.js 22, standard library, logic harness (no engine or renderer)
Make the churn model's validation measure unseen customers
Fix a churn model's evaluation so validation holds only unseen customers chosen reproducibly, preprocessing is fit on training rows only, and AUC is correct for ties and single-class inputs, with regression tests.
ml_systems55 minSplitsPython 3.11+, standard library (csv, random, statistics)
Merge offline note edits without losing work
Logic harness for offline sync: merge offline note edits field by field against the last synced copy, resolve and report same-field conflicts, merge tags as a set, and keep deletes from losing edits or coming back.
Mobile45 minOfflineNode.js 22, standard library, logic harness (no device or app shell)
Make a rolling deploy keep serving traffic and report when it stalls
Logic harness for deploy safeguards: fix rollout config validation and a rolling update controller so readiness decides availability and a stalled rollout fails at its progress deadline, all against a deterministic mock orchestrator.
platform_infra45 minDiagnosisNode.js 22, standard library, logic harness against a deterministic mock orchestrator
Close cross-account invoice access and fix the unsafe search
Fix object-level authorization and SQL injection in a small invoicing API without breaking legitimate use, and add regression tests.
Security50 minRemediationPython 3.11+, http.server, sqlite3, standard library
Make the rate limiter's tests deterministic and able to catch real bugs
Rewrite a flaky token bucket suite so it controls time and tests only documented behavior, make it catch seeded limiter defects, and fix the refill defect it exposes.
test_quality50 minSuitePython 3.11+, unittest, standard library
Start with one piece of work.
Create an account, add a project, and open the first finding.