Scope
Who needs the workflow, what is visible, and what stays out.
Trust boundary · Operations
Time and cost entries are staff-reviewed operational records only. They do not run payroll, pay vendors, create invoices, charge cards, expose loaded labor rates to owners/vendors, publish raw GPS, or write accounting ledgers.
Module proof path
See the workflow, proof, and operating limits in one scan before reviewing the detailed path.
Inspect proof Open demoWho needs the workflow, what is visible, and what stays out.
Screenshot, proof card, or demo path that makes the claim inspectable.
What requires human review or source evidence.
Why this page is short
Some areas are intentionally represented by a narrow public boundary instead of a full feature page. That keeps sensitive operations, access rules, and unfinished marketing claims out of the buyer-facing experience.
How we evidence thisEnforced boundary
Time and cost entries are staff-reviewed operational records only. They do not run payroll, pay vendors, create invoices, charge cards, expose loaded labor rates to owners/vendors, publish raw GPS, or write accounting ledgers.
TIME_COST_BOUNDARY · apps/api/src/ironbound_api/modules/operations/router.py:100
5 further boundary constants in this module
A recorded quote is one vendor's price for a frozen scope, kept so it can be compared. It does not select a vendor, approve owner cost, schedule or dispatch work, create an invoice, or notify anyone. Internal vendor cost and coordination markup are not part of this record's read model at all.
QUOTE_BOUNDARY · apps/api/src/ironbound_api/modules/operations/router.py:535A comparison ranks recorded quotes by one recorded column at a time and says which column. It does not price work, negotiate, contact a vendor, publish anything to an owner, or make a decision. Internal vendor cost and coordination markup are not part of it. A recommendation is a person's judgement written down, not the ranking's output.
COMPARISON_BOUNDARY · apps/api/src/ironbound_api/modules/operations/router.py:812An invitation records that a vendor was asked to price a frozen scope, and what the credential record said at that moment. It does not send the vendor anything, grant them access to this workspace, guarantee a reply, promise an owner a price, or dispatch work. A vendor who never answers is recorded as never having answered.
RFQ_INVITATION_BOUNDARY · apps/api/src/ironbound_api/modules/operations/router.py:1107An outcome notice records that an operator says they told this vendor the RFQ went elsewhere. It sends nothing, and it carries no amount of any kind: not the winning total, not this vendor's own price. Who won, and at what price, are not part of this record.
RFQ_OUTCOME_BOUNDARY · apps/api/src/ironbound_api/modules/operations/router.py:1552Participation counts one vendor's own conduct on invitations this workspace recorded. It is not a cross-vendor ranking, not a win rate and not a score, and it carries no amounts. A vendor may be shown their own row.
RFQ_PARTICIPATION_BOUNDARY · apps/api/src/ironbound_api/modules/operations/router.py:1872Copied verbatim from apps/api/src/ironbound_api/modules/operations/router.py and regenerated from apps/api/src/ironbound_api/modules. The API returns these same strings in its boundary fields, and a drift check fails the build if this page and the source stop agreeing.
Pilot access
The best demo is not a feature checklist. It follows a request from owner intake to manager triage, vendor packet, field evidence, reviewed closeout, and owner-safe reporting.
We respond with the recommended demo route, who should attend, and what production access would require.