@slicenfer/project-memory-runtime-core 0.3.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.
Files changed (61) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +12 -0
  3. package/dist/activation/engine.d.ts +27 -0
  4. package/dist/activation/engine.d.ts.map +1 -0
  5. package/dist/activation/engine.js +294 -0
  6. package/dist/activation/engine.js.map +1 -0
  7. package/dist/checkpoints.d.ts +12 -0
  8. package/dist/checkpoints.d.ts.map +1 -0
  9. package/dist/checkpoints.js +94 -0
  10. package/dist/checkpoints.js.map +1 -0
  11. package/dist/compiler/deterministic.d.ts +7 -0
  12. package/dist/compiler/deterministic.d.ts.map +1 -0
  13. package/dist/compiler/deterministic.js +385 -0
  14. package/dist/compiler/deterministic.js.map +1 -0
  15. package/dist/index.d.ts +4 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +4 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/ingestion/service.d.ts +7 -0
  20. package/dist/ingestion/service.d.ts.map +1 -0
  21. package/dist/ingestion/service.js +5 -0
  22. package/dist/ingestion/service.js.map +1 -0
  23. package/dist/recall/packet.d.ts +13 -0
  24. package/dist/recall/packet.d.ts.map +1 -0
  25. package/dist/recall/packet.js +155 -0
  26. package/dist/recall/packet.js.map +1 -0
  27. package/dist/runtime.d.ts +53 -0
  28. package/dist/runtime.d.ts.map +1 -0
  29. package/dist/runtime.js +708 -0
  30. package/dist/runtime.js.map +1 -0
  31. package/dist/scope.d.ts +6 -0
  32. package/dist/scope.d.ts.map +1 -0
  33. package/dist/scope.js +50 -0
  34. package/dist/scope.js.map +1 -0
  35. package/dist/storage/migrations/001_init.sql +113 -0
  36. package/dist/storage/migrations/002_constraints.sql +148 -0
  37. package/dist/storage/migrations/003_event_provenance.sql +36 -0
  38. package/dist/storage/migrations/004_event_capture_path.sql +37 -0
  39. package/dist/storage/migrations/005_activation_indices.sql +15 -0
  40. package/dist/storage/migrations/006_session_checkpoints.sql +54 -0
  41. package/dist/storage/migrations.d.ts +6 -0
  42. package/dist/storage/migrations.d.ts.map +1 -0
  43. package/dist/storage/migrations.js +19 -0
  44. package/dist/storage/migrations.js.map +1 -0
  45. package/dist/storage/sqlite.d.ts +36 -0
  46. package/dist/storage/sqlite.d.ts.map +1 -0
  47. package/dist/storage/sqlite.js +601 -0
  48. package/dist/storage/sqlite.js.map +1 -0
  49. package/dist/types.d.ts +294 -0
  50. package/dist/types.d.ts.map +1 -0
  51. package/dist/types.js +36 -0
  52. package/dist/types.js.map +1 -0
  53. package/dist/utils.d.ts +16 -0
  54. package/dist/utils.d.ts.map +1 -0
  55. package/dist/utils.js +36 -0
  56. package/dist/utils.js.map +1 -0
  57. package/dist/validation.d.ts +24 -0
  58. package/dist/validation.d.ts.map +1 -0
  59. package/dist/validation.js +323 -0
  60. package/dist/validation.js.map +1 -0
  61. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ClaimScope } from "./types.js";
