mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 20:27:02 +01:00
Three self-contained apps move to their own public repos with full history (8, 14 and 30 commits, each matching the monorepo count): github.com/kuhyx/reverse-survivors github.com/kuhyx/kcd2-dice-solver (cloned to ~/kcd2-dice-solver) github.com/kuhyx/focus-owner Each gained a CI workflow. Only reverse_survivors had one here; the other two were never gated by anything, which is part of why they no longer belong in a repo whose CI is shared. What stayed: setup_kcd2_dice_solver.sh, which deploys the solver rather than being part of it. It now builds from ~/kcd2-dice-solver, and the post-commit hook it generates drops its `git diff -- kcd2_dice_solver/` filter -- in a standalone repo every commit is solver code, so the old filter could never match again. focus_owner's two references to python_pkg.focus_policy now name the phone-focus-mode repo, where that generator is headed. Running the live kcd2 unit -- rather than reading it -- found three real breakages that no amount of grepping would have: pnpm ignoring the package.json "pnpm" field, pnpm refusing to purge node_modules without a TTY, and the Docker container still bind-mounting the deleted monorepo path. All three are fixed; the unit exits 0 and https://dice.kuhy.duckdns.org/ serves the freshly built bundle. Depth violations 417 -> 303. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp
21 lines
2.1 KiB
JSON
21 lines
2.1 KiB
JSON
{
|
|
"title": "Extract reverse_survivors, kcd2_dice_solver and focus_owner to their own public repos",
|
|
"objective": "Move three self-contained applications out of testsAndMisc into their own repositories with full history, give each real CI it never had in the monorepo, and repoint every consumer the monorepo keeps - including the live systemd unit and Docker bind mount that deploy the dice solver.",
|
|
"acceptance_criteria": [
|
|
"Each unit is a public GitHub repo on branch main whose commit count equals the monorepo's count for that path (8, 14, 30).",
|
|
"Each extracted repo passes its own toolchain from a clean clone: npm check+build; pnpm lint+test+build; flutter analyze --fatal-infos + test.",
|
|
"Each extracted repo carries a CI workflow that runs those same commands with no paths filter and no working-directory.",
|
|
"kcd2-dice-build.service starts successfully and exits 0 after being repointed - proven by running it, not by reading it.",
|
|
"https://dice.kuhy.duckdns.org/ returns HTTP 200 and serves the bundle hash produced by that run.",
|
|
"setup_kcd2_dice_solver.sh builds from the extracted repo, and its generated post-commit hook no longer filters on a kcd2_dice_solver/ path that can never match again.",
|
|
"No file outside docs/ or a historical note still points at a removed directory.",
|
|
"The repo-wide pytest gate and pre-commit both still pass, without --no-verify."
|
|
],
|
|
"out_of_scope": [
|
|
"phone_focus_mode and python_pkg/focus_policy, which move together in a later step.",
|
|
"The four system subsystems under periodic_background.",
|
|
"Reformatting focus_owner's Dart sources: the committed tree predates the current formatter and 15 files would change, which belongs in its own commit in the new repo."
|
|
],
|
|
"verifier": "gh api confirms three public repos; standalone clones pass npm/pnpm/flutter checks; systemctl --user start kcd2-dice-build.service exits 0; curl https://dice.kuhy.duckdns.org/ returns 200 with a bundle hash matching dist/; ./meta/scripts/report_live_state.sh shows no unit pointing at a removed path; pre-commit passes."
|
|
}
|