Cline
9dd8c07e66
docs: add issue/evidence reconciliation table (2026-10-14)
2026-10-13 20:22:15 -05:00
Cline
4d10f4fb2b
docs: update project-status with merge and issue closure (2026-10-14)
2026-10-13 20:14:18 -05:00
Cline
46d347b2d2
docs: update project-status with integration status (2026-10-14)
2026-10-13 19:45:48 -05:00
Cline
a829d6e8c6
feat: catalog shared contracts (Tasks 1-4)
...
Task 1: Establish catalog identity and atomic file ownership
- CatalogService, CatalogServiceInterface, ModelMetadata DTO
- PdoCatalogRepository with atomic operations, savepoint support
- FOR UPDATE file locks in ascending order, FOR NO KEY UPDATE for metadata
- FK-compatible lock composition documented (spec §6)
Task 2: M3 import & indexing engine delivery layer
- ImportService, ImportWorker with durable collision handling
- SpaceChecker, StreamingHasher, VerifiedCopier, StlValidator
- FileEnumerator, LocalFilesystem, PathSafety
- Console command wiring via ContainerWiringTest
Task 3: Importer integration and repair
- LegacyGuessedImportGroupingAdapter isolates first-directory guessing
- ImportService uses adapter; ImportWorker uses CatalogServiceInterface
- Null owners remain null; DomainException mapped to CATALOG_CONFLICT
- SQL failure after registration/path update with caller sentinel rollback
Task 4: PostgreSQL contention evidence and bounded acceptance
- 6 new PostgresCatalogContractsTest cases with independent sessions
- Generated schemas, 250ms lock timeouts, 5s statement timeouts
- Ascending file locks, FOR SHARE contention, stale-owner rejection
- Rollback/retry, nested transaction survival, root creation contention
- Negative controls: replay FOR UPDATE removal (11 failures), metadata FOR UPDATE (4 FK KEY SHARE timeouts)
- Fresh Docker PostgreSQL 17 / PHP 8.4.26: 473 tests, 2718 assertions, 10 skips, exit 0
All local: 474 tests, 2347 assertions, 54 skips, foundation/lint clean.
2026-10-13 19:41:03 -05:00
Cline
6b9fb54b4f
feat: establish catalog identity and atomic file ownership
2026-10-12 19:38:38 -05:00
Cline
390a7a557a
docs: reconcile milestone acceptance and propose catalog core design
2026-10-12 13:58:24 -05:00
Cline
c1ef2ee97a
test: validate M3 imports and locking on PostgreSQL
...
Add isolated PostgreSQL fixtures, two-session locking coverage, and a disposable remote Docker test runner. Correct the canonical-root fixture and document verified SQLite and PostgreSQL results.
2026-10-12 13:19:10 -05:00
Cline
9d277d9e72
feat: M3 import & indexing engine delivery layer with durable collision handling, space checking and console
2026-10-12 11:29:17 -05:00
Keith Solomon
93d991703c
feat: M2 database migration runner with Phinx and initial schema
2026-10-11 18:05:23 -05:00
Keith Solomon
d3e8cf8fae
build: M1 Dockerized development stack with PHP skeleton, config/logging, Tailwind assets, and wrappers
...
Implements MeshVault M1 (issues #6–11):
- Four-service Docker Compose stack (nginx, PHP-FPM 8.3, PostgreSQL 17, Node assets)
- Slim 4 + PHP-DI routing with escaped PHP views and production/dev error handling
- Immutable validated AppConfig with redacted diagnostics
- JSON stdout Monolog logging with job-scoped context
- Tailwind CSS v4 deterministic locked builds with template scanning
- POSIX and PowerShell dev wrappers (up/down/test/lint/assets/watch)
- Startup config validation fails before FPM serves as unprivileged www-data
- migrate/seed explicitly unavailable until M2 (#12 ); #10 remains open
Verified via clean-start acceptance on remote host (keith@192.168 .2.23).
2026-10-11 16:45:45 -05:00
Keith Solomon
c2747a5762
🔵 other: Add cropped icon
2026-10-10 21:51:42 -05:00
Keith Solomon
c6cb3cec89
chore: establish M0 project foundations
...
Document accepted MVP decisions, add AGPL-3.0-only licensing, scaffold repository boundaries, and configure verified PSR-12 and foundation checks.
Refs #1 , #2 , #3 , #4 , #5
2026-10-10 19:52:36 -05:00
Keith Solomon
e6a00e805c
🔵 other: Add assets folder and icon
2026-10-10 17:58:04 -05:00
Keith Solomon
6b7dcb731f
🔵 other: Update project name
2026-10-10 12:44:39 -05:00
Keith Solomon
a72f13edfd
🔵 other: Basic .gitignore
2026-10-10 12:22:07 -05:00
Keith Solomon
c3d424730b
Initial commit
2026-10-10 08:55:11 -05:00