Skip to content

[PAC-114] docs+test(nginx): PAC-14 §4 pointer, D-8 amendment marker, build-time VITE_SENTRY_DSN rollback; whitespace-only Sentry origin fails closed - #280

Merged
Enach merged 1 commit into
mainfrom
impl/pac-114-api
Nov 14, 2026
Merged

Enach merged 1 commit into
mainfrom
impl/pac-114-api

Conversation

@Enach

@Enach Enach commented Nov 14, 2026 •

Copy link
Copy Markdown
Owner

PAC-86 review follow-ups (PAC-114), items 2 and 4. Paired with Enach/smart-calendar-flow impl/pac-114-web (item 3). Item 1, rotating the Sentry DSNs, is an operator action and is not in this PR. The DSNs stay in the contract text.

Docs (item 2). The approved text is kept. Amendment notes are added the way PAC-81 and PAC-86 did it.

  • contracts/features/PAC-14.md §4: a pointer to the PAC-86 frontend amendment in §2.
  • contracts/features/PAC-14.md §7: an amendment note on rollback item 3. VITE_SENTRY_DSN is inlined at build time, so it is not a runtime kill switch. To turn web monitoring off, rebuild without it, or unset NGINX_CSP_SENTRY_ORIGIN and restart nginx so the CSP blocks the events.
  • contracts/features/PAC-14.yaml: the rollback line is corrected the same way.
  • docs/specs/NEW-deploy-hardening.md D-8: an amendment marker, because it still described a default Sentry origin.

Test (item 4). TestWhitespaceOnlySentryOriginRefusesToStart covers " ", " " and a space-padded valid origin. In each case the render step refuses the value and names the setting, so nginx does not start. I mutation-checked it: when the render script trims spaces, the test fails.

Checks run locally:

  • cd nginx/test && go test -run TestWhitespaceOnlySentryOriginRefusesToStart ./...: ok
  • gofmt and go vet: clean

🤖 Generated with Claude Code


Factory merge record: PAC-114 items 2 and 4; reviewed in the factory main loop: amendment notes only (approved text kept) plus a whitespace-only NGINX_CSP_SENTRY_ORIGIN fail-closed test (mutation-checked). Item 1 (DSN rotation) remains an operator action. CI verify pass @ 09bec97.

…build-time VITE_SENTRY_DSN rollback; whitespace-only Sentry origin fails closed

PAC-86 review follow-ups, items 2 and 4 (item 1, DSN rotation, is an
operator action and is not part of this change).

- contracts/features/PAC-14.md: §4 points to the PAC-86 frontend
  amendment in §2; §7 rollback item 3 gets an amendment note:
  VITE_SENTRY_DSN is inlined at build time, so it is not a runtime kill
  switch (rebuild, or unset NGINX_CSP_SENTRY_ORIGIN to block events).
  Approved text kept.
- contracts/features/PAC-14.yaml: rollback line corrected the same way.
- docs/specs/NEW-deploy-hardening.md: amendment marker on D-8, which still
  described the default Sentry origin.
- nginx/test/nginx_test.go: TestWhitespaceOnlySentryOriginRefusesToStart:
  " ", "   " and a space-padded origin are refused by the render step
  (nginx does not start). Mutation-checked: trimming spaces in the render
  script makes it fail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Enach
Enach merged commit c2609a6 into main Nov 14, 2026
9 checks passed
@Enach
Enach deleted the impl/pac-114-api branch November 14, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant