A to-do app that doesn't believe you — an enforcement layer rather than a
neutral ledger.
Architecture ported from Autoreceptives/Frontend/Receptive: stacked MVVM with
the mandatory 4-file screen pattern, one ParentViewModel owning the loading /
network / error overlays and the handleError decision tree, one AppDataManager
gateway, dio comms carrying the three identity headers, secure storage with
random-suffixed keys, and a single-chokepoint Navigator. Package root and Dart
package name are both Grounded; org is nya.
The enforcement engine, one unit per formula in utils/:
- DebtEngine w(class) x severity(d) x decay(t), sublinear severity so old
misses cannot swamp the score; abandonment 2x with 30-day
decay immunity; late complete retains 30%
- StandingEngine Good -> Warned -> Grounded -> Lockdown, derived not set;
Grounded replaces home with the overdue queue
- CapacityEngine blocks over-scheduling against p50 of historically completed
minutes, with a learned per-category estimation multiplier
- IntegrityEngine session integrity, weekly volume, plyometric contact ceiling
and enforced recovery gaps
- ExcuseAnalyser on-device excuse clustering plus the confrontation copy
- GuardrailEngine distress detection and rationed amnesty
- ToneEngine all enforcement copy, so the tone cap lives in one place
CommitmentEvent is append-only and is the source of truth rather than the
status field, which is what makes honest history and excuse analysis possible.
Goals contain commitments via parentId, and a task can be run from a
full-screen runner that derives elapsed time from wall-clock so screen-off
cannot lose time. Backgrounding pauses the clock and is counted. The runner is
mirrored into an ongoing notification, with alarm-class full-screen intents
reserved for non-negotiables.
Design language, fonts, icon and native splash are in place; Mason bricks are
retargeted to this project and verified end-to-end.
flutter analyze lib/ reports no errors.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mfu2gQLSFN21YRBcU2NrTt
122 lines
2.9 KiB
Plaintext
122 lines
2.9 KiB
Plaintext
// Microsoft Visual C++ generated resource script.
|
|
//
|
|
#pragma code_page(65001)
|
|
#include "resource.h"
|
|
|
|
#define APSTUDIO_READONLY_SYMBOLS
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Generated from the TEXTINCLUDE 2 resource.
|
|
//
|
|
#include "winres.h"
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#undef APSTUDIO_READONLY_SYMBOLS
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// English (United States) resources
|
|
|
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|
|
|
#ifdef APSTUDIO_INVOKED
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// TEXTINCLUDE
|
|
//
|
|
|
|
1 TEXTINCLUDE
|
|
BEGIN
|
|
"resource.h\0"
|
|
END
|
|
|
|
2 TEXTINCLUDE
|
|
BEGIN
|
|
"#include ""winres.h""\r\n"
|
|
"\0"
|
|
END
|
|
|
|
3 TEXTINCLUDE
|
|
BEGIN
|
|
"\r\n"
|
|
"\0"
|
|
END
|
|
|
|
#endif // APSTUDIO_INVOKED
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Icon
|
|
//
|
|
|
|
// Icon with lowest ID value placed first to ensure application icon
|
|
// remains consistent on all systems.
|
|
IDI_APP_ICON ICON "resources\\app_icon.ico"
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Version
|
|
//
|
|
|
|
#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD)
|
|
#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD
|
|
#else
|
|
#define VERSION_AS_NUMBER 1,0,0,0
|
|
#endif
|
|
|
|
#if defined(FLUTTER_VERSION)
|
|
#define VERSION_AS_STRING FLUTTER_VERSION
|
|
#else
|
|
#define VERSION_AS_STRING "1.0.0"
|
|
#endif
|
|
|
|
VS_VERSION_INFO VERSIONINFO
|
|
FILEVERSION VERSION_AS_NUMBER
|
|
PRODUCTVERSION VERSION_AS_NUMBER
|
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
#ifdef _DEBUG
|
|
FILEFLAGS VS_FF_DEBUG
|
|
#else
|
|
FILEFLAGS 0x0L
|
|
#endif
|
|
FILEOS VOS__WINDOWS32
|
|
FILETYPE VFT_APP
|
|
FILESUBTYPE 0x0L
|
|
BEGIN
|
|
BLOCK "StringFileInfo"
|
|
BEGIN
|
|
BLOCK "040904e4"
|
|
BEGIN
|
|
VALUE "CompanyName", "nya" "\0"
|
|
VALUE "FileDescription", "grounded" "\0"
|
|
VALUE "FileVersion", VERSION_AS_STRING "\0"
|
|
VALUE "InternalName", "grounded" "\0"
|
|
VALUE "LegalCopyright", "Copyright (C) 2026 nya. All rights reserved." "\0"
|
|
VALUE "OriginalFilename", "grounded.exe" "\0"
|
|
VALUE "ProductName", "grounded" "\0"
|
|
VALUE "ProductVersion", VERSION_AS_STRING "\0"
|
|
END
|
|
END
|
|
BLOCK "VarFileInfo"
|
|
BEGIN
|
|
VALUE "Translation", 0x409, 1252
|
|
END
|
|
END
|
|
|
|
#endif // English (United States) resources
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef APSTUDIO_INVOKED
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Generated from the TEXTINCLUDE 3 resource.
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
#endif // not APSTUDIO_INVOKED
|