The repository now lives under the tiennm99 account, so the published
site base is https://tiennm99.github.io/ai-coding-workflow-labs/.
Repo-path Pages do not redirect across owners, so the old host URL is
gone rather than forwarded.
chore: update vulnerable dependencies and add Maven CI
Bump jackson-databind 2.15.2 -> 2.22.1, logback-classic 1.4.8 -> 1.5.38,
slf4j-api 2.0.7 -> 2.0.17, and netty-all 4.1.94 -> 4.1.136 to clear all
open Dependabot security advisories.
Add a GitHub Actions workflow building on JDK 11, and a .gitignore for
Maven/IDE artifacts.
@
gstack moved to npm on 2026-08-17 and ships package-lock.json with no
bun.lock, but the Pages workflow still installed bun and ran
"bun install --frozen-lockfile". Builds stayed green only because bun
falls back to consuming package-lock.json, so the mismatch never
surfaced. Its six sibling subprojects already use npm ci.
Verified locally: npm ci && npm run build produces the same 4 pages plus
the sitemap.
- Human verification passed for all Phase 1 requirements
- PEOPLE-01 through PEOPLE-04 confirmed working
- 20/20 automated tests passing
- Phase 1 Bill Entry & Assignment complete
- Subscribes to store.items signal
- Displays each item with name and formatted price
- Includes ItemAssign component for each item
- Shows empty state when no items added
- Multi-select checkbox UI for each person
- Reflects current assignment state
- Toggles person on/off when clicked
- Calls store.setAssignment on change
- Shows hint when no people added
- Controlled form with name and price inputs
- Calls store.addItem on form submit
- Shows error message on validation failure
- Clears inputs on successful add
- Created 01-03-SUMMARY.md with full execution documentation
- Updated STATE.md position to Plan 3 of 5 (60% progress)
- Added decisions: controlled forms, signal access pattern
- All 3 tasks committed atomically
- Created 01-02-SUMMARY.md documenting currency utilities and billStore
- Updated ROADMAP.md to mark 01-02 as complete (2/5 plans done)
- All tests passing (20/20)
- Created SUMMARY.md with execution details and deviations
- Updated STATE.md with plan completion metrics
- Updated ROADMAP.md with plan 01-01 progress
- Marked PEOPLE-01 through PEOPLE-04 as complete in REQUIREMENTS.md
- Subscribes to store.people signal
- Renders list of person names with unique keys
- Shows empty state when no people added
- Preact Signals auto-track dependencies in components
- Controlled form with useState for local state
- Calls store.addPerson on form submit
- Shows error message if addPerson fails
- Clears input on successful add
- Uses Preact hooks for form state management
- Add package.json with Vitest, jsdom, Vite, and Preact dependencies
- Configure Vitest with jsdom environment for component testing
- Create test stubs for billStore (PEOPLE-01, PEOPLE-02, PEOPLE-03, PEOPLE-04)
- Create test stubs for currency utilities (dollarsToCents, centsToDollars, formatCurrency)
- Add vitest.config.js with jsdom environment and global test APIs
- Install vitest and jsdom as dev dependencies
- Add test scripts (test, test:run) to package.json
Archive and finalize v1.0 milestone and planning artifacts: add MILESTONES.md, milestone archives (v1.0-ROADMAP.md, v1.0-REQUIREMENTS.md), verification and phase artifacts, and update phase/roadmap/project state to mark v1.0 MVP as shipped. Tidy PROJECT and ROADMAP to reflect shipped features and next steps, remove the old REQUIREMENTS.md (moved to milestone archive), and update STATE.md to show milestone completion. Minor code change: expose GridManager.events as public readonly to allow external subscribers. Package metadata: normalize keywords formatting and add an optional dependency entry in package.json for rollup native binary support.
Bug: Game was listening on its own events emitter for 'tilesSelected'
but GridManager emits on its own events emitter.
Fix: Changed listener from this.events to this.gridManager.events
- Enhanced setupCanvas() with viewport-based scaling
- Scale down only, never scales up
- CSS transform for display scaling (preserves coordinates
- Added comprehensive test coverage for responsive scaling behavior
- Enhanced setupCanvas() with viewport-based scaling
- Scale down only on scales to fit viewport on mobile devices
- CSS transform for display scaling (preserves coordinate mapping
- Added comprehensive test coverage for responsive scaling
- Verified coordinate mapping works correctly with CSS transform