gsxdsm
3b1c7881a8
FN-8988: partition agent ratings by project
...
Isolate PostgreSQL agent ratings within each project while preserving compatibility behavior.
- Add migration 0055 to enforce the (project_id, id) rating identity key and repair drifted composite keys.
- Scope rating CRUD operations to bound projects and document the storage contract.
- Cover cross-project rating isolation and drifted-key migration repair.
Files changed:
.changeset/fn-8988-agent-ratings-project-partition.md | 7 ++
docs/storage.md | 1 +
packages/core/src/__tests__/postgres/agent-ratings-project-isolation.pg.test.ts | 105 +++++++++++++++++++++
packages/core/src/__tests__/postgres/schema-applier.test.ts | 66 ++++++++++++-
packages/core/src/agents/agent-store.ts | 18 +++-
packages/core/src/async-stores/async-agent-store.ts | 11 ++-
packages/core/src/postgres/migrations/0055_fn_8988_agent_ratings_project_partition.sql | 74 +++++++++++++++
packages/core/src/postgres/schema-applier.ts | 12 ++-
packages/core/src/postgres/schema/project.ts | 5 +
9 files changed, 293 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-8988
Fusion-Task-Lineage: 5d3e5e60-1589-4641-8695-1786f1c15c5d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-08-11 18:35:43 -07:00
..
2026-08-11 11:28:42 -10:00
2026-08-09 18:22:01 -07:00
2026-08-06 16:11:05 -07:00
2026-08-06 23:49:37 -07:00
2026-04-25 09:09:31 -07:00
2026-08-11 04:13:35 -07:00
2026-08-09 13:51:28 -10:00
2026-08-09 19:40:01 -10:00
2026-08-07 00:25:39 -07:00
2026-08-09 15:06:15 -10:00
2026-08-09 15:23:39 -10:00
2026-08-07 08:51:05 -07:00
2026-08-07 15:02:01 -07:00
2026-08-09 13:51:03 -10:00
2026-08-11 17:53:40 -07:00
2026-08-11 10:57:36 -10:00
2026-08-11 02:47:24 -07:00
2026-08-07 01:36:34 -07:00
2026-08-06 08:35:36 -07:00
2026-08-06 08:43:59 -07:00
2026-08-06 16:19:33 -07:00
2026-08-06 20:42:30 -07:00
2026-08-06 20:36:31 -07:00
2026-08-07 02:33:35 -07:00
2026-08-07 21:43:28 -07:00
2026-08-07 20:27:04 -07:00
2026-08-07 20:56:52 -07:00
2026-08-07 21:18:24 -07:00
2026-08-07 20:33:42 -07:00
2026-08-07 16:55:00 -07:00
2026-08-08 01:59:38 -07:00
2026-08-07 23:55:08 -07:00
2026-08-07 23:31:59 -07:00
2026-08-08 10:36:36 -07:00
2026-08-08 18:13:52 -07:00
2026-08-08 18:56:43 -07:00
2026-08-08 22:43:45 -07:00
2026-08-08 22:35:59 -07:00
2026-08-08 18:08:23 -07:00
2026-08-08 19:58:43 -07:00
2026-08-08 21:04:10 -07:00
2026-08-09 14:12:49 -07:00
2026-08-10 02:56:58 -07:00
2026-08-08 19:13:14 -07:00
2026-08-08 19:03:14 -07:00
2026-08-08 22:49:02 -07:00
2026-08-08 22:55:38 -07:00
2026-08-08 23:16:01 -07:00
2026-08-08 21:10:13 -07:00
2026-08-09 01:33:06 -07:00
2026-08-09 04:37:47 -07:00
2026-08-08 23:05:29 -07:00
2026-08-08 23:54:40 -07:00
2026-08-09 07:06:06 -07:00
2026-08-08 23:34:41 -07:00
2026-08-09 15:58:54 -07:00
2026-08-09 17:10:49 -07:00
2026-08-09 20:19:52 -07:00
2026-08-09 00:01:44 -07:00
2026-08-09 10:28:24 -07:00
2026-08-10 02:25:03 -07:00
2026-08-09 00:41:18 -07:00
2026-08-09 06:07:01 -07:00
2026-08-09 08:31:26 -07:00
2026-08-09 00:47:50 -07:00
2026-08-09 04:50:30 -07:00
2026-08-09 06:51:22 -07:00
2026-08-09 03:15:00 -07:00
2026-08-11 18:21:24 -07:00
2026-08-09 09:14:56 -07:00
2026-08-09 12:17:03 -07:00
2026-08-10 16:53:51 -07:00
2026-08-09 13:51:52 -07:00
2026-08-09 15:16:12 -07:00
2026-08-09 15:24:21 -07:00
2026-08-09 20:14:10 -07:00
2026-08-09 14:23:24 -07:00
2026-08-09 21:57:01 -07:00
2026-08-10 03:31:50 -07:00
2026-08-10 06:15:17 -07:00
2026-08-10 04:46:10 -07:00
2026-08-09 23:13:34 -07:00
2026-08-10 17:50:27 -07:00
2026-08-09 23:21:02 -07:00
2026-08-09 21:50:44 -07:00
2026-08-11 03:53:11 -07:00
2026-08-11 05:45:36 -07:00
2026-08-11 04:57:14 -07:00
2026-08-10 03:24:37 -07:00
2026-08-10 02:56:58 -07:00
2026-08-10 08:48:47 -07:00
2026-08-10 07:30:42 -07:00
2026-08-10 19:36:31 -07:00
2026-08-10 20:32:26 -07:00
2026-08-11 04:00:16 -07:00
2026-08-11 12:34:47 -07:00
2026-08-11 04:20:33 -07:00
2026-08-11 15:01:52 -07:00
2026-08-11 13:34:27 -07:00
2026-08-11 03:32:16 -07:00
2026-08-11 15:20:19 -07:00
2026-08-10 21:56:18 -07:00
2026-08-11 01:16:59 -07:00
2026-08-10 20:41:11 -07:00
2026-08-10 21:41:47 -07:00
2026-08-10 19:31:21 -07:00
2026-08-10 19:43:13 -07:00
2026-08-11 00:23:10 -07:00
2026-08-11 01:45:08 -07:00
2026-08-10 22:03:57 -07:00
2026-08-10 22:36:01 -07:00
2026-08-10 22:57:21 -07:00
2026-08-10 23:04:32 -07:00
2026-08-11 01:30:04 -07:00
2026-08-11 14:22:14 -07:00
2026-08-11 18:35:43 -07:00
2026-08-11 03:40:21 -07:00
2026-08-07 17:09:53 -07:00
2026-08-11 11:29:23 -10:00
2026-08-09 13:48:39 -10:00
2026-08-09 19:39:39 -10:00
2026-08-10 13:39:55 -07:00
2026-08-10 13:27:10 -07:00
2026-08-09 13:22:32 -10:00
2026-08-08 14:25:19 -07:00
2026-08-09 13:33:16 -10:00
2026-08-10 10:33:35 -07:00
2026-08-09 13:49:06 -10:00
2026-06-24 19:25:51 -07:00
2026-08-07 15:01:21 -07:00
2026-08-09 14:02:52 -10:00
2026-08-09 19:10:45 -07:00
2026-08-11 10:36:26 -07:00
2026-08-10 11:28:32 -07:00
2026-08-09 19:03:23 -07:00
2026-08-10 16:44:19 -07:00
2026-08-07 00:26:15 -07:00
2026-08-09 15:06:36 -10:00
2026-08-07 07:49:23 -07:00
2026-08-10 12:01:25 -07:00
2026-08-09 15:23:59 -10:00
2026-08-11 02:02:51 -07:00
2026-08-10 01:43:54 -07:00
2026-08-09 17:04:55 -07:00