Notechondria

Version: 0.1.27 Build Date: 2026-04-18T05:00

What's Changed

§1.7 migration: Planner.Auth and Portal.Auth rounds

Brings the planner and portal apps to parity with the Editor.Auth round landed in 0.1.26. Every user-visible auth surface now emits the canonical "<consequence>: <module>/<process> \u2014 <cause>" shape documented in docs/AGENTS.md.

Planner auth methods migrated (frontend/planner_app/lib/app_shell.dart):

  • _register \u2192 Planner.Auth/register
  • _verify \u2192 Planner.Auth/verify
  • _resendVerification \u2192 Planner.Auth/resend_verification
  • _login \u2192 Planner.Auth/login
  • _requestPasswordReset \u2192 Planner.Auth/password.reset.request
  • _confirmPasswordReset \u2192 Planner.Auth/password.reset.confirm
  • _applyAuthPayload success \u2192 Planner.Auth/applyAuthPayload
  • _applyAuthPayload settings-bootstrap fallback \u2192 Planner.Sync.Settings/bootstrap
  • _logout \u2192 Planner.Auth/logout
  • _launchOAuth + _handleOAuthCallback \u2192 Planner.Auth/oauth.launch, Planner.Auth/oauth.callback, Planner.Auth/bind

Portal auth methods migrated (frontend/portal_app/lib/app_shell.dart): same list with Portal.Auth/* sources and Portal.Sync.Settings/bootstrap.

Preserved parser sentinels

  • not_registered and No account found are still matched by the OAuth-callback branch selector in both apps, and both substrings now appear inside the \u00a71.7-shaped log line so the session-rejection / registration-prompt detectors continue to work.
  • invalid token, authentication credentials were not provided, and token_not_valid pass through the cause tail of _login / _applyAuthPayload errors unchanged.

Files Changed

New

  • docs/versions/0.1.27.md (this file).

Modified

  • VERSION: 0.1.26 \u2192 0.1.27.
  • docs/TODO.md: \u00a71.7 migration checklist updated to mark Planner.Auth / Portal.Auth done.
  • frontend/planner_app/lib/app_shell.dart: 9 auth-related messages rewritten to \u00a71.7 shape; OAuth launch + callback + bind branches now use structured _log(...) calls instead of _appendUiLog string concatenation.
  • frontend/portal_app/lib/app_shell.dart: same migration.

Verification

  • flutter analyze on editor / planner / portal: issue count unchanged vs 0.1.26.
  • flutter test test/smoke_test.dart -r compact on all three apps: pass.

Notes / follow-ups

  • Still open in docs/TODO.md \u00a7"\u00a71.7 message-compliance migration": Editor.Sync.*, Editor.LocalStore, Editor.UI rounds (the cosmetic info logs); Planner.Sync.*, Planner.UI; Portal.Sync.*, Portal.UI; Shared.AuthDialog; and the Backend.Notes / Backend.Mcp / Backend.Gptutils rounds.
  • Planner and portal still use the legacy _appendUiLog(String) wrapper for non-Auth call sites (category CRUD, sync failures, starter workspace seeding). Those will be migrated in their module-specific rounds to keep each commit small and reviewable.