testsAndMisc/docs/superpowers/contracts/billsplit-drop-unused-platforms-2026-08-17.json
Krzysztof kuhy Rudnicki fc185b835f
Some checks failed
Pre-commit checks / pre-commit (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run
billsplit CI / quality (push) Has been cancelled
billsplit: drop the four unused platform runner directories
windows/ (18 files), macos/ (28), ios/ (40) and linux/ (10) were flutter
create scaffolding that nothing in this repo builds: billsplit-ci.yml runs
pub get, dart format, analyze, test and the Python coverage gate, with no
flutter build step for any platform, and no script or doc invokes one
either. 96 tracked files, 4188 lines.

This also removes win32_window.cpp (288 lines), the last over-cap C++
file. It could not be split honestly - flutter regenerates it - so
deleting the target it belongs to is the honest way off the list.
Over-cap: 41 -> 40, and the cpp category is now empty.

Unpicked all three references: the .binary-allowlist icon entries and the
.gitignore un-ignore rules that existed only to let those icons past the
binary block, plus the README claim that the repo ships without platform
runner folders (false while 96 were tracked, true again now).

The four dirs are now gitignored so `flutter create` regenerates them
locally without re-tracking them. Verified by actually running
`flutter create . --platforms=linux,windows,macos,ios`: git add -An then
refuses all four as ignored. analyze/test/format stay green, 60 tests.

analysis_options.yaml is deliberately untouched - flutter analyze rewrites
the platform excludes back on every run, so removing them is not durable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-17 11:14:32 +02:00

19 lines
2.2 KiB
JSON

{
"title": "Delete the four unused billsplit platform runner directories",
"objective": "billsplit tracked 96 files of flutter create scaffolding across windows/, macos/, ios/ and linux/ that nothing in the repo builds - CI runs analyze and test only, and no script or doc invokes a platform build. One of those files, windows/runner/win32_window.cpp at 288 lines, was the last over-cap C++ file and could not be honestly split because Flutter regenerates it. Deleting the directories removes it from the over-cap list without hand-editing generated code, and takes the repo from 41 over-cap files to 40. Success means the directories and every reference to them are gone, and a future flutter create cannot silently re-track them.",
"acceptance_criteria": [
"billsplit/windows, billsplit/macos, billsplit/ios and billsplit/linux are removed from git tracking (96 files)",
"check_file_length.sh --all reports 40 over-cap files, down from 41, with no win32_window.cpp entry",
"The three referencing sites are updated: .binary-allowlist icon entries removed, .gitignore un-ignore rules removed, README.md Running section corrected",
"After running flutter create . --platforms=linux,windows,macos,ios for real, git add -An on the four paths adds nothing and reports them as ignored",
"flutter analyze --fatal-infos, flutter test (60 tests) and dart format --set-exit-if-changed remain green, unchanged from the preceding commit"
],
"out_of_scope": [
"billsplit/android/ - the one platform target actually shipped, left tracked",
"Any change to billsplit/lib/ or billsplit/test/",
"billsplit/analysis_options.yaml - Flutter tooling rewrites the platform excludes on every analyze run, so removing the dead entries is not durable",
"The usage_report split work and the bucket_catch eslint errors, both separate commits in this session"
],
"verifier": "bash ~/utils/scripts/check_file_length.sh --all for the over-cap count; cd billsplit && flutter analyze --fatal-infos && flutter test && dart format --set-exit-if-changed . for the CI gates; and flutter create . --platforms=linux,windows,macos,ios followed by git add -An for the resurrection guard, which is the only claim the Flutter gates cannot check."
}