1698d53d38
chore(repo): add PR template, fix README conventions, drop tracked scratch files
...
The org PR template pre-filled Summary / Validation / Tests / Notes here while
PRs in this repository use Summary / Changes and value / Ticket. A repo template
now overrides the org one, and the review framework gains the description
contract plus a note on the divergence from the org pr-policy workflow, which
is not wired in.
README: the CI badge tracked the retired dev branch; branches come from main,
not dev; the fix/ prefix replaces bug/; staging exists alongside dev; and PRs
now merge through the merge queue.
Cleanup: four PR description drafts under tmp/ were tracked; they are removed
and /tmp/ is ignored.
2026-09-18 19:19:55 -04:00
Adam Moussa
e611f193bd
ci: run required checks on merge_group for the merge queue ( #236 )
...
governance and Build and test are the required checks on main. A merge queue
only counts checks that ran on the merge_group event, so the workflow now
triggers on it. The governance gate reads the merge group's own base SHA
because github.event.before is empty there.
2026-09-18 19:03:12 -04:00
Alexandre Brandizzi
7c470d389c
Merge pull request #231 from Sea-Haven-Industries/fix/ab/sh-380-completion-pdf-post-upload-error
...
fix(work-orders): stop the stale-version docStatus patch after a signed PDF upload (SH-380)
2026-09-18 19:47:47 -03:00
Alexandre Brandizzi
de7066d31b
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 19:33:59 -03:00
Alexandre Brandizzi
2c47b4a9ca
Merge pull request #212 from Sea-Haven-Industries/feat/ab/sh-304-services-registry-ui
...
SH-304: Add Services registry management UI
2026-09-18 19:33:33 -03:00
Alexandre Brandizzi
7fdf85fc47
Merge branch 'main' into feat/ab/sh-304-services-registry-ui
2026-09-18 19:21:21 -03:00
Alexandre Brandizzi
7eb7e4a730
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 19:21:18 -03:00
Alexandre Brandizzi
9bba6402e0
Merge pull request #230 from Sea-Haven-Industries/feat/ab/sh-382-extra-doc-view
...
fix(work-orders): view extra documents (SH-382)
2026-09-18 19:20:59 -03:00
Alexandre Brandizzi
7c1243eec3
Merge branch 'main' into feat/ab/sh-304-services-registry-ui
2026-09-18 19:09:49 -03:00
Alexandre Brandizzi
744d7af7bb
Merge branch 'main' into feat/ab/sh-382-extra-doc-view
2026-09-18 19:09:47 -03:00
Alexandre Brandizzi
e3afa182d6
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 19:09:44 -03:00
Alexandre Brandizzi
d7ee290b1d
Merge pull request #202 from Sea-Haven-Industries/fix/ab/sh-364-inline-technician-registration
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
Terraform CI / terraform (push) Has been cancelled
SH-364, SH-365, SH-366: register inline technicians from work-order flows
2026-09-18 19:09:19 -03:00
Alexandre Brandizzi
4d3dd82afb
Merge branch 'main' into fix/ab/sh-364-inline-technician-registration
2026-09-18 18:58:01 -03:00
Alexandre Brandizzi
29caecd449
Merge branch 'main' into feat/ab/sh-304-services-registry-ui
2026-09-18 18:57:58 -03:00
Alexandre Brandizzi
e1b03dc151
Merge branch 'main' into feat/ab/sh-382-extra-doc-view
2026-09-18 18:57:56 -03:00
Alexandre Brandizzi
5766616cc0
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 18:57:53 -03:00
Adam Moussa
148f5f1823
Merge pull request #235 from Sea-Haven-Industries/chore/drop-pointer-cd-leftovers
...
chore(cd): drop leftover pointer-cd scripts and cutover docs
2026-09-18 17:25:35 -04:00
0c867e2cb4
chore(cd): drop leftover pointer-cd scripts and cutover docs
...
GitHub Actions already owns SPA bytes, so the unused pointer scripts
and the stale greenlight checklist should not stay in tree.
2026-09-18 17:13:32 -04:00
Adam Moussa
2600234b89
Merge pull request #233 from Sea-Haven-Industries/chore/staging-adoption-complete
...
Terraform CI / terraform (push) Waiting to run
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
chore(terraform): complete staging SPA adoption
2026-09-18 16:57:34 -04:00
Adam Moussa
1199252673
Merge branch 'main' into chore/staging-adoption-complete
2026-09-18 16:45:04 -04:00
Adam Moussa
daa590622b
Merge pull request #234 from Sea-Haven-Industries/fix/skip-sourcemaps-without-sentry-cli
...
fix(cd): skip source-map upload when sentry-cli is absent
2026-09-18 16:41:31 -04:00
ae852f15ea
fix(cd): skip source-map upload when sentry-cli is absent
...
August SPA trees have no @sentry/cli. Skipping that step lets a
workflow_dispatch of the live staging SHA finish the S3 sync.
2026-09-18 16:27:25 -04:00
Adam Moussa
fa9e60ce0b
Merge branch 'main' into chore/staging-adoption-complete
2026-09-18 16:23:41 -04:00
Adam Moussa
6f4b3d0e43
Merge pull request #232 from Sea-Haven-Industries/fix/deploy-scripts-from-workflow-sha
...
fix(cd): run deploy scripts from the workflow SHA
2026-09-18 16:23:16 -04:00
7b37529006
chore(terraform): complete staging SPA adoption
...
Pin staging adoption_complete to true so tags and the bucket policy
match the already-adopted dev root.
2026-09-18 16:14:10 -04:00
c99273d3fc
fix(cd): run deploy scripts from the workflow SHA
...
An old content ref has no upload/verify scripts. Copy those from
github.workflow_sha so dispatch of a live SHA can finish.
2026-09-18 16:09:58 -04:00
Alexandre Brandizzi
8d50c6f75e
fix(work-orders): stop the stale-version docStatus patch after a signed PDF upload (SH-380)
...
The completion-doc upload endpoint sets DocStatus=Yes and bumps the work-order row
version in one transaction. Both signed-PDF upload paths then re-ran a "docStatus=Yes"
work-order patch using the pre-upload row version (the comp-doc dialog re-ran the whole
Generate flow; the slide-over posted docStatus directly). That patch always 409'd — and
in the dialog it also demanded a Date Work Completed — so a successful upload surfaced an
error to the user.
Both paths now stop after the upload settles: the mutation's onSuccess refreshes the
board and the UI reflects the generated state locally, with no second docStatus patch.
2026-09-18 16:59:24 -03:00
Adam Moussa
95f0342271
Merge pull request #229 from Sea-Haven-Industries/dev
...
Terraform CI / terraform (push) Waiting to run
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
chore: promote GitHub-owned SPA onto main
2026-09-18 15:44:21 -04:00
Alexandre Brandizzi
1a7a4ba58f
fix(work-orders): open extra documents without credentialed CORS (SH-382)
...
Viewing a work-order extra document called the authorized content endpoint
with `credentials: "include"`. The API replies `Access-Control-Allow-Origin: *`,
and in credentialed mode the browser rejects a wildcard origin outright, so the
fetch threw, `openExtraDocContent` fell into its catch, closed the tab and
toasted "Unable to open this document." — QA CT-03.
The endpoint authenticates with the bearer token the ky beforeRequest hook
attaches, not cookies, so credentials mode was dead weight. List, upload and
delete never set it, which is why only viewing failed. Drop the option and
guard the request shape in a test (JSDOM cannot enforce CORS).
2026-09-18 16:35:01 -03:00
0bf834bb8e
fix(cd): keep .env.production Sentry DSN when the GitHub var is empty
...
An unset vars.VITE_SENTRY_DSN becomes an empty env value and Vite will
not let .env.production overwrite it, which would ship with Sentry off.
2026-09-18 15:26:55 -04:00
7ed0743b90
fix(terraform): pin SSM deploy parameter tier and data_type
...
HCP tried to replace the live parameters on refresh because those
attributes were computed. The apply role cannot DeleteParameter.
2026-09-18 15:09:56 -04:00
Adam Moussa
bd79617aa2
Merge branch 'main' into dev
2026-09-18 15:08:29 -04:00
ceecab5438
fix(cd): ignore githubdeploy description and retire leftover pointer CD
...
SCP denies UpdateRoleDescription on githubdeploy-*, so HCP apply cannot
rewrite the role description. Pointer workflows must not land on main.
2026-09-18 15:04:51 -04:00
Adam Moussa
c96a259365
refactor(cd): ship SPA content from GitHub on main ( #220 )
...
Deploy dev content / Deploy shoc-frontend-new-dev through Terraform (push) Has been cancelled
* ci(cd): convert SPA hosting to handbook HCP and GitHub content CD
Give HCP the bucket and CloudFront with an empty origin path. GitHub owns
bucket-root sync and invalidation so merge-to-main and a human staging tag
can deploy without creating HCP runs. G13 fails PRs that mix terraform/
with deployable application files.
* ci: run Frontend checks and Terraform CI on PRs to main and dev
Match backend 148 so a PR targeting origin/dev still gets the required
checks. Push remains main only.
* refactor(terraform): keep live/dev and live/staging as HCP roots
Leave the adopted working directories in place so this CD PR does not
retarget two live HCP workspaces. Flattening stays a later change.
* style: prettier terraform-validate.mjs
* fix(terraform): pin githubdeploy assume-role policy in import checker
Reject controlled role updates whose trust document is not the rendered
GitHub OIDC policy, matching the bucket-policy pin.
2026-09-18 14:30:20 -04:00
Adam Moussa
ff79c9d56e
Merge pull request #221 from Sea-Haven-Industries/dev
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
chore: promote current dev onto main
2026-09-18 14:25:41 -04:00
Alexandre Brandizzi
c9562650ca
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-18 11:59:16 -03:00
Alexandre Brandizzi
e780bafdd8
Merge branch 'dev' into feat/ab/sh-304-services-registry-ui
2026-09-18 11:59:13 -03:00
Alexandre Brandizzi
d6510b262e
Merge pull request #193 from Sea-Haven-Industries/fix/ab/sh-339-wizard-complete-image
...
Deploy dev content / Deploy shoc-frontend-new-dev through Terraform (push) Waiting to run
Frontend checks / Build and test (push) Has been cancelled
Frontend checks / governance (push) Has been cancelled
Frontend checks / Visual regression (push) Has been cancelled
SH-339: Allow completing Reactive/Emergency WOs from the side panel after photo upload
2026-09-17 16:14:07 -03:00
Alexandre Brandizzi
5f2d120965
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 16:02:15 -03:00
Alexandre Brandizzi
29b75e18de
Merge pull request #203 from Sea-Haven-Industries/fix/ab/sh-368-completion-uploads
...
SH-368: preserve multipart upload Content-Type
2026-09-17 16:00:15 -03:00
Alexandre Brandizzi
1ee4bbef7e
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 15:46:18 -03:00
Alexandre Brandizzi
3058a96edb
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:46:15 -03:00
Alexandre Brandizzi
3312cdd938
Merge pull request #215 from Sea-Haven-Industries/feat/ab/sh-326-team-member
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy dev content / Deploy shoc-frontend-new-dev through Terraform (push) Waiting to run
SH-326: add team member detail drawer
2026-09-17 15:44:22 -03:00
Codex Review Integration
28ff14d457
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-304-services-registry-ui
...
# Conflicts:
# src/test/lib/auth/user-utils.test.ts
2026-09-17 15:34:52 -03:00
Codex Review Integration
8a0a134238
style: format wizard-vendor-company-fields with prettier
2026-09-17 15:31:15 -03:00
Alexandre Brandizzi
bff5ed138b
Merge branch 'dev' into fix/ab/sh-339-wizard-complete-image
2026-09-17 15:30:22 -03:00
Alexandre Brandizzi
3a6f101776
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:30:20 -03:00
Alexandre Brandizzi
d53507731e
Merge branch 'dev' into feat/ab/sh-326-team-member
2026-09-17 15:30:16 -03:00
Alexandre Brandizzi
73e59a0d9e
Merge pull request #213 from Sea-Haven-Industries/feat/ab/sh-336-dashboard
...
SH-336: Build dashboard experience
2026-09-17 15:28:18 -03:00
Codex Review Integration
abe28a3a7f
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-364-inline-technician-registration
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
# src/app/(protected)/workorders/_components/wizard/wizard-step-location-service-select.tsx
# src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx
# src/test/app/(protected)/workorders/wizard-service-clears-vendor.test.tsx
2026-09-17 15:27:39 -03:00