0000000000000000000000000000000000000000 a90808897e9185c5ddeec0112e1c8b8d2545f344 umershah444 <umershah444@gmail.com> 1791322665 +0100	commit (initial): chore: scaffold laravel
a90808897e9185c5ddeec0112e1c8b8d2545f344 a90808897e9185c5ddeec0112e1c8b8d2545f344 umershah444 <umershah444@gmail.com> 1791328948 +0100	checkout: moving from main to feat/foundations
a90808897e9185c5ddeec0112e1c8b8d2545f344 aed3ff24e611821a4e47bc7daae10e11866ffa67 umershah444 <umershah444@gmail.com> 1791328971 +0100	commit: chore: add claude code project config
aed3ff24e611821a4e47bc7daae10e11866ffa67 d04f6c086417f3aa99067a548dbc8b081d7b3fba umershah444 <umershah444@gmail.com> 1791329644 +0100	commit: chore: add pest, larastan and pint config
d04f6c086417f3aa99067a548dbc8b081d7b3fba fe0ed051d6fe9099dca4e4dd67ace3189feb02fb umershah444 <umershah444@gmail.com> 1791329965 +0100	commit: feat: install filament crm panel at root
fe0ed051d6fe9099dca4e4dd67ace3189feb02fb 489c13dd3a2a4ebd1bd48850cbb192c80104098c umershah444 <umershah444@gmail.com> 1791330038 +0100	commit: feat: add roles with spatie permission
489c13dd3a2a4ebd1bd48850cbb192c80104098c fc3fee570cf77eac66deaf8014ce9046daf565dd umershah444 <umershah444@gmail.com> 1791330137 +0100	commit: feat: log model changes with activitylog
fc3fee570cf77eac66deaf8014ce9046daf565dd c82622a7f1175ae9404cbf9d6aa14681fa78e3ca umershah444 <umershah444@gmail.com> 1791330173 +0100	commit: feat: add api.secret middleware
c82622a7f1175ae9404cbf9d6aa14681fa78e3ca bd328cb423b83b834d5a2b3f8578c7bdcc44109b umershah444 <umershah444@gmail.com> 1791330249 +0100	commit: chore: add scramble
bd328cb423b83b834d5a2b3f8578c7bdcc44109b c3f11108ef6a2646fd1ff411e808618801f2e7cc umershah444 <umershah444@gmail.com> 1791330275 +0100	commit: ci: add github actions workflow
c3f11108ef6a2646fd1ff411e808618801f2e7cc a90808897e9185c5ddeec0112e1c8b8d2545f344 umershah444 <umershah444@gmail.com> 1791332318 +0100	checkout: moving from feat/foundations to main
a90808897e9185c5ddeec0112e1c8b8d2545f344 d05cb34dd69d28067bba0ea400a9f8253019438b umershah444 <umershah444@gmail.com> 1791332322 +0100	pull -q: Fast-forward
d05cb34dd69d28067bba0ea400a9f8253019438b d05cb34dd69d28067bba0ea400a9f8253019438b umershah444 <umershah444@gmail.com> 1791332322 +0100	checkout: moving from main to chore/tidy-foundations
d05cb34dd69d28067bba0ea400a9f8253019438b f1fb3b395d74f590310a2d958f4686e842fb6113 umershah444 <umershah444@gmail.com> 1791332331 +0100	commit: docs: note filament 5 crm panel in CLAUDE.md
f1fb3b395d74f590310a2d958f4686e842fb6113 da0dce080b7c82c854f732a446767b983577dab4 umershah444 <umershah444@gmail.com> 1791332401 +0100	commit: chore: remove laravel/sail
da0dce080b7c82c854f732a446767b983577dab4 d05cb34dd69d28067bba0ea400a9f8253019438b umershah444 <umershah444@gmail.com> 1791332847 +0100	checkout: moving from chore/tidy-foundations to main
d05cb34dd69d28067bba0ea400a9f8253019438b 7d903ce9f8cf11d443ac529fd0d7b60d6901d364 umershah444 <umershah444@gmail.com> 1791332849 +0100	pull -q: Fast-forward
7d903ce9f8cf11d443ac529fd0d7b60d6901d364 7d903ce9f8cf11d443ac529fd0d7b60d6901d364 umershah444 <umershah444@gmail.com> 1791332850 +0100	checkout: moving from main to feat/core-schema
7d903ce9f8cf11d443ac529fd0d7b60d6901d364 4fa7ea1d0a790a6effe128c614e839593163a0ba umershah444 <umershah444@gmail.com> 1791332999 +0100	commit: feat: add enquiry domain enums and money value object
4fa7ea1d0a790a6effe128c614e839593163a0ba 87f236c1984b3e6e4f7e214b47d5b232d86ba3e5 umershah444 <umershah444@gmail.com> 1791333027 +0100	commit (amend): feat: add enquiry domain enums and money value object
87f236c1984b3e6e4f7e214b47d5b232d86ba3e5 d88236ecc354d5405c46b970792b318b6431a53c umershah444 <umershah444@gmail.com> 1791333223 +0100	commit: feat: add core enquiry schema and models
d88236ecc354d5405c46b970792b318b6431a53c a1b3e63f91dbcab0a8ac7da7d7f4c805a591f78d umershah444 <umershah444@gmail.com> 1791333286 +0100	commit: feat: add enquiry demo seeder
a1b3e63f91dbcab0a8ac7da7d7f4c805a591f78d 91ccd5029f3544c58652f4e446a4b8ffd309f385 umershah444 <umershah444@gmail.com> 1791333413 +0100	commit: test: cover enquiry references, money casts and enum casts
91ccd5029f3544c58652f4e446a4b8ffd309f385 ef611eec58c9b1e5b1e3f69c229d31de6809bfee umershah444 <umershah444@gmail.com> 1791333539 +0100	commit: feat: expose enums in openapi schema
ef611eec58c9b1e5b1e3f69c229d31de6809bfee 7d903ce9f8cf11d443ac529fd0d7b60d6901d364 umershah444 <umershah444@gmail.com> 1791333976 +0100	checkout: moving from feat/core-schema to main
7d903ce9f8cf11d443ac529fd0d7b60d6901d364 1b5b766dd235b9495c137a13feef99acc227437f umershah444 <umershah444@gmail.com> 1791333979 +0100	pull -q: Fast-forward
1b5b766dd235b9495c137a13feef99acc227437f 1b5b766dd235b9495c137a13feef99acc227437f umershah444 <umershah444@gmail.com> 1791333979 +0100	checkout: moving from main to feat/wizard-api
1b5b766dd235b9495c137a13feef99acc227437f ee2b5b81f5c27a3961fca3032bc7387362c3906a umershah444 <umershah444@gmail.com> 1791334069 +0100	commit: feat: add contact and chain rescue fields to enquiries
ee2b5b81f5c27a3961fca3032bc7387362c3906a 85f423dafbb030fc8391f2a146a7d096629f55b6 umershah444 <umershah444@gmail.com> 1791334132 +0100	commit: feat: add uk postcode and phone validation
85f423dafbb030fc8391f2a146a7d096629f55b6 bcbcb9ef6d24b89d06f5345076940d8825f27a25 umershah444 <umershah444@gmail.com> 1791334188 +0100	commit: feat: add turnstile verifier
bcbcb9ef6d24b89d06f5345076940d8825f27a25 62edcffa6adc530a3415923f7af1a74e7d8cd93f umershah444 <umershah444@gmail.com> 1791334330 +0100	commit: feat: add enquiry actions
62edcffa6adc530a3415923f7af1a74e7d8cd93f e8ce933c3acdf57ccfe10eb9b24c688d4e4fe0e4 umershah444 <umershah444@gmail.com> 1791334657 +0100	commit: feat: add wizard draft api
e8ce933c3acdf57ccfe10eb9b24c688d4e4fe0e4 7d2802dc3ee0365ad66d4258ecdb07974b7235a1 umershah444 <umershah444@gmail.com> 1791334873 +0100	commit: feat: add callback, contact and chain rescue api
7d2802dc3ee0365ad66d4258ecdb07974b7235a1 4a13631b87f403a2e2dfd4fd2cc5878d228bae00 umershah444 <umershah444@gmail.com> 1791334950 +0100	commit: feat: add openapi:export command
4a13631b87f403a2e2dfd4fd2cc5878d228bae00 1b5b766dd235b9495c137a13feef99acc227437f umershah444 <umershah444@gmail.com> 1791337109 +0100	checkout: moving from feat/wizard-api to main
1b5b766dd235b9495c137a13feef99acc227437f edf57a02fdd82a21ca512b49bb5305db1ca94bd0 umershah444 <umershah444@gmail.com> 1791337111 +0100	pull -q: Fast-forward
edf57a02fdd82a21ca512b49bb5305db1ca94bd0 edf57a02fdd82a21ca512b49bb5305db1ca94bd0 umershah444 <umershah444@gmail.com> 1791337111 +0100	checkout: moving from main to feat/crm-enquiries
edf57a02fdd82a21ca512b49bb5305db1ca94bd0 8767d92e14387df2ef93dd45be262f564c371c81 umershah444 <umershah444@gmail.com> 1791337208 +0100	commit: feat: add enquiry access rules and policies
8767d92e14387df2ef93dd45be262f564c371c81 70a77b00614d943bec08672909d2c1d453029fbd umershah444 <umershah444@gmail.com> 1791337353 +0100	commit: feat: add enquiry workflow actions
70a77b00614d943bec08672909d2c1d453029fbd 81dc0b9a7124079a33cfd202978f9c8baaf6df73 umershah444 <umershah444@gmail.com> 1791337605 +0100	commit: feat: add crm enquiry inbox
81dc0b9a7124079a33cfd202978f9c8baaf6df73 d760c1a6945aa015f25bdc790592eda1e61d914a umershah444 <umershah444@gmail.com> 1791337676 +0100	commit: feat: add enquiry csv export
d760c1a6945aa015f25bdc790592eda1e61d914a 8837d0ef921c40ae5cdd2cca93b8c75e3a85d93f umershah444 <umershah444@gmail.com> 1791337790 +0100	commit: feat: add enquiry detail page with timeline
8837d0ef921c40ae5cdd2cca93b8c75e3a85d93f 67faaa8d446301a422c81eeba034795c1b133bb1 umershah444 <umershah444@gmail.com> 1791338003 +0100	commit: feat: add abandoned drafts page
67faaa8d446301a422c81eeba034795c1b133bb1 edf57a02fdd82a21ca512b49bb5305db1ca94bd0 umershah444 <umershah444@gmail.com> 1791339053 +0100	checkout: moving from feat/crm-enquiries to main
edf57a02fdd82a21ca512b49bb5305db1ca94bd0 8f19478ea0859f72ee5519dd27cd571901d87fb0 umershah444 <umershah444@gmail.com> 1791339055 +0100	pull -q: Fast-forward
8f19478ea0859f72ee5519dd27cd571901d87fb0 8f19478ea0859f72ee5519dd27cd571901d87fb0 umershah444 <umershah444@gmail.com> 1791339055 +0100	checkout: moving from main to feat/pipeline-offers
8f19478ea0859f72ee5519dd27cd571901d87fb0 d740a49eecdb1333df73e6fc3bb6588a059d0642 umershah444 <umershah444@gmail.com> 1791339157 +0100	commit: feat: add enquiry status state machine
d740a49eecdb1333df73e6fc3bb6588a059d0642 b69804587b885f9f267f6ab83e226151b403d114 umershah444 <umershah444@gmail.com> 1791339229 +0100	commit: feat: add change status action to enquiry page
b69804587b885f9f267f6ab83e226151b403d114 657ddbc3d829b9943321003416aaeadc49ed1927 umershah444 <umershah444@gmail.com> 1791339422 +0100	commit: feat: add offer pdf
657ddbc3d829b9943321003416aaeadc49ed1927 369d3ec8d8f70c02b73b9a4c0adfe55449827337 umershah444 <umershah444@gmail.com> 1791339620 +0100	commit: feat: add offer actions and policy
369d3ec8d8f70c02b73b9a4c0adfe55449827337 f062aa015c473968a6de6403fbd54b3558eb4c37 umershah444 <umershah444@gmail.com> 1791339735 +0100	commit: feat: add offers relation manager
f062aa015c473968a6de6403fbd54b3558eb4c37 e970d7023d1626c15dc9e5da8a765dacef773dbb umershah444 <umershah444@gmail.com> 1791339817 +0100	commit: feat: add offers:expire command
e970d7023d1626c15dc9e5da8a765dacef773dbb 8f19478ea0859f72ee5519dd27cd571901d87fb0 umershah444 <umershah444@gmail.com> 1791340067 +0100	checkout: moving from feat/pipeline-offers to main
8f19478ea0859f72ee5519dd27cd571901d87fb0 8f19478ea0859f72ee5519dd27cd571901d87fb0 umershah444 <umershah444@gmail.com> 1791340070 +0100	checkout: moving from main to fix/mysql-ci
8f19478ea0859f72ee5519dd27cd571901d87fb0 de8a84f0dc832a69d37da55f32e86fb5bb720cba umershah444 <umershah444@gmail.com> 1791340317 +0100	commit: fix: allow ULID subjects in the activity log
de8a84f0dc832a69d37da55f32e86fb5bb720cba 076a8a9438b5b41f4fb0190c916d3e366679f907 umershah444 <umershah444@gmail.com> 1791340317 +0100	commit: ci: check the openapi document after migrating
076a8a9438b5b41f4fb0190c916d3e366679f907 e970d7023d1626c15dc9e5da8a765dacef773dbb umershah444 <umershah444@gmail.com> 1791340324 +0100	checkout: moving from fix/mysql-ci to feat/pipeline-offers
e970d7023d1626c15dc9e5da8a765dacef773dbb 076a8a9438b5b41f4fb0190c916d3e366679f907 umershah444 <umershah444@gmail.com> 1791340324 +0100	rebase (start): checkout fix/mysql-ci
076a8a9438b5b41f4fb0190c916d3e366679f907 628add2812b6765926edbf65276a0e8661756452 umershah444 <umershah444@gmail.com> 1791340324 +0100	rebase (pick): feat: add enquiry status state machine
628add2812b6765926edbf65276a0e8661756452 3efb76c4050843af0dd4ae5b71a12a946780ed50 umershah444 <umershah444@gmail.com> 1791340324 +0100	rebase (pick): feat: add change status action to enquiry page
3efb76c4050843af0dd4ae5b71a12a946780ed50 ecb1eee1a173ec95fbf4bfa2307a0110111796ff umershah444 <umershah444@gmail.com> 1791340324 +0100	rebase (pick): feat: add offer pdf
ecb1eee1a173ec95fbf4bfa2307a0110111796ff ebacf7f8f2364c94212a08fa92228121eca2ee0c umershah444 <umershah444@gmail.com> 1791340325 +0100	rebase (pick): feat: add offer actions and policy
ebacf7f8f2364c94212a08fa92228121eca2ee0c 2ad8b0490deb2ddb02550c159abb9eed9ff170b9 umershah444 <umershah444@gmail.com> 1791340325 +0100	rebase (pick): feat: add offers relation manager
2ad8b0490deb2ddb02550c159abb9eed9ff170b9 687b317e281ad18597cafb27697c7b3b865f01e1 umershah444 <umershah444@gmail.com> 1791340325 +0100	rebase (pick): feat: add offers:expire command
687b317e281ad18597cafb27697c7b3b865f01e1 687b317e281ad18597cafb27697c7b3b865f01e1 umershah444 <umershah444@gmail.com> 1791340325 +0100	rebase (finish): returning to refs/heads/feat/pipeline-offers
687b317e281ad18597cafb27697c7b3b865f01e1 8f19478ea0859f72ee5519dd27cd571901d87fb0 umershah444 <umershah444@gmail.com> 1791340908 +0100	checkout: moving from feat/pipeline-offers to main
8f19478ea0859f72ee5519dd27cd571901d87fb0 98e392655539660b54e7609dd89ff869c6227ae9 umershah444 <umershah444@gmail.com> 1791340911 +0100	pull -q: Fast-forward
98e392655539660b54e7609dd89ff869c6227ae9 98e392655539660b54e7609dd89ff869c6227ae9 umershah444 <umershah444@gmail.com> 1791340911 +0100	checkout: moving from main to fix/mysql-json-key-order
98e392655539660b54e7609dd89ff869c6227ae9 7ff5d73401f7771f15f817fa49a5d436b95ea4c6 umershah444 <umershah444@gmail.com> 1791340928 +0100	commit: test: compare json meta regardless of key order
7ff5d73401f7771f15f817fa49a5d436b95ea4c6 687b317e281ad18597cafb27697c7b3b865f01e1 umershah444 <umershah444@gmail.com> 1791340935 +0100	checkout: moving from fix/mysql-json-key-order to feat/pipeline-offers
687b317e281ad18597cafb27697c7b3b865f01e1 7ff5d73401f7771f15f817fa49a5d436b95ea4c6 umershah444 <umershah444@gmail.com> 1791340935 +0100	rebase (start): checkout fix/mysql-json-key-order
7ff5d73401f7771f15f817fa49a5d436b95ea4c6 3b5036799e975240cd0e49be2cb4fafb1691b6f2 umershah444 <umershah444@gmail.com> 1791340935 +0100	rebase (pick): feat: add enquiry status state machine
3b5036799e975240cd0e49be2cb4fafb1691b6f2 e24c49e98af93450e00562e7992785df0ff1f38a umershah444 <umershah444@gmail.com> 1791340935 +0100	rebase (pick): feat: add change status action to enquiry page
e24c49e98af93450e00562e7992785df0ff1f38a 1ae2ed4018c23d1aaf8912c0892adc4a60711b2e umershah444 <umershah444@gmail.com> 1791340935 +0100	rebase (pick): feat: add offer pdf
1ae2ed4018c23d1aaf8912c0892adc4a60711b2e a231c54bc60708cf3b339570e2c3ec4f209ebc28 umershah444 <umershah444@gmail.com> 1791340936 +0100	rebase (pick): feat: add offer actions and policy
a231c54bc60708cf3b339570e2c3ec4f209ebc28 a262587cde118ddc0473bd0777665589880a3e06 umershah444 <umershah444@gmail.com> 1791340936 +0100	rebase (pick): feat: add offers relation manager
a262587cde118ddc0473bd0777665589880a3e06 5d31b8a65d4ac8d077bda97d8319bf2c60fe9e59 umershah444 <umershah444@gmail.com> 1791340936 +0100	rebase (pick): feat: add offers:expire command
5d31b8a65d4ac8d077bda97d8319bf2c60fe9e59 5d31b8a65d4ac8d077bda97d8319bf2c60fe9e59 umershah444 <umershah444@gmail.com> 1791340936 +0100	rebase (finish): returning to refs/heads/feat/pipeline-offers
5d31b8a65d4ac8d077bda97d8319bf2c60fe9e59 adf7d25e12ea0d5cbe9fb8c7a679f2261a7c27e9 umershah444 <umershah444@gmail.com> 1791340985 +0100	commit: test: compare pipeline event meta regardless of key order
adf7d25e12ea0d5cbe9fb8c7a679f2261a7c27e9 adf7d25e12ea0d5cbe9fb8c7a679f2261a7c27e9 umershah444 <umershah444@gmail.com> 1791341537 +0100	checkout: moving from feat/pipeline-offers to feat/reporting
adf7d25e12ea0d5cbe9fb8c7a679f2261a7c27e9 3c5df10572b0fdf276a8fd729e0bd0658a5a34fb umershah444 <umershah444@gmail.com> 1791341673 +0100	commit: feat: add reporting metrics service and indexes
3c5df10572b0fdf276a8fd729e0bd0658a5a34fb d4032f76107fa7a0c36193e0402e71b3fb7fae15 umershah444 <umershah444@gmail.com> 1791341814 +0100	commit: feat: add reporting dashboard widgets
d4032f76107fa7a0c36193e0402e71b3fb7fae15 f8813b9eac78e9bb7323a225525d6d80d335a880 umershah444 <umershah444@gmail.com> 1791342075 +0100	commit: feat: add xlsx export of the enquiry inbox
f8813b9eac78e9bb7323a225525d6d80d335a880 a1d7b55eb7287079c56b5e7029cfa1eefe9710b5 umershah444 <umershah444@gmail.com> 1791342236 +0100	commit: feat: add weekly summary email
a1d7b55eb7287079c56b5e7029cfa1eefe9710b5 5f4b3fea1f76e16138bf2f2333e2957d428786e6 umershah444 <umershah444@gmail.com> 1791342253 +0100	commit: docs: add project readme with scheduler and mailpit setup
5f4b3fea1f76e16138bf2f2333e2957d428786e6 09470e648d009a1903ae0dc7316ca90fa1074aae umershah444 <umershah444@gmail.com> 1791342595 +0100	commit: fix: keep reporting queries on indexes and make index migration reversible
09470e648d009a1903ae0dc7316ca90fa1074aae 09470e648d009a1903ae0dc7316ca90fa1074aae umershah444 <umershah444@gmail.com> 1791418035 +0100	checkout: moving from feat/reporting to feat/reporting
09470e648d009a1903ae0dc7316ca90fa1074aae ad14085cdfd432df3d0f757f8d1580ed8fe7aabf umershah444 <umershah444@gmail.com> 1791418060 +0100	rebase (start): checkout origin/main
ad14085cdfd432df3d0f757f8d1580ed8fe7aabf 15abf372b9eeb26af89a8ed5ecbbce8bd3d6efc5 umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (pick): feat: add reporting metrics service and indexes
15abf372b9eeb26af89a8ed5ecbbce8bd3d6efc5 36fd3ee2ec617e9f7829e409f5f6c4c7503f2851 umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (pick): feat: add reporting dashboard widgets
36fd3ee2ec617e9f7829e409f5f6c4c7503f2851 678c42390842e86d91c04e965d9ce5e9799e1987 umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (pick): feat: add xlsx export of the enquiry inbox
678c42390842e86d91c04e965d9ce5e9799e1987 0feffcae1a30bfa7e6b3784de63c7fd60f4905dc umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (pick): feat: add weekly summary email
0feffcae1a30bfa7e6b3784de63c7fd60f4905dc f24150cad147a24e04b5d6ffdc0d85f5f5850ef6 umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (pick): docs: add project readme with scheduler and mailpit setup
f24150cad147a24e04b5d6ffdc0d85f5f5850ef6 5778dc96e7a9e08106c6b564d4c3ba7a2d588235 umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (pick): fix: keep reporting queries on indexes and make index migration reversible
5778dc96e7a9e08106c6b564d4c3ba7a2d588235 5778dc96e7a9e08106c6b564d4c3ba7a2d588235 umershah444 <umershah444@gmail.com> 1791418061 +0100	rebase (finish): returning to refs/heads/feat/reporting
5778dc96e7a9e08106c6b564d4c3ba7a2d588235 a75f572b21d2bb753d417b2d21c6deeb8992042f umershah444 <umershah444@gmail.com> 1791418830 +0100	checkout: moving from feat/reporting to feat/production-hardening
a75f572b21d2bb753d417b2d21c6deeb8992042f 9b7e5eede0f79546c50341a82086785d47ebb101 umershah444 <umershah444@gmail.com> 1791418940 +0100	commit: feat: trust forwarded client ip from configured proxies
9b7e5eede0f79546c50341a82086785d47ebb101 ab7bdbc573267f82641fe3e08a62098de6660112 umershah444 <umershah444@gmail.com> 1791419084 +0100	commit: feat: rate limit draft creation and submission
ab7bdbc573267f82641fe3e08a62098de6660112 9a30337d247efca6207f3835d0d26146bf63da70 umershah444 <umershah444@gmail.com> 1791419176 +0100	commit: test: cover turnstile on every public form and block stray http
9a30337d247efca6207f3835d0d26146bf63da70 6a88882833979c4c7844f809a285834b3af59b10 umershah444 <umershah444@gmail.com> 1791419300 +0100	commit: feat: add security headers and local avatars
6a88882833979c4c7844f809a285834b3af59b10 c03d3346e09ac42875f09bdf9365ced84693fe69 umershah444 <umershah444@gmail.com> 1791419552 +0100	commit: feat: require strong passwords and two-factor sign-in
c03d3346e09ac42875f09bdf9365ced84693fe69 1c80e36e13975d20181f2d52e0d97624eac340df umershah444 <umershah444@gmail.com> 1791419772 +0100	commit: feat: add enquiries:purge retention command
1c80e36e13975d20181f2d52e0d97624eac340df fd156305f5790b8d1abd5195f8eaa61f6d7d4378 umershah444 <umershah444@gmail.com> 1791419962 +0100	commit: feat: redact personal data from logs
fd156305f5790b8d1abd5195f8eaa61f6d7d4378 77103ddcccfaaf047f8ae4486be510fdafdafe11 umershah444 <umershah444@gmail.com> 1791420069 +0100	commit: test: audit that only health and login routes are public
77103ddcccfaaf047f8ae4486be510fdafdafe11 98e392655539660b54e7609dd89ff869c6227ae9 umershah444 <umershah444@gmail.com> 1791421261 +0100	checkout: moving from feat/production-hardening to main
98e392655539660b54e7609dd89ff869c6227ae9 9a25b589e33f384e04141a6c81e54dee64f4bd5c umershah444 <umershah444@gmail.com> 1791421275 +0100	pull: Fast-forward
9a25b589e33f384e04141a6c81e54dee64f4bd5c 9a25b589e33f384e04141a6c81e54dee64f4bd5c umershah444 <umershah444@gmail.com> 1791423927 +0100	checkout: moving from main to feat/email-system
9a25b589e33f384e04141a6c81e54dee64f4bd5c 1d93ac678b31e44379cb6ce3733ef243e8bde77a umershah444 <umershah444@gmail.com> 1791424250 +0100	commit: feat: add branded email layout and inliner base mailable
1d93ac678b31e44379cb6ce3733ef243e8bde77a 5bcf74038fe80ea8ecb9932dca98858884e5d065 umershah444 <umershah444@gmail.com> 1791424639 +0100	commit: feat: send seller acknowledgement and new lead alert on enquiry creation
5bcf74038fe80ea8ecb9932dca98858884e5d065 122fe626bf74516544d0cbdbd654f845130704c4 umershah444 <umershah444@gmail.com> 1791424913 +0100	commit: feat: email the offer pdf to the seller when an offer is sent
122fe626bf74516544d0cbdbd654f845130704c4 3c6c058027cbd949110692fe65fc255ae18994b7 umershah444 <umershah444@gmail.com> 1791425086 +0100	commit: feat: add local mail preview route
3c6c058027cbd949110692fe65fc255ae18994b7 6ef6aa27861b09e18af2bc29275642574458ea1c umershah444 <umershah444@gmail.com> 1791425128 +0100	commit: docs: add email dns guide
6ef6aa27861b09e18af2bc29275642574458ea1c d0ca84b923412a436a45fceb2481f547f828261d umershah444 <umershah444@gmail.com> 1791462942 +0100	checkout: moving from feat/email-system to feat/sms
d0ca84b923412a436a45fceb2481f547f828261d 241d1c1535456f6facc2de57743038e041904c2d umershah444 <umershah444@gmail.com> 1791463094 +0100	commit: feat: add sms gateway with twilio and log drivers
241d1c1535456f6facc2de57743038e041904c2d 222c9f34ac8ee01ee0d69840b7ddade48d6d92ec umershah444 <umershah444@gmail.com> 1791463184 +0100	commit: feat: add sms templates within 160 gsm characters
222c9f34ac8ee01ee0d69840b7ddade48d6d92ec 86fa698f819aa94084bca9091bf741205b5419c1 umershah444 <umershah444@gmail.com> 1791463540 +0100	commit: feat: text sellers and the duty manager on new enquiries
86fa698f819aa94084bca9091bf741205b5419c1 31951766731937e2bbc464ace1e3ba8f1bb0f08b umershah444 <umershah444@gmail.com> 1791463798 +0100	commit: feat: handle twilio delivery status and stop webhooks
31951766731937e2bbc464ace1e3ba8f1bb0f08b 03cf733de7f43fbad9334219d4eb8d7804758293 umershah444 <umershah444@gmail.com> 1791463836 +0100	commit: docs: document sms setup
03cf733de7f43fbad9334219d4eb8d7804758293 2724831881fa273ff8b1e7c6b65d3b9dcfd5ab98 umershah444 <umershah444@gmail.com> 1791465507 +0100	checkout: moving from feat/sms to feat/address-lookup
2724831881fa273ff8b1e7c6b65d3b9dcfd5ab98 8d93eb6b2ee04077479a8e3d70bee89a5fe889cf umershah444 <umershah444@gmail.com> 1791465643 +0100	commit: feat: add loqate client with typed failures
8d93eb6b2ee04077479a8e3d70bee89a5fe889cf 90f9a33b36ec1f84b9fa0cdc5920c8b5fb6ad8ea umershah444 <umershah444@gmail.com> 1791465937 +0100	commit: feat: add address find and retrieve endpoints
90f9a33b36ec1f84b9fa0cdc5920c8b5fb6ad8ea 0ba53c402d4c3a22412bf9c8dcb5f613f550c0e1 umershah444 <umershah444@gmail.com> 1791466001 +0100	commit: feat: match duplicates on uprn first
0ba53c402d4c3a22412bf9c8dcb5f613f550c0e1 9a622521482e91e3bb2e9840bdce0fa06d3a47b8 umershah444 <umershah444@gmail.com> 1791466017 +0100	commit: docs: document address lookup
9a622521482e91e3bb2e9840bdce0fa06d3a47b8 9a25b589e33f384e04141a6c81e54dee64f4bd5c umershah444 <umershah444@gmail.com> 1791466876 +0100	checkout: moving from feat/address-lookup to main
9a25b589e33f384e04141a6c81e54dee64f4bd5c 03e8229d40cb6d449ec8b30d49f11b65e2e3ee1e umershah444 <umershah444@gmail.com> 1791466883 +0100	pull: Fast-forward
03e8229d40cb6d449ec8b30d49f11b65e2e3ee1e 03e8229d40cb6d449ec8b30d49f11b65e2e3ee1e umershah444 <umershah444@gmail.com> 1791467050 +0100	checkout: moving from main to feat/referrals
03e8229d40cb6d449ec8b30d49f11b65e2e3ee1e 200183af378f042e50d744a2879719fd1a4273d0 umershah444 <umershah444@gmail.com> 1791467175 +0100	commit: feat: add referrers and link them to enquiries
200183af378f042e50d744a2879719fd1a4273d0 43c86b2c4361be775cecf4e04350b16fe9674fdc umershah444 <umershah444@gmail.com> 1791467353 +0100	commit: feat: accept agent referrals through the api
43c86b2c4361be775cecf4e04350b16fe9674fdc b70f2ffcb8fe8078c8310a9d69da609ddf8ca73a umershah444 <umershah444@gmail.com> 1791467625 +0100	commit: feat: acknowledge referring agents by email
b70f2ffcb8fe8078c8310a9d69da609ddf8ca73a bef6bc9d9c58e497569cf3f607a511327d5ea10f umershah444 <umershah444@gmail.com> 1791467891 +0100	commit: feat: add referrers resource and inbox referrer filter
bef6bc9d9c58e497569cf3f607a511327d5ea10f 1f263881f73c56998db0a1838460e4ec4396e07e umershah444 <umershah444@gmail.com> 1791470814 +0100	checkout: moving from feat/referrals to feat/area-cms
1f263881f73c56998db0a1838460e4ec4396e07e 1f4c6c49927368bf7d2bc6cbc5276c320c673109 umershah444 <umershah444@gmail.com> 1791470910 +0100	commit: feat: add areas with markdown intros
1f4c6c49927368bf7d2bc6cbc5276c320c673109 09eb51ab9b86dda8318cfaf97599b05c265fa372 umershah444 <umershah444@gmail.com> 1791470963 +0100	commit: feat: revalidate the website when area pages change
09eb51ab9b86dda8318cfaf97599b05c265fa372 dc001a16986d819f8c359990a40b4cce936784a6 umershah444 <umershah444@gmail.com> 1791471111 +0100	commit: feat: add areas resource with admin-only publishing
dc001a16986d819f8c359990a40b4cce936784a6 39f5e7d665d4c85eb9fca8001ef56743d6d25b6a umershah444 <umershah444@gmail.com> 1791471254 +0100	commit: feat: serve published areas through the api
39f5e7d665d4c85eb9fca8001ef56743d6d25b6a 919c8d0f5a611919c2aa6b706ea75fe645ba3d0c umershah444 <umershah444@gmail.com> 1791471354 +0100	commit: test: cover api routes with any path parameter in the secret check
919c8d0f5a611919c2aa6b706ea75fe645ba3d0c 86281147c39d4f098fffbdacbfc250ae85de59b1 umershah444 <umershah444@gmail.com> 1791471405 +0100	commit: feat: add area seeder for draft area pages
86281147c39d4f098fffbdacbfc250ae85de59b1 8f9ec60bac94188d539c868f891c3d06390ccbe2 umershah444 <umershah444@gmail.com> 1791473516 +0100	checkout: moving from feat/area-cms to feat/site-cms
8f9ec60bac94188d539c868f891c3d06390ccbe2 3e0532d3a5ff6a97d352c2d53be22d0018d56467 umershah444 <umershah444@gmail.com> 1791473615 +0100	commit: feat: add content editor role
3e0532d3a5ff6a97d352c2d53be22d0018d56467 196987304ae753b5e1c1e3a9421b3d19b4d2fd0a umershah444 <umershah444@gmail.com> 1791473757 +0100	commit: feat: add cms tables and models with published snapshots
196987304ae753b5e1c1e3a9421b3d19b4d2fd0a ed5c8763d8e13661c88eca1b0a6208926963cbfc umershah444 <umershah444@gmail.com> 1791473979 +0100	commit: feat: add section types with validated data
ed5c8763d8e13661c88eca1b0a6208926963cbfc f3e58ddb653d80effdd4ffac16668f4196edd194 umershah444 <umershah444@gmail.com> 1791474677 +0100	commit: feat: add pages, situations, faqs and site settings to the crm
f3e58ddb653d80effdd4ffac16668f4196edd194 c92ad2c2f667ccf638f2df64d065ec66853a23d5 umershah444 <umershah444@gmail.com> 1791474993 +0100	commit: feat: publish cms content and revalidate the website
c92ad2c2f667ccf638f2df64d065ec66853a23d5 4cf8f70358162e53f408f4df0f3d806431248d44 umershah444 <umershah444@gmail.com> 1791475180 +0100	commit: feat: serve published cms content through the api
4cf8f70358162e53f408f4df0f3d806431248d44 8e8c9fe01e87c2687d030abab4a63a68007d4aec umershah444 <umershah444@gmail.com> 1791475363 +0100	commit: feat: read company details from site settings in emails
8e8c9fe01e87c2687d030abab4a63a68007d4aec 318b7529351b66094a4c8e4cb58aa66766c3a0bc umershah444 <umershah444@gmail.com> 1791475373 +0100	commit: test: match the site settings query whatever the database quoting
318b7529351b66094a4c8e4cb58aa66766c3a0bc 3f06c34219d6d0b145aca6050cfa642455e63856 umershah444 <umershah444@gmail.com> 1791475978 +0100	commit: feat: seed the cms with the current website copy
3f06c34219d6d0b145aca6050cfa642455e63856 09b4c5c39593c5fb3756a8914af730a02615bdaa umershah444 <umershah444@gmail.com> 1791479315 +0100	checkout: moving from feat/site-cms to feat/cms-publishing
09b4c5c39593c5fb3756a8914af730a02615bdaa 82ce6a04e2fab25e7ec3e971187fbde5e0ef30ed umershah444 <umershah444@gmail.com> 1791479445 +0100	commit: feat: keep the last ten page versions with restore
82ce6a04e2fab25e7ec3e971187fbde5e0ef30ed fc36f8b6cbef0c1e0924417e40e40a209bc988a8 umershah444 <umershah444@gmail.com> 1791479929 +0100	commit: feat: add claims guard with administrator overrides
fc36f8b6cbef0c1e0924417e40e40a209bc988a8 4428b365a7c64447edd532abb3543e28b10abf18 umershah444 <umershah444@gmail.com> 1791480129 +0100	commit: feat: serve cms content under /api/v1/content with caching
4428b365a7c64447edd532abb3543e28b10abf18 53636c248d8ee321e5511b28c4f992abea99b02a umershah444 <umershah444@gmail.com> 1791480238 +0100	commit: docs: describe content api response shapes
53636c248d8ee321e5511b28c4f992abea99b02a 0e9dc7f93d86e9042cd3ef609f646e323c4e8fcf umershah444 <umershah444@gmail.com> 1791480484 +0100	commit: feat: preview page drafts with signed tokens
0e9dc7f93d86e9042cd3ef609f646e323c4e8fcf 7b265baa0ae0b5d1e87396143293bc1aa2491121 umershah444 <umershah444@gmail.com> 1791480719 +0100	commit: feat: call the website synchronously on publish and warn on failure
7b265baa0ae0b5d1e87396143293bc1aa2491121 560566550b11644ee3b35d516cc3d3d4cd659f52 umershah444 <umershah444@gmail.com> 1791480754 +0100	commit: docs: document versions, claims guard, preview and content api
560566550b11644ee3b35d516cc3d3d4cd659f52 560566550b11644ee3b35d516cc3d3d4cd659f52 umershah444 <umershah444@gmail.com> 1791484761 +0100	checkout: moving from feat/cms-publishing to feat/rbac-foundation
560566550b11644ee3b35d516cc3d3d4cd659f52 ded578d9402e9bd7497977396ceb52864c1955a2 umershah444 <umershah444@gmail.com> 1791484890 +0100	commit: feat: add permission catalogue and permissions:sync
ded578d9402e9bd7497977396ceb52864c1955a2 8541e9abfe99513c41da4e5d3a183cc6411a3cfa umershah444 <umershah444@gmail.com> 1791485225 +0100	commit: feat: seed default roles from the role matrix
8541e9abfe99513c41da4e5d3a183cc6411a3cfa 0727bbe49ea4f47e48219c2f7aff5155e2338091 umershah444 <umershah444@gmail.com> 1791485403 +0100	commit: feat: add rbac guard and user deactivation
0727bbe49ea4f47e48219c2f7aff5155e2338091 0727bbe49ea4f47e48219c2f7aff5155e2338091 umershah444 <umershah444@gmail.com> 1791489418 +0100	reset: moving to HEAD
0727bbe49ea4f47e48219c2f7aff5155e2338091 67601b91763acd2e232210119f8c9acb3c34f668 umershah444 <umershah444@gmail.com> 1791489789 +0100	commit: fix: stop a held seller text requeuing forever on the sync queue
67601b91763acd2e232210119f8c9acb3c34f668 61911f1fbeab200d4fe7a7bda9ba62c95c641f47 umershah444 <umershah444@gmail.com> 1791489789 +0100	commit: refactor: authorise with permissions instead of roles
61911f1fbeab200d4fe7a7bda9ba62c95c641f47 c9b672e19762d340f5d3642db2396463af633746 umershah444 <umershah444@gmail.com> 1791489794 +0100	commit: ci: fail on role checks outside app/Support/Rbac
c9b672e19762d340f5d3642db2396463af633746 c9b672e19762d340f5d3642db2396463af633746 umershah444 <umershah444@gmail.com> 1791490989 +0100	checkout: moving from feat/rbac-foundation to feat/users-roles
c9b672e19762d340f5d3642db2396463af633746 692ec5400aaaae0b2f50337a9766fbd0e3a9f104 umershah444 <umershah444@gmail.com> 1791491124 +0100	commit: feat: add invitation, last login and role description columns
692ec5400aaaae0b2f50337a9766fbd0e3a9f104 0c17b9db273190d1f253e82aca05c53e462a5f24 umershah444 <umershah444@gmail.com> 1791491513 +0100	commit: feat: invite staff with single-use set-password links
0c17b9db273190d1f253e82aca05c53e462a5f24 253f10e69d3b13531a44f8f3aab84596a169fe39 umershah444 <umershah444@gmail.com> 1791491800 +0100	commit: feat: add users resource with roles, deactivation and credential resets
253f10e69d3b13531a44f8f3aab84596a169fe39 5443c44040a9bb3a290b47b00468726992ade6c9 umershah444 <umershah444@gmail.com> 1791491995 +0100	commit: feat: show and revoke staff sessions
5443c44040a9bb3a290b47b00468726992ade6c9 e9e18682930ef35af81229390863ff75d47bc721 umershah444 <umershah444@gmail.com> 1791492280 +0100	commit: feat: add roles resource with permission matrix
e9e18682930ef35af81229390863ff75d47bc721 b78593d1514ed903bbd7c793f46a98441d2b1442 umershah444 <umershah444@gmail.com> 1791492335 +0100	commit: feat: flag enquiries assigned to inactive staff
b78593d1514ed903bbd7c793f46a98441d2b1442 d84d8e3caccb91a7efd41942aeb22c4dc8c27158 umershah444 <umershah444@gmail.com> 1791492350 +0100	commit: docs: users and roles
d84d8e3caccb91a7efd41942aeb22c4dc8c27158 63b026a5930f807258375c4fcc72d5bde204df8a umershah444 <umershah444@gmail.com> 1791492359 +0100	commit: docs: list the staff emails
63b026a5930f807258375c4fcc72d5bde204df8a 9fefddd24bef1e7597d383d7c62d2ae063e92c2d umershah444 <umershah444@gmail.com> 1791492365 +0100	commit: docs: correct the weekly summary recipients
9fefddd24bef1e7597d383d7c62d2ae063e92c2d 9fefddd24bef1e7597d383d7c62d2ae063e92c2d umershah444 <umershah444@gmail.com> 1791494028 +0100	checkout: moving from feat/users-roles to feat/audit-theme
9fefddd24bef1e7597d383d7c62d2ae063e92c2d c1a97149e45ebb9b215b8f78c9bc465f8a25253c umershah444 <umershah444@gmail.com> 1791494542 +0100	commit: feat: record ip and user agent and a single security log
c1a97149e45ebb9b215b8f78c9bc465f8a25253c 63c2130a47c9316f19698bac9b6b5fe7d5058caf umershah444 <umershah444@gmail.com> 1791494729 +0100	commit: feat: log sign-ins, failures, sign-outs, password and 2fa changes
63c2130a47c9316f19698bac9b6b5fe7d5058caf a130746f204503866a87a56b833154ac7c009479 umershah444 <umershah444@gmail.com> 1791495061 +0100	commit: feat: add audit log page with masked diffs and logged csv export
a130746f204503866a87a56b833154ac7c009479 d483450379129b120ec7555358bb277b7126b5a6 umershah444 <umershah444@gmail.com> 1791495437 +0100	commit: feat: add activity and sign-in history tabs to staff
d483450379129b120ec7555358bb277b7126b5a6 5120df41fe788eea8dcf40cd3c0ca9771ab35ac2 umershah444 <umershah444@gmail.com> 1791495487 +0100	commit: feat: add security overview widget
5120df41fe788eea8dcf40cd3c0ca9771ab35ac2 a73272c97e800d03da7e74dec7f900f4f4978dd5 umershah444 <umershah444@gmail.com> 1791495557 +0100	commit: feat: purge audit entries after 24 months
a73272c97e800d03da7e74dec7f900f4f4978dd5 eede5526f7178d4d3393e15a7d080d13a5c523e0 umershah444 <umershah444@gmail.com> 1791496075 +0100	commit: feat: theme the crm with the cashio brand
eede5526f7178d4d3393e15a7d080d13a5c523e0 183f314daa8733baaa5fceed7219308a8c8c8912 umershah444 <umershah444@gmail.com> 1791496130 +0100	commit: docs: audit log, retention and theme
183f314daa8733baaa5fceed7219308a8c8c8912 9214b39b03f3300db43db4654e1d9babad2670b4 umershah444 <umershah444@gmail.com> 1791497009 +0100	commit: feat: editable homepage banner with strict image validation
9214b39b03f3300db43db4654e1d9babad2670b4 6f6738f0fe330c5e61343892333f72a53e279e60 umershah444 <umershah444@gmail.com> 1791499909 +0100	commit: fix: eager-load what audit subjects need
6f6738f0fe330c5e61343892333f72a53e279e60 16f6b011c10ffe9b2ba4bfafe511223d40b53758 umershah444 <umershah444@gmail.com> 1791499930 +0100	commit: style: tidy imports in the audit log page test
16f6b011c10ffe9b2ba4bfafe511223d40b53758 4d8abc598725b3079fd102e336943aa46a720a17 umershah444 <umershah444@gmail.com> 1791502748 +0100	commit: feat: accept desktop banner photos from 1280 x 720
4d8abc598725b3079fd102e336943aa46a720a17 b0916c30bbf7484dbd3940a6ceca6c2bfc8bb505 umershah444 <umershah444@gmail.com> 1791502972 +0100	commit: fix: make banner uploads work in the browser
b0916c30bbf7484dbd3940a6ceca6c2bfc8bb505 74786781c6ac604eb66c29b2757e11a6f82242d0 umershah444 <umershah444@gmail.com> 1791504442 +0100	commit: feat: give the crm dashboard a premium cashio look
74786781c6ac604eb66c29b2757e11a6f82242d0 247bf0b8814b4ac27643c9879f266765b4b6677d umershah444 <umershah444@gmail.com> 1791563544 +0100	commit: refactor(enquiry): replace SLA terminology with response targets
247bf0b8814b4ac27643c9879f266765b4b6677d d8f69cf879caf2fb9004d4f210edcd7d50b6c123 umershah444 <umershah444@gmail.com> 1791565835 +0100	commit: feat(crm): label and align the actions column on every table
d8f69cf879caf2fb9004d4f210edcd7d50b6c123 3c6b1d433cc3b595039607f8e3347543b1884ed9 umershah444 <umershah444@gmail.com> 1791567084 +0100	commit: feat(auth): let the owner control two-factor authentication
3c6b1d433cc3b595039607f8e3347543b1884ed9 c97bdc1935e38164ecae9e058e2bd1eb59d0fe80 umershah444 <umershah444@gmail.com> 1791568288 +0100	commit: feat(notifications): send in-app notifications for enquiry and offer events
c97bdc1935e38164ecae9e058e2bd1eb59d0fe80 d6202e57457dc9bc2a123b2c315b8bc3a95cb6db umershah444 <umershah444@gmail.com> 1791569685 +0100	commit: feat(documents): add private enquiry documents
d6202e57457dc9bc2a123b2c315b8bc3a95cb6db c1e259d9e82e2be0afc7c07b8652fe0035ab18f5 umershah444 <umershah444@gmail.com> 1791571114 +0100	commit: feat(chat): add direct, group and enquiry conversations
c1e259d9e82e2be0afc7c07b8652fe0035ab18f5 ae057482c65ffcb4c6c52adc61b9649ae9f0e56f umershah444 <umershah444@gmail.com> 1791571556 +0100	commit: docs: deployment notes for notifications, documents and chat
ae057482c65ffcb4c6c52adc61b9649ae9f0e56f c6096d299e44523b86024c3f2e5f143a1c944212 umershah444 <umershah444@gmail.com> 1791574738 +0100	commit: fix(rbac): grant new permissions to default roles on sync
c6096d299e44523b86024c3f2e5f143a1c944212 16840a39ce09159510d1ea95ba4b514f32b27f8f umershah444 <umershah444@gmail.com> 1791575016 +0100	commit: refactor(crm): rename Inbox to Enquiries
16840a39ce09159510d1ea95ba4b514f32b27f8f 9973b7f8da7d463906947ab725a4c6cd007d8f39 umershah444 <umershah444@gmail.com> 1791577801 +0100	commit: feat(offers): professional offer letter and company settings
