Commit Graph

  • 99c5695db9 feat(app): add OrganizerLayout, PortalLayout, PublicLayout skeletons bert.hausmans 2026-04-29 08:43:33 +02:00
  • ca1d37b7de chore(tooling): migrate .githooks to lefthook.yml bert.hausmans 2026-04-29 08:39:34 +02:00
  • fc0174061e fix(app): align Form failures KPI row with AppKpiCard bert.hausmans 2026-04-29 00:49:02 +02:00
  • 2ae90ed57f feat(app): unify KPI tiles with AppKpiCard bert.hausmans 2026-04-29 00:46:48 +02:00
  • c344efa511 fix(app): equal-height KPI cards on dashboard and form failures bert.hausmans 2026-04-29 00:44:27 +02:00
  • 7926634c76 Merge WS-6 admin & hardening (backend-hardening + registry-model-alignment + admin-ui + admin-ui-completion) bert.hausmans 2026-04-29 00:15:31 +02:00
  • 192353f4bc feat(form-builder): admin UI completion — server filters, KPIs, resource expansion (WS-6 sessie 3c) bert.hausmans 2026-04-28 23:29:58 +02:00
  • b47e096a55 feat(form-builder): retry history table + integration (WS-6) bert.hausmans 2026-04-28 22:53:36 +02:00
  • acd7cf5ec8 docs: ARCH-BINDINGS.md polish (WS-6) bert.hausmans 2026-04-28 21:53:26 +02:00
  • ddacf9363e docs: ARCH-OBSERVABILITY skeleton + \$dontReport concrete (WS-6) bert.hausmans 2026-04-28 21:52:08 +02:00
  • 786bca8cf1 feat(form-failures): admin detail view (WS-6) bert.hausmans 2026-04-28 21:50:36 +02:00
  • 4c80289c47 feat(form-failures): admin list view with KPI tiles + filters (WS-6) bert.hausmans 2026-04-28 21:47:31 +02:00
  • c39bd54958 feat(form-failures): action dialogs (Retry / Resolve / Dismiss) (WS-6) bert.hausmans 2026-04-28 21:43:56 +02:00
  • 4cbe2c453b feat(form-failures): useFormFailures composable + types (WS-6) bert.hausmans 2026-04-28 21:37:00 +02:00
  • d95e68423d test(apps/app): set up Vitest harness — closes TECH-APP-VITEST (WS-6) bert.hausmans 2026-04-28 21:34:27 +02:00
  • 8a4682ab35 docs: BACKLOG + ARCH-BINDINGS appendix + RFC v1.2 for registry alignment (WS-6) bert.hausmans 2026-04-28 20:32:35 +02:00
  • d48d91bba7 test(form-builder): registry/model alignment consistency invariant (WS-6) bert.hausmans 2026-04-28 20:29:26 +02:00
  • 0e986f42cb refactor(form-builder): align binding registry with model column reality (WS-6) bert.hausmans 2026-04-28 20:26:15 +02:00
  • 383b4fc5a3 feat(companies): add kvk_number column for B2B identity binding (WS-6) bert.hausmans 2026-04-28 20:17:56 +02:00
  • ccc9dc905b docs: ARCH-BINDINGS.md § 8.2 IDOR class tests (WS-6) bert.hausmans 2026-04-28 16:25:08 +02:00
  • e1551b24bc test(form-builder): per-purpose pipeline smoke for the 6 non-event_registration purposes (WS-6) bert.hausmans 2026-04-28 16:23:37 +02:00
  • 21c042d93f test(form-builder): IDOR-class route-level security for form-failures admin (WS-6) bert.hausmans 2026-04-28 16:13:40 +02:00
  • 212e8754d3 Merge WS-6 infrastructure (db-mysql-switch + json-and-migration-perf + schema-dump-activation) bert.hausmans 2026-04-29 00:11:43 +02:00
  • 82259f8942 perf(test): activate schema-dump fast path (WS-6) bert.hausmans 2026-04-28 15:12:43 +02:00
  • fe110ba761 perf(test): make schema-dump target + opt-in fast-path docs (WS-6) bert.hausmans 2026-04-28 14:07:15 +02:00
  • a791a276fa fix(form-builder): canonicalize JSON for byte-stable storage (WS-6) bert.hausmans 2026-04-28 13:51:38 +02:00
  • 0afbd36bf7 docs(claude): codify MySQL-only policy for Crewli (WS-6) bert.hausmans 2026-04-28 12:57:48 +02:00
  • fe686b7c8d fix(form-builder): restore FK on form_schemas.default_crowd_type_id (WS-6) bert.hausmans 2026-04-28 12:56:52 +02:00
  • 3d323bf55f chore(test): switch test database from SQLite to MySQL (WS-6) bert.hausmans 2026-04-28 12:43:17 +02:00
  • 7869843d6e Merge WS-6 backend (foundation + pipeline + pipeline-fixes) bert.hausmans 2026-04-29 00:09:11 +02:00
  • 6f1d1a895a style: pint new-without-parens fix on WS-6 session-2.5 unit tests bert.hausmans 2026-04-28 09:47:47 +02:00
  • 85f4777e0c docs(ws-6): RFC-WS-6 v1.1 addenda + ARCH-BINDINGS §6.4 alignment bert.hausmans 2026-04-28 09:09:41 +02:00
  • 6399bacdb6 refactor(form-builder): restore type-hinted route model binding for failures controller (WS-6) bert.hausmans 2026-04-28 08:57:06 +02:00
  • 6dace312b4 refactor(form-builder): drop legacy snapshot 'binding' (singular) key (WS-6) bert.hausmans 2026-04-28 00:11:20 +02:00
  • d2059e3cff feat(form-builder): per-schema default_crowd_type_id replaces silent oldest() heuristic (WS-6) bert.hausmans 2026-04-27 23:47:32 +02:00
  • 1fdd254a8a docs: complete ARCH-BINDINGS.md sections 6-9 from session 2 work (WS-6) bert.hausmans 2026-04-26 17:02:48 +02:00
  • 3d2608d992 test(form-builder): write-path invariant for conflict-resolver candidate set (WS-6) bert.hausmans 2026-04-26 17:00:51 +02:00
  • d0e17f2824 feat(form-builder): retry/resolve/dismiss API endpoints + dual-route auth (WS-6) bert.hausmans 2026-04-26 15:34:23 +02:00
  • 84d57c5bbc feat(form-builder): retry/resolve/dismiss artisan commands (WS-6) bert.hausmans 2026-04-26 14:25:16 +02:00
  • 0b14416e28 fix(form-builder): fire FormSubmissionSubmitted AFTER transaction commit (WS-6) bert.hausmans 2026-04-26 14:22:58 +02:00
  • acfa90ff50 fix(form-builder): post-WS-6 trim of TriggerPersonIdentityMatch dead path (WS-6) bert.hausmans 2026-04-26 13:27:54 +02:00
  • 6b5111ce43 feat(form-builder): ApplyBindings listener chain with two-transaction pattern (WS-6) bert.hausmans 2026-04-26 13:18:30 +02:00
  • 9f98a4fe1b feat(form-builder): FormBindingApplicator + BindingActivityLogger (WS-6) bert.hausmans 2026-04-26 13:06:45 +02:00
  • 16a9265430 feat(form-builder): add PurposeSubjectResolver per purpose (WS-6) bert.hausmans 2026-04-26 12:57:21 +02:00
  • 47265e9d4f feat(form-builder): add BindingConflictResolver per RFC Q7 (WS-6) bert.hausmans 2026-04-26 12:48:11 +02:00
  • d257d64925 feat(form-builder): add PersonProvisioner with race-safe firstOrCreate (WS-6) bert.hausmans 2026-04-26 12:43:12 +02:00
  • c6a8d13b6f docs: add WS-6 Deferred backlog items (WS-6) bert.hausmans 2026-04-26 00:05:35 +02:00
  • 7f99783d8a docs: add ARCH-BINDINGS.md skeleton with foundation sections complete (WS-6) bert.hausmans 2026-04-26 00:04:53 +02:00
  • 78a8016e01 feat(form-builder): add FormSubmissionActionFailurePolicy with FK-chain auth (WS-6) bert.hausmans 2026-04-26 00:03:21 +02:00
  • 7a747382a0 feat(form-builder): integrate PublishGuard framework into FormSchemaService::publish() (WS-6) bert.hausmans 2026-04-25 23:07:12 +02:00
  • e3c9211e3f feat(form-builder): wire PurposeGuardProvider per purpose (WS-6) bert.hausmans 2026-04-25 23:01:19 +02:00
  • 81a8120f98 feat(form-builder): add PublishGuard framework + 9 concrete guards (WS-6) bert.hausmans 2026-04-25 22:55:42 +02:00
  • c5b0210ae7 feat(form-builder): add FormSubmissionActionFailure model + apply_status casts (WS-6) bert.hausmans 2026-04-25 22:47:06 +02:00
  • 0dd991c688 feat(form-builder): add BindingTypeRegistry as single source of truth for target shapes (WS-6) bert.hausmans 2026-04-25 22:41:25 +02:00
  • b2e9ef8824 feat(form-builder): MergeStrategy enum methods + binding value objects (WS-6) bert.hausmans 2026-04-25 22:38:55 +02:00
  • 447511634d feat(form-builder): add ApplyStatus, DismissalReasonType, BindingTargetType enums (WS-6) bert.hausmans 2026-04-25 22:36:10 +02:00
  • c033dc6cd2 feat(form-builder): add apply_status columns and action-failures table (WS-6) bert.hausmans 2026-04-25 22:33:39 +02:00
  • 47a0dc875b docs: add RFC-WS-6 architectural anchor for binding pipeline bert.hausmans 2026-04-25 22:19:42 +02:00
  • f7ddc1b3ce docs: close base scope-class extraction follow-up (post-WS-5) bert.hausmans 2026-04-25 04:52:01 +02:00
  • 9fa8231cf7 refactor(form-field): extract FormFieldChildTableMorphScope abstract base bert.hausmans 2026-04-25 04:47:30 +02:00
  • 81b20ecbea chore: close TECH-TS-PORTAL-TSC — apps/portal vue-tsc at zero bert.hausmans 2026-04-25 04:35:43 +02:00
  • a7ccd2b97e fix(portal-types): clear residual long-tail tsc errors bert.hausmans 2026-04-25 04:33:54 +02:00
  • f7bb8645c4 fix(portal-deps): upgrade @tiptap/* 2.27.1 → 2.27.2 to fix dist resolution bert.hausmans 2026-04-25 04:30:19 +02:00
  • e5d86776b2 docs: sharpen TECH-TS-PORTAL-TSC + TECH-APP-VITEST priority and scope bert.hausmans 2026-04-25 04:11:16 +02:00
  • f38c7ece97 chore: install laravel telescope as dev-only debugging dashboard bert.hausmans 2026-04-25 04:03:31 +02:00
  • 5771a678ef chore: install ts-reset in both portal and app SPAs bert.hausmans 2026-04-25 03:58:11 +02:00
  • a043b88bc0 chore: install rector with accept-current-state baseline bert.hausmans 2026-04-25 03:50:41 +02:00
  • 7542808cab chore: install larastan at level 6 with accept-all baseline bert.hausmans 2026-04-25 03:46:27 +02:00
  • 198f6f2d3b fix(portal): align FieldSectionPriority spec with WS-5b max_selected bert.hausmans 2026-04-25 03:37:09 +02:00
  • e7c9482474 refactor(form-field): drop form_fields.options + form_field_library.options bert.hausmans 2026-04-25 03:00:20 +02:00
  • dd7dfe9c0b feat(portal): migrate option consumers to relational rich shape bert.hausmans 2026-04-25 02:50:33 +02:00
  • bb9242fd6e refactor(form-field): resources + snapshot + validator read form_field_options bert.hausmans 2026-04-25 02:33:21 +02:00
  • 15e4e49d8c feat(form-field): backfill form_fields.options to form_field_options bert.hausmans 2026-04-25 02:21:26 +02:00
  • 11588623c5 feat(form-field): add form_field_options table, service, scope, cascade bert.hausmans 2026-04-25 02:07:53 +02:00
  • e17fc7c2f4 chore: remove dead legacy form-data migration commands bert.hausmans 2026-04-25 01:58:19 +02:00
  • ed02b656a0 merge(form-field): WS-5c — relational conditional_logic tree bert.hausmans 2026-04-25 01:02:34 +02:00
  • 2656818c35 refactor(form-field): extract legacy conditional_logic shape normaliser bert.hausmans 2026-04-25 00:57:06 +02:00
  • 64f5855fdb test(form-field): pin conditional_logic activity log payload contract bert.hausmans 2026-04-25 00:52:57 +02:00
  • 9e181092fc docs(form-builder): WS-5c sign-off — SCHEMA v2.5 + ARCH v1.7 §8 + addendum Q3 bert.hausmans 2026-04-25 00:09:12 +02:00
  • 079d10975b refactor(form-builder): strict validator + drop form_fields.conditional_logic JSON column bert.hausmans 2026-04-25 00:03:21 +02:00
  • d06ea01b09 feat(form-builder): FormFieldConditionalLogicService + cycle detection + legacy backfill + snapshot bert.hausmans 2026-04-24 23:56:39 +02:00
  • 2064b9901e feat(form-builder): form_field_conditional_logic_{groups,conditions} tables + OrganisationScope cap raise to 5 bert.hausmans 2026-04-24 23:43:34 +02:00
  • 500e5704e2 chore(sync): detect merge commits explicitly in post-commit hook bert.hausmans 2026-04-24 23:00:49 +02:00
  • 4fcff2367a docs(backlog): open FORM-BUILDER-LIBRARY-AUDIT-LOG — library-level activity-log gap surfaced during WS-5b review bert.hausmans 2026-04-24 22:51:09 +02:00
  • 4d207a5ff4 merge: WS-5b — form_field_validation_rules + form_field_configs, strict enum validator, drop validation_rules JSON, SCHEMA v2.4 + ARCH v1.6 bert.hausmans 2026-04-24 22:49:45 +02:00
  • d494478c08 feat(form-builder): form_field_configs relational table + non-validation key split + drop validation_rules JSON columns bert.hausmans 2026-04-24 22:42:35 +02:00
  • 9d2758a42c docs(form-builder): WS-5b partial sign-off — SCHEMA v2.3 + ARCH v1.5 §17.4 + addendum Q3 bert.hausmans 2026-04-24 22:30:17 +02:00
  • 64ec4bcc5c refactor(form-builder): strict validator on save; strip rules.unique fallback bert.hausmans 2026-04-24 22:26:44 +02:00
  • 800b1b6c01 feat(form-builder): FormFieldValidationRuleService + legacy backfill + snapshot + library row-copy bert.hausmans 2026-04-24 22:12:08 +02:00
  • fedaed1b32 feat(form-builder): form_field_validation_rules table + polymorphic owner + scope + cascade bert.hausmans 2026-04-24 22:01:36 +02:00
  • 87fc964ead chore(sync): also trigger hook on .githooks/ changes bert.hausmans 2026-04-24 21:08:35 +02:00
  • 406b003e48 chore(sync): extend post-commit hook trigger to .claude-sync.conf and sync script bert.hausmans 2026-04-24 21:04:13 +02:00
  • ff9fe0d749 chore(sync): track ARCH-CONSOLIDATION-ADDENDUM in claude-sync manifest bert.hausmans 2026-04-24 20:57:45 +02:00
  • 67bede2e49 docs(form-builder): WS-5a follow-up — §6.2 registry, §6.7 dual activity-log note, Q3 commit-3 caveat bert.hausmans 2026-04-24 20:51:28 +02:00
  • 8d3c1ec6b7 merge: WS-5a — form_field_bindings relational table + library mirror, pre-publish switched, SCHEMA v2.2 + ARCH v1.4 bert.hausmans 2026-04-24 20:50:10 +02:00
  • 60c3abbe26 docs(form-builder): WS-5a — SCHEMA v2.2 §3.5.12, ARCH v1.4 §6.7, addendum Q3 sign-off bert.hausmans 2026-04-24 20:13:51 +02:00
  • 61719bf8bf refactor(form-builder): pre-publish check reads form_field_bindings; drop binding JSON columns bert.hausmans 2026-04-24 20:09:27 +02:00
  • 6933e6d700 feat(form-builder): FormFieldBindingService + library-to-field row copy + snapshot writer bert.hausmans 2026-04-24 18:48:47 +02:00
  • af8a9da038 feat(form-builder): form_field_bindings table + polymorphic owner + cascade observer bert.hausmans 2026-04-24 18:43:11 +02:00
  • 76090b934e merge: WS-4 — ULID consistency, FK-chain scope, 14-model scope registration, D-05 verify bert.hausmans 2026-04-24 17:31:56 +02:00