0000000000000000000000000000000000000000 878e80fde985293c110801d4ad032e442a2e4ae0 Rian Bowden <rian@rian.ca> 1789498681 -0700	branch: Created from refs/heads/master
878e80fde985293c110801d4ad032e442a2e4ae0 7c150dcdc1d34a452baa16849dfb66e78535a76b Rian Bowden <rian@rian.ca> 1789499310 -0700	commit: Listings table: a scrollbar above the sticky header, Wide (edge to edge), Full screen
7c150dcdc1d34a452baa16849dfb66e78535a76b 42c9cd76563140af126d774b5ccacd89d476e0f6 Rian Bowden <rian@rian.ca> 1789500178 -0700	commit: The database map: relationships generated into DATA-MODEL.md, and one page of every table for a person
42c9cd76563140af126d774b5ccacd89d476e0f6 7788758e8776ab2796ab0b186a8d467a180c17fa Rian Bowden <rian@rian.ca> 1789500192 -0700	commit (amend): The database map: relationships generated into DATA-MODEL.md, and one page of every table for a person
7788758e8776ab2796ab0b186a8d467a180c17fa 2ee331499482bb8e198c4e0e6e530e8fb66ad7ed Rian Bowden <rian@rian.ca> 1789500206 -0700	commit: memory: where the database map page is and how it is regenerated
2ee331499482bb8e198c4e0e6e530e8fb66ad7ed eebad8f8d4be6af1f8d6885e071e8301add6ea9f Rian Bowden <rian@rian.ca> 1789500343 -0700	commit: checkpoint: the table's room and the database map recorded; the NOW block says 0.49.0 is on staging with its backfills run; a decide for rian on the structure changes
eebad8f8d4be6af1f8d6885e071e8301add6ea9f 50d41947058e8ba436dcc25c2c8daae221e02136 Rian Bowden <rian@rian.ca> 1789504611 -0700	commit: Document the location model's limits: places, shops, chains and the airport code as identity
50d41947058e8ba436dcc25c2c8daae221e02136 fa0b29f8fe00ab0adc34c9e1d7805796e4e9aaad Rian Bowden <rian@rian.ca> 1789513241 -0700	rebase (finish): refs/heads/claude/table-layout-db-structure-1d5bc2 onto 4b9ca7a960da5d697255d43241454a24681583dc
fa0b29f8fe00ab0adc34c9e1d7805796e4e9aaad 949615f9783b8de6028218c4aef3c51f151c787b Rian Bowden <rian@rian.ca> 1789513393 -0700	commit: Issue: pack words are stripped from spirit names, so Triple Cask keys as Cask
949615f9783b8de6028218c4aef3c51f151c787b 6e3818bec258acb928a1a5de862e06e6ca49e8a9 Rian Bowden <rian@rian.ca> 1789513617 -0700	commit: Stop tracking the TypeScript build cache, which blocked a merge
6e3818bec258acb928a1a5de862e06e6ca49e8a9 37a3fda8bc33b947678be8f4580a55e827a45944 Rian Bowden <rian@rian.ca> 1789515900 -0700	commit: Document variations, determinants and the line page, with the evidence measured
37a3fda8bc33b947678be8f4580a55e827a45944 88122b0b625bc21f59fba805532ca4eb935fe2ac Rian Bowden <rian@rian.ca> 1789516958 -0700	commit: The grid question, and the makeup-shades decision that blocks it
88122b0b625bc21f59fba805532ca4eb935fe2ac 481bfbdd052dbfa35717e8a1989457ddddceebb9 Rian Bowden <rian@rian.ca> 1789517492 -0700	commit: Lines are over-split, concentrated in beauty: the measurement behind rian's gut
481bfbdd052dbfa35717e8a1989457ddddceebb9 f291e26d15a4ac028ca80aebe806e4b5c2b63720 Rian Bowden <rian@rian.ca> 1789518475 -0700	commit: The catalogue model brief: the day's discussion as one document for a decision session
f291e26d15a4ac028ca80aebe806e4b5c2b63720 6981ee230eea4d59f8ed42004465e6c05b2f153e Rian Bowden <rian@rian.ca> 1789520137 -0700	rebase (finish): refs/heads/claude/table-layout-db-structure-1d5bc2 onto 74bd4a0b24b92551d09ec4cd705b8903b9770554
6981ee230eea4d59f8ed42004465e6c05b2f153e 5846a1765f188cab1eb2f94f9f0a6fee1d2b335a Rian Bowden <rian@rian.ca> 1789523016 -0700	commit: Identity rules v5, one ledger for every human decision, the review gate
5846a1765f188cab1eb2f94f9f0a6fee1d2b335a 41d63f7e77da3b2232af36635313b06beed0b2aa Rian Bowden <rian@rian.ca> 1789523016 -0700	commit: The vocabulary: one meaning per word, and the docs on rules v5 and the ledger
41d63f7e77da3b2232af36635313b06beed0b2aa 084f2f020aa3c154b38c842762ae67d7e6b117df Rian Bowden <rian@rian.ca> 1789537956 -0700	commit: The review's fixes: the shade rule is the vertical's, rederive re-lines, decisions follow their products
084f2f020aa3c154b38c842762ae67d7e6b117df dcd7b809021cb72cf3467dd05c45b4d45200fc9f Rian Bowden <rian@rian.ca> 1789537956 -0700	commit: Docs for the amended decisions: the glossary's fourteen nouns, the v5 block's order, the refresh warning
dcd7b809021cb72cf3467dd05c45b4d45200fc9f 8f9b85b342112119940bbd66204aabf405fc242a Rian Bowden <rian@rian.ca> 1789537956 -0700	commit: The catalogue model decisions, reviewed and measured, with the running list and the handoff
8f9b85b342112119940bbd66204aabf405fc242a 8572fd2af7a2f4d1fbca67f5519d6a10da47fbf0 Rian Bowden <rian@rian.ca> 1789580882 -0700	commit: Rian decides: /products/ shows the line, proceeding unless Mark says no
8572fd2af7a2f4d1fbca67f5519d6a10da47fbf0 9f7a1d5b66efd7bc1bae40c612d7d26453d44885 Rian Bowden <rian@rian.ca> 1789588976 -0700	commit: Correct 2.7: the line page replaces the product page before launch, not after
9f7a1d5b66efd7bc1bae40c612d7d26453d44885 1c8d0bf0bb69e9f241a059f0247ad81d19f8eeee Rian Bowden <rian@rian.ca> 1789591330 -0700	commit: Rian's words: product, variation, option
1c8d0bf0bb69e9f241a059f0247ad81d19f8eeee e9251cf030b87f5eb8949eb43af1dd174b819f31 Rian Bowden <rian@rian.ca> 1789592219 -0700	commit: Issue: the collected brand text is mostly redundant and still read publicly
e9251cf030b87f5eb8949eb43af1dd174b819f31 4b86a07957ccb1a286b1b8487fc6dbe5062880b3 Rian Bowden <rian@rian.ca> 1789593167 -0700	commit: Rian's point: alias in speech, canonical_id in the database
4b86a07957ccb1a286b1b8487fc6dbe5062880b3 6f6efd8aceff65e14727287a3cef6ff1f21cb374 Rian Bowden <rian@rian.ca> 1789594453 -0700	commit: Rian's rule: one term per concept, and never a bare 'product'
6f6efd8aceff65e14727287a3cef6ff1f21cb374 bb472904b68e056512ccf4581d9c9494904c8d67 Rian Bowden <rian@rian.ca> 1789594607 -0700	commit: Consistency list: the Merge tab, reject versus keep apart, the Products tab
bb472904b68e056512ccf4581d9c9494904c8d67 f42754932eb3858c933515adc56560936f0c6dc3 Rian Bowden <rian@rian.ca> 1789596938 -0700	commit: Working term: product variant, rian's choice over product variation
f42754932eb3858c933515adc56560936f0c6dc3 673bf3985f3d2745cac18febf89343eda52d63f5 Rian Bowden <rian@rian.ca> 1789597328 -0700	commit: Issue: a variant carries only one option besides its size
673bf3985f3d2745cac18febf89343eda52d63f5 5dd3853d7cf88339ba3555e1e9c8f138669587ec Rian Bowden <rian@rian.ca> 1789597845 -0700	commit: Scalability now: options and properties as open lists of kinds
5dd3853d7cf88339ba3555e1e9c8f138669587ec 6439866c2a588d3d2c1916c1ecb7553f1e09773d Rian Bowden <rian@rian.ca> 1789598660 -0700	commit: Attribute replaces option and property; Confirm same and Keep separate; keep separate is not honoured by the fold
6439866c2a588d3d2c1916c1ecb7553f1e09773d 07ea4246623fce0aca2985908b4e83349e279601 Rian Bowden <rian@rian.ca> 1789598959 -0700	commit: The walk-through record: every item so far written issue-first for a reasoning session to challenge
07ea4246623fce0aca2985908b4e83349e279601 d7e06f6518c502d3833bc98b64022ff98fd82568 Rian Bowden <rian@rian.ca> 1789600217 -0700	commit: W10: rules per shop format may treat the symptom; rian's AI-proposed review sheet
d7e06f6518c502d3833bc98b64022ff98fd82568 8a8dca360ab787a6e4dd40b1a800a0305f616d59 Rian Bowden <rian@rian.ca> 1789601002 -0700	commit: W11: rian's principle and his plan to rebuild and review before Friday
8a8dca360ab787a6e4dd40b1a800a0305f616d59 a5e00f69d27a39e65adb53087258300a14a46ade Rian Bowden <rian@rian.ca> 1789601157 -0700	commit: W12: age, recorded issue-first before rian answers; note the possible Monday launch
a5e00f69d27a39e65adb53087258300a14a46ade 08926d80f0c1c374ab93f546f1dca7c833acc37c Rian Bowden <rian@rian.ca> 1789601564 -0700	commit: W12 outcome: age always structured; grouping decided in the review process, not in chat
08926d80f0c1c374ab93f546f1dca7c833acc37c 9e125b4d701cef50f8b92b60a31bd28201745b24 Rian Bowden <rian@rian.ca> 1789602102 -0700	commit: W13 and W14: the Claude pass on staging, and word lists as the process defect
9e125b4d701cef50f8b92b60a31bd28201745b24 ba23a74cabf604203ad9ee9e59944919ac626c1c Rian Bowden <rian@rian.ca> 1789602436 -0700	commit: W14 outcome: rian leans to certain-only keys or lists as proposals; the reviewer sets the balance, minimising review before launch
ba23a74cabf604203ad9ee9e59944919ac626c1c 0edcc890d779f08f0d7f0563e8ba0caa15736e37 Rian Bowden <rian@rian.ca> 1789602457 -0700	commit: W15: the one ledger, recorded issue-first before rian answers
0edcc890d779f08f0d7f0563e8ba0caa15736e37 39bc808fd7fca0898263f0605b90001a7e3b8d96 Rian Bowden <rian@rian.ca> 1789603161 -0700	commit: W15 outcome, W16 and W17: track and undo every decision; the AI does the work; push staging to production
39bc808fd7fca0898263f0605b90001a7e3b8d96 2eb9455d0e77f452fcc02f4e6cf574cbefab0800 Rian Bowden <rian@rian.ca> 1789603340 -0700	commit: W18: the publish gate, recorded issue-first before rian answers
2eb9455d0e77f452fcc02f4e6cf574cbefab0800 90aaaef050dd72a9bf7cd8fc4f9035aba9d89b40 Rian Bowden <rian@rian.ca> 1789603914 -0700	commit: W18 outcome: reachable on discovery, noindex by default, indexing approved by a person
90aaaef050dd72a9bf7cd8fc4f9035aba9d89b40 2c6e237814e8cb100dfcd929b5dbb8ee5a084cdd Rian Bowden <rian@rian.ca> 1789603978 -0700	commit: W19: places and shops, recorded issue-first before rian answers
2c6e237814e8cb100dfcd929b5dbb8ee5a084cdd f3e087b4ab9a9a85cb4190c733b48a07faa227d6 Rian Bowden <rian@rian.ca> 1789604283 -0700	commit: W19 outcome: places structure before launch, and rian's principle to design for kinds nobody has thought of
f3e087b4ab9a9a85cb4190c733b48a07faa227d6 3cc95e673b20281ae481e351379bde982a8c4552 Rian Bowden <rian@rian.ca> 1789605368 -0700	commit: W20 and the reviewing session's brief: price display cases, deliverables, and the kickoff prompt
3cc95e673b20281ae481e351379bde982a8c4552 4ff3013387094e5f92c1bcfc5b91f44a6577edbd Rian Bowden <rian@rian.ca> 1789605385 -0700	commit: checkpoint: the walk-through recorded, the planning session's kickoff ready
4ff3013387094e5f92c1bcfc5b91f44a6577edbd b9f815a4658db6750f85bdb982bd0ef7f2084d93 Rian Bowden <rian@rian.ca> 1789609177 -0700	commit: The plan: rian's response recorded (Mark agreed, Monday launch, full refactor including renames now)
b9f815a4658db6750f85bdb982bd0ef7f2084d93 61967b7bde1894e92471a6092b066fa6f223915b Rian Bowden <rian@rian.ca> 1789609409 -0700	commit: The plan: a typo split stays fixable by a person, and S2 must pin it
61967b7bde1894e92471a6092b066fa6f223915b 81f9c3171e28f515804312a76a6983d62fa3a896 Rian Bowden <rian@rian.ca> 1789611088 -0700	commit: The catalogue refactor plan, accepted, with six stream briefs and their kickoffs
81f9c3171e28f515804312a76a6983d62fa3a896 886bca6036fe703989065b58af1ba3850e2f813e Rian Bowden <rian@rian.ca> 1789611192 -0700	commit: WIP K0.1 status mark (to be amended)
886bca6036fe703989065b58af1ba3850e2f813e 6d38131042856fbec9fbec9978556727f6a33287 Rian Bowden <rian@rian.ca> 1789611206 -0700	rebase (finish): refs/heads/claude/table-layout-db-structure-1d5bc2 onto 10920b29924a76eb870bd2e9a17972961fca2b98
6d38131042856fbec9fbec9978556727f6a33287 a121759254c97dfcf55ee45122a751cc0c7e8ba0 Rian Bowden <rian@rian.ca> 1789611269 -0700	commit (amend): K0: the branch rebased onto master 10920b2, check green
a121759254c97dfcf55ee45122a751cc0c7e8ba0 fb07ae69fe37616e642e1387ac9c9215d654fb3a Rian Bowden <rian@rian.ca> 1789611498 -0700	commit: K0: REVIEW-PROCESS.md v1, the certain boundary and every grouping default in one file
fb07ae69fe37616e642e1387ac9c9215d654fb3a 3c9576eec37d80933c5e66004db42d67290fe4ec Rian Bowden <rian@rian.ca> 1789611515 -0700	commit (amend): K0: REVIEW-PROCESS.md v1, the certain boundary and every grouping default in one file
3c9576eec37d80933c5e66004db42d67290fe4ec 43b6e93e931381897e19b24b08edddb82bbb1cc4 Rian Bowden <rian@rian.ca> 1789611520 -0700	commit: K0: agents.md reads REVIEW-PROCESS.md for catalogue work; the doc gates green
43b6e93e931381897e19b24b08edddb82bbb1cc4 d1f96b15b28f156794e5defaf9038a8f91d30178 Rian Bowden <rian@rian.ca> 1789611637 -0700	commit: checkpoint: K0 green; K1 may start
d1f96b15b28f156794e5defaf9038a8f91d30178 d3e1d94162a0def0b3904dcf0b8aee8440a36760 Rian Bowden <rian@rian.ca> 1789612027 -0700	commit: Planning: escalation 2 spec, the K2 and K4 briefs and kickoff commands, every K task on /plan
d3e1d94162a0def0b3904dcf0b8aee8440a36760 c543da0f66b3822717093f43c6dcc5bd42fe1c08 Rian Bowden <rian@rian.ca> 1789613171 -0700	commit: K1: the rename-only migration c1d2e3f4a5b6, rehearsed up, down, up
c543da0f66b3822717093f43c6dcc5bd42fe1c08 ee6832247ad79d8fdfc6fe09d3a57985314c24c8 Rian Bowden <rian@rian.ca> 1789613223 -0700	commit (amend): K1: the rename-only migration c1d2e3f4a5b6, rehearsed up, down, up
ee6832247ad79d8fdfc6fe09d3a57985314c24c8 ba384f077e99589252a16385d374675c1052c02b Rian Bowden <rian@rian.ca> 1789613487 -0700	commit: K1: locations are shops, in the models, every service, script and test
ba384f077e99589252a16385d374675c1052c02b c054ae72be80ff7a00b0d43ff9cab4be3eff9ffb Rian Bowden <rian@rian.ca> 1789613827 -0700	commit: K1: products are product variants: ProductVariant, product_variants, variant_id
c054ae72be80ff7a00b0d43ff9cab4be3eff9ffb d4eec7207640d4a592785718e7b2b6225873cb51 Rian Bowden <rian@rian.ca> 1789613923 -0700	commit: K1: line_id, line_key, line_for and lines.py say product line
d4eec7207640d4a592785718e7b2b6225873cb51 f7da6232e5a7e9acfe9d8aac5897a476df9e3d63 Rian Bowden <rian@rian.ca> 1789613973 -0700	commit: K1: canonical_id is alias_of_id on brands and product lines
f7da6232e5a7e9acfe9d8aac5897a476df9e3d63 a2b649cfc094e9032ed50937bed05391317b94b4 Rian Bowden <rian@rian.ca> 1789614258 -0700	commit: K1: house is brand; the shop's spelling beside it is listed_brand
a2b649cfc094e9032ed50937bed05391317b94b4 ae77fe410757ffa1e0594e34394c5fe8fc7f0947 Rian Bowden <rian@rian.ca> 1789614700 -0700	commit: K1: merge candidates are suggestions; Confirm same and Keep separate
ae77fe410757ffa1e0594e34394c5fe8fc7f0947 91e3a3601d5ee09ac97dde8078b3edd0e452ee75 Rian Bowden <rian@rian.ca> 1789614794 -0700	commit: K1: product merges are merges: Merge, merges, resolve_variant_id
91e3a3601d5ee09ac97dde8078b3edd0e452ee75 d60468da9082960fe111373ffee3ef3a0c5f7419 Rian Bowden <rian@rian.ca> 1789615040 -0700	commit: K1: variations are attributes: AttributeAlias, ATTRIBUTE_KINDS, picked and shown
d60468da9082960fe111373ffee3ef3a0c5f7419 eb02bf649a7facd86be19caa63ff5bf3867216c8 Rian Bowden <rian@rian.ca> 1789615222 -0700	commit: K1: size_ml, size_value and size_unit say quantity
eb02bf649a7facd86be19caa63ff5bf3867216c8 93f680df27cd43bb38e011c3ed94ce16e43a5fc3 Rian Bowden <rian@rian.ca> 1789615301 -0700	commit (amend): K1: size_ml, size_value and size_unit say quantity
93f680df27cd43bb38e011c3ed94ce16e43a5fc3 6c6fc73cda1baeb74017b951b1b753267d044699 Rian Bowden <rian@rian.ca> 1789615465 -0700	commit: K1: the review area's column labels say variant, quantity and alias of
6c6fc73cda1baeb74017b951b1b753267d044699 b31b91ecd2ee186d9544f7d854972582d3ceacd0 Rian Bowden <rian@rian.ca> 1789616325 -0700	commit: K1: the typed client and the SPA say the same words; the review tabs and buttons too
b31b91ecd2ee186d9544f7d854972582d3ceacd0 f2a644b2040ceba59988133f6456772f0b8f9495 Rian Bowden <rian@rian.ca> 1789616422 -0700	commit: K1: the collectors overview reads shops, and four review labels lose their bare Product
f2a644b2040ceba59988133f6456772f0b8f9495 67fed21b747307ad6c79b016630cacb9c1289a23 Rian Bowden <rian@rian.ca> 1789616757 -0700	commit: K1: tests, docs and the generated maps say the same words; a grep holds the line
67fed21b747307ad6c79b016630cacb9c1289a23 4dae6ee48ae034ad43c07fcd41d27e9d29a1dbe8 Rian Bowden <rian@rian.ca> 1789616757 -0700	commit: K1: the after-deploy line and the changelog entry
4dae6ee48ae034ad43c07fcd41d27e9d29a1dbe8 6dc563c3ba74583c54e5d08617f967c1484682b2 Rian Bowden <rian@rian.ca> 1789616863 -0700	commit: checkpoint: K1 green and ready; K2 may start
6dc563c3ba74583c54e5d08617f967c1484682b2 78bdc90f3255a9825eef7c2684879a859e6c5f3d Rian Bowden <rian@rian.ca> 1789617546 -0700	commit: K2: the ledger, proposals, places and redirects: migration d2e3f4a5b6c7, rehearsed up, down, up
78bdc90f3255a9825eef7c2684879a859e6c5f3d 159e92373ee05b050d87d2dcf2272e8eb4874099 Rian Bowden <rian@rian.ca> 1789617661 -0700	commit: Streams tell rian on Telegram at milestones
159e92373ee05b050d87d2dcf2272e8eb4874099 59e0e5eca1a9486566a35ff8317d627dcbd829ac Rian Bowden <rian@rian.ca> 1789618083 -0700	commit: K2: the ledger's models, natural keys, the effective read and the maps
59e0e5eca1a9486566a35ff8317d627dcbd829ac 3559d4ad1b3106ea0efd4976636f454bb3a2e6b1 Rian Bowden <rian@rian.ca> 1789618335 -0700	commit: K2: the attribute registry and the one accessor; the enrich guard derives from it
3559d4ad1b3106ea0efd4976636f454bb3a2e6b1 d10ab893310af9d3a178a6a96fe2bf5f6d6fbc9b Rian Bowden <rian@rian.ca> 1789618637 -0700	commit: K2: places and the comparison unit defined once
d10ab893310af9d3a178a6a96fe2bf5f6d6fbc9b d8811bcc9a361dad2a5ca82b2d9b01f88a02ae3f Rian Bowden <rian@rian.ca> 1789619659 -0700	commit: K2: the writer, the appliers and the shim; every decision is a ledger row
d8811bcc9a361dad2a5ca82b2d9b01f88a02ae3f f3c54ddda65b519d171bbe80dfe8e09798a28866 Rian Bowden <rian@rian.ca> 1789619887 -0700	commit: K2: the machine paths honour the ledger
f3c54ddda65b519d171bbe80dfe8e09798a28866 674c7c7252a4a2a798af22b1be4cf7820dc0116f Rian Bowden <rian@rian.ca> 1789620917 -0700	commit: K2: undo, batch undo and verify, with the decisions CLI
674c7c7252a4a2a798af22b1be4cf7820dc0116f b961602318a0d302d9515add551bc2f619d09d9c Rian Bowden <rian@rian.ca> 1789621247 -0700	commit: K2: export and replay by natural key; the refresh keeps the ledger
b961602318a0d302d9515add551bc2f619d09d9c 08faf6a5c1bfa9a3b52ab50ab10309a120ef9cea Rian Bowden <rian@rian.ca> 1789621469 -0700	commit: K2: the proposals store, the publish stubs and the writer's remaining tests
08faf6a5c1bfa9a3b52ab50ab10309a120ef9cea 1ef38d7579ad1fde2088420d17d18c4f1f3a3ab7 Rian Bowden <rian@rian.ca> 1789622334 -0700	commit: K2: the two-copy rehearsal held; docs, the after-deploy line and the vocabulary
1ef38d7579ad1fde2088420d17d18c4f1f3a3ab7 1db4cc5b01db80ee0ea80ca04230b58880e3b89c Rian Bowden <rian@rian.ca> 1789622380 -0700	commit: checkpoint: K2 green and ready; K3, K4 and K5 may start
1db4cc5b01db80ee0ea80ca04230b58880e3b89c 42fb18a7f9d4eb8d2546928ddc69954db8736248 Rian Bowden <rian@rian.ca> 1789622507 -0700	commit: checkpoint: the hand-back line reached Telegram
42fb18a7f9d4eb8d2546928ddc69954db8736248 c295416b481f98b78d190aab3b280a51206dbc48 Rian Bowden <rian@rian.ca> 1789623846 -0700	commit: K4: the proposals load and withdraw, the file's schema, the CLI
c295416b481f98b78d190aab3b280a51206dbc48 3b06276a5a653938d70b731e0ab3b9f8979c3a12 Rian Bowden <rian@rian.ca> 1789624109 -0700	commit: K4: the sheet reads behind /api/review, owner only, and the typed client
3b06276a5a653938d70b731e0ab3b9f8979c3a12 1c34d554cdb6b5f1d3acd2c4e6992ca612e56e9e Rian Bowden <rian@rian.ca> 1789624237 -0700	commit: K4: the approval, the reject as Keep separate, and the undo routes
1c34d554cdb6b5f1d3acd2c4e6992ca612e56e9e 95d9d2cb62a8ba855d237e56c7094b6cb598c8e2 Rian Bowden <rian@rian.ca> 1789624461 -0700	commit: K4: the /review page, owner only, with the K6 panel slot and no cell editor
95d9d2cb62a8ba855d237e56c7094b6cb598c8e2 f6eeab9c177857b66cffe20f5f34e020b13ed520 Rian Bowden <rian@rian.ca> 1789625006 -0700	commit: K4: the CHANEL rehearsal loaded, approved, undone and replayed; REVIEW-PROCESS.md section 6, version 3
f6eeab9c177857b66cffe20f5f34e020b13ed520 3c9b96b0c99a2628e3c9254c190314aa57706429 Rian Bowden <rian@rian.ca> 1789625131 -0700	commit: K4: the review routes refuse an anonymous caller and a non-owner member, open site or not
3c9b96b0c99a2628e3c9254c190314aa57706429 768383da00588055ab4b32017aca13136cc25ec5 Rian Bowden <rian@rian.ca> 1789625254 -0700	commit: K4: /review has its noindex head, so the route list matches App.tsx
768383da00588055ab4b32017aca13136cc25ec5 23ac5efcdb5fd5840ddab75bc5de835692e78bc4 Rian Bowden <rian@rian.ca> 1789625360 -0700	commit: K4: the generated maps name the review's modules and the proposals commands
23ac5efcdb5fd5840ddab75bc5de835692e78bc4 4d2c5b0ddb4b2b7b02dac100662f218974824508 Rian Bowden <rian@rian.ca> 1789625377 -0700	commit: K4: the changelog says what the review is
4d2c5b0ddb4b2b7b02dac100662f218974824508 37745099d39124848c5b2e999ead619a3691088f Rian Bowden <rian@rian.ca> 1789625578 -0700	commit: K3: K3.1 a shop's options arrive as fields, never glued into the name
37745099d39124848c5b2e999ead619a3691088f d34240d8575c36ff93ff14350179285c43d92e18 Rian Bowden <rian@rian.ca> 1789625578 -0700	commit: K3: K3.2 the certain key, chosen from three rehearsed boundaries; identity rules v6
d34240d8575c36ff93ff14350179285c43d92e18 4ee4c62245517e013b17e16a172509feb2a55aa1 Rian Bowden <rian@rian.ca> 1789625579 -0700	commit: K3: K3.3 every open word list writes proposals and applies nothing
4ee4c62245517e013b17e16a172509feb2a55aa1 efebb697a87751f23f2da6271fe1b2cd9c878d4e Rian Bowden <rian@rian.ca> 1789625581 -0700	commit: checkpoint: K4 green and ready; the review pass may start after K3
efebb697a87751f23f2da6271fe1b2cd9c878d4e 370839e0bba863d4c4f42aea0a384566f30d2d80 Rian Bowden <rian@rian.ca> 1789625604 -0700	commit: K3: K3.4 a stated difference and a Keep separate veto the automatic merge; a person may still overrule
370839e0bba863d4c4f42aea0a384566f30d2d80 ae4eb6deca507d3fa8c078272e258a40bb432f1b Rian Bowden <rian@rian.ca> 1789625607 -0700	commit: K3: K3.5 a placed listing stays placed; a new one that matches nothing is offered, never joined
ae4eb6deca507d3fa8c078272e258a40bb432f1b 35ccd9f8055db20596b9eb9b35cb8d7068d0cbe4 Rian Bowden <rian@rian.ca> 1789625607 -0700	commit: K3: K3.6 both alias appliers call K6's slug hook with the chosen name
35ccd9f8055db20596b9eb9b35cb8d7068d0cbe4 3fe219c30f7086c490c67cf80d7652808c8e0a5f Rian Bowden <rian@rian.ca> 1789625770 -0700	commit: K3: K3.7 the rederive proof on a fresh copy; the after-deploy block, the changelog, the map
3fe219c30f7086c490c67cf80d7652808c8e0a5f 2f241b53b2d145c35c4abf9414d49231996a3d4c Rian Bowden <rian@rian.ca> 1789625794 -0700	commit: checkpoint: K3 green and ready; the review pass may start
2f241b53b2d145c35c4abf9414d49231996a3d4c 824518d8b5868bceb194af9c66ec5bd471d0ebe7 Rian Bowden <rian@rian.ca> 1789644873 -0700	commit: K5: the product line read: variants, attributes, prices per shop, the W20 price block, the representative
824518d8b5868bceb194af9c66ec5bd471d0ebe7 866fd9527efdac14b4e4602093108493bbbfb63d Rian Bowden <rian@rian.ca> 1789645112 -0700	commit: K5: the product line routes: /products/<line>?variant&airports, old variant addresses 301, noindex follow
866fd9527efdac14b4e4602093108493bbbfb63d fc92daada0991d0c73108741af5ea4fb2d42b09c Rian Bowden <rian@rian.ca> 1789645347 -0700	commit: K5: ProductLinePage: selectors from picked attributes, the W20 price block, every variant, the details
fc92daada0991d0c73108741af5ea4fb2d42b09c 1ceab941044e4da7d2fcf095e35a2f72b31cc914 Rian Bowden <rian@rian.ca> 1789645591 -0700	commit: K5: cards and search open the product line: the variant and the airports the card's comparison shows
1ceab941044e4da7d2fcf095e35a2f72b31cc914 05465153999f9b5179ff6653df6b931a05bc6651 Rian Bowden <rian@rian.ca> 1789645741 -0700	commit: K5: the product line's served body, ProductGroup JSON-LD with every dated offer, noindex follow
05465153999f9b5179ff6653df6b931a05bc6651 b26b0889f87caafce7c1a69810e38c8713e54057 Rian Bowden <rian@rian.ca> 1789645835 -0700	commit: K5: the product line tests closed; the changelog
b26b0889f87caafce7c1a69810e38c8713e54057 888712ba9d9b5941c008e3b37ba4af161e64ae91 Rian Bowden <rian@rian.ca> 1789645874 -0700	commit: checkpoint: K5 green and ready; product line pages at /products/
888712ba9d9b5941c008e3b37ba4af161e64ae91 cf8061f7f0b0da8bb9c7102b7cc4fa4936ae8d6f Rian Bowden <rian@rian.ca> 1789654939 -0700	commit: K7: deploy/production.sh --replace-db: staging's database onto production, every step fatal, counts compared
cf8061f7f0b0da8bb9c7102b7cc4fa4936ae8d6f ea7ee24f94889ef5cc565ab7bc7874748ed006a1 Rian Bowden <rian@rian.ca> 1789655170 -0700	commit: K6: publish.py, the one reader of indexed and hidden, flat redirects and the candidate rules
ea7ee24f94889ef5cc565ab7bc7874748ed006a1 baa987612722a1ab54cacb157bfa9a888ab762ba Rian Bowden <rian@rian.ca> 1789655271 -0700	commit: K7: the replace's rehearsal fixes: a silent exit, the rollback line on the droplet, a rollback never overwritten
baa987612722a1ab54cacb157bfa9a888ab762ba bdf740a234145fdb3e2c0aab34e0f29e584aaf7f Rian Bowden <rian@rian.ca> 1789655304 -0700	commit: K7: RUNBOOK Production: the replace, and the consolidated chain from 0.35.0 without propose --file
bdf740a234145fdb3e2c0aab34e0f29e584aaf7f 3bf69a5b5eb117487720a7245f4297460e6d1739 Rian Bowden <rian@rian.ca> 1789655356 -0700	commit: K7: the launch checklist, one page in RUNBOOK.md
3bf69a5b5eb117487720a7245f4297460e6d1739 7b02c716d2bf151c4b5ed554fcbca0c52e4d7952 Rian Bowden <rian@rian.ca> 1789655384 -0700	commit: K7: the replace rehearsed on dfp-devdb: counts equal, a mismatch refused, the rollback restored
7b02c716d2bf151c4b5ed554fcbca0c52e4d7952 80c7cecb17efa80b9c9825a0e03cc5d85ccfc319 Rian Bowden <rian@rian.ca> 1789655398 -0700	commit: K7: the replace script's refusals, tested without a droplet or a container
80c7cecb17efa80b9c9825a0e03cc5d85ccfc319 60e4c16eabd9d49141f6eae18bb848a41b6be53a Rian Bowden <rian@rian.ca> 1789655556 -0700	commit: checkpoint: K7 green and ready; rian runs the push from the Launch checklist
60e4c16eabd9d49141f6eae18bb848a41b6be53a 16a44c81ea1136f0c2374bd0dd3e5ff1caa339c0 Rian Bowden <rian@rian.ca> 1789655565 -0700	commit: checkpoint: K7's handoff counts its six commits
16a44c81ea1136f0c2374bd0dd3e5ff1caa339c0 c09b6697612f24f211b0d20cad640814f7b5804a Rian Bowden <rian@rian.ca> 1789655616 -0700	commit: K6: every brand, line and place page exists from discovery; hidden answers 302, never 404
c09b6697612f24f211b0d20cad640814f7b5804a 4531bb7125d6ba363cf6a5bc2dbbbe762e78addf Rian Bowden <rian@rian.ca> 1789655773 -0700	commit: K6: the final slug at confirm, rehearsed flat through two aliases; a brand alias chain answers one hop
4531bb7125d6ba363cf6a5bc2dbbbe762e78addf fa52ab67aab6cd8c73ae8a2f962d7f6afca46b27 Rian Bowden <rian@rian.ca> 1789656163 -0700	commit: K6: noindex, follow by default; the sitemap and IndexNow carry only approved pages
fa52ab67aab6cd8c73ae8a2f962d7f6afca46b27 9eb03c0c9d50c0c419e7b41dabcfc6f3272f7bd6 Rian Bowden <rian@rian.ca> 1789656565 -0700	commit: K6: the index CLI and the index candidates panel on /review
9eb03c0c9d50c0c419e7b41dabcfc6f3272f7bd6 86f77606c0c20cf666eae2b292d8890f0df16df5 Rian Bowden <rian@rian.ca> 1789656678 -0700	commit: K6: the tests the brief names, against the database kit as well as the route stubs
86f77606c0c20cf666eae2b292d8890f0df16df5 79a7aafa720a8979962bfa0829c76dbcd7980e30 Rian Bowden <rian@rian.ca> 1789656780 -0700	commit: K6: the after-deploy block in RUNBOOK and the hand-back
79a7aafa720a8979962bfa0829c76dbcd7980e30 97c788828a9586790c5adde2a4992a95d1d73f2e Rian Bowden <rian@rian.ca> 1789656799 -0700	commit: checkpoint: K6 green and ready; publish, noindex by default, index candidates on /review
97c788828a9586790c5adde2a4992a95d1d73f2e a2b7ddb2a66e8d06e9d554133c65500f5d16384e Rian Bowden <rian@rian.ca> 1789657345 -0700	commit: Planning: the staging deploy and review workflow, and the /review-pass command
a2b7ddb2a66e8d06e9d554133c65500f5d16384e 3fa4678179b4dad2eb5c62fa54420e61abb63be2 Rian Bowden <rian@rian.ca> 1789668226 -0700	commit: K8: the slug hook fires where every live path passes
3fa4678179b4dad2eb5c62fa54420e61abb63be2 fc187f8c82070bcf86d2faf3642be0c67c15a3c2 Rian Bowden <rian@rian.ca> 1789668226 -0700	commit: K8: a decided attribute carries its own kind, not the rule's
fc187f8c82070bcf86d2faf3642be0c67c15a3c2 09be37224781d228654bbc455168e4dc7d597a0b Rian Bowden <rian@rian.ca> 1789668330 -0700	commit: K8: the handoff for the two P1 fixes, and why the third is left
09be37224781d228654bbc455168e4dc7d597a0b 02c0c6b8b1885342f0fc6ad566648a080a907bb8 Rian Bowden <rian@rian.ca> 1789669739 -0700	cherry-pick: The Extime window carries the staging-refresh warning
