@prmichaelsen/remember-mcp 3.0.0 → 3.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT.md +296 -250
- package/CHANGELOG.md +338 -0
- package/README.md +68 -45
- package/agent/commands/acp.clarification-create.md +382 -0
- package/agent/commands/acp.project-info.md +309 -0
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-update.md +296 -0
- package/agent/commands/acp.task-create.md +17 -9
- package/agent/commands/git.commit.md +13 -1
- package/agent/design/comment-memory-type.md +2 -2
- package/agent/design/local.collaborative-memory-sync.md +265 -0
- package/agent/design/local.content-flags.md +210 -0
- package/agent/design/local.ghost-persona-system.md +273 -0
- package/agent/design/local.group-acl-integration.md +338 -0
- package/agent/design/local.memory-acl-schema.md +352 -0
- package/agent/design/local.memory-collection-pattern-v2.md +348 -0
- package/agent/design/local.moderation-and-space-config.md +257 -0
- package/agent/design/local.v2-api-reference.md +621 -0
- package/agent/design/local.v2-migration-guide.md +191 -0
- package/agent/design/local.v2-usage-examples.md +265 -0
- package/agent/design/permissions-storage-architecture.md +11 -3
- package/agent/design/trust-escalation-prevention.md +9 -2
- package/agent/design/trust-system-implementation.md +12 -3
- package/agent/milestones/milestone-14-memory-collection-v2.md +182 -0
- package/agent/milestones/milestone-15-moderation-space-config.md +126 -0
- package/agent/progress.yaml +628 -49
- package/agent/scripts/acp.common.sh +2 -0
- package/agent/scripts/acp.install.sh +11 -1
- package/agent/scripts/acp.package-install-optimized.sh +454 -0
- package/agent/scripts/acp.package-install.sh +247 -300
- package/agent/scripts/acp.project-info.sh +218 -0
- package/agent/scripts/acp.project-remove.sh +302 -0
- package/agent/scripts/acp.project-update.sh +296 -0
- package/agent/scripts/acp.yaml-parser.sh +128 -10
- package/agent/tasks/milestone-14-memory-collection-v2/task-165-core-infrastructure-setup.md +171 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-166-update-remember-publish.md +191 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-167-update-remember-retract.md +186 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-168-implement-remember-revise.md +184 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-169-update-remember-search-space.md +179 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-170-update-remember-create-update.md +139 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-172-performance-testing-optimization.md +161 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-173-documentation-examples.md +258 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-174-add-moderation-schema-fields.md +57 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-175-create-space-config-service.md +64 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-176-wire-moderation-publish-flow.md +45 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-177-add-moderation-search-filters.md +70 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-178-create-remember-moderate-tool.md +69 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-179-documentation-integration-tests.md +58 -0
- package/agent/tasks/milestone-16-ghost-system/task-187-ghost-config-firestore.md +41 -0
- package/agent/tasks/milestone-16-ghost-system/task-188-trust-filter-integration.md +44 -0
- package/agent/tasks/milestone-16-ghost-system/task-189-ghost-memory-filtering.md +43 -0
- package/agent/tasks/milestone-16-ghost-system/task-190-ghost-config-tools.md +45 -0
- package/agent/tasks/milestone-16-ghost-system/task-191-escalation-firestore.md +38 -0
- package/agent/tasks/milestone-16-ghost-system/task-192-documentation-verification.md +39 -0
- package/agent/tasks/milestone-7-trust-permissions/task-180-access-result-permission-types.md +69 -0
- package/agent/tasks/milestone-7-trust-permissions/task-181-firestore-permissions-access-logs.md +56 -0
- package/agent/tasks/milestone-7-trust-permissions/task-182-trust-enforcement-service.md +68 -0
- package/agent/tasks/milestone-7-trust-permissions/task-183-access-control-service.md +70 -0
- package/agent/tasks/milestone-7-trust-permissions/task-184-permission-tools.md +79 -0
- package/agent/tasks/milestone-7-trust-permissions/task-185-wire-trust-into-search-query.md +55 -0
- package/agent/tasks/milestone-7-trust-permissions/task-186-documentation-verification.md +56 -0
- package/agent/tasks/task-76-fix-indexnullstate-schema-bug.md +197 -0
- package/dist/collections/composite-ids.d.ts +106 -0
- package/dist/collections/core-infrastructure.spec.d.ts +11 -0
- package/dist/collections/dot-notation.d.ts +106 -0
- package/dist/collections/tracking-arrays.d.ts +176 -0
- package/dist/constants/content-types.d.ts +1 -0
- package/dist/schema/v2-collections-comments.spec.d.ts +8 -0
- package/dist/schema/v2-collections.d.ts +210 -0
- package/dist/server-factory.d.ts +15 -0
- package/dist/server-factory.js +2798 -1029
- package/dist/server.js +2526 -1012
- package/dist/services/access-control.d.ts +103 -0
- package/dist/services/access-control.spec.d.ts +2 -0
- package/dist/services/credentials-provider.d.ts +24 -0
- package/dist/services/credentials-provider.spec.d.ts +2 -0
- package/dist/services/escalation.service.d.ts +22 -0
- package/dist/services/escalation.service.spec.d.ts +2 -0
- package/dist/services/ghost-config.service.d.ts +55 -0
- package/dist/services/ghost-config.service.spec.d.ts +2 -0
- package/dist/services/space-config.service.d.ts +23 -0
- package/dist/services/space-config.service.spec.d.ts +2 -0
- package/dist/services/trust-enforcement.d.ts +83 -0
- package/dist/services/trust-enforcement.spec.d.ts +2 -0
- package/dist/services/trust-validator.d.ts +43 -0
- package/dist/services/trust-validator.spec.d.ts +2 -0
- package/dist/tools/confirm-publish-moderation.spec.d.ts +8 -0
- package/dist/tools/confirm.d.ts +8 -1
- package/dist/tools/create-memory.d.ts +2 -1
- package/dist/tools/create-memory.spec.d.ts +10 -0
- package/dist/tools/create-relationship.d.ts +2 -1
- package/dist/tools/delete-memory.d.ts +2 -1
- package/dist/tools/delete-relationship.d.ts +2 -1
- package/dist/tools/deny.d.ts +2 -1
- package/dist/tools/find-similar.d.ts +2 -1
- package/dist/tools/get-preferences.d.ts +2 -1
- package/dist/tools/ghost-config.d.ts +27 -0
- package/dist/tools/ghost-config.spec.d.ts +2 -0
- package/dist/tools/moderate.d.ts +20 -0
- package/dist/tools/moderate.spec.d.ts +5 -0
- package/dist/tools/publish.d.ts +11 -3
- package/dist/tools/query-memory.d.ts +3 -1
- package/dist/tools/query-space.d.ts +4 -1
- package/dist/tools/retract.d.ts +29 -0
- package/dist/tools/revise.d.ts +45 -0
- package/dist/tools/revise.spec.d.ts +8 -0
- package/dist/tools/search-memory.d.ts +2 -1
- package/dist/tools/search-relationship.d.ts +2 -1
- package/dist/tools/search-space.d.ts +25 -5
- package/dist/tools/search-space.spec.d.ts +9 -0
- package/dist/tools/set-preference.d.ts +2 -1
- package/dist/tools/update-memory.d.ts +2 -1
- package/dist/tools/update-relationship.d.ts +2 -1
- package/dist/types/access-result.d.ts +48 -0
- package/dist/types/access-result.spec.d.ts +2 -0
- package/dist/types/auth.d.ts +46 -0
- package/dist/types/ghost-config.d.ts +36 -0
- package/dist/types/memory.d.ts +3 -1
- package/dist/types/preferences.d.ts +1 -1
- package/dist/utils/auth-helpers.d.ts +14 -0
- package/dist/utils/auth-helpers.spec.d.ts +2 -0
- package/dist/utils/test-data-generator.d.ts +124 -0
- package/dist/utils/test-data-generator.spec.d.ts +12 -0
- package/dist/v2-performance.e2e.d.ts +17 -0
- package/dist/v2-smoke.e2e.d.ts +14 -0
- package/dist/weaviate/client.d.ts +5 -8
- package/dist/weaviate/space-schema.d.ts +2 -2
- package/docs/performance/v2-benchmarks.md +80 -0
- package/jest.e2e.config.js +14 -3
- package/package.json +1 -1
- package/scripts/.collection-recreation-state.yaml +16 -0
- package/scripts/.gitkeep +5 -0
- package/scripts/README-collection-recreation.md +224 -0
- package/scripts/README.md +51 -0
- package/scripts/backup-collections.ts +543 -0
- package/scripts/delete-collection.ts +137 -0
- package/scripts/migrate-recreate-collections.ts +578 -0
- package/scripts/migrate-v1-to-v2.ts +1094 -0
- package/scripts/package-lock.json +1113 -0
- package/scripts/package.json +27 -0
- package/src/collections/composite-ids.ts +193 -0
- package/src/collections/core-infrastructure.spec.ts +353 -0
- package/src/collections/dot-notation.ts +212 -0
- package/src/collections/tracking-arrays.ts +298 -0
- package/src/constants/content-types.ts +20 -0
- package/src/schema/v2-collections-comments.spec.ts +141 -0
- package/src/schema/v2-collections.ts +433 -0
- package/src/server-factory.ts +89 -20
- package/src/server.ts +45 -17
- package/src/services/access-control.spec.ts +383 -0
- package/src/services/access-control.ts +291 -0
- package/src/services/credentials-provider.spec.ts +22 -0
- package/src/services/credentials-provider.ts +34 -0
- package/src/services/escalation.service.spec.ts +183 -0
- package/src/services/escalation.service.ts +150 -0
- package/src/services/ghost-config.service.spec.ts +339 -0
- package/src/services/ghost-config.service.ts +219 -0
- package/src/services/space-config.service.spec.ts +102 -0
- package/src/services/space-config.service.ts +79 -0
- package/src/services/trust-enforcement.spec.ts +309 -0
- package/src/services/trust-enforcement.ts +197 -0
- package/src/services/trust-validator.spec.ts +108 -0
- package/src/services/trust-validator.ts +105 -0
- package/src/tools/confirm-publish-moderation.spec.ts +240 -0
- package/src/tools/confirm.ts +869 -135
- package/src/tools/create-memory.spec.ts +126 -0
- package/src/tools/create-memory.ts +20 -27
- package/src/tools/create-relationship.ts +17 -8
- package/src/tools/delete-memory.ts +13 -6
- package/src/tools/delete-relationship.ts +15 -6
- package/src/tools/deny.ts +8 -1
- package/src/tools/find-similar.ts +21 -8
- package/src/tools/get-preferences.ts +10 -1
- package/src/tools/ghost-config.spec.ts +180 -0
- package/src/tools/ghost-config.ts +230 -0
- package/src/tools/moderate.spec.ts +277 -0
- package/src/tools/moderate.ts +219 -0
- package/src/tools/publish.ts +99 -41
- package/src/tools/query-memory.ts +28 -6
- package/src/tools/query-space.ts +39 -4
- package/src/tools/retract.ts +292 -0
- package/src/tools/revise.spec.ts +146 -0
- package/src/tools/revise.ts +283 -0
- package/src/tools/search-memory.ts +30 -7
- package/src/tools/search-relationship.ts +11 -2
- package/src/tools/search-space.spec.ts +341 -0
- package/src/tools/search-space.ts +323 -99
- package/src/tools/set-preference.ts +10 -1
- package/src/tools/update-memory.ts +16 -5
- package/src/tools/update-relationship.ts +10 -1
- package/src/types/access-result.spec.ts +193 -0
- package/src/types/access-result.ts +62 -0
- package/src/types/auth.ts +52 -0
- package/src/types/ghost-config.ts +46 -0
- package/src/types/memory.ts +9 -1
- package/src/types/preferences.ts +2 -2
- package/src/utils/auth-helpers.spec.ts +75 -0
- package/src/utils/auth-helpers.ts +25 -0
- package/src/utils/test-data-generator.spec.ts +317 -0
- package/src/utils/test-data-generator.ts +292 -0
- package/src/utils/weaviate-filters.ts +4 -4
- package/src/v2-performance.e2e.ts +173 -0
- package/src/v2-smoke.e2e.ts +401 -0
- package/src/weaviate/client.spec.ts +5 -5
- package/src/weaviate/client.ts +51 -36
- package/src/weaviate/schema.ts +11 -256
- package/src/weaviate/space-schema.spec.ts +24 -24
- package/src/weaviate/space-schema.ts +18 -6
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Milestone 15: Moderation & Space Config
|
|
2
|
+
|
|
3
|
+
**Goal**: Implement content moderation lifecycle and per-space/group behavioral configuration
|
|
4
|
+
**Duration**: 2 weeks
|
|
5
|
+
**Dependencies**: M14 (Memory Collection Pattern v2), v3.9.0 (AuthContext foundations)
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Published memories currently appear immediately with no review step. This milestone adds a moderation status lifecycle (pending/approved/rejected/removed), a per-space/group configuration system in Firestore, and a moderator tool for content management. It builds on the AuthContext and GroupPermissions foundations from v3.9.0.
|
|
13
|
+
|
|
14
|
+
Key architectural principle: agentbase.me owns ACL ("who can moderate"), remember-mcp owns behavior ("what moderation means").
|
|
15
|
+
|
|
16
|
+
Design document: [local.moderation-and-space-config.md](../design/local.moderation-and-space-config.md)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Deliverables
|
|
21
|
+
|
|
22
|
+
### 1. Moderation Schema
|
|
23
|
+
- `moderation_status`, `moderated_by`, `moderated_at` fields on published memories
|
|
24
|
+
- `can_moderate` permission in GroupPermissions type
|
|
25
|
+
- Null status treated as `approved` (backward compat)
|
|
26
|
+
|
|
27
|
+
### 2. SpaceConfig Service
|
|
28
|
+
- Firestore-backed per-space/group behavioral config
|
|
29
|
+
- `require_moderation: boolean`, `default_write_mode: WriteMode`
|
|
30
|
+
- Default fallback when no config document exists
|
|
31
|
+
|
|
32
|
+
### 3. Publish Flow Integration
|
|
33
|
+
- Publish sets `moderation_status` based on space/group config
|
|
34
|
+
- `require_moderation: true` -> `pending`; false -> `approved`
|
|
35
|
+
|
|
36
|
+
### 4. Search Moderation Filters
|
|
37
|
+
- `remember_search_space` and `remember_query_space` default to approved/null
|
|
38
|
+
- `moderation_filter` parameter for moderators
|
|
39
|
+
- Permission check via `authContext.credentials.can_moderate`
|
|
40
|
+
|
|
41
|
+
### 5. Moderator Tool
|
|
42
|
+
- `remember_moderate` tool for approve/reject/remove actions
|
|
43
|
+
- Permission-gated via AuthContext
|
|
44
|
+
|
|
45
|
+
### 6. Documentation
|
|
46
|
+
- CHANGELOG entry, README updates, design doc status update
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Success Criteria
|
|
51
|
+
|
|
52
|
+
- [ ] Published memories in moderated spaces start as `pending`
|
|
53
|
+
- [ ] Published memories in unmoderated spaces start as `approved`
|
|
54
|
+
- [ ] Default search only returns `approved` or `null` status memories
|
|
55
|
+
- [ ] Moderators can search for `pending`/`rejected`/`removed` content
|
|
56
|
+
- [ ] Non-moderators cannot access non-approved content via search
|
|
57
|
+
- [ ] `remember_moderate` tool approves/rejects/removes memories
|
|
58
|
+
- [ ] Existing published memories (null status) continue working
|
|
59
|
+
- [ ] All tests pass, build clean
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Key Files to Create
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
src/
|
|
67
|
+
├── services/
|
|
68
|
+
│ └── space-config.service.ts # SpaceConfig Firestore service
|
|
69
|
+
│ └── space-config.service.spec.ts # Tests
|
|
70
|
+
├── tools/
|
|
71
|
+
│ └── moderate.ts # remember_moderate tool
|
|
72
|
+
│ └── moderate.spec.ts # Tests
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Key Files to Modify
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
src/
|
|
79
|
+
├── types/
|
|
80
|
+
│ └── auth.ts # Add can_moderate to GroupPermissions
|
|
81
|
+
├── schema/
|
|
82
|
+
│ └── v2-collections.ts # Add moderation fields
|
|
83
|
+
├── tools/
|
|
84
|
+
│ ├── confirm.ts # Wire moderation into publish
|
|
85
|
+
│ ├── search-space.ts # Add moderation_filter
|
|
86
|
+
│ └── query-space.ts # Add moderation_filter
|
|
87
|
+
├── server.ts # Register remember_moderate
|
|
88
|
+
└── server-factory.ts # Register remember_moderate
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Tasks
|
|
94
|
+
|
|
95
|
+
1. [Task 174: Add moderation schema fields](../tasks/milestone-15-moderation-space-config/task-174-add-moderation-schema-fields.md) - Schema + type changes (2-3h)
|
|
96
|
+
2. [Task 175: Create SpaceConfig service](../tasks/milestone-15-moderation-space-config/task-175-create-space-config-service.md) - Firestore config service (3-4h)
|
|
97
|
+
3. [Task 176: Wire moderation into publish flow](../tasks/milestone-15-moderation-space-config/task-176-wire-moderation-publish-flow.md) - Publish sets moderation_status (3-4h)
|
|
98
|
+
4. [Task 177: Add moderation filters to search tools](../tasks/milestone-15-moderation-space-config/task-177-add-moderation-search-filters.md) - Search filtering + permission checks (4-6h)
|
|
99
|
+
5. [Task 178: Create remember_moderate tool](../tasks/milestone-15-moderation-space-config/task-178-create-remember-moderate-tool.md) - New MCP tool (4-6h)
|
|
100
|
+
6. [Task 179: Documentation and integration tests](../tasks/milestone-15-moderation-space-config/task-179-documentation-integration-tests.md) - Docs + tests (2-3h)
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Testing Requirements
|
|
105
|
+
|
|
106
|
+
- [ ] SpaceConfig service: default fallback, config override, missing doc handling
|
|
107
|
+
- [ ] Publish flow: moderation_status set correctly based on config
|
|
108
|
+
- [ ] Search filters: all moderation_filter values work correctly
|
|
109
|
+
- [ ] Permission checks: non-moderators blocked from non-approved content
|
|
110
|
+
- [ ] remember_moderate: approve/reject/remove actions
|
|
111
|
+
- [ ] Backward compat: null moderation_status treated as approved
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Risks and Mitigation
|
|
116
|
+
|
|
117
|
+
| Risk | Impact | Probability | Mitigation Strategy |
|
|
118
|
+
|------|--------|-------------|---------------------|
|
|
119
|
+
| Firestore read latency on publish | Medium | Low | Config rarely changes; cache in future if needed |
|
|
120
|
+
| Existing memories have null status | Medium | Low | Null treated as approved by design |
|
|
121
|
+
| Search filter complexity | Low | Medium | Well-tested filter combinations |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
**Next Milestone**: M7 - Trust & Permissions
|
|
126
|
+
**Blockers**: None (v3.9.0 AuthContext foundations complete)
|