Hartmut
|
203bb8751d
|
refactor(web): extract allocation drag bootstrap
|
2026-04-01 10:10:06 +02:00 |
|
Hartmut
|
892a9c5ccf
|
refactor(web): extract project drag helpers
|
2026-04-01 10:06:32 +02:00 |
|
Hartmut
|
c32f56ba89
|
refactor(web): extract allocation multi-drag helpers
|
2026-04-01 10:03:16 +02:00 |
|
Hartmut
|
6dac993521
|
refactor(web): extract allocation drag finalize helpers
|
2026-04-01 09:57:29 +02:00 |
|
Hartmut
|
54c6cf2e2d
|
refactor(web): extract optimistic timeline reconciliation
|
2026-04-01 09:53:40 +02:00 |
|
Hartmut
|
848797b4d2
|
refactor(web): extract timeline range selection helpers
|
2026-04-01 09:51:18 +02:00 |
|
Hartmut
|
43f04d66c8
|
refactor(web): extract timeline multi-select helpers
|
2026-04-01 09:50:03 +02:00 |
|
Hartmut
|
3abb3bc865
|
refactor(web): extract timeline touch helpers
|
2026-04-01 09:48:04 +02:00 |
|
Hartmut
|
5e8babd1e6
|
test(web): cover timeline live preview render edges
|
2026-04-01 09:41:43 +02:00 |
|
Hartmut
|
5011d071b8
|
refactor(web): extract timeline live preview helpers
|
2026-04-01 09:40:07 +02:00 |
|
Hartmut
|
2855567456
|
test(web): cover timeline project row layout
|
2026-04-01 09:29:43 +02:00 |
|
Hartmut
|
85744d1879
|
test(web): cover timeline render helper edges
|
2026-04-01 09:26:44 +02:00 |
|
Hartmut
|
1f71b345ee
|
test(web): cover allocation visual state helpers
|
2026-04-01 09:24:38 +02:00 |
|
Hartmut
|
f70ce9480d
|
test(web): cover timeline drag math guards
|
2026-04-01 09:23:45 +02:00 |
|
Hartmut
|
403d59ad73
|
fix(web): stabilize timeline hover date matching
|
2026-04-01 09:15:24 +02:00 |
|
Hartmut
|
71c4e61735
|
test(web): cover timeline sse edge paths
|
2026-04-01 09:10:45 +02:00 |
|
Hartmut
|
e75f69bcf5
|
refactor(web): extract timeline sse invalidation policy
|
2026-04-01 08:59:25 +02:00 |
|
Hartmut
|
4edf3a32ac
|
fix(web): keep segmented timeline allocations actionable
|
2026-04-01 08:54:15 +02:00 |
|
Hartmut
|
8c5be51251
|
feat(platform): checkpoint current implementation state
|
2026-04-01 07:42:03 +02:00 |
|
Hartmut
|
7908ab6d05
|
feat(web): strengthen report builder explainability
|
2026-03-31 23:07:36 +02:00 |
|
Hartmut
|
8cb34a1c9b
|
feat(web): expand chargeability export explainability
|
2026-03-31 23:06:39 +02:00 |
|
Hartmut
|
dfa289213c
|
refactor(web): share allocation workbook export helper
|
2026-03-31 23:06:21 +02:00 |
|
Hartmut
|
c3b3dffb6e
|
fix(web): harden timeline sse reconnect lifecycle
|
2026-03-31 23:06:07 +02:00 |
|
Hartmut
|
73ef3b2bba
|
test(web): align workbook export buffer typing
|
2026-03-31 23:06:00 +02:00 |
|
Hartmut
|
160ba99b5c
|
refactor(insights): share workbook export and ai defaults
|
2026-03-31 22:53:53 +02:00 |
|
Hartmut
|
05eeaab3f7
|
chore(settings): align default ai model handling
|
2026-03-31 22:52:29 +02:00 |
|
Hartmut
|
7ace137d16
|
feat(dashboard): tighten explainability detail views
|
2026-03-31 22:50:47 +02:00 |
|
Hartmut
|
db50e2e555
|
feat(import): harden workbook parser boundaries
|
2026-03-31 22:48:30 +02:00 |
|
Hartmut
|
a7362f17bd
|
refactor(config): enforce runtime auth secret policy
|
2026-03-30 23:40:00 +02:00 |
|
Hartmut
|
ef5e8016a4
|
refactor(api): add redis-backed rate limiting fallback
|
2026-03-30 23:23:56 +02:00 |
|
Hartmut
|
a36bca7ca7
|
refactor(admin): split system settings into section modules
|
2026-03-30 20:04:06 +02:00 |
|
Hartmut
|
a19d2cbae0
|
refactor(settings): adopt environment-only runtime secret flow
|
2026-03-30 19:55:06 +02:00 |
|
Hartmut
|
dd71e8f80b
|
fix(comment): align mention audience with entity visibility
|
2026-03-30 18:50:36 +02:00 |
|
Hartmut
|
82466a4e34
|
fix(api): derive secure sse subscriptions
|
2026-03-30 14:20:18 +02:00 |
|
Hartmut
|
27b0e38b93
|
fix(web): portal remaining overlay menus
|
2026-03-30 14:20:05 +02:00 |
|
Hartmut
|
ea2efabd7f
|
fix(web): portal autocomplete overlays
|
2026-03-30 14:14:15 +02:00 |
|
Hartmut
|
f0bea6235d
|
fix(web): reuse project combobox in timeline popovers
|
2026-03-30 13:34:59 +02:00 |
|
Hartmut
|
9268a38df4
|
fix(web): restore comment typing and portal combobox menus
|
2026-03-30 13:32:51 +02:00 |
|
Hartmut
|
5b60cf5553
|
fix(web): portal skill tag suggestions
|
2026-03-30 13:29:28 +02:00 |
|
Hartmut
|
fcfe09ac1d
|
fix(web): open project demand strips in demand popover
|
2026-03-30 13:26:54 +02:00 |
|
Hartmut
|
5a345cd2e4
|
fix(web): portal timeline hover tooltips
|
2026-03-30 13:19:43 +02:00 |
|
Hartmut
|
e20bf64eef
|
fix(web): portal timeline overlays above stacked panels
|
2026-03-30 13:18:08 +02:00 |
|
Hartmut
|
93c4374973
|
feat(auth): introduce explicit planning read permission
|
2026-03-30 09:15:07 +02:00 |
|
Hartmut
|
f6daf21983
|
feat(import): harden untrusted spreadsheet boundaries
|
2026-03-30 08:02:52 +02:00 |
|
Hartmut
|
fac8c1c3a5
|
feat(sse): scope timeline events to affected audiences
|
2026-03-30 00:40:24 +02:00 |
|
Hartmut
|
819345acfa
|
feat(platform): harden access scoping and delivery baseline
|
2026-03-30 00:27:31 +02:00 |
|
Hartmut
|
47e4d701ff
|
chore(repo): checkpoint current capakraken implementation state
|
2026-03-29 12:47:12 +02:00 |
|
Hartmut
|
beae1a5d6e
|
feat(assistant): add approval inbox and e2e hardening
|
2026-03-29 10:10:59 +02:00 |
|
Hartmut
|
4f48afe7b4
|
feat(planning): ship holiday-aware planning and assistant upgrades
|
2026-03-28 22:49:28 +01:00 |
|
Hartmut
|
1fc1e9f24c
|
feat: AI security controls + PostgreSQL hardening (Week 1 Quick Wins)
AI Security (EGAI 4.3.1.3, 4.3.1.4, 4.1.3.1, IAAI 3.6.26):
- AI Disclaimer banner in ChatPanel: "AI responses may be inaccurate"
- "AI Generated" violet badge on: chat messages, AI summaries,
project narratives, AI-generated cover images
- HITL: system prompt now requires explicit user confirmation
before any data mutation (strongly worded instruction)
- Mutation tool audit logging: all 31 write tools logged with
tool name, params, userId, userRole via Pino
PostgreSQL Hardening (PG Standard V1.6):
- Audit logging: log_connections, log_disconnections, log_statement=ddl,
log_min_duration_statement=1000 in docker-compose
- SUPERUSER removal script: scripts/harden-postgres.sh
(NOSUPERUSER + minimal GRANT for app user)
- Health check: pg_isready -U capakraken -d capakraken
- Documentation: security-architecture.md Section 12 updated
Controls closed: EGAI 4.1.3.1, 4.3.1.3, 4.3.1.4, PG 3.3, 3.5
Co-Authored-By: claude-flow <ruv@ruv.net>
|
2026-03-27 16:18:35 +01:00 |
|