# Wiki Log

Append-only chronological record of changes.

## [2026-09-06] ingest | Initial codebase documentation — Project-Board

Touched: overview.md, index.md, concepts/ddd-layering.md, concepts/cqrs.md, concepts/domain-events.md, concepts/repository-mapper-pattern.md, concepts/validation-strategy.md, concepts/inertia-react-integration.md, concepts/identity-value-objects.md, concepts/custom-generators.md, entities/order.md, entities/board.md, entities/ticket.md, entities/workspace.md, entities/user.md, entities/shared-bases.md

## [2026-09-06] update | Remove the Order demo slice (template code)

The `Order` bounded context was template scaffolding and is no longer part of the project. Removed the domain (`src/Domain/Order/`), application (`Commands/Order`, `Queries/Order`, `DTOs/Order`), infrastructure (model, mapper, repository), `app/Http` controllers/requests/resources, `tests/Feature/OrderApiTest.php`, and the `NotifierInterface` port + `LaravelNotifier` adapter (only used by the demo). Removed the Order/Notifier bindings from `DomainServiceProvider` and the Order routes from `routes/web.php`. Updated README and the `make:*` generator help text.

Touched: entities/order.md (deleted), overview.md, index.md, concepts/cqrs.md, concepts/domain-events.md, concepts/repository-mapper-pattern.md, concepts/validation-strategy.md, concepts/inertia-react-integration.md, concepts/identity-value-objects.md, concepts/custom-generators.md, concepts/ddd-layering.md, entities/shared-bases.md, entities/user.md

## [2026-09-06] ingest | Port the issue-tracking frontend into Project-Board

Ported the `issue-tracking-system` (Plane-style) React SPA into Project-Board as real Inertia routes, following the Inertia-driven data flow (server props + `router.post/put/delete`) and reworking it to fit the existing `resources/js` + DDD structure rather than copying it in.

**Decisions taken:**

- Each view becomes its own URL/page under `/w/{workspace}/...` (overview, issues, issues/{ticket}, time, activity, labels, settings).
- Data flows server-side via Inertia props; mutations hit web controllers that re-render. No JSON-API client, no client-side record store.
- The existing `Ticket` aggregate was extended into the issue model: added `type` (feature/sub-task), `status`, nullable `parent_ticket_id`, `ticket_key`, label ids, and timestamps. New `Label`, `TimeEntry`, and `Activity` bounded contexts were added (each with VO + aggregate + repo interface + mapper + Eloquent model + repo). `Workspace` gained `workspace_key` and `description`. Default board created on workspace creation.
- Session-based web auth added (`Web\Auth\LoginController`); the existing Sanctum `CreateSessionController` remains for a future JSON API.

**Frontend rework:** added Radix shadcn primitives (badge, card, textarea, avatar, dialog, select, alert) and `lucide-react`; rebuilt `templates/app-layout` into the issue-tracker shell; added `domains/issues` module (types, filter store, zod schema) and shared `types/` for issue/workspace/label/time-entry/activity. `DatabaseSeeder` now seeds a workspace, default board, labels, features/sub-tasks, time entries and activity.

Touched: entities/ticket.md, entities/workspace.md, entities/label.md (new), entities/time-entry.md (new), entities/activity.md (new), concepts/inertia-react-integration.md, overview.md, index.md