62220186af
- New ExternalImportSource and ExternalWorkHistoryEntry models, controller and migrations - Screening fields on external profile imports - Admin and provider profile views, routes and workflow tests updated - Phase 1 validation, route inventory, gap report template and roadmap docs - Add the Google Sheets work-order parser tool (tools/google-sheets-wo-parser)
89 lines
9.0 KiB
Markdown
89 lines
9.0 KiB
Markdown
# Changelog
|
|
|
|
All notable project changes should be recorded here before or with the matching Git commit.
|
|
|
|
This project uses Git as the primary rollback trail. The `.old` convention is reserved for risky manual rewrites, legacy file replacement, or generated artifact recovery where a second local copy is useful before editing.
|
|
|
|
If `.old` snapshots are created, move them to an external archive safe outside the repo once the corresponding Git history is committed and pushed.
|
|
|
|
## 2026-07-18
|
|
|
|
### Added
|
|
|
|
- Added `docs/ROADMAP_CURRENT.md` as the current forward roadmap from the existing prototype toward the provider-centered exchange vision.
|
|
- Added Phase 1 validation artifacts: workflow checklist, gap-report template, and route/surface inventory.
|
|
- Added `docs/URGENT_IMPORT_ROADMAP.md` to promote Field Nation and WorkMarket history import into an immediate implementation lane.
|
|
- Added the first urgent import implementation pass with private import source batches for provider-owned Field Nation/WorkMarket proof, provider upload UI, admin visibility, and audit logging.
|
|
- Added first-pass text parsing and approval from private Field Nation source material into imported-history summaries.
|
|
- Added structured imported screening fields and external work-history rows so Field Nation background/drug-screening status and paginated job history can display in provider import workspaces.
|
|
- Added Field Nation work-history CSV parsing, approval, and redacted public-profile display for recent imported external jobs.
|
|
- Added `docs/FIELD_NATION_ACCESS_RESEARCH.md` to record the API-vs-logged-in-source import decision.
|
|
- Added seeded validation jobs for a clear remote networking workflow and a risky smart-hands workflow so buyer/provider walkthroughs can test filters, scope clarity, and risk suppression beyond the default assigned POS job.
|
|
|
|
### Verified
|
|
|
|
- `php artisan test` passed with 61 tests and 347 assertions after the first source-vault parser pass.
|
|
- `npm.cmd run build` passed with a production Vite build.
|
|
- `php artisan migrate:fresh --seed --env=testing` passed.
|
|
|
|
## 2026-07-11
|
|
|
|
### Changed
|
|
|
|
- Moved the canonical project remote from GitHub to Christ IT Gitea at `https://git.christit.com/technical-services-exchange/technical-services-exchange.git`.
|
|
- Updated installer defaults and deployment documentation so future installs and updates pull from Christ IT Gitea.
|
|
- Formalized the backup convention: Git is the normal rollback trail, and any future `.old` snapshots should be moved to an external safe outside the workspace instead of retained in the repo.
|
|
|
|
## 2026-07-10
|
|
|
|
### Added
|
|
|
|
- Added a Phase 1 UI system pass with dark/light theme support, shared page/action/stat components, a product-focused home page, and a more useful dashboard.
|
|
- Added roadmap guardrails for open-source-friendly dependencies, public themes, and future license audits.
|
|
- Documented `pdo_sqlite` and `sqlite3` as required PHP extensions for SQLite-backed local tests and first-pass deployments.
|
|
- Documented the preferred local-to-Gitea-to-remote-update workflow and the ChristIT conversion from rsync test deploy to Git checkout.
|
|
- Added Phase 2 directory quality improvements with advanced provider/buyer filters, sort controls, profile badges, rating-aware cards, result counts, and empty states.
|
|
- Added Phase 3 asset and storage management with configurable attachment disk/root/size/MIME policy, image previews, file metadata display, attachment deletion, update-script storage linking, and upload policy tests.
|
|
- Added Phase 4 work-order and profile depth with structured work-order setup, checklist completion, evidence rules, change requests, print packets, structured provider services/tools/certifications, structured buyer policies/locations, and public/private profile section controls.
|
|
- Added Phase 5 reputation governance with explicit review category definitions, buyer/provider-specific review dimensions, reviewee responses, review report flow, admin moderation controls, moderation status tracking, a review edit window, and imported-history labeling.
|
|
- Added Phase 6/7 scope and contact safeguards with structured job scope fields, scope clarity and risk badges, support/contact certification, work-order scope/contact snapshots, first-class change requests, contact/support event logging, reason-coded disputes, and print-packet support.
|
|
- Added Phase 8/9 marketplace matching with a dense available-work board, category/level/safety filters, technician level definitions, normalized taxonomy terms, provider tag assignment, and self-declared evidence-source tracking.
|
|
- Added the guided imported-history wizard with structured work categories, imported endorsements, operational metrics, selected review excerpts, public visibility controls, proof attachments, and admin verification status.
|
|
- Added post-work provider tag verification so buyers can confirm/dispute observed technician level and declared provider tags after completed work orders, with buyer-endorsed tag evidence shown on provider profiles.
|
|
- Added Phase 11A mobile-safe API actions with versioned work-order endpoints, token ability checks, participant authorization, checklist/status/message/evidence/contact/running-late/schedule/dispute actions, mobile event audit records, optional geolocation evidence, API throttling, and baseline security headers.
|
|
- Added Phase 12A/13A notification and admin governance controls with notification preference UI, event-level notification gating, moderation reports for profiles/jobs/attachments, reusable audit logs, and expanded admin triage panels.
|
|
- Added Phase 14A deployment/scaling hardening with high-use database indexes, backup and health-check scripts, optional pre-update backups, and production notes for queue workers, scheduler, PHP-FPM, Redis, storage scaling, log rotation, and database scaling.
|
|
- Added Phase 15A UX/accessibility polish with shared empty states and controls, labeled job filters, active filter badges, mobile job cards, dense work-order table, direct print access, mobile navigation accessibility, and improved work-order print packets.
|
|
- Created the Laravel Provider Exchange prototype with Breeze authentication, seeded demo users, and role support for admins, providers, buyers, and hybrid accounts.
|
|
- Added provider and buyer profile management with service areas, profile details, and external profile snapshot records.
|
|
- Added social posts, buyer job posts, provider quotes, quote revisions, quote decline flow, and buyer quote acceptance.
|
|
- Added work orders with buyer/provider participants, status transitions, deliverables, evidence attachments, completion notes, and work-order messages.
|
|
- Added mutual reviews, category review metrics, peer-review disputes, dispute comments, evidence files, and structured dispute votes.
|
|
- Added database notifications and a notification inbox with unread counts and mark-read actions.
|
|
- Added a universal polymorphic rating layer for provider profiles, buyer profiles, job posts, work orders, and disputes.
|
|
- Added search/filter forms for provider, buyer, and job directories.
|
|
- Added MIT license and first-pass open-source/platform guardrails.
|
|
- Added deployment documentation covering runtime requirements, ChristIT `/tse` deployment assumptions, and remote change tracking.
|
|
- Added optional route base-path config and a checked-in Nginx helper for the ChristIT `/tse` Laravel deployment.
|
|
- Added first-pass Ubuntu install and update scripts for Git-backed deployments.
|
|
|
|
### Verified
|
|
|
|
- `php artisan test` passed with 35 tests and 116 assertions.
|
|
- `php artisan test` passed under WSL with 44 tests and 195 assertions after Phase 5.
|
|
- `php artisan test` passed under Windows PHP with 46 tests and 216 assertions after enabling `pdo_sqlite`, `sqlite3`, `fileinfo`, and `gd` in `C:\tools\php85\php.ini`.
|
|
- `php artisan test` passed under Windows PHP with 48 tests and 228 assertions after Phase 8/9.
|
|
- `php artisan test` passed under Windows PHP with 49 tests and 239 assertions after the guided imported-history wizard.
|
|
- `php artisan test` passed under Windows PHP with 51 tests and 256 assertions after post-work provider tag verification.
|
|
- `php artisan test` passed under Windows PHP with 55 tests and 285 assertions after Phase 11A mobile API and security hardening.
|
|
- `php artisan test` passed under Windows PHP with 57 tests and 301 assertions after Phase 12A/13A notification preferences and admin governance.
|
|
- `php artisan migrate:fresh --seed --env=testing`, `php artisan test` with 57 tests and 301 assertions, `npm run build`, and `bash scripts/health-check.sh` passed after Phase 14A deployment/scaling hardening.
|
|
- `php artisan test` with 57 tests and 301 assertions and `npm run build` passed after Phase 15A UX/accessibility polish.
|
|
- `npm run build` passed with a production Vite build.
|
|
- `https://christit.com/tse/login` loads publicly.
|
|
- Seeded admin login succeeds on `https://christit.com/tse` and reaches `/tse/dashboard`.
|
|
|
|
### Notes
|
|
|
|
- Existing Git subjects are terse because commit message input in this environment repeatedly collapsed longer subjects to `Add`. This changelog is the durable human-readable record for those early commits.
|