Snags & work close-out
Recording that work is complete, flagging own-work snags on the completion record (the 'wee box'), the photo-gated self-certified snag close, and how the '98% → 100%' caveat clears as snags close.
Two neighbouring gestures live on the Completions surface: recording that a token's work is done for the day (a Completion record), and — riding the same gesture — flagging your own not-quite-finished work as a Snag. Both sit on the commercial/quality axis, both are self-certified, and both are your own work only. A problem that stops another trade is never a snag — it's a Blocker.
Two "close-out"s — don't conflate them
SimOps uses the phrase "close-out" for two unrelated things. Permit close-out ends a Permit-to-Work (→ closed); it is covered on Reviewing & approving permits. This page is about work close-out — marking a token's work complete for the day, and the snags that ride that mark. They share a word and nothing else.
For Contractor (own-work)
Your role
You record when your own work is complete, day by day, and you flag your own snags — work you built that isn't quite to spec — as you go. Nobody signs your completion off; nobody verifies your snag close. It is self-certification by design (Tony's "98%, not 100%"): the platform's job is to make the last 2% visible, not to gate it behind an inspector. You need entity_edit to mark completion and snag_create / snag_edit to raise and close snags — held by members, on their own contractor's work.
What you can and can't do
You can
- Mark a token's work complete for a working-period day (defined in step 2 below), and un-complete (revert) it.
- Flag a snag on your own work while recording completion (the "wee box") — there is no standalone "raise a snag" button.
- Close a snag with a close-out photo (a hard gate — see Task 3).
- Schedule a fix (a soft
revisitdate) and soft-delete / restore a snag raised in error.
You can't
- Snag another trade's work. A member can only snag their own contractor's token; the moment it's a cross-trade grievance it's a Blocker, not a snag.
- Close a snag without a photo. The close-out photo gate is hard (Task 3).
- Re-open a closed snag. There is no reopen edge — work that comes back not to spec is a fresh snag with a fresh clock.
Note: Lost time never counts snags. A snag's raised→closed clock is a responsiveness metric, shown as a zero-crew-hour row in the lost-time ledger. A snag that actually stops work does so through a blocker; the cost shows on that blocker, never doubled onto the snag.
Your tasks
Task 1 — Record work as complete
- Select your token (worker / plant / active area) and open its properties panel. Use Mark complete (or the one-step Mark complete + photo) → POST .../completion-records.
- The record is a per-day mark, keyed to the site's working-period day — site-local, but bounded by the site's diary day boundary (06:00 by default), so a close-out logged before the boundary belongs to the previous day. Marking a token already complete for that day is rejected (
409), never a duplicate row; to undo, use Un-complete → POST .../completion-records/revert (the record flips torevertedin place).
Note: Completion is a two-state toggle (
complete⇄reverted), not an approval workflow. There is no second-party sign-off and no verification band — one person toggling the day-mark is the whole ceremony. Recording daily completion is optional and silent: nothing nudges you, and a token simply expiring is not the same as its work being complete.
Note: Photos are optional at completion. A day is normally marked complete with no photo at all. (Contrast the snag close in Task 3, which is hard-gated on a photo.) Evidence, if you add it, is images only — up to 5 per record, 25 MB each.
Task 2 — Flag a snag as you close out (the "wee box")
- On the same completion gesture, tick the snag "wee box" — "complete, but…" — and describe what isn't to spec. This is the only way to raise a snag: it rides the record-completion gesture, there is no standalone raise button.
- The snag anchors to the token you're completing, snapshotting its work line and contractor at that moment, and lands open.
Note: A snag-raise that fails never fails your close-out — the completion stands, the snag just didn't attach. Recording completion and flagging a snag are deliberately decoupled: the completion record does not "own" the snag; they independently reference the same token.
Note: Once a token carries open snags, the Completions Work lines tab shows a derived caveat — "complete · N snags open" — the "98%, not 100%" signal. It is computed live, never stored; the roll-up to 100% is simply the last open snag closing.
Task 3 — Close a snag (the hard photo gate)
- In the Completions Work lines tab, open the snag you've fixed. (Or, on a resolving token, tick the second wee-box arm — "fixed?" — which drives the same close.)
- Attach at least one close-out photo — the evidence the fix actually happened. The close gesture stays disabled until a close-out-phase photo is queued.
- Choose Close… → POST .../snags/{snag_id}/close. Without that photo the close is refused (
422 snag_closeout_photo_required); with it, the snag closes and self-certifies on the photo — there is no separate verification step.
Note: Snag close is a single human tick behind a photo — deliberately not the industry two-step "close then verify". There is no verification state; the site trusts the closing team and keeps the photo. (Verification, where it's needed, migrated to blockers.) If you closed one in error, soft-delete it (POST .../soft-delete, reversible via POST .../restore) — you cannot reopen it.
Task 4 — Schedule a fix
Not fixing it today? Set a revisit date on the snag (snag_edit). Once that date has passed — the sweep judges site-local, so the nudge lands the day after the revisit date, not on it — you get a one-shot in-app nudge (snag_revisit_due); it never changes the snag's status, and it never fires twice for the same date.
What you'll be notified about
Snag notifications are a quiet, in-app-only family — no email, no tasks — and most are aimed at the principal side, not at you:
| Trigger | Who's notified |
|---|---|
A snag is raised (snag_raised) |
The coordinator band (coordinator / site manager / admin) — the principal-side awareness feed |
A snag is closed (snag_closed) |
The coordinator band |
A snag's revisit date arrives (snag_revisit_due) |
Your team — the owning contractor's members |
So the one snag ping that reaches you, the contractor doing the work, is the revisit-due nudge on your own snags; raising and closing feed the coordinator band's oversight, not your own notifications. Re-pointing a snag's work line and soft-delete / restore are event-log only — they notify no one.
Gotchas
- No standalone snag board. Snags live inside Completions — the tile on the Commercial surface (I) — on its Work lines tab, threaded under the work they caveat. Don't look for a "Snags" panel; there isn't one, and there's no standalone snag detail page yet — a snag is reachable through the Work-lines facet and the wee-box.
- Own-work only, enforced. The backend checks contractor access on raise; a member simply cannot snag another firm's token. If you want to flag another trade's problem that's stopping you, that's a Blocker — see Raising a blocker.
- Looking for the contractual register? That's a Defect, not a snag. A snag is your own voluntary finishing caveat, with no blame axis and no verification. A defect is a contractual quality event notified between the contracting parties under NEC4, raised and accepted in the register the contract names and imported into SimOps — it is never a snag that got serious, and there is no promotion path in either direction. See Defects — the contractual register.
- HSE is out of the snag surface — deliberately. Snags sit on the commercial/quality axis, not the safety axis, so an HSE user neither sees nor closes them.
- Close-out ≠ verified. A marked-complete day and a closed snag are both self-certified. The record is the team's own attestation plus a photo, not a signed-off inspection.
For Coordinator / principal side (oversight)
A coordinator (or the oversight tree above a subcontractor) sees the whole site's Completions and can close or curate snags across firms — the intentional backstop for tidying up. The QS reads completions and snags but does not raise or close another firm's snag. Everything else is as above; the self-certification model is unchanged by who's looking.
See also: Blockers & delays overview — a cross-trade grievance is a blocker, not a snag · Raising a blocker · Defects — the contractual register — the other quality noun, and why it never converts. Terms: glossary — Snag, Completion record, Blocker, Defect, Work line.
Blockers guide: Overview · Reviewing & triaging · Raising · Snags & close-out · Reference