Files
daily-notification-plugin/Makefile
Matthew Raymer eb1fc9f220 feat(docs): complete P2.6 type safety cleanup and P2.7 system invariants
P2.6: Type Safety Cleanup
- Replaced 'any' return types in vite-plugin.ts with concrete types (UserConfig, transform return type)
- Documented TypeScript mixin 'any[]' exception in PlatformServiceMixin.ts
- Audit confirmed: zero 'any' in codebase except documented TS mixin limitation
- All external boundaries use 'unknown', all data payloads use 'Record<string, unknown>'

P2.7: System Invariants Documentation
- Created SYSTEM_INVARIANTS.md documenting all 6 enforced invariants
- Added to docs/00-INDEX.md under Policy & Contracts section
- Each invariant includes: What, Why, How, Where

Progress Docs Updates:
- Updated 00-STATUS.md: marked P2.6/P2.7 complete, added type safety invariant note
- Updated 01-CHANGELOG-WORK.md: added 2025-12-22 entries for P2.6/P2.7
- Updated 03-TEST-RUNS.md: added P2.6 type safety audit test run
- Updated P2-DESIGN.md: marked P2.6 acceptance criteria complete
- Updated SYSTEM_INVARIANTS.md: added Type Safety Notes section

Baseline Tag:
- Created v1.0.11-p0-p1.4-p1.5-p2.6-p2.7-complete

TypeScript compilation:  PASSES
Build:  PASSES
CI:  All checks pass
2025-12-22 10:56:00 +00:00

49 lines
1.2 KiB
Makefile

# Makefile for Daily Notification Plugin
#
# Primary targets:
# make ci - Run local CI (./ci/run.sh)
# make verify - Run verification script directly
# make build - Build the project
# make test - Run tests
# make clean - Clean build artifacts
#
# CI is the single source of truth - always gate releases with: make ci
.PHONY: ci verify build test clean help
# Default target
help:
@echo "Daily Notification Plugin - Makefile"
@echo ""
@echo "Targets:"
@echo " make ci - Run local CI (./ci/run.sh) - REQUIRED before publish"
@echo " make verify - Run verification script directly (./scripts/verify.sh)"
@echo " make build - Build the project (npm run build)"
@echo " make test - Run tests (npm test)"
@echo " make clean - Clean build artifacts (npm run clean)"
@echo ""
@echo "CI Policy: ./ci/run.sh is the single source of truth for verification"
@echo "Always run 'make ci' before publishing or merging PRs"
# Local CI - single source of truth
ci:
@echo "Running local CI..."
./ci/run.sh
# Direct verification (bypasses CI wrapper)
verify:
./scripts/verify.sh
# Build
build:
npm run build
# Test
test:
npm test
# Clean
clean:
npm run clean