memorix 1.1.13 → 1.2.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/CHANGELOG.md +19 -0
- package/README.md +3 -2
- package/README.zh-CN.md +3 -2
- package/dist/cli/index.js +36313 -31189
- package/dist/cli/index.js.map +1 -1
- package/dist/dashboard/static/app.js +50 -30
- package/dist/index.js +5348 -674
- package/dist/index.js.map +1 -1
- package/dist/maintenance-runner.d.ts +1 -1
- package/dist/maintenance-runner.js +3661 -293
- package/dist/maintenance-runner.js.map +1 -1
- package/dist/memcode-runtime/CHANGELOG.md +19 -0
- package/dist/sdk.d.ts +1 -1
- package/dist/sdk.js +5346 -672
- package/dist/sdk.js.map +1 -1
- package/docs/1.2.0-CLAIM-LEDGER.md +72 -0
- package/docs/1.2.0-CODE-STATE.md +61 -0
- package/docs/1.2.0-DEVELOPMENT-CHARTER.md +255 -0
- package/docs/1.2.0-DYNAMIC-LIFECYCLE.md +71 -0
- package/docs/1.2.0-EVALUATION-HARNESS.md +51 -0
- package/docs/1.2.0-IMPLEMENTATION-PLAN.md +554 -0
- package/docs/1.2.0-KNOWLEDGE-WORKFLOW-RESEARCH.md +205 -0
- package/docs/1.2.0-KNOWLEDGE-WORKSPACE.md +68 -0
- package/docs/1.2.0-PRODUCT-STORY.md +234 -0
- package/docs/1.2.0-PROVIDER-QUALITY.md +189 -0
- package/docs/1.2.0-WORKFLOW-INHERITANCE.md +101 -0
- package/docs/1.2.0-WORKSET-RETRIEVAL.md +80 -0
- package/docs/AGENT_OPERATOR_PLAYBOOK.md +6 -3
- package/docs/API_REFERENCE.md +25 -6
- package/docs/CONFIGURATION.md +21 -3
- package/docs/README.md +17 -2
- package/docs/dev-log/progress.txt +120 -40
- package/llms-full.txt +16 -2
- package/llms.txt +9 -4
- package/package.json +3 -2
- package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
- package/src/cli/capability-map.ts +1 -0
- package/src/cli/commands/codegraph.ts +112 -9
- package/src/cli/commands/context.ts +2 -0
- package/src/cli/commands/doctor.ts +73 -4
- package/src/cli/commands/knowledge.ts +282 -0
- package/src/cli/commands/serve-http.ts +12 -1
- package/src/cli/index.ts +3 -1
- package/src/cli/tui/App.tsx +1 -1
- package/src/cli/tui/Panels.tsx +8 -8
- package/src/cli/tui/theme.ts +1 -1
- package/src/cli/tui/views/GraphView.tsx +8 -7
- package/src/cli/tui/views/KnowledgeView.tsx +9 -9
- package/src/codegraph/auto-context.ts +171 -9
- package/src/codegraph/code-state.ts +95 -0
- package/src/codegraph/context-pack.ts +82 -1
- package/src/codegraph/external-provider.ts +581 -0
- package/src/codegraph/lite-provider.ts +64 -19
- package/src/codegraph/project-context.ts +9 -1
- package/src/codegraph/store.ts +154 -6
- package/src/codegraph/types.ts +117 -0
- package/src/config/resolved-config.ts +28 -0
- package/src/config/toml-loader.ts +3 -0
- package/src/config/yaml-loader.ts +6 -0
- package/src/dashboard/server.ts +15 -1
- package/src/evaluation/workset-evaluation.ts +120 -0
- package/src/hooks/handler.ts +48 -6
- package/src/knowledge/claim-store.ts +267 -0
- package/src/knowledge/claims.ts +537 -0
- package/src/knowledge/markdown.ts +129 -0
- package/src/knowledge/types.ts +157 -0
- package/src/knowledge/wiki.ts +524 -0
- package/src/knowledge/workflow-store.ts +168 -0
- package/src/knowledge/workflow-types.ts +95 -0
- package/src/knowledge/workflows.ts +743 -0
- package/src/knowledge/workset.ts +515 -0
- package/src/knowledge/workspace-store.ts +220 -0
- package/src/knowledge/workspace-types.ts +106 -0
- package/src/knowledge/workspace.ts +220 -0
- package/src/memory/observations.ts +19 -0
- package/src/runtime/control-plane-maintenance.ts +5 -0
- package/src/runtime/isolated-maintenance.ts +5 -0
- package/src/runtime/lifecycle-status.ts +102 -0
- package/src/runtime/lifecycle.ts +107 -0
- package/src/runtime/maintenance-jobs.ts +5 -0
- package/src/runtime/project-maintenance.ts +190 -0
- package/src/server/tool-profile.ts +3 -2
- package/src/server.ts +354 -14
- package/src/store/file-lock.ts +24 -4
- package/src/store/sqlite-db.ts +307 -0
- package/src/wiki/generator.ts +4 -2
- package/src/wiki/knowledge-graph.ts +7 -4
- package/src/wiki/types.ts +16 -4
|
@@ -24,9 +24,9 @@ const i18n = {
|
|
|
24
24
|
noDataDesc: 'Start using Memorix to see your dashboard',
|
|
25
25
|
|
|
26
26
|
// Graph
|
|
27
|
-
knowledgeGraph: '
|
|
27
|
+
knowledgeGraph: 'Memory Entity Map',
|
|
28
28
|
noGraphData: 'No Graph Data',
|
|
29
|
-
noGraphDataDesc: 'Create entities and relations to see your
|
|
29
|
+
noGraphDataDesc: 'Create entities and relations to see your memory entity map',
|
|
30
30
|
observation_s: 'observation(s)',
|
|
31
31
|
nodes: 'nodes',
|
|
32
32
|
edges: 'edges',
|
|
@@ -147,8 +147,8 @@ const i18n = {
|
|
|
147
147
|
recentGitMemories: 'Recent Git Memories',
|
|
148
148
|
commit: 'Commit',
|
|
149
149
|
created: 'Created',
|
|
150
|
-
knowledgeTitle: '
|
|
151
|
-
knowledgeSubtitle: '
|
|
150
|
+
knowledgeTitle: 'Memory Overview',
|
|
151
|
+
knowledgeSubtitle: 'Read-only overview generated from durable project memory, not a maintained wiki',
|
|
152
152
|
knowledgeObservationsUsed: 'Observations Used',
|
|
153
153
|
knowledgeMiniSkillsUsed: 'Mini-skills Used',
|
|
154
154
|
knowledgeRefs: 'Refs',
|
|
@@ -156,10 +156,10 @@ const i18n = {
|
|
|
156
156
|
knowledgeQuickJump: 'Sections',
|
|
157
157
|
knowledgeNoItems: 'No entries in this section yet',
|
|
158
158
|
knowledgeNoItemsDesc: 'This section will fill in as durable project knowledge is stored.',
|
|
159
|
-
knowledgeUnavailable: '
|
|
159
|
+
knowledgeUnavailable: 'Memory Overview Unavailable',
|
|
160
160
|
knowledgeUnavailableDesc: 'Could not load /api/knowledge for the selected project.',
|
|
161
|
-
knowledgeEmpty: 'No
|
|
162
|
-
knowledgeEmptyDesc: 'Store durable observations or promote mini-skills to populate this read-only
|
|
161
|
+
knowledgeEmpty: 'No Memory Overview Entries',
|
|
162
|
+
knowledgeEmptyDesc: 'Store durable observations or promote mini-skills to populate this read-only memory overview.',
|
|
163
163
|
knowledgeProvenance: 'Provenance',
|
|
164
164
|
knowledgeEntry: 'entry',
|
|
165
165
|
knowledgeEntries: 'entries',
|
|
@@ -225,6 +225,10 @@ const i18n = {
|
|
|
225
225
|
maintenanceQueued: 'queued',
|
|
226
226
|
maintenanceRunning: 'running',
|
|
227
227
|
maintenanceNeedsAttention: 'needs attention',
|
|
228
|
+
knowledgeLifecycle: 'Knowledge Lifecycle',
|
|
229
|
+
claimsNeedReview: 'claims need review',
|
|
230
|
+
pendingProposals: 'pending proposals',
|
|
231
|
+
knowledgeReady: 'Knowledge current',
|
|
228
232
|
|
|
229
233
|
// Project states
|
|
230
234
|
noProjects: 'No projects',
|
|
@@ -341,14 +345,14 @@ const i18n = {
|
|
|
341
345
|
graphTopToBottom: 'Top → Bottom',
|
|
342
346
|
graphMore: 'more',
|
|
343
347
|
|
|
344
|
-
//
|
|
345
|
-
kgTitle: '
|
|
346
|
-
kgSubtitle: '
|
|
348
|
+
// Deterministic memory-map projection
|
|
349
|
+
kgTitle: 'Memory Map',
|
|
350
|
+
kgSubtitle: 'Deterministic links from shared entities, skill sources, and explicit relations',
|
|
347
351
|
kgNodes: 'nodes',
|
|
348
352
|
kgEdges: 'edges',
|
|
349
353
|
kgClusters: 'clusters',
|
|
350
|
-
kgNoData: 'No
|
|
351
|
-
kgNoDataDesc: 'Store durable observations or promote mini-skills to
|
|
354
|
+
kgNoData: 'No Memory Map Data',
|
|
355
|
+
kgNoDataDesc: 'Store durable observations or promote mini-skills to build a deterministic memory map.',
|
|
352
356
|
kgClusterFilter: 'Section Cluster',
|
|
353
357
|
kgEdgeTypeFilter: 'Edge Type',
|
|
354
358
|
kgEdgeSupports: 'supports',
|
|
@@ -363,7 +367,7 @@ const i18n = {
|
|
|
363
367
|
kgInspectorRelatedEdges: 'Related Edges',
|
|
364
368
|
kgInspectorNoEdges: 'No edges',
|
|
365
369
|
kgDataMode: 'Data Source',
|
|
366
|
-
kgModeSemantic: '
|
|
370
|
+
kgModeSemantic: 'Inferred Memory Map',
|
|
367
371
|
kgModeEntity: 'Entity Graph',
|
|
368
372
|
kgViewMode: 'View Mode',
|
|
369
373
|
kgFocused: 'Focused',
|
|
@@ -388,8 +392,8 @@ const i18n = {
|
|
|
388
392
|
// Nav tooltips + labels
|
|
389
393
|
navDashboard: 'Dashboard',
|
|
390
394
|
navGitMemory: 'Git Memory',
|
|
391
|
-
navKnowledge: '
|
|
392
|
-
navGraph: '
|
|
395
|
+
navKnowledge: 'Memory Overview',
|
|
396
|
+
navGraph: 'Memory Map',
|
|
393
397
|
navObservations: 'Observations',
|
|
394
398
|
navRetention: 'Retention',
|
|
395
399
|
navConfig: 'Config',
|
|
@@ -574,8 +578,8 @@ const i18n = {
|
|
|
574
578
|
recentGitMemories: '最近 Git 记忆',
|
|
575
579
|
commit: '提交',
|
|
576
580
|
created: '创建时间',
|
|
577
|
-
knowledgeTitle: '
|
|
578
|
-
knowledgeSubtitle: '
|
|
581
|
+
knowledgeTitle: '记忆概览',
|
|
582
|
+
knowledgeSubtitle: '从持久项目记忆生成的只读概览,尚非可维护 Wiki',
|
|
579
583
|
knowledgeObservationsUsed: '使用的观察',
|
|
580
584
|
knowledgeMiniSkillsUsed: '使用的 Mini-skills',
|
|
581
585
|
knowledgeRefs: '引用',
|
|
@@ -583,10 +587,10 @@ const i18n = {
|
|
|
583
587
|
knowledgeQuickJump: '章节',
|
|
584
588
|
knowledgeNoItems: '本章节暂无条目',
|
|
585
589
|
knowledgeNoItemsDesc: '当项目中出现持久知识后,本章节会自动填充。',
|
|
586
|
-
knowledgeUnavailable: '
|
|
590
|
+
knowledgeUnavailable: '记忆概览不可用',
|
|
587
591
|
knowledgeUnavailableDesc: '无法为所选项目加载 /api/knowledge。',
|
|
588
|
-
knowledgeEmpty: '
|
|
589
|
-
knowledgeEmptyDesc: '存储持久观察或提升 mini-skill
|
|
592
|
+
knowledgeEmpty: '暂无记忆概览条目',
|
|
593
|
+
knowledgeEmptyDesc: '存储持久观察或提升 mini-skill 后,此只读记忆概览会自动填充。',
|
|
590
594
|
knowledgeProvenance: '来源',
|
|
591
595
|
knowledgeEntry: '条',
|
|
592
596
|
knowledgeEntries: '条',
|
|
@@ -652,6 +656,10 @@ const i18n = {
|
|
|
652
656
|
maintenanceQueued: '项排队',
|
|
653
657
|
maintenanceRunning: '项运行中',
|
|
654
658
|
maintenanceNeedsAttention: '项需要处理',
|
|
659
|
+
knowledgeLifecycle: '知识生命周期',
|
|
660
|
+
claimsNeedReview: '条 claim 待复核',
|
|
661
|
+
pendingProposals: '个提案待审',
|
|
662
|
+
knowledgeReady: '知识状态正常',
|
|
655
663
|
|
|
656
664
|
// Project states
|
|
657
665
|
noProjects: '无项目',
|
|
@@ -773,14 +781,14 @@ const i18n = {
|
|
|
773
781
|
graphTopToBottom: '从上到下',
|
|
774
782
|
graphMore: '更多',
|
|
775
783
|
|
|
776
|
-
//
|
|
777
|
-
kgTitle: '
|
|
778
|
-
kgSubtitle: '
|
|
784
|
+
// Deterministic memory-map projection
|
|
785
|
+
kgTitle: '记忆关系图',
|
|
786
|
+
kgSubtitle: '由共享实体、技能来源和显式关系确定性推断',
|
|
779
787
|
kgNodes: '个节点',
|
|
780
788
|
kgEdges: '条边',
|
|
781
789
|
kgClusters: '个聚类',
|
|
782
|
-
kgNoData: '
|
|
783
|
-
kgNoDataDesc: '
|
|
790
|
+
kgNoData: '暂无记忆关系图数据',
|
|
791
|
+
kgNoDataDesc: '存储持久观察或提升迷你技能以构建确定性记忆关系图。',
|
|
784
792
|
kgClusterFilter: '分区聚类',
|
|
785
793
|
kgEdgeTypeFilter: '边类型',
|
|
786
794
|
kgEdgeSupports: '支撑',
|
|
@@ -795,7 +803,7 @@ const i18n = {
|
|
|
795
803
|
kgInspectorRelatedEdges: '相关边',
|
|
796
804
|
kgInspectorNoEdges: '无边',
|
|
797
805
|
kgDataMode: '数据源',
|
|
798
|
-
kgModeSemantic: '
|
|
806
|
+
kgModeSemantic: '推断记忆关系图',
|
|
799
807
|
kgModeEntity: '实体图谱',
|
|
800
808
|
kgViewMode: '视图模式',
|
|
801
809
|
kgFocused: '聚焦',
|
|
@@ -820,8 +828,8 @@ const i18n = {
|
|
|
820
828
|
// Nav tooltips
|
|
821
829
|
navDashboard: '仪表盘',
|
|
822
830
|
navGitMemory: 'Git 记忆',
|
|
823
|
-
navKnowledge: '
|
|
824
|
-
navGraph: '
|
|
831
|
+
navKnowledge: '记忆概览',
|
|
832
|
+
navGraph: '记忆关系图',
|
|
825
833
|
navObservations: '观察记录',
|
|
826
834
|
navRetention: '记忆衰减',
|
|
827
835
|
navConfig: '配置溯源',
|
|
@@ -1331,6 +1339,9 @@ async function loadDashboard() {
|
|
|
1331
1339
|
const gs = stats.gitSummary || { total: 0, recentWeek: 0, recentMemories: [] };
|
|
1332
1340
|
const rs = stats.retentionSummary || { active: 0, stale: 0, archive: 0, immune: 0 };
|
|
1333
1341
|
const maintenance = stats.maintenance || { pending: 0, running: 0, retrying: 0, failed: 0 };
|
|
1342
|
+
const lifecycle = stats.lifecycle || {};
|
|
1343
|
+
const lifecycleClaims = lifecycle.claims || { needsReview: 0, conflicts: 0 };
|
|
1344
|
+
const pendingProposals = (lifecycle.workspaces || []).reduce((total, workspace) => total + (workspace.pendingProposals || 0), 0);
|
|
1334
1345
|
const queuedMaintenance = (maintenance.pending || 0) + (maintenance.retrying || 0);
|
|
1335
1346
|
const activeMaintenance = maintenance.running || 0;
|
|
1336
1347
|
const failedMaintenance = maintenance.failed || 0;
|
|
@@ -1341,6 +1352,11 @@ async function loadDashboard() {
|
|
|
1341
1352
|
: queuedMaintenance > 0
|
|
1342
1353
|
? { color: 'var(--accent-amber)', text: `${queuedMaintenance} ${t('maintenanceQueued')}` }
|
|
1343
1354
|
: { color: 'var(--accent-green)', text: t('maintenanceIdle') };
|
|
1355
|
+
const knowledgeState = lifecycleClaims.conflicts > 0 || lifecycleClaims.needsReview > 0
|
|
1356
|
+
? { color: 'var(--accent-amber)', text: `${lifecycleClaims.conflicts || lifecycleClaims.needsReview} ${t('claimsNeedReview')}` }
|
|
1357
|
+
: pendingProposals > 0
|
|
1358
|
+
? { color: 'var(--accent-blue)', text: `${pendingProposals} ${t('pendingProposals')}` }
|
|
1359
|
+
: { color: 'var(--accent-green)', text: t('knowledgeReady') };
|
|
1344
1360
|
|
|
1345
1361
|
const typeIcons = {
|
|
1346
1362
|
'session-request': '<span class="iconify" data-icon="lucide:target" style="color:#f87171;"></span>', gotcha: '<span class="iconify" data-icon="lucide:alert-octagon" style="color:#ef4444;"></span>', 'problem-solution': '<span class="iconify" data-icon="lucide:lightbulb" style="color:#fbbf24;"></span>',
|
|
@@ -1422,6 +1438,10 @@ async function loadDashboard() {
|
|
|
1422
1438
|
<div style="font-size:14px;font-weight:600;color:${maintenanceState.color};">${maintenanceState.text}</div>
|
|
1423
1439
|
${queuedMaintenance > 0 && activeMaintenance > 0 ? `<div style="font-size:11px;color:var(--text-secondary);margin-top:2px;">${queuedMaintenance} ${t('maintenanceQueued')}</div>` : ''}
|
|
1424
1440
|
</div>
|
|
1441
|
+
<div>
|
|
1442
|
+
<div style="font-size:11px;color:var(--text-muted);margin-bottom:4px;">${t('knowledgeLifecycle')}</div>
|
|
1443
|
+
<div style="font-size:14px;font-weight:600;color:${knowledgeState.color};">${knowledgeState.text}</div>
|
|
1444
|
+
</div>
|
|
1425
1445
|
</div>
|
|
1426
1446
|
</div>
|
|
1427
1447
|
</div>
|
|
@@ -1762,7 +1782,7 @@ async function loadGraph() {
|
|
|
1762
1782
|
const container = document.getElementById('page-graph');
|
|
1763
1783
|
container.innerHTML = '<div class="loading"><div class="spinner"></div></div>';
|
|
1764
1784
|
|
|
1765
|
-
//
|
|
1785
|
+
// Prefer the deterministic memory-map projection when it is available.
|
|
1766
1786
|
try {
|
|
1767
1787
|
const kg = await api('knowledge-graph');
|
|
1768
1788
|
if (kg && kg.nodes && kg.nodes.length > 0) {
|
|
@@ -1829,7 +1849,7 @@ async function loadGraph() {
|
|
|
1829
1849
|
}
|
|
1830
1850
|
|
|
1831
1851
|
// ============================================================
|
|
1832
|
-
//
|
|
1852
|
+
// Deterministic Memory Map Renderer — Apache ECharts 5
|
|
1833
1853
|
// Force layout, section categories, evidence-based edges
|
|
1834
1854
|
// ============================================================
|
|
1835
1855
|
|