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
This commit is contained in:
Matthew Raymer
2025-12-22 10:56:00 +00:00
parent 3f15352d8f
commit eb1fc9f220
85 changed files with 5199 additions and 10989 deletions

View File

@@ -20,8 +20,8 @@
"lint": "eslint . --ext .ts",
"lint-fix": "eslint . --ext .ts --fix",
"format": "prettier --write \"src/**/*.ts\"",
"markdown:check": "markdownlint-cli2 \"doc/*.md\" \"*.md\"",
"markdown:fix": "markdownlint-cli2 --fix \"doc/*.md\" \"*.md\"",
"markdown:check": "markdownlint-cli2 \"docs/**/*.md\" \"*.md\"",
"markdown:fix": "markdownlint-cli2 --fix \"docs/**/*.md\" \"*.md\"",
"typecheck": "tsc --noEmit",
"size:check": "node scripts/check-bundle-size.js",
"api:check": "node scripts/check-api-changes.js",
@@ -60,9 +60,13 @@
"require": "./dist/plugin.js"
},
"./web": {
"types": "./dist/esm/web/index.d.ts",
"import": "./dist/esm/web/index.js",
"require": "./dist/web/index.js"
"types": "./dist/esm/web.d.ts",
"import": "./dist/esm/web.js",
"require": "./dist/esm/web.js"
},
"./core": {
"types": "./dist/esm/core/index.d.ts",
"import": "./dist/esm/core/index.js"
}
},
"sideEffects": false,
@@ -94,9 +98,18 @@
},
"files": [
"dist/",
"ios/",
"android/",
"DailyNotificationPlugin.podspec"
"ios/Plugin/",
"ios/Tests/",
"ios/*.podspec",
"ios/*.xcodeproj/",
"ios/*.xcworkspace/",
"ios/project.yml",
"ios/Podfile",
"ios/Podfile.lock",
"CapacitorDailyNotification.podspec",
"README.md",
"LICENSE"
],
"capacitor": {
"ios": {