51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
|
|
# staging/chatchat — CarbonChat → ChatChat migration bundle
|
||
|
|
|
||
|
|
Staged but **not deployed**. Swap awaits operator final go.
|
||
|
|
|
||
|
|
See `../../docs/MIGRATION-PLAN-CHATCHAT.md` for the full plan, risk register, smoke checklist, and rollback procedure.
|
||
|
|
|
||
|
|
## Layout
|
||
|
|
|
||
|
|
```
|
||
|
|
.
|
||
|
|
├── README.md ← this file
|
||
|
|
├── build/
|
||
|
|
│ ├── build.sh ← reproducible podman build (temurin 21 + gradle 8.10)
|
||
|
|
│ └── *.jar ← gitignored; (re)create via ./build.sh
|
||
|
|
├── configs/
|
||
|
|
│ ├── channels.yml ← global channel; per-recipient render = bug fix
|
||
|
|
│ ├── extensions.yml ← addons (DSRV bridging off, Ess vanish on)
|
||
|
|
│ ├── formats.yml ← console + default fallback formats
|
||
|
|
│ └── settings.yml ← PMs, mentions, item-format
|
||
|
|
└── scripts/
|
||
|
|
├── lp-migration.sh ← Carbon → ChatChat perm grants on `default` group
|
||
|
|
├── lp-rollback.sh ← reverse of lp-migration.sh
|
||
|
|
├── rollback.sh ← full revert (stop, restore, perms, start)
|
||
|
|
└── swap.sh ← full forward orchestrator with confirm gates
|
||
|
|
```
|
||
|
|
|
||
|
|
## Quick reference
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 1. Build (or rebuild) the JAR
|
||
|
|
./build/build.sh
|
||
|
|
|
||
|
|
# 2. Preview the swap (read-only — opens scripts in $PAGER)
|
||
|
|
${PAGER:-less} scripts/swap.sh
|
||
|
|
|
||
|
|
# 3. Execute the swap (operator-driven, confirm gates inline)
|
||
|
|
./scripts/swap.sh
|
||
|
|
|
||
|
|
# 4. If smoke fails:
|
||
|
|
./scripts/rollback.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
## Why this is staged not committed-as-live
|
||
|
|
|
||
|
|
Per CLAUDE.md feedback rules:
|
||
|
|
- Don't touch live `/data/plugins/CarbonChat` until operator says "swap now".
|
||
|
|
- LP rank prefixes/suffixes are operator-managed; this migration only touches
|
||
|
|
`chatchat.*` and `carbon.*` permission nodes on the `default` group.
|
||
|
|
- Build JAR is gitignored — rebuild deterministically from upstream HEAD via
|
||
|
|
`build/build.sh`.
|