This website requires JavaScript.
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