Struxen Docs

Daily logs

One record per project per calendar day, completed under a stored attestation and locked against edits afterwards

A daily log is a day, not a document you create. There is exactly one record per project per calendar date, and it holds a set of typed sub-logs: manpower, deliveries, delays, visitors, and so on. Open the date, fill in what happened, complete it, and it locks.

Open a day

  1. Open Daily Logs in the project.
  2. Pick a date from the register, or use the arrows in the day header to step back and forward a day at a time.
  3. The day is created the first time you open it. Nothing else is needed.

A date more than one day ahead of today is refused. That single day of slack exists because the server clock is UTC and the job may not be, so a superintendent filing "today" from a timezone ahead of UTC is legitimate and two days ahead is a typo.

What goes in a day

Eleven sub-log types, rendered in this order:

SectionWhat it records
WeatherTime, sky, temperature, daily average, precipitation, wind, ground conditions, and whether weather caused a delay
Scheduled workAn activity from the schedule, marked off: status, crew showed, workers, hours, rate, reimbursable, WBS code, notes
ManpowerCompany, trade, cost code, headcount, hours per worker, location
NotesA free-text observation, with an Issue? flag that marks it as a problem rather than a note
DeliveriesWho it came from, contents, time, tracking number
EquipmentName, cost code, hours idle, hours operating, inspected and inspection time, location
VisitorsWho visited, start and end time
DelaysDelay type, location, start and end time
Safety eventsNear miss, violation, or toolbox talk, with a description, time and location
Phone callsCaller, company, what it was about, time
Photos of the dayCaption on the day's photographs

Every sub-log carries its own attachments and comments.

Hours are per worker, not a crew total. Manpower man-hours are workers multiplied by hours per worker, and that is the same arithmetic the manpower report and the safety rates report use as their denominator.

Delay types

Delays are filed against a type, not free text. Nine ship with the platform: Existing conditions, Material, Non-conformance, Owner directive, Quality, Safety event, Trade stacking, Weather, and Other. An organization may configure up to 40 more. Once a delay is filed under a type, renaming that type's label does not move the delay: the underlying value is fixed at creation.

The register can filter a month of days by delay type.

Weather fills itself in

On a geocoded project inside National Weather Service coverage, the weather section is filled from the nearest station with no input from you. The recorder runs on the previous day's observations, so a day written up and completed the same afternoon usually has no weather when it locks. When the observation arrives later it is still added, and the record stamps when it arrived, so a report the distribution list already holds is not quietly rewritten to look like it always had the measurement.

A project with no coordinates, or outside NWS coverage, simply has no weather section. Ground conditions are never guessed from precipitation, so that field stays blank for a person to fill.

Scheduled work arrives pre-filled

If the project has a schedule, the day's slice of it is written onto the day the first time the day is opened. That fill runs once and never again, so an activity you delete because it did not actually run stays deleted instead of reappearing on the next page load. You can add scheduled-work rows by hand for work that is not on the imported schedule.

Marking an activity Blocked offers to draft a matching delay, and the delay records which activity it stopped.

Copy yesterday

Copy yesterday clones the previous day's repeatable entries so you are editing rather than retyping. Five types are deliberately excluded, because a copy would not be true today:

  • Weather and Photos of the day are observations of a specific day. Copying them fabricates a measurement or a photograph.
  • Scheduled work is derived from the schedule and regenerated per day.
  • Safety events and Phone calls record things that happened at a moment. Copying one fabricates a second one.

Delays stay copyable: a delay that runs across days is one real condition, and you still have to say when it started and ended today.

A copied row keeps a pointer to the row it came from, so "is Tuesday's manpower actually Monday's, copied?" is answerable from the record.

Photos on the day

Photographs taken on the day appear on the day view automatically, and every one of them is on the day's report unless you untick it. Three sources merge: photos linked to the day, photos in the day's album, and photos whose capture date matches the day. See Photos.

Unticking a photo excludes it from this day's report only. The photograph stays in the log and in Drive, and stays on any other day it belongs to. Excluded photos are also left out of the AI-assembled narrative, so the grid and the write-up never disagree.

Capture from the field

Two capture affordances write proposed rows rather than record rows:

  • Field Notes records a voice memo in the browser, transcribes it, and turns the words into proposed sub-log entries. Typing or pasting the same text does the same thing. Recording stops itself at 15 minutes and says so rather than cutting out silently. If the browser has no recorder or the microphone is refused, the drawer leads with your device's own recorder instead of doing nothing.
  • Uploading a photograph can propose entries from what is in the frame.

