4d9aefd4c2
docs(01-01): complete foundations plan — catalog + iOS flags + invariants
...
Summarizes Plan 01-01 execution:
- 3 task commits (b609cb6 , d873c31 , aaa8042 )
- 1 Rule 3 auto-fix (refined verify-no-version-literals.sh to
exclude top-level project-version metadata while still
catching indented library/plugin version literals)
- Self-check PASSED (all files + commits verified)
Requirements: INFRA-01, INFRA-03
2026-04-24 18:18:20 +02:00
aaa8042aee
feat(01-01): add Phase 1 invariant verification scripts
...
Three executable bash scripts under tools/ that Wave 0 and every
subsequent Phase 1 plan's <automated> block rely on:
- verify-no-version-literals.sh (INFRA-01 SC#2 / D-09): no literal
library/plugin version strings in any *.gradle.kts. Excludes
build-logic/build.gradle.kts (needs asDependency() literals) and
top-level project-version assignments ("^version = \"x.y.z\"")
which are artifact metadata, not library pins.
- verify-shared-pure.sh (INFRA-06 / D-19): shared/commonMain must
not import Ktor/Compose/SQLDelight. Returns OK if the directory
does not exist yet (pre-scaffold tolerance for Plan 07).
- verify-ios-flags.sh (INFRA-03 / D-18): both K/N iOS binary flags
present in gradle.properties.
All three use bash (#!/usr/bin/env bash + set -euo pipefail) and
are marked chmod +x. Scripts exit 0 against the current repo state.
2026-04-24 18:16:29 +02:00
d873c31e19
feat(01-01): add iOS Kotlin/Native binary flags to gradle.properties
...
- kotlin.native.binary.gc=cms (concurrent mark-sweep collector)
- kotlin.native.binary.objcDisposeOnMain=false (off-main-thread
Obj-C deinit) — avoids UI-thread pause spikes in CMP on iOS
- Enforces INFRA-03 / D-18 / CLAUDE.md convention #7 /
PITFALLS.md #1 on day 1 before any iOS code is compiled
2026-04-24 18:14:12 +02:00
b609cb6362
feat(01-01): extend version catalog with Phase 1 aliases
...
- Add versions: flyway=12.4.0, kermit=2.1.0, koin=4.2.1,
kotlinx-serialization=1.7.3, postgresql=42.7.10, spotless=8.4.0
- Add libraries: 5 koin-* (BOM-managed for -core/-compose/-
composeViewmodel/-android), kermit, 2 ktor server-side
(content-negotiation + kotlinx-json), 2 flyway (core + postgres
database module), postgresql JDBC driver
- Add plugins: spotless (Diffplug) + flywayPlugin
- No existing version refs modified; additive only (D-09)
2026-04-24 18:13:49 +02:00
875055a5ef
docs(state): begin Phase 1 execution
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 18:11:29 +02:00
8ef2dbfae4
chore: clear auto-chain flag before phase 1 execution
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 18:11:14 +02:00
0ca22f9e36
Plan phase 1
2026-04-24 18:08:36 +02:00
d104d3da87
refactor(01): address plan-checker revisions (1 blocker, 5 warnings)
...
- 01-02: wave 1→2, depends_on [01]; drop unused androidLibrary classpath
entry; guard Kotlin compilerOptions with plugins.withId listeners
- 01-05: remove misleading 'gradle exit' echo from verify block
- 01-06: harden credential check on docker-compose.yml alone
- 01-07: drop hardcoded /Users/rwilk/dev/repo/recipe cd prefix
- 01-RESEARCH: rename Open Questions → (RESOLVED); replace
'Recommendation:' with 'RESOLVED:' per gsd Dimension 11 convention
2026-04-24 16:40:32 +02:00
d6cec3fe07
Plan phase 1
2026-04-24 16:21:25 +02:00
7ac1555a4c
docs(01): add validation strategy
2026-04-24 15:46:08 +02:00
6f9d7d7ee5
docs(01): research phase infrastructure domain
...
Capture Phase 1 research covering build-logic convention plugin mechanics,
Koin/Kermit bootstrap for CMP+iOS, Ktor /health + Flyway wiring, version
catalog access from precompiled plugins, iOS K/N binary flags, and
validation commands mapped to all 5 roadmap success criteria + INFRA-01/02/03/06.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 15:43:29 +02:00
9738621f77
docs(state): record phase 1 context session
2026-04-24 15:27:17 +02:00
68e4a5637a
docs(01): capture phase context
2026-04-24 15:27:13 +02:00
c50d747cf6
Fix hot reload for desktop target
2026-04-24 14:11:23 +02:00
761958208e
docs: update out of scope plans
2026-04-24 13:48:55 +02:00
f5a650040e
docs: update household information
2026-04-24 13:37:36 +02:00
7aef40ca14
docs: add CLAUDE.md with project guidance
2026-04-24 13:14:30 +02:00
30dfb0b4e4
docs: create roadmap (11 phases)
2026-04-24 13:02:44 +02:00
2115d89ba3
docs: define v1 requirements
2026-04-24 12:58:05 +02:00
fe96b26019
docs: research summary
2026-04-24 12:56:13 +02:00
4d964d933d
docs: pitfalls research
2026-04-24 12:54:05 +02:00
d8819e02f0
docs: architecture research
2026-04-24 12:48:12 +02:00
4919f9f866
chore: add project config
2026-04-24 11:47:24 +02:00
2e595705fe
docs: record locked tech-stack decisions
2026-04-24 11:47:24 +02:00
0c87978547
docs: initialize project
2026-04-23 23:33:33 +02:00
bf8b46bff2
Initial commit
2026-04-23 22:50:48 +02:00