2
+ export declare function normalizeClaimScope(scope?: ClaimScope): ClaimScope | undefined;
3
+ export declare function scopeSignature(scope?: ClaimScope): string;
4
+ export declare function singletonScopeCompatible(leftScope?: ClaimScope, rightScope?: ClaimScope): boolean;
5
+ export declare function scopeSpecificity(scope?: ClaimScope): number;
6
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAS7C,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAU9E;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,wBAAwB,CACtC,SAAS,CAAC,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAUT;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAU3D"}
package/dist/scope.js ADDED
@@ -0,0 +1,50 @@
1
+ function sameFiles(left, right) {
2
+ if (!left?.length && !right?.length)
3
+ return true;
4
+ if (!left?.length || !right?.length)
5
+ return false;
6
+ if (left.length !== right.length)
7
+ return false;
8
+ return left.every((value, index) => value === right[index]);
9
+ }
10
+ export function normalizeClaimScope(scope) {
11
+ if (!scope)
12
+ return undefined;
13
+ const normalized = {};
14
+ if (scope.repo)
15
+ normalized.repo = scope.repo;
16
+ if (scope.branch)
17
+ normalized.branch = scope.branch;
18
+ if (scope.cwd_prefix)
19
+ normalized.cwd_prefix = scope.cwd_prefix;
20
+ if (scope.files?.length)
21
+ normalized.files = [...scope.files].sort();
22
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
23
+ }
24
+ export function scopeSignature(scope) {
25
+ return JSON.stringify(normalizeClaimScope(scope) ?? null);
26
+ }
27
+ export function singletonScopeCompatible(leftScope, rightScope) {
28
+ const left = normalizeClaimScope(leftScope);
29
+ const right = normalizeClaimScope(rightScope);
30
+ return ((left?.repo ?? null) === (right?.repo ?? null) &&
31
+ (left?.branch ?? null) === (right?.branch ?? null) &&
32
+ (left?.cwd_prefix ?? null) === (right?.cwd_prefix ?? null) &&
33
+ sameFiles(left?.files, right?.files));
34
+ }
35
+ export function scopeSpecificity(scope) {
36
+ const normalized = normalizeClaimScope(scope);
37
+ if (!normalized)
38
+ return 0;
39
+ let score = 0;
40
+ if (normalized.repo)
41
+ score += 1;
42
+ if (normalized.branch)
43
+ score += 2;
44
+ if (normalized.cwd_prefix)
45
+ score += 4;
46
+ if (normalized.files?.length)
47
+ score += 8;
48
+ return score;
49
+ }
50
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAEA,SAAS,SAAS,CAAC,IAAe,EAAE,KAAgB;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM;QAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACnD,IAAI,KAAK,CAAC,UAAU;QAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC/D,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;QAAE,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAsB,EACtB,UAAuB;IAEvB,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,CACL,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;QAC9C,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC;QAClD,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC;QAC1D,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAE1B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,CAAC,IAAI;QAAE,KAAK,IAAI,CAAC,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM;QAAE,KAAK,IAAI,CAAC,CAAC;IAClC,IAAI,UAAU,CAAC,UAAU;QAAE,KAAK,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM;QAAE,KAAK,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,113 @@
1
+ CREATE TABLE IF NOT EXISTS schema_migrations (
2
+ id TEXT PRIMARY KEY,
3
+ applied_at TEXT NOT NULL
4
+ );
5
+
6
+ CREATE TABLE IF NOT EXISTS ledger_events (
7
+ id TEXT PRIMARY KEY,
8
+ ts TEXT NOT NULL,
9
+ project_id TEXT NOT NULL,
10
+ session_id TEXT,
11
+ workspace_id TEXT,
12
+ repo_id TEXT,
13
+ parent_event_id TEXT,
14
+ causation_id TEXT,
15
+ agent_id TEXT NOT NULL,
16
+ agent_version TEXT NOT NULL,
17
+ event_type TEXT NOT NULL,
18
+ content TEXT NOT NULL,
19
+ scope_json TEXT,
20
+ metadata_json TEXT,
21
+ created_at TEXT NOT NULL
22
+ );
23
+
24
+ CREATE INDEX IF NOT EXISTS idx_ledger_events_project_ts
25
+ ON ledger_events(project_id, ts);
26
+
27
+ CREATE INDEX IF NOT EXISTS idx_ledger_events_project_type_ts
28
+ ON ledger_events(project_id, event_type, ts);
29
+
30
+ CREATE INDEX IF NOT EXISTS idx_ledger_events_causation
31
+ ON ledger_events(causation_id);
32
+
33
+ CREATE TABLE IF NOT EXISTS claims (
34
+ id TEXT PRIMARY KEY,
35
+ created_at TEXT NOT NULL,
36
+ project_id TEXT NOT NULL,
37
+ type TEXT NOT NULL,
38
+ assertion_kind TEXT NOT NULL,
39
+ canonical_key TEXT NOT NULL,
40
+ cardinality TEXT NOT NULL,
41
+ content TEXT NOT NULL,
42
+ source_event_ids_json TEXT NOT NULL,
43
+ confidence REAL NOT NULL,
44
+ importance REAL NOT NULL,
45
+ outcome_score REAL NOT NULL,
46
+ verification_status TEXT NOT NULL,
47
+ verification_method TEXT,
48
+ status TEXT NOT NULL,
49
+ pinned INTEGER NOT NULL DEFAULT 0,
50
+ valid_from TEXT,
51
+ valid_to TEXT,
52
+ supersedes_json TEXT,
53
+ last_verified_at TEXT,
54
+ last_activated_at TEXT,
55
+ scope_json TEXT,
56
+ thread_status TEXT,
57
+ resolved_at TEXT,
58
+ resolution_rules_json TEXT
59
+ );
60
+
61
+ CREATE INDEX IF NOT EXISTS idx_claims_project_key
62
+ ON claims(project_id, canonical_key);
63
+
64
+ CREATE INDEX IF NOT EXISTS idx_claims_project_status
65
+ ON claims(project_id, status);
66
+
67
+ CREATE INDEX IF NOT EXISTS idx_claims_project_type_status
68
+ ON claims(project_id, type, status);
69
+
70
+ CREATE TABLE IF NOT EXISTS claim_outcomes (
71
+ id TEXT PRIMARY KEY,
72
+ ts TEXT NOT NULL,
73
+ project_id TEXT NOT NULL,
74
+ related_event_ids_json TEXT NOT NULL,
75
+ related_claim_ids_json TEXT,
76
+ outcome_type TEXT NOT NULL,
77
+ strength REAL NOT NULL,
78
+ notes TEXT
79
+ );
80
+
81
+ CREATE INDEX IF NOT EXISTS idx_claim_outcomes_project_ts
82
+ ON claim_outcomes(project_id, ts);
83
+
84
+ CREATE TABLE IF NOT EXISTS claim_transitions (
85
+ id TEXT PRIMARY KEY,
86
+ ts TEXT NOT NULL,
87
+ project_id TEXT NOT NULL,
88
+ claim_id TEXT NOT NULL,
89
+ from_status TEXT,
90
+ to_status TEXT NOT NULL,
91
+ reason TEXT NOT NULL,
92
+ trigger_type TEXT NOT NULL,
93
+ trigger_ref TEXT,
94
+ actor TEXT NOT NULL
95
+ );
96
+
97
+ CREATE INDEX IF NOT EXISTS idx_claim_transitions_claim_ts
98
+ ON claim_transitions(claim_id, ts);
99
+
100
+ CREATE TABLE IF NOT EXISTS activation_logs (
101
+ id TEXT PRIMARY KEY,
102
+ ts TEXT NOT NULL,
103
+ project_id TEXT NOT NULL,
104
+ claim_id TEXT NOT NULL,
105
+ eligibility_result TEXT NOT NULL,
106
+ suppression_reason TEXT,
107
+ rank_score REAL,
108
+ packing_decision TEXT,
109
+ activation_reasons_json TEXT
110
+ );
111
+
112
+ CREATE INDEX IF NOT EXISTS idx_activation_logs_project_ts
113
+ ON activation_logs(project_id, ts);
@@ -0,0 +1,148 @@
1
+ CREATE TRIGGER IF NOT EXISTS trg_claims_validate_insert
2
+ BEFORE INSERT ON claims
3
+ BEGIN
4
+ SELECT CASE
5
+ WHEN NEW.type NOT IN ('fact', 'decision', 'thread')
6
+ THEN RAISE(ABORT, 'invalid claim.type')
7
+ END;
8
+ SELECT CASE
9
+ WHEN NEW.assertion_kind NOT IN ('fact', 'hypothesis', 'instruction', 'preference', 'todo', 'outcome')
10
+ THEN RAISE(ABORT, 'invalid claim.assertion_kind')
11
+ END;
12
+ SELECT CASE
13
+ WHEN NEW.cardinality NOT IN ('singleton', 'set')
14
+ THEN RAISE(ABORT, 'invalid claim.cardinality')
15
+ END;
16
+ SELECT CASE
17
+ WHEN NEW.verification_status NOT IN ('unverified', 'inferred', 'user_confirmed', 'system_verified', 'outcome_verified', 'disputed')
18
+ THEN RAISE(ABORT, 'invalid claim.verification_status')
19
+ END;
20
+ SELECT CASE
21
+ WHEN NEW.status NOT IN ('active', 'stale', 'superseded', 'archived')
22
+ THEN RAISE(ABORT, 'invalid claim.status')
23
+ END;
24
+ SELECT CASE
25
+ WHEN NEW.thread_status IS NOT NULL AND NEW.thread_status NOT IN ('open', 'resolved', 'blocked')
26
+ THEN RAISE(ABORT, 'invalid claim.thread_status')
27
+ END;
28
+ SELECT CASE
29
+ WHEN NEW.confidence < 0 OR NEW.confidence > 1
30
+ THEN RAISE(ABORT, 'claim.confidence out of range')
31
+ END;
32
+ SELECT CASE
33
+ WHEN NEW.importance < 0 OR NEW.importance > 1
34
+ THEN RAISE(ABORT, 'claim.importance out of range')
35
+ END;
36
+ SELECT CASE
37
+ WHEN NEW.outcome_score < -1 OR NEW.outcome_score > 1
38
+ THEN RAISE(ABORT, 'claim.outcome_score out of range')
39
+ END;
40
+ SELECT CASE
41
+ WHEN NEW.verification_status = 'disputed' AND NEW.status = 'active'
42
+ THEN RAISE(ABORT, 'disputed claims must not remain active')
43
+ END;
44
+ SELECT CASE
45
+ WHEN NEW.type != 'thread' AND NEW.thread_status IS NOT NULL
46
+ THEN RAISE(ABORT, 'non-thread claims must not set thread_status')
47
+ END;
48
+ SELECT CASE
49
+ WHEN NEW.type != 'thread' AND NEW.resolved_at IS NOT NULL
50
+ THEN RAISE(ABORT, 'non-thread claims must not set resolved_at')
51
+ END;
52
+ SELECT CASE
53
+ WHEN NEW.thread_status = 'resolved' AND NEW.status != 'archived'
54
+ THEN RAISE(ABORT, 'resolved threads must be archived')
55
+ END;
56
+ END;
57
+
58
+ CREATE TRIGGER IF NOT EXISTS trg_claims_validate_update
59
+ BEFORE UPDATE ON claims
60
+ BEGIN
61
+ SELECT CASE
62
+ WHEN NEW.type NOT IN ('fact', 'decision', 'thread')
63
+ THEN RAISE(ABORT, 'invalid claim.type')
64
+ END;
65
+ SELECT CASE
66
+ WHEN NEW.assertion_kind NOT IN ('fact', 'hypothesis', 'instruction', 'preference', 'todo', 'outcome')
67
+ THEN RAISE(ABORT, 'invalid claim.assertion_kind')
68
+ END;
69
+ SELECT CASE
70
+ WHEN NEW.cardinality NOT IN ('singleton', 'set')
71
+ THEN RAISE(ABORT, 'invalid claim.cardinality')
72
+ END;
73
+ SELECT CASE
74
+ WHEN NEW.verification_status NOT IN ('unverified', 'inferred', 'user_confirmed', 'system_verified', 'outcome_verified', 'disputed')
75
+ THEN RAISE(ABORT, 'invalid claim.verification_status')
76
+ END;
77
+ SELECT CASE
78
+ WHEN NEW.status NOT IN ('active', 'stale', 'superseded', 'archived')
79
+ THEN RAISE(ABORT, 'invalid claim.status')
80
+ END;
81
+ SELECT CASE
82
+ WHEN NEW.thread_status IS NOT NULL AND NEW.thread_status NOT IN ('open', 'resolved', 'blocked')
83
+ THEN RAISE(ABORT, 'invalid claim.thread_status')
84
+ END;
85
+ SELECT CASE
86
+ WHEN NEW.confidence < 0 OR NEW.confidence > 1
87
+ THEN RAISE(ABORT, 'claim.confidence out of range')
88
+ END;
89
+ SELECT CASE
90
+ WHEN NEW.importance < 0 OR NEW.importance > 1
91
+ THEN RAISE(ABORT, 'claim.importance out of range')
92
+ END;
93
+ SELECT CASE
94
+ WHEN NEW.outcome_score < -1 OR NEW.outcome_score > 1
95
+ THEN RAISE(ABORT, 'claim.outcome_score out of range')
96
+ END;
97
+ SELECT CASE
98
+ WHEN NEW.verification_status = 'disputed' AND NEW.status = 'active'
99
+ THEN RAISE(ABORT, 'disputed claims must not remain active')
100
+ END;
101
+ SELECT CASE
102
+ WHEN NEW.type != 'thread' AND NEW.thread_status IS NOT NULL
103
+ THEN RAISE(ABORT, 'non-thread claims must not set thread_status')
104
+ END;
105
+ SELECT CASE
106
+ WHEN NEW.type != 'thread' AND NEW.resolved_at IS NOT NULL
107
+ THEN RAISE(ABORT, 'non-thread claims must not set resolved_at')
108
+ END;
109
+ SELECT CASE
110
+ WHEN NEW.thread_status = 'resolved' AND NEW.status != 'archived'
111
+ THEN RAISE(ABORT, 'resolved threads must be archived')
112
+ END;
113
+ SELECT CASE
114
+ WHEN OLD.status != NEW.status AND NOT (
115
+ (OLD.status = 'active' AND NEW.status IN ('stale', 'superseded', 'archived')) OR
116
+ (OLD.status = 'stale' AND NEW.status IN ('active', 'superseded', 'archived')) OR
117
+ (OLD.status = 'superseded' AND NEW.status = 'archived') OR
118
+ (OLD.status = 'archived' AND NEW.status = 'active')
119
+ )
120
+ THEN RAISE(ABORT, 'illegal claim status transition')
121
+ END;
122
+ END;
123
+
124
+ CREATE TRIGGER IF NOT EXISTS trg_claim_outcomes_validate_insert
125
+ BEFORE INSERT ON claim_outcomes
126
+ BEGIN
127
+ SELECT CASE
128
+ WHEN NEW.outcome_type NOT IN ('test_pass', 'test_fail', 'build_pass', 'build_fail', 'commit_kept', 'commit_reverted', 'issue_closed', 'issue_reopened', 'human_kept', 'human_corrected', 'manual_override')
129
+ THEN RAISE(ABORT, 'invalid outcome.outcome_type')
130
+ END;
131
+ SELECT CASE
132
+ WHEN NEW.strength < 0 OR NEW.strength > 1
133
+ THEN RAISE(ABORT, 'outcome.strength out of range')
134
+ END;
135
+ END;
136
+
137
+ CREATE TRIGGER IF NOT EXISTS trg_claim_outcomes_validate_update
138
+ BEFORE UPDATE ON claim_outcomes
139
+ BEGIN
140
+ SELECT CASE
141
+ WHEN NEW.outcome_type NOT IN ('test_pass', 'test_fail', 'build_pass', 'build_fail', 'commit_kept', 'commit_reverted', 'issue_closed', 'issue_reopened', 'human_kept', 'human_corrected', 'manual_override')
142
+ THEN RAISE(ABORT, 'invalid outcome.outcome_type')
143
+ END;
144
+ SELECT CASE
145
+ WHEN NEW.strength < 0 OR NEW.strength > 1
146
+ THEN RAISE(ABORT, 'outcome.strength out of range')
147
+ END;
148
+ END;
@@ -0,0 +1,36 @@
1
+ ALTER TABLE ledger_events ADD COLUMN source_kind TEXT;
2
+ ALTER TABLE ledger_events ADD COLUMN trust_level TEXT;
3
+
4
+ CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_insert
5
+ BEFORE INSERT ON ledger_events
6
+ BEGIN
7
+ SELECT CASE
8
+ WHEN NEW.event_type NOT IN ('user_message', 'agent_message', 'file_edit', 'command_result', 'test_result', 'build_result', 'lint_result', 'benchmark_result', 'deploy_result', 'git_commit', 'git_revert', 'pr_opened', 'pr_merged', 'pr_closed', 'issue_link', 'issue_closed', 'issue_reopened', 'human_edit_after_agent', 'manual_override', 'session_start', 'session_end', 'user_confirmation')
9
+ THEN RAISE(ABORT, 'invalid event.event_type')
10
+ END;
11
+ SELECT CASE
12
+ WHEN NEW.source_kind IS NOT NULL AND NEW.source_kind NOT IN ('user', 'agent', 'system', 'operator', 'imported')
13
+ THEN RAISE(ABORT, 'invalid event.source_kind')
14
+ END;
15
+ SELECT CASE
16
+ WHEN NEW.trust_level IS NOT NULL AND NEW.trust_level NOT IN ('low', 'medium', 'high')
17
+ THEN RAISE(ABORT, 'invalid event.trust_level')
18
+ END;
19
+ END;
20
+
21
+ CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_update
22
+ BEFORE UPDATE ON ledger_events
23
+ BEGIN
24
+ SELECT CASE
25
+ WHEN NEW.event_type NOT IN ('user_message', 'agent_message', 'file_edit', 'command_result', 'test_result', 'build_result', 'lint_result', 'benchmark_result', 'deploy_result', 'git_commit', 'git_revert', 'pr_opened', 'pr_merged', 'pr_closed', 'issue_link', 'issue_closed', 'issue_reopened', 'human_edit_after_agent', 'manual_override', 'session_start', 'session_end', 'user_confirmation')
26
+ THEN RAISE(ABORT, 'invalid event.event_type')
27
+ END;
28
+ SELECT CASE
29
+ WHEN NEW.source_kind IS NOT NULL AND NEW.source_kind NOT IN ('user', 'agent', 'system', 'operator', 'imported')
30
+ THEN RAISE(ABORT, 'invalid event.source_kind')
31
+ END;
32
+ SELECT CASE
33
+ WHEN NEW.trust_level IS NOT NULL AND NEW.trust_level NOT IN ('low', 'medium', 'high')
34
+ THEN RAISE(ABORT, 'invalid event.trust_level')
35
+ END;
36
+ END;
@@ -0,0 +1,37 @@
1
+ ALTER TABLE ledger_events ADD COLUMN capture_path TEXT;
2
+
3
+ CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_capture_path_insert
4
+ BEFORE INSERT ON ledger_events
5
+ BEGIN
6
+ SELECT CASE
7
+ WHEN NEW.capture_path IS NOT NULL
8
+ AND NEW.capture_path NOT IN (
9
+ 'fixture.user_confirmation',
10
+ 'fixture.user_message',
11
+ 'claude_code.hook.user_confirmation',
12
+ 'claude_code.hook.user_message',
13
+ 'import.transcript',
14
+ 'system.tool_observation',
15
+ 'operator.manual'
16
+ )
17
+ THEN RAISE(ABORT, 'invalid event.capture_path')
18
+ END;
19
+ END;
20
+
21
+ CREATE TRIGGER IF NOT EXISTS trg_ledger_events_validate_capture_path_update
22
+ BEFORE UPDATE ON ledger_events
23
+ BEGIN
24
+ SELECT CASE
25
+ WHEN NEW.capture_path IS NOT NULL
26
+ AND NEW.capture_path NOT IN (
27
+ 'fixture.user_confirmation',
28
+ 'fixture.user_message',
29
+ 'claude_code.hook.user_confirmation',
30
+ 'claude_code.hook.user_message',
31
+ 'import.transcript',
32
+ 'system.tool_observation',
33
+ 'operator.manual'
34
+ )
35
+ THEN RAISE(ABORT, 'invalid event.capture_path')
36
+ END;
37
+ END;
@@ -0,0 +1,15 @@
1
+ -- Performance indices for claim activation queries
2
+ CREATE INDEX IF NOT EXISTS idx_claims_project_status
3
+ ON claims (project_id, status);
4
+
5
+ CREATE INDEX IF NOT EXISTS idx_claims_project_key_status
6
+ ON claims (project_id, canonical_key, cardinality, status);
7
+
8
+ CREATE INDEX IF NOT EXISTS idx_outcomes_project
9
+ ON claim_outcomes (project_id, ts);
10
+
11
+ CREATE INDEX IF NOT EXISTS idx_transitions_project_claim
12
+ ON claim_transitions (project_id, claim_id, ts);
13
+
14
+ CREATE INDEX IF NOT EXISTS idx_events_project_ts
15
+ ON ledger_events (project_id, ts);
@@ -0,0 +1,54 @@
1
+ CREATE TABLE IF NOT EXISTS session_checkpoints (
2
+ id TEXT PRIMARY KEY,
3
+ created_at TEXT NOT NULL,
4
+ project_id TEXT NOT NULL,
5
+ session_id TEXT NOT NULL,
6
+ workspace_id TEXT,
7
+ branch TEXT,
8
+ repo_head TEXT,
9
+ status TEXT NOT NULL,
10
+ source TEXT NOT NULL,
11
+ summary TEXT NOT NULL,
12
+ current_goal TEXT,
13
+ next_action TEXT,
14
+ blocking_reason TEXT,
15
+ hot_claim_ids_json TEXT NOT NULL,
16
+ hot_files_json TEXT NOT NULL,
17
+ evidence_refs_json TEXT NOT NULL,
18
+ packet_hash TEXT NOT NULL,
19
+ hot_file_digests_json TEXT,
20
+ stale_reason TEXT,
21
+ UNIQUE(project_id, session_id, source, packet_hash)
22
+ );
23
+
24
+ CREATE INDEX IF NOT EXISTS idx_session_checkpoints_project_workspace_created
25
+ ON session_checkpoints(project_id, workspace_id, created_at DESC);
26
+
27
+ CREATE INDEX IF NOT EXISTS idx_session_checkpoints_project_status_created
28
+ ON session_checkpoints(project_id, status, created_at DESC);
29
+
30
+ CREATE TRIGGER IF NOT EXISTS trg_session_checkpoints_validate_insert
31
+ BEFORE INSERT ON session_checkpoints
32
+ BEGIN
33
+ SELECT CASE
34
+ WHEN NEW.status NOT IN ('active', 'stale')
35
+ THEN RAISE(ABORT, 'invalid session_checkpoint.status')
36
+ END;
37
+ SELECT CASE
38
+ WHEN NEW.source NOT IN ('precompact', 'session_end', 'postcompact', 'stop_failure')
39
+ THEN RAISE(ABORT, 'invalid session_checkpoint.source')
40
+ END;
41
+ END;
42
+
43
+ CREATE TRIGGER IF NOT EXISTS trg_session_checkpoints_validate_update
44
+ BEFORE UPDATE ON session_checkpoints
45
+ BEGIN
46
+ SELECT CASE
47
+ WHEN NEW.status NOT IN ('active', 'stale')
48
+ THEN RAISE(ABORT, 'invalid session_checkpoint.status')
49
+ END;
50
+ SELECT CASE
51
+ WHEN NEW.source NOT IN ('precompact', 'session_end', 'postcompact', 'stop_failure')
52
+ THEN RAISE(ABORT, 'invalid session_checkpoint.source')
53
+ END;
54
+ END;
@@ -0,0 +1,6 @@
1
+ export interface SqlMigration {
2
+ id: string;
3
+ sql: string;
4
+ }
5
+ export declare function loadSqlMigrations(): SqlMigration[];
6
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAWD,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAQlD"}
@@ -0,0 +1,19 @@
1
+ import fs from "node:fs";
2
+ const MIGRATION_FILES = [
3
+ "001_init.sql",
4
+ "002_constraints.sql",
5
+ "003_event_provenance.sql",
6
+ "004_event_capture_path.sql",
7
+ "005_activation_indices.sql",
8
+ "006_session_checkpoints.sql",
9
+ ];
10
+ export function loadSqlMigrations() {
11
+ return MIGRATION_FILES.map((fileName) => {
12
+ const fileUrl = new URL(`./migrations/${fileName}`, import.meta.url);
13
+ return {
14
+ id: fileName.replace(/\.sql$/, ""),
15
+ sql: fs.readFileSync(fileUrl, "utf8"),
16
+ };
17
+ });
18
+ }
19
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAOzB,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,qBAAqB;IACrB,0BAA0B;IAC1B,4BAA4B;IAC5B,4BAA4B;IAC5B,6BAA6B;CAC9B,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,QAAQ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,36 @@
1
+ import Database from "better-sqlite3";
2
+ import { type ActivationLog, type Claim, type ClaimScope, type ClaimTransition, type NormalizedEvent, type Outcome, type RuntimeConfig, type RuntimePaths, type RuntimeStats, type SessionCheckpoint, type SessionCheckpointStatus } from "../types.js";
3
+ export declare function resolveRuntimePaths(config?: RuntimeConfig): RuntimePaths;
4
+ export declare class RuntimeStorage {
5
+ readonly paths: RuntimePaths;
6
+ readonly db: Database.Database;
7
+ constructor(config?: RuntimeConfig);
8
+ close(): void;
9
+ transact<T>(fn: () => T): T;
10
+ applyMigrations(): number;
11
+ insertEvent(event: NormalizedEvent): void;
12
+ insertEventWithResult(event: NormalizedEvent): boolean;
13
+ insertClaim(claim: Claim): void;
14
+ upsertClaim(claim: Claim): void;
15
+ insertOutcome(outcome: Outcome): void;
16
+ upsertOutcome(outcome: Outcome): void;
17
+ insertSessionCheckpoint(checkpoint: SessionCheckpoint): void;
18
+ upsertSessionCheckpoint(checkpoint: SessionCheckpoint): void;
19
+ listEvents(projectId?: string): NormalizedEvent[];
20
+ listClaims(projectId?: string): Claim[];
21
+ listOutcomes(projectId?: string): Outcome[];
22
+ listSessionCheckpoints(projectId?: string): SessionCheckpoint[];
23
+ getLatestSessionCheckpoint(projectId: string, workspaceId?: string, status?: SessionCheckpointStatus): SessionCheckpoint | undefined;
24
+ getClaimById(claimId: string): Claim | undefined;
25
+ touchClaims(projectId: string, claimIds: string[], activatedAt: string): number;
26
+ findCompatibleActiveSingletonClaims(projectId: string, canonicalKey: string, scope: ClaimScope | undefined, excludeClaimId?: string): Claim[];
27
+ supersedeClaim(oldClaimId: string, newClaimId: string, reason: string, triggerType: string, actor: string): void;
28
+ insertClaimTransition(transition: ClaimTransition): void;
29
+ insertActivationLog(log: ActivationLog): void;
30
+ listActivationLogs(projectId?: string): ActivationLog[];
31
+ listClaimTransitions(projectId?: string): ClaimTransition[];
32
+ getStats(): RuntimeStats;
33
+ private normalizeClaim;
34
+ private assertActiveSingletonInvariant;
35
+ }
36
+ //# sourceMappingURL=sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAyKrB,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,aAAkB,GAAG,YAAY,CAI5E;AAED,qBAAa,cAAc;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAEnB,MAAM,GAAE,aAAkB;IAUtC,KAAK,IAAI,IAAI;IAIb,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAK3B,eAAe,IAAI,MAAM;IAmCzB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIzC,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAqCtD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI/B,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA2E/B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAsBrC,uBAAuB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAI5D,uBAAuB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAkD5D,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAUjD,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAUvC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAU3C,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAU/D,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,uBAAuB,GAC/B,iBAAiB,GAAG,SAAS;IAqChC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAMhD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAgB/E,mCAAmC,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,KAAK,EAAE;IAoBV,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA8ChH,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAgBxD,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAkB7C,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAUvD,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAU3D,QAAQ,IAAI,YAAY;IAiBxB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,8BAA8B;CAevC"}