A proposed row is visible on the day view, is excluded from the PDF and from copy-forward, and blocks completion until you confirm or dismiss it. Nothing a machine proposed reaches an owner-facing document without a person having looked at it. Confirming a proposal keeps the record of the fact that a model drafted the line.

Assemble with AI is the separate, metered path: it reads the day's evidence and drafts entries. Assembled rows are labelled as AI-drafted on the record and stay labelled after you edit them. It requires an AI-enabled plan and spends project credits; Field Notes and photo proposals do not.

Completing a day

Three states, and both of the last two are locked:

StateWhat it means
OpenEditable by anyone with Standard access to Daily Logs
CompletedLocked. Nobody was notified
DistributedLocked. The distribution list was notified

Two buttons close a day:

  • Mark complete locks it quietly.
  • Complete and distribute locks it and notifies the day's distribution list.

A day that was completed quietly can be distributed later with Distribute.

The attestation

Completing a day requires acknowledging a fixed statement:

I acknowledge this report is accurate

The dialog asks for the name of the person acknowledging it, and has a separate I am entering this on behalf of someone else checkbox. The record stores both identities: whose acknowledgement it is, and who physically pressed the button. When they differ, the PDF says so.

The statement itself is stored on the record, not just rendered. A day completed today keeps the sentence it was completed under, whatever that sentence later says. An attestation is worth nothing if the thing it attests to can be edited afterwards.

Reopening a day moves its attestation into an append-only history and clears it, so whoever closes the corrected day has to attest again rather than inheriting a statement made about different contents.

Reopening

A locked day shows: "This day is locked. A daily log administrator can reopen it for correction." Reopen requires the Daily Logs administrator permission, which Admin on the Daily Logs tool carries. Reopening is counted on the record.

Comments follow the same lock. A contemporaneous field record that keeps accepting commentary after it was sent to an owner is a record whose contents depend on when you read it. Reopen, comment, complete.

Distribution

The distribution list lives on the day, not on project membership, because being copied on a daily log is a deliberate choice. Everyone on it is notified inside Struxen when the day is distributed, and is subscribed as a watcher on the day. If the list is empty, the day still completes and the toast says so.

Whether that notification also leaves as email depends on how your environment is configured; the in-app notification and the distributed state on the record are what you can rely on.

Editing the distribution list is a content edit, so it is blocked on a locked day by the same rule that blocks editing manpower. Changing who receives a record after it has been sent is a change to the record.

PDF

PDF renders the day: the summary, every confirmed sub-log, the attestation line, and the day's photographs. Proposed entries are not on it.

A cross-day Manpower report and the Safety rates report both read the daily log and are generated from Reports.

Permissions

Daily logs gate on the Daily Logs tool. See Permissions.

ActionLevel
Read the register and open a dayREAD_ONLY
Add, change or remove sub-log contentSTANDARD
Comment on a sub-logSTANDARD
Mark complete, complete and distribute, distributeSTANDARD
Reopen a locked dayADMIN (Daily Logs administrator)

Limits

LimitValue
Days per project per date1
Sub-logs per day500
Attachments per sub-log25
Comments per sub-log100
Characters per comment4,000
Day summary8,000 characters
Distribution list500 recipients
Photos excluded from one day's report500
Organization delay types (beyond the nine seeds)40
Field Notes and photo proposals per day30
One Field Notes recording15 minutes, 32 MB
Capture text in one pass8,000 characters

A write that would exceed one of these is refused with an error, never silently truncated.

Every enforced limit across Struxen is collected at Limits.

Troubleshooting

"Mark complete" is disabled and a banner mentions proposed entries. The day has rows a machine proposed that nobody has accepted. Confirm or dismiss each one. The server refuses the completion anyway; the button is disabled so you learn why from the banner instead of from a failed request.

The day will not accept an edit and no permission error appears. The day is completed or distributed. That is a 409, not a 403: you are not unauthorized, the day is closed. Ask a Daily Logs administrator to reopen it.

A scheduled activity you deleted has not come back. That is intended. The schedule fill runs once per day and never again.

Yesterday's weather is missing. The recorder runs overnight on the previous day's observations. A day completed the same afternoon locks before its weather exists. It is added when it arrives, marked with the time it arrived.

"That is not a valid date". A daily log is addressed by its date in YYYY-MM-DD form. The link you followed has something else in it.

A day cannot be dated in the future. Anything more than one day ahead of today is refused.

On this page