aboutsummaryrefslogtreecommitdiff
path: root/docs/GIT-HISTORY.txt
blob: 2dfc3354992097a0a3e65b471b6617260db98c3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Copyright (C) 2026 Doan Luu Duc Tai <doan@luuduct.ai>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

GIT IDENTITY AND SIGNATURE REWRITE

    Requested to replace the historical ops <ops@localhost> identity with
    Doan Luu Duc Tai <doan@luuduct.ai> and sign the history with the canonical
    RSA-2048 key 3346AA3150F8F16828BB0D14F8C66DF77AFECEA6.

    Ten historical author identities and their corresponding committer identities
    were corrected. All 27 commits reachable from main and feature/private-chat
    at the time of the rewrite were recreated and signed because rewritten
    parents change descendant commit IDs. Every new signature was verified.

    Every corresponding tree, message, original author timestamp/time zone, and
    original committer timestamp/time zone was preserved. Merge topology was
    preserved. Signature creation times reflect the new signing operation.
    main's file tree is unchanged. Configuration/chat development stays on
    feature/private-chat; rewriting metadata does not deploy that code to main.

    Remote updates use an atomic push and exact force-with-lease expectations
    for both branches, preventing overwrite of an unexpected remote update.
    Existing objects and reflogs may still contain old IDs: this is an authorship
    correction, not a claim of private-data removal or historical erasure.

EXISTING CLONES

    The active development checkout is already aligned. Other clones must fetch
    the new history instead of using an ordinary pull across divergent histories.
    Preserve local-only commits and working changes first. A fresh development
    clone is also possible; keep private .env and runtime data out of Git.

    For an existing clone with no local-only commits:

        git fetch origin
        git switch main
        git reset --keep origin/main

    For a feature checkout, use feature/private-chat in the final two commands.
    --keep refuses updates that would overwrite conflicting working changes.
    Do not blindly reset a clone with independent local work; use the mapping
    below to identify the corresponding rewritten base before rebasing that work.
    Git changes do not remove or replace ignored .env or var/ data.

ORIGINAL TO REWRITTEN COMMITS

    47fcc566884d7078c153cdce9fb62399fcca5d9e  c4b2f892a1c6508360a683c90e8c4d596c521336
    37d5e4a152df67d247349d2ed289bf65859ead53  020d3454cad6619bf25c6ecb0a293502f40364bd
    8a327a41cdce40933b977f7c6662929488bcf83e  64a1b484abb96c91da9aa23e0e45576749f6cdfe
    3a8956f9cb85184ae2b8202d7a733124a0d3f95f  9599590f67c24f70c400b967d162095c63f6af61
    2f5c323be4a44b80cf9e39d51210776146a77cbd  1632c88ba08c62966c1f0b1578741d8af007e6fd
    118ba081389cfd80b38c9c691fd6d75f6497dcb5  274e70679b83bcac3dee3599bd9389a3332462ec
    38aa5d1f2a8dfc8ea97c0fdce8feae7e37795533  5317fa43b79e4251fcbcff2b4f1243a961ac00fe
    902cfd395fb03d6147813560ac5fcd7146702a1d  463c6f48a06730c29f89b2f376e68dc805df5cc9
    e373f154dbeacc5a0e83b4ec73c3aa316239c029  5386a63bfb2f14cab99874e7c414e1a418b01f67
    006a1e94075e90fccfe248cd66bf7d0586a86279  84960925108eb2b5950d4c299b15b18893e0c0d0
    19a0280d7dabd4ca637d8070cc7d3691a0e85bd1  909dce458d4bbef6710c2b4a67cd906902bb7f3f
    c06e29dae4bb290fd2849f69da1bfa940c5a8222  5bed750baa5d782427e98550d34124f569e2fff8
    714866be200b882be437375006180456284bab1c  9c7dd654512b8f51af15d50dd75a515566723be7
    9f070f7ad0952c61b4ee66d2a01ff1bdf7ade0a8  cad7ab1e1ab1dde8ff4ba349cd5b1a05bbd32b05
    faaac8558431c80a6b8fbcf2c8f17f16d8602ab6  1386bd16b0fd796314d9ad70aede0946bd5c46bd
    92bf96961c09d7df6b1bfea72eb8a107bcf9e221  d546193ee543a5b1a0a097d0a7deca76e81b7de2
    0a0cdc0c44dd8b4fb44d8a859962c40c593e98eb  f196233257d247c94550cf822b91bc3c9d8a7f8f
    1206813d47e8602f08cbeaf27e73453e089e7c52  834a21a7cadce64889856a2a7521440a1519e244
    d611c869eb12e7fff5754be31775f82200ec958b  b46ece18a424eaea3f396ddae7e45e91d1c0e742
    436e217c7858888702d2b6d9e655597ccadb7281  f196c27faf265cd14d8d7accf58e87b4df3c8a91
    7a0ce2805258e8ac061202904379692d53d5dc95  cf2f0e8c6752c401f152a8e534ba166839d4307e
    774074bb2bbd3bc07f7094cdce0935eca7520725  a0057b13fa4b6bed8aee3132001e79a245efabc8
    143880db086c617b843340ca7023a879507761f8  0a4da3b86eb69f0f09b802a55e36fa9cf1bbf38c
    556eaa133e9cfe7f4c8e542708119fdfd311357e  e6b350a1d48ca0490b7a3447bb8d0a4235514b76
    b7374fe09306c495131cf3673addb76a1dcf017d  3034705b6679bff1802c4180b7b4711b94fed7f9
    be16d00a8a4750028073e018ab2c58d54af192c4  c3b361c45ac8dd898d5c83a161abed5fc138b6c0
    28a772cab50b1064e317aedbe4689aea286b1ec4  6933ec28be3dac0dc17cd634c663db3b4818caad