Index of /docs/adr
Parent Directory
ADR-001-hub-next-redirect-on-login.md
ADR-002-safe-bottom-css-mandatory.md
ADR-003-mobile-scroll-root-document.md
ADR-004-maps-google-primary-tomtom-fallback.md
ADR-005-sw-cache-ver-string-bump.md
ADR-006-verify-pin-returns-table-array.md
ADR-007-pg-trigger-security-definer.md
ADR-008-plpgsql-variable-conflict-use-column.md
ADR-009-each-pwa-owns-its-db-schema.md
ADR-010-cross-schema-data-via-proxy-not-postgrest.md
ADR-011-pin-based-auth-no-passwords.md
ADR-012-hub-as-sso-gateway.md
ADR-013-single-html-file-no-framework.md
ADR-014-postgrest-as-api-layer.md
ADR-015-dev-prod-two-stacks-same-vps.md
ADR-016-new-pwa-must-register-in-hub-registry.md
ADR-017-traefik-docker-labels-for-routing.md
ADR-018-client-auth-company-code-not-pin.md
ADR-019-ocr-client-side-for-docs-server-side-for-photos.md
ADR-020-offline-first-indexeddb-primary.md
ADR-021-sw-cache-first-network-fallback.md
ADR-022-playwright-for-e2e-testing.md
ADR-023-push-notifications-self-hosted-vapid.md
ADR-024-google-slides-via-gas-proxy.md
ADR-025-self-hosted-ollama-for-ai-inference.md
ADR-026-cross-pwa-session-bridge-via-localstorage.md
ADR-026-cross-pwa-session-bridge-via-localstorage.md.bak-20260802-d21a
ADR-027-leave-one-out-faceted-filtering.md
ADR-028-feature-ownership-follows-domain.md
ADR-029-dual-write-offline-access-control.md
ADR-030-no-select-over-5-options.md
ADR-031-fullscreen-forms-not-modals.md
ADR-032-expense-employees-cross-schema-fk-anchor.md
ADR-033-approval-rpc-atomic-impress-deduction.md
ADR-034-hr-salary-cross-writes-finance-transactions.md
ADR-035-screenshot-deterrence-not-enforcement.md
ADR-036-custodian-payees-shared-cross-pwa.md
ADR-037-transaction-lines-soft-polymorphic-fk.md
ADR-038-capture-to-catalog-trigger.md
ADR-039-two-mode-reactivation-custodian.md
ADR-040-cross-schema-active-state-sync-trigger.md
ADR-041-supersede-not-delete-for-engaged-recce.md
ADR-042-rate-card-comparison-latest-not-lowest.md
ADR-043-sales-catalog-shared-product-master.md
ADR-044-finance-mini-pwa-family-not-monolith.md
ADR-045-edit-delete-via-approval-queue-or-admin-direct.md
ADR-046-installation-campaigns-canonical-job-record.md
ADR-047-recce-client-visibility-per-brand-filter.md
ADR-048-external-client-magic-link-not-hub-pin.md
ADR-049-recce-view-files-via-hmac-signed-proxy.md
ADR-050-client-auth-tables-rpc-only-no-direct-grants.md
ADR-051-learning-completion-threshold-based.md
ADR-052-view-tracking-two-rpc-beacon.md
ADR-053-counter-brand-data-on-recce-submissions.md
ADR-054-counter-sync-rpc-with-stores-json-fallback.md
ADR-055-mail-outbox-external-poller-not-inline-smtp.md
ADR-056-ai-handoff-via-prompt-not-live-api.md
ADR-057-statement-close-gated-on-zero-unmatched.md
ADR-058-cc-transactions-via-cross-schema-view-only.md
ADR-059-tour-ai-dedicated-sidecar-proxy.md
ADR-060-prod-deploy-rsync-allowlist-not-full-checkout.md
ADR-061-dual-mode-lazy-search-eager-dashboard.md
ADR-062-live-ai-pipeline-contract.md
ADR-063-ai-dev-toolchain.md
ADR-064-video-tutorial-production-pipeline.md
ADR-065-scene-guide-format.md
ADR-066-parallel-cli-session-coordination.md
ADR-067-cross-pwa-change-safety-gate.md
ADR-068-vcc-pre-build-safety-checklist.md
ADR-069-production-hotfix-protocol.md
ADR-070-ist-timezone-enforcement.md
ADR-071-indian-number-formatting.md
ADR-072-proof-image-capture-annotation.md
ADR-073-traefik-label-conventions.md
ADR-074-postgrest-accept-profile-header.md
ADR-075-rpc-error-response-format.md
ADR-076-mobile-first-viewport-standard.md
ADR-077-openclaw-integration-schema-grants.md
ADR-078-paperclip-isolation.md
ADR-079-shared-helper-governance.md
ADR-080-hub-session-registry-cross-schema-sync.md
ADR-081-safe-area-inset-rendering.md
ADR-082-dark-mode-theming-architecture.md
ADR-083-form-validation-strategy.md
ADR-084-list-pagination-infinite-scroll.md
ADR-085-file-upload-patterns.md
ADR-086-isolated-pwa-architecture.md
ADR-087-push-notification-implementation-contract.md
ADR-088-indexeddb-schema-versioning.md
ADR-089-bilingual-platform-architecture.md
ADR-090-font-size-accessibility-preference.md
ADR-091-inapp-tour-engine-contract.md
ADR-092-user-preference-cascading-fallback.md
ADR-093-zero-backend-standalone-pwa.md
ADR-094-google-oauth-token-lifecycle.md
ADR-095-btl-addin-client-deck-contract.md
ADR-096-excel-approval-form-one-time-tokens.md
ADR-097-blogsmith-ai-content-pipeline.md
ADR-098-native-client-branding-approval-flow.md
ADR-099-context-efficient-devguide-architecture.md
ADR-100-theme-v2-design-token-presets.md
ADR-101-svg-centric-print-pipeline.md
ADR-102-modern-cdr-conversion-requires-coreldraw.md
ADR-103-print-bridge-job-folder-contract.md
ADR-104-cross-pwa-payment-handoff.md
ADR-105-signed-jwt-for-proxy-and-native-auth.md
ADR-105-signed-jwt-for-proxy-and-native-auth.md.bak-20260802-b5a
ADR-106-cross-schema-access-is-grant-gated-not-rls.md
ADR-106-cross-schema-access-is-grant-gated-not-rls.md.bak-20260801-145045
ADR-107-mdd-reverse-adr-checklist-not-passive-citation.md
ADR-108-generic-authenticated-site-capture-and-analysis-service.md
ADR-109-videosmith-isolated-wrapper-around-internal-engine.md
ADR-110-custodian-voucher-ad-hoc-charge-write.md
ADR-111-unified-job-record-sales-jobs-canonical.md
ADR-112-canonical-session-key-and-universal-logout.md
ADR-113-email-tel-format-validation-default.md
ADR-114-google-ai-oauth-vertex-ai.md
ADR-115-tailscale-mesh-admin-fallback.md
ADR-116-learning-hub-context-deep-linking.md
ADR-117-courier-dispatch-via-external-aggregator-proxy.md
ADR-118-courier-tracking-backbone-and-captcha-relay.md
ADR-119-rule-driven-courier-auto-selection.md
ADR-120-lifecycle-event-store-and-retention.md
ADR-121-dispatch-target-consolidation-into-counter-master.md
ADR-122-booking-point-abstraction.md
ADR-123-dispatch-reporting-access-and-pii-model.md
ADR-124-playwright-first-for-pwa-visual-capture.md
ADR-125-tour-job-many-to-many-and-tour-expense-pwa.md
ADR-125-tour-job-many-to-many-and-tour-expense-pwa.md.backup.2026-08-06
ADR-125-tour-job-many-to-many-and-tour-expense-pwa.md.bak-20260801-081518
ADR-125-tour-job-many-to-many-and-tour-expense-pwa.md.bak-20260801-120554
ADR-125-tour-job-many-to-many-and-tour-expense-pwa.md.bak-20260802-153013
ADR-125-tour-job-many-to-many-and-tour-expense-pwa.md.bak-20260814-adr139
ADR-126-effective-dated-many-to-many-bridges-and-unified-job-identity.md
ADR-126-effective-dated-many-to-many-bridges-and-unified-job-identity.md.bak-20260802-153013
ADR-127-counter-job-effective-dated-junction.md
ADR-127-counter-job-effective-dated-junction.md.bak-20260801-150308
ADR-127-counter-job-effective-dated-junction.md.bak-20260802-153013
ADR-128-shared-postgrest-role-model.md
ADR-129-per-job-attributable-pnl-view.md
ADR-130-opaque-ids-renameable-names.md
ADR-131-imagebinding-media-schema-and-anchored-post-feed.md
ADR-132-ai-provider-priority-universal.md
ADR-133-unified-job-creation-rpc.md
ADR-133-unified-job-creation-rpc.md.backup.2026-08-06
ADR-134-explainer-media-self-hosted-public-classification-gate.md
ADR-135-playwright-first-for-embedded-document-reading.md
ADR-136-assisted-work-keeps-authors-voice.md
ADR-136.md.bak-preaccept
ADR-137-sidecar-auth-posture.md
ADR-139-drafts-are-server-state.md
ADR-139-drafts-are-server-state.md.bak-adr140
ADR-140-create-if-you-may-approve.md
ADR-141-database-time-is-ist.md
ADR-142-web-served-secrets-capsule.md
ADR-143-one-master-for-client-and-brand.md
ADR-144-standard-image-source-picker.md
ADR-145-hub-reauth-without-session-loss.md
ADR-145-hub-reauth-without-session-loss.md.bak-20260826-tokenrace
ADR-146-outbound-fleet-beacon.md
ADR-147-gated-vision-endpoint.md
ADR-148-sessions-index-rollover.md
ADR-149-procedure-kind-pool-not-filter.md
ADR-150-omniroute-vps-native-pipeline.md
ADR-151-retire-jee-diag-py-keep-elo.md
ADR-template.md
ADR-template.md.bak-20260809
README.md
README.md.bak-20260729-121923
README.md.bak-20260729-144038
README.md.bak-20260801-101422
README.md.bak-20260801-102614
README.md.bak-20260801-120554
README.md.bak-20260801-145100
README.md.bak-20260801-172537
README.md.bak-20260802-153040
README.md.bak-20260802-adr131
README.md.bak-20260806-062900
README.md.bak-20260809-adr134
README.md.bak-20260809-adr135
README.md.bak-20260810-adr136
README.md.bak-20260814-adr139
README.md.bak-20260823-adr142
README.md.bak-20260830-fleet
README.md.bak-dispatchadr
WIKI.md
adr-coding-rules.md
adr-coding-rules.md.bak-20260809
migration-backups/