- Move src/, tests/, bin/, generated/, proto/, composer.json, composer.lock, phpunit.xml from php/ to repo root - Move ref/ to doc/reference_samples/ for better organization - Remove vendor/ from git tracking (now properly gitignored) - Update all test file paths (dirname adjustments and ref/ -> doc/reference_samples/) - Update all documentation paths (AGENTS.md, doc/*.md) - Remove php.bak/ directory - All 252 tests pass
1.2 KiB
1.2 KiB
Architectural Decisions
Decisions Made
Proto Version Choice
- Decision: Use greyshirtguy/ProPresenter7-Proto v7.16.2
- Reason: Field numbers match Test.pro raw decode perfectly
- Source: Metis analysis + typed decode validation in T2
RTF Handling
- Getters: Plain text only (via RtfExtractor)
- Internal: Raw RTF preserved for round-trip integrity
- Write: Template-clone approach (preserve formatting, swap text only)
Scope Boundaries
-
IN: Read+write existing content, parse all reference files
-
OUT: Creating new slides/groups from scratch, Laravel integration, playlist formats
-
2026-03-01 task-2 autoload decision: added
GPBMetadata\=>generated/GPBMetadata/tocomposer.jsonso generatedRv\Dataclasses can initialize descriptor metadata at runtime. -
2026-03-01 task-2 ZIP64 repair strategy: patch archive headers in-memory only (no recompression), applying deterministic EOCD/ZIP64 size corrections before any
ZipArchiveaccess. -
2026-03-01 21:23:59 - ProPlaylist integration tests use temp files via tempnam() tracked in class state and cleaned in tearDown() to guarantee cleanup across all test methods.