@askdkc/kiokuko 0.1.28 → 0.1.30

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 (85) hide show
  1. package/dist/akinator/agent-task.d.ts.map +1 -1
  2. package/dist/akinator/agent-task.js +105 -79
  3. package/dist/akinator/agent-task.js.map +1 -1
  4. package/dist/akinator/store.d.ts.map +1 -1
  5. package/dist/akinator/store.js +5 -1
  6. package/dist/akinator/store.js.map +1 -1
  7. package/dist/commands/agent.d.ts.map +1 -1
  8. package/dist/commands/agent.js +26 -2
  9. package/dist/commands/agent.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +11 -5
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +258 -129
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/setup.d.ts.map +1 -1
  15. package/dist/commands/setup.js +3 -0
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/context/delivery-migration.d.ts +40 -0
  18. package/dist/context/delivery-migration.d.ts.map +1 -0
  19. package/dist/context/delivery-migration.js +360 -0
  20. package/dist/context/delivery-migration.js.map +1 -0
  21. package/dist/context/delivery.d.ts +2 -0
  22. package/dist/context/delivery.d.ts.map +1 -1
  23. package/dist/context/delivery.js +45 -6
  24. package/dist/context/delivery.js.map +1 -1
  25. package/dist/context/nudge-store.d.ts +57 -0
  26. package/dist/context/nudge-store.d.ts.map +1 -0
  27. package/dist/context/nudge-store.js +227 -0
  28. package/dist/context/nudge-store.js.map +1 -0
  29. package/dist/context/nudge-validation.d.ts +26 -0
  30. package/dist/context/nudge-validation.d.ts.map +1 -0
  31. package/dist/context/nudge-validation.js +122 -0
  32. package/dist/context/nudge-validation.js.map +1 -0
  33. package/dist/context/nudges.d.ts +38 -0
  34. package/dist/context/nudges.d.ts.map +1 -0
  35. package/dist/context/nudges.js +131 -0
  36. package/dist/context/nudges.js.map +1 -0
  37. package/dist/context/scoped-broker.d.ts.map +1 -1
  38. package/dist/context/scoped-broker.js +5 -0
  39. package/dist/context/scoped-broker.js.map +1 -1
  40. package/dist/db/migrate.d.ts.map +1 -1
  41. package/dist/db/migrate.js +5 -0
  42. package/dist/db/migrate.js.map +1 -1
  43. package/dist/gateway/checkpoint-mutation-service.d.ts +33 -0
  44. package/dist/gateway/checkpoint-mutation-service.d.ts.map +1 -0
  45. package/dist/gateway/checkpoint-mutation-service.js +513 -0
  46. package/dist/gateway/checkpoint-mutation-service.js.map +1 -0
  47. package/dist/gateway/checkpoint-service.d.ts +22 -25
  48. package/dist/gateway/checkpoint-service.d.ts.map +1 -1
  49. package/dist/gateway/checkpoint-service.js +26 -209
  50. package/dist/gateway/checkpoint-service.js.map +1 -1
  51. package/dist/gateway/nudge-delivery-service.d.ts +21 -0
  52. package/dist/gateway/nudge-delivery-service.d.ts.map +1 -0
  53. package/dist/gateway/nudge-delivery-service.js +67 -0
  54. package/dist/gateway/nudge-delivery-service.js.map +1 -0
  55. package/dist/ledger/archive.d.ts +2 -1
  56. package/dist/ledger/archive.d.ts.map +1 -1
  57. package/dist/ledger/archive.js +109 -8
  58. package/dist/ledger/archive.js.map +1 -1
  59. package/dist/ledger/checkpoint-contract.d.ts +3 -3
  60. package/dist/ledger/maintenance.d.ts +2 -1
  61. package/dist/ledger/maintenance.d.ts.map +1 -1
  62. package/dist/ledger/maintenance.js +90 -7
  63. package/dist/ledger/maintenance.js.map +1 -1
  64. package/dist/ledger/projection.d.ts +2 -0
  65. package/dist/ledger/projection.d.ts.map +1 -1
  66. package/dist/ledger/projection.js +9 -1
  67. package/dist/ledger/projection.js.map +1 -1
  68. package/dist/memory/checkpoint-contract.d.ts +6 -6
  69. package/dist/server/agent-application.d.ts.map +1 -1
  70. package/dist/server/agent-application.js +18 -4
  71. package/dist/server/agent-application.js.map +1 -1
  72. package/dist/server/agent-checkpoint-use-case.d.ts +41 -0
  73. package/dist/server/agent-checkpoint-use-case.d.ts.map +1 -0
  74. package/dist/server/agent-checkpoint-use-case.js +158 -0
  75. package/dist/server/agent-checkpoint-use-case.js.map +1 -0
  76. package/dist/server/routes/agent-runs.d.ts +11 -4
  77. package/dist/server/routes/agent-runs.d.ts.map +1 -1
  78. package/dist/server/routes/agent-runs.js.map +1 -1
  79. package/dist/server/routes/task5.d.ts.map +1 -1
  80. package/dist/server/routes/task5.js +29 -91
  81. package/dist/server/routes/task5.js.map +1 -1
  82. package/migrations/010_nudge_deliveries.sql +50 -0
  83. package/migrations/011_nudge_integrity.sql +52 -0
  84. package/migrations/012_context_delivery_v4.sql +3 -0
  85. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-application.js","sourceRoot":"","sources":["../../src/server/agent-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAA8E,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAA0B,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIrE,SAAS,YAAY,CAAC,MAAc,EAAE,QAAgB;IACpD,OAAO,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;WACtC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC;WAC1C,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC;WACtC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC;WACtC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA+B;IAClE,MAAM,YAAY,GAAsB;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClD,iBAAiB,EAAE,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1D,eAAe,EAAE,IAAI,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtD,MAAM,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3C,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC;IACF,MAAM,MAAM,GAA8B;QACxC,oBAAoB,CAAC,YAAY,CAAC;QAClC,0BAA0B,CAAC,YAAY,CAAC;QACxC,sBAAsB,CAAC,YAAY,CAAC;QACpC,sBAAsB,CAAC,YAAY,CAAC;QACpC,gBAAgB,CAAC,YAAY,CAAC;KAC/B,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAmB,CAAC;IACrB,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA+B;IAC/D,MAAM,MAAM,GAAG,OAA6C,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,iEAAiE,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkC,EAAE;IAC7E,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,eAAe,CAAC;QACrB,GAAG,OAAO;QACV,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;KAC/F,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"agent-application.js","sourceRoot":"","sources":["../../src/server/agent-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { AgentGatewayService } from '../gateway/agent-service.js';
2
+ import type { CheckpointMutationPort, CheckpointMutationResult } from '../gateway/checkpoint-mutation-service.js';
3
+ import type { NudgeDeliveryPort } from '../gateway/nudge-delivery-service.js';
4
+ import type { ContextBroker, ContextBrokerResult } from '../context/broker.js';
5
+ import type { DeliveredNudge } from '../context/nudges.js';
6
+ import type { Recommendation } from '../context/recommendations.js';
7
+ import { successEnvelope } from '../serialization/envelope.js';
8
+ import type { CapabilityGatedIntakeResponse } from './routes/agent-capability-gate.js';
9
+ export interface AgentCheckpointUseCaseDependencies {
10
+ readonly database: import('../db/adapter.js').SqliteDatabase;
11
+ readonly service: AgentGatewayService;
12
+ readonly checkpointMutation: CheckpointMutationPort;
13
+ readonly validateMutationAcknowledgement?: boolean;
14
+ readonly nudgeDelivery: NudgeDeliveryPort;
15
+ readonly broker: ContextBroker;
16
+ readonly enqueueWrite: <T>(operation: () => T | PromiseLike<T>) => Promise<T>;
17
+ }
18
+ export interface AgentCheckpointInput {
19
+ readonly runId: string;
20
+ readonly idempotencyKey: string;
21
+ readonly body: unknown;
22
+ readonly requestBindingHash: string;
23
+ }
24
+ export type AgentCheckpointResponse = Omit<CheckpointMutationResult, 'preliminaryRecommendations'> & {
25
+ readonly recommendations: readonly Recommendation[];
26
+ readonly capabilities: CapabilityGatedIntakeResponse['capabilities'];
27
+ readonly memoryPolicy: CapabilityGatedIntakeResponse['memoryPolicy'];
28
+ readonly warnings: CapabilityGatedIntakeResponse['warnings'];
29
+ readonly nextAction: CapabilityGatedIntakeResponse['nextAction'];
30
+ readonly context: ContextBrokerResult['context'];
31
+ readonly nudge: DeliveredNudge | null;
32
+ readonly untrusted: true;
33
+ readonly requestBindingHash: string;
34
+ };
35
+ export declare class AgentCheckpointUseCase {
36
+ private readonly dependencies;
37
+ constructor(dependencies: AgentCheckpointUseCaseDependencies);
38
+ execute(input: AgentCheckpointInput): Promise<AgentCheckpointResponse>;
39
+ }
40
+ export declare function checkpointSuccessResponse(value: AgentCheckpointResponse): ReturnType<typeof successEnvelope>;
41
+ //# sourceMappingURL=agent-checkpoint-use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-checkpoint-use-case.d.ts","sourceRoot":"","sources":["../../src/server/agent-checkpoint-use-case.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAClH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AASvF,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,QAAQ,EAAE,OAAO,kBAAkB,EAAE,cAAc,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IACpD,QAAQ,CAAC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,GAAG;IACnG,QAAQ,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACrE,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACrE,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AA8EF,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,kCAAkC;IAEvE,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CA2E7E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,uBAAuB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAE5G"}
@@ -0,0 +1,158 @@
1
+ import { KiokukoError } from '../errors.js';
2
+ import { checkpointEligibility } from '../ledger/checkpoint-eligibility.js';
3
+ import { buildRecommendations } from '../context/recommendations.js';
4
+ import { canonicalJson } from '../serialization/validate.js';
5
+ import { successEnvelope } from '../serialization/envelope.js';
6
+ import { assertCapabilityCatalogBinding } from '../akinator/capability-binding.js';
7
+ import { applyAgentCapabilityGate, assertBrokerContextRun, brokerIntakeStatus, deriveBrokerMemoryUseSignal, requestCapabilityCatalog, } from './routes/agent-capability-gate.js';
8
+ function withoutCapabilityCatalog(value) {
9
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
10
+ return value;
11
+ const result = { ...value };
12
+ delete result.capabilities;
13
+ return result;
14
+ }
15
+ function checkpointSignalArray(value) {
16
+ if (value === undefined)
17
+ return [];
18
+ if (!Array.isArray(value) || value.some((item) => typeof item !== 'string')) {
19
+ throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint signals are invalid after validation');
20
+ }
21
+ return [...value];
22
+ }
23
+ function checkpointSignals(value) {
24
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
25
+ throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint signals are invalid after validation');
26
+ }
27
+ const request = value;
28
+ return {
29
+ changedPaths: checkpointSignalArray(request.changedPaths),
30
+ errorSignatures: checkpointSignalArray(request.errorSignatures),
31
+ };
32
+ }
33
+ function assertActiveCheckpointRun(run) {
34
+ const eligibility = checkpointEligibility(run.status);
35
+ if (eligibility.allowed)
36
+ return;
37
+ throw new KiokukoError('CONFLICT', 'Checkpoint is not allowed for a non-active run', {
38
+ checkpointEligibility: eligibility,
39
+ runStatus: run.status,
40
+ });
41
+ }
42
+ function brokerPersistence(dependencies) {
43
+ return {
44
+ enqueueWrite: (operation) => dependencies.enqueueWrite(operation),
45
+ };
46
+ }
47
+ function sameTaskProfile(left, right) {
48
+ return left.taskType === right.taskType
49
+ && left.target === right.target
50
+ && left.expected === right.expected
51
+ && left.constraints === right.constraints;
52
+ }
53
+ function checkpointIntegrity() {
54
+ throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint mutation acknowledgement is inconsistent');
55
+ }
56
+ function assertMutationAcknowledgement(mutation, runId) {
57
+ if (mutation.projection === null
58
+ || mutation.runId !== runId
59
+ || mutation.acceptedThrough !== mutation.projection.throughSequence
60
+ || mutation.profileHash !== mutation.projection.profileHash
61
+ || !sameTaskProfile(mutation.taskProfile, mutation.projection.taskProfile)) {
62
+ checkpointIntegrity();
63
+ }
64
+ try {
65
+ if (canonicalJson(mutation.preliminaryRecommendations)
66
+ !== canonicalJson(buildRecommendations({ projection: mutation.projection, broker: {} }))) {
67
+ checkpointIntegrity();
68
+ }
69
+ }
70
+ catch {
71
+ checkpointIntegrity();
72
+ }
73
+ }
74
+ export class AgentCheckpointUseCase {
75
+ dependencies;
76
+ constructor(dependencies) {
77
+ this.dependencies = dependencies;
78
+ }
79
+ async execute(input) {
80
+ const catalog = requestCapabilityCatalog(input.body);
81
+ const initialRun = this.dependencies.service.readRun({ runId: input.runId });
82
+ assertActiveCheckpointRun(initialRun);
83
+ assertCapabilityCatalogBinding(initialRun.metadata, catalog);
84
+ const serviceRequest = withoutCapabilityCatalog(input.body);
85
+ // The ledger mutation is committed before any broker work starts.
86
+ const mutation = await this.dependencies.enqueueWrite(() => this.dependencies.checkpointMutation.checkpoint({
87
+ runId: input.runId,
88
+ idempotencyKey: input.idempotencyKey,
89
+ request: serviceRequest,
90
+ }));
91
+ if (this.dependencies.validateMutationAcknowledgement !== false) {
92
+ assertMutationAcknowledgement(mutation, input.runId);
93
+ }
94
+ const signals = checkpointSignals(serviceRequest);
95
+ const gated = await this.dependencies.broker.queryGated({
96
+ workspace: 'run-bound',
97
+ runId: input.runId,
98
+ characterBudget: mutation.characterBudget,
99
+ changedPaths: signals.changedPaths,
100
+ errorSignatures: signals.errorSignatures,
101
+ }, (candidate) => {
102
+ assertBrokerContextRun(candidate, input.runId);
103
+ const memoryUse = deriveBrokerMemoryUseSignal(this.dependencies, candidate);
104
+ const value = applyAgentCapabilityGate({
105
+ task: initialRun.title ?? '',
106
+ intakeStatus: brokerIntakeStatus(candidate.status),
107
+ taskProfile: candidate.taskProfile,
108
+ recommendedTags: candidate.recommendedTags,
109
+ catalog,
110
+ broker: candidate,
111
+ memoryUseOverride: memoryUse,
112
+ });
113
+ return {
114
+ persist: value.context !== null || candidate.context === null,
115
+ value,
116
+ assertBeforePersist: () => {
117
+ if (deriveBrokerMemoryUseSignal(this.dependencies, candidate) !== memoryUse) {
118
+ throw new KiokukoError('CONFLICT', 'Memory capability decision changed before context persistence');
119
+ }
120
+ },
121
+ };
122
+ }, brokerPersistence(this.dependencies));
123
+ const finalRun = this.dependencies.service.readRun({ runId: input.runId });
124
+ assertActiveCheckpointRun(finalRun);
125
+ if (finalRun.lastSequence !== gated.broker.acceptedThrough) {
126
+ throw new KiokukoError('CONFLICT', 'Agent run changed while checkpoint context was being prepared');
127
+ }
128
+ const intakeStatus = brokerIntakeStatus(gated.broker.status);
129
+ const projection = gated.broker.projection;
130
+ if (intakeStatus === 'needs_answer' || projection === null) {
131
+ throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint context is not bound to finalized intake');
132
+ }
133
+ const nudge = await this.dependencies.enqueueWrite(() => this.dependencies.nudgeDelivery.deliver({
134
+ runId: input.runId,
135
+ idempotencyKey: input.idempotencyKey,
136
+ throughSequence: gated.broker.acceptedThrough,
137
+ projection,
138
+ recommendations: gated.value.recommendations,
139
+ }));
140
+ const { preliminaryRecommendations: _preliminaryRecommendations, ...mutationResponse } = mutation;
141
+ return {
142
+ ...mutationResponse,
143
+ runStatus: finalRun.status,
144
+ intakeStatus,
145
+ taskProfile: { ...gated.broker.taskProfile, source: 'akinator+ledger-revisions' },
146
+ profileHash: gated.broker.profileHash,
147
+ projection,
148
+ ...gated.value,
149
+ nudge,
150
+ requestBindingHash: input.requestBindingHash,
151
+ untrusted: true,
152
+ };
153
+ }
154
+ }
155
+ export function checkpointSuccessResponse(value) {
156
+ return successEnvelope('agent.checkpoint', value);
157
+ }
158
+ //# sourceMappingURL=agent-checkpoint-use-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-checkpoint-use-case.js","sourceRoot":"","sources":["../../src/server/agent-checkpoint-use-case.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,24 @@
1
1
  import type { AgentGatewayService } from '../../gateway/agent-service.js';
2
- import type { CheckpointService, FeedbackService } from '../../gateway/checkpoint-service.js';
2
+ import type { FeedbackService, LegacyCheckpointServicePort } from '../../gateway/checkpoint-service.js';
3
3
  import type { ContextBroker } from '../../context/broker.js';
4
+ import type { AgentCheckpointUseCase } from '../agent-checkpoint-use-case.js';
4
5
  import type { V1RouteHandler, V1RouteRequest } from '../router.js';
5
6
  declare const RUNS_PATH = "/api/v1/agent/runs";
6
7
  type QueryField = 'workspace' | 'client' | 'status' | 'cursor' | 'limit' | 'after' | 'type';
7
- export interface AgentRouteContext {
8
+ type CheckpointComposition = {
9
+ readonly agentCheckpoint: AgentCheckpointUseCase;
10
+ readonly checkpointService?: never;
11
+ } | {
12
+ readonly agentCheckpoint?: never;
13
+ readonly checkpointService: LegacyCheckpointServicePort;
14
+ };
15
+ export type AgentRouteContext = {
8
16
  readonly database: import('../../db/adapter.js').SqliteDatabase;
9
17
  readonly service: AgentGatewayService;
10
- readonly checkpointService: CheckpointService;
11
18
  readonly feedbackService: FeedbackService;
12
19
  readonly broker: ContextBroker;
13
20
  readonly enqueueWrite: <T>(operation: () => T | PromiseLike<T>) => Promise<T>;
14
- }
21
+ } & CheckpointComposition;
15
22
  export declare function queryParameters(url: URL, allowed: readonly QueryField[]): Map<QueryField, string>;
16
23
  export declare function requireNoQuery(url: URL): void;
17
24
  export declare function decimalQuery(values: ReadonlyMap<QueryField, string>, field: 'limit' | 'after'): number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../../src/server/routes/agent-runs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInE,QAAA,MAAM,SAAS,uBAAuB,CAAC;AAKvC,KAAK,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,qBAAqB,EAAE,cAAc,CAAC;IAChE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/E;AAMD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAQjG;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAE7C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAOlH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAalF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAerE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAoE/E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMvF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../../src/server/routes/agent-runs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACxG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInE,QAAA,MAAM,SAAS,uBAAuB,CAAC;AAKvC,KAAK,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5F,KAAK,qBAAqB,GACtB;IACE,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC;CACpC,GACD;IACE,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;CACzD,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,qBAAqB,EAAE,cAAc,CAAC;IAChE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/E,GAAG,qBAAqB,CAAC;AAM1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAQjG;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAE7C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAOlH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAalF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAerE;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAoE/E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMvF;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runs.js","sourceRoot":"","sources":["../../../src/server/routes/agent-runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runs.js","sourceRoot":"","sources":["../../../src/server/routes/agent-runs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task5.d.ts","sourceRoot":"","sources":["../../../src/server/routes/task5.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AA2CzB,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CA8F3E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnF"}
1
+ {"version":3,"file":"task5.d.ts","sourceRoot":"","sources":["../../../src/server/routes/task5.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAkCzB,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CA0C3E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnF"}
@@ -1,48 +1,39 @@
1
- import { assertCapabilityCatalogBinding } from '../../akinator/capability-binding.js';
2
1
  import { KiokukoError } from '../../errors.js';
3
- import { checkpointEligibility } from '../../ledger/checkpoint-eligibility.js';
4
2
  import { successEnvelope } from '../../serialization/envelope.js';
3
+ import { AgentCheckpointUseCase } from '../agent-checkpoint-use-case.js';
5
4
  import { decodeRunId, requireIdempotencyKey, requireNoQuery, runIdSegment, } from './agent-runs.js';
6
- import { applyAgentCapabilityGate, assertBrokerContextRun, brokerIntakeStatus, deriveBrokerMemoryUseSignal, requestCapabilityCatalog } from './agent-capability-gate.js';
7
- import { brokerPersistence } from './task5-support.js';
8
5
  import { agentRequestBindingHash } from './request-binding.js';
9
6
  const CHECKPOINTS_SUFFIX = 'checkpoints';
10
7
  const FEEDBACK_SUFFIX = 'feedback';
11
- function withoutCapabilityCatalog(value) {
12
- if (typeof value !== 'object' || value === null || Array.isArray(value))
13
- return value;
14
- const result = { ...value };
15
- delete result.capabilities;
16
- return result;
17
- }
18
- function checkpointSignalArray(value) {
19
- if (value === undefined)
20
- return [];
21
- if (!Array.isArray(value) || value.some((item) => typeof item !== 'string')) {
22
- throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint signals are invalid after validation');
23
- }
24
- return [...value];
25
- }
26
- function checkpointSignals(value) {
27
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
28
- throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint signals are invalid after validation');
8
+ function legacyCheckpointUseCase(context) {
9
+ const legacy = context.checkpointService;
10
+ if (legacy === undefined) {
11
+ throw new KiokukoError('INTEGRITY_ERROR', 'Agent checkpoint use case is not configured');
29
12
  }
30
- const request = value;
31
- return {
32
- changedPaths: checkpointSignalArray(request.changedPaths),
33
- errorSignatures: checkpointSignalArray(request.errorSignatures),
13
+ const checkpointMutation = {
14
+ checkpoint: (input) => {
15
+ const value = legacy.checkpoint(input);
16
+ return {
17
+ ...value,
18
+ preliminaryRecommendations: [...(value.recommendations ?? [])],
19
+ };
20
+ },
34
21
  };
35
- }
36
- function assertActiveCheckpointRun(run) {
37
- const eligibility = checkpointEligibility(run.status);
38
- if (eligibility.allowed)
39
- return;
40
- throw new KiokukoError('CONFLICT', 'Checkpoint is not allowed for a non-active run', {
41
- checkpointEligibility: eligibility,
42
- runStatus: run.status,
22
+ const nudgeDelivery = {
23
+ deliver: (input) => legacy.deliverNudge(input),
24
+ };
25
+ return new AgentCheckpointUseCase({
26
+ database: context.database,
27
+ service: context.service,
28
+ checkpointMutation,
29
+ validateMutationAcknowledgement: false,
30
+ nudgeDelivery,
31
+ broker: context.broker,
32
+ enqueueWrite: context.enqueueWrite,
43
33
  });
44
34
  }
45
35
  export function createTask5Route(context) {
36
+ const checkpoint = context.agentCheckpoint ?? legacyCheckpointUseCase(context);
46
37
  return async (request) => {
47
38
  if (request.method === 'POST') {
48
39
  const rawCheckpointRunId = runIdSegment(request.url.pathname, CHECKPOINTS_SUFFIX);
@@ -56,66 +47,13 @@ export function createTask5Route(context) {
56
47
  idempotencyKey,
57
48
  requestBody: request.body,
58
49
  });
59
- const catalog = requestCapabilityCatalog(request.body);
60
- const run = context.service.readRun({ runId });
61
- assertActiveCheckpointRun(run);
62
- assertCapabilityCatalogBinding(run.metadata, catalog);
63
- const serviceRequest = withoutCapabilityCatalog(request.body);
64
- const data = await context.enqueueWrite(() => context.checkpointService.checkpoint({
50
+ const data = await checkpoint.execute({
65
51
  runId,
66
52
  idempotencyKey,
67
- request: serviceRequest,
68
- }));
69
- const signals = checkpointSignals(serviceRequest);
70
- const brokerInput = {
71
- workspace: 'run-bound',
72
- runId,
73
- characterBudget: data.characterBudget,
74
- changedPaths: signals.changedPaths,
75
- errorSignatures: signals.errorSignatures,
76
- };
77
- const gated = await context.broker.queryGated(brokerInput, (candidate) => {
78
- assertBrokerContextRun(candidate, runId);
79
- const memoryUse = deriveBrokerMemoryUseSignal(context, candidate);
80
- const value = applyAgentCapabilityGate({
81
- task: run.title ?? '',
82
- intakeStatus: brokerIntakeStatus(candidate.status),
83
- taskProfile: candidate.taskProfile,
84
- recommendedTags: candidate.recommendedTags,
85
- catalog,
86
- broker: candidate,
87
- memoryUseOverride: memoryUse,
88
- });
89
- return {
90
- persist: value.context !== null || candidate.context === null,
91
- value,
92
- assertBeforePersist: () => {
93
- if (deriveBrokerMemoryUseSignal(context, candidate) !== memoryUse) {
94
- throw new KiokukoError('CONFLICT', 'Memory capability decision changed before context persistence');
95
- }
96
- },
97
- };
98
- }, brokerPersistence(context));
99
- const finalRun = context.service.readRun({ runId });
100
- assertActiveCheckpointRun(finalRun);
101
- if (finalRun.lastSequence !== gated.broker.acceptedThrough) {
102
- throw new KiokukoError('CONFLICT', 'Agent run changed while checkpoint context was being prepared');
103
- }
104
- const intakeStatus = brokerIntakeStatus(gated.broker.status);
105
- if (intakeStatus === 'needs_answer' || gated.broker.projection === null) {
106
- throw new KiokukoError('INTEGRITY_ERROR', 'Checkpoint context is not bound to finalized intake');
107
- }
108
- const enriched = {
109
- ...data,
110
- runStatus: finalRun.status,
111
- intakeStatus,
112
- taskProfile: { ...gated.broker.taskProfile, source: 'akinator+ledger-revisions' },
113
- profileHash: gated.broker.profileHash,
114
- projection: gated.broker.projection,
115
- ...gated.value,
53
+ body: request.body,
116
54
  requestBindingHash,
117
- };
118
- return successEnvelope('agent.checkpoint', enriched);
55
+ });
56
+ return successEnvelope('agent.checkpoint', data);
119
57
  }
120
58
  const rawFeedbackRunId = runIdSegment(request.url.pathname, FEEDBACK_SUFFIX);
121
59
  if (rawFeedbackRunId !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"task5.js","sourceRoot":"","sources":["../../../src/server/routes/task5.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task5.js","sourceRoot":"","sources":["../../../src/server/routes/task5.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ CREATE TABLE nudge_deliveries (
2
+ id TEXT PRIMARY KEY,
3
+ run_id TEXT NOT NULL,
4
+ policy_version TEXT NOT NULL CHECK (length(policy_version) BETWEEN 1 AND 100),
5
+ code TEXT NOT NULL CHECK (length(code) BETWEEN 1 AND 100),
6
+ occurrence_id TEXT NOT NULL CHECK (length(occurrence_id) BETWEEN 1 AND 256),
7
+ checkpoint_id TEXT NOT NULL CHECK (length(checkpoint_id) BETWEEN 1 AND 256),
8
+ through_sequence INTEGER NOT NULL CHECK (through_sequence >= 0),
9
+ priority INTEGER NOT NULL CHECK (priority >= 1),
10
+ evidence_event_ids_json TEXT NOT NULL CHECK (json_valid(evidence_event_ids_json)),
11
+ reference_ids_json TEXT NOT NULL CHECK (json_valid(reference_ids_json)),
12
+ delivered_at TEXT NOT NULL,
13
+
14
+ FOREIGN KEY (run_id)
15
+ REFERENCES ledger_runs(run_id)
16
+ ON DELETE CASCADE,
17
+
18
+ UNIQUE (
19
+ run_id,
20
+ policy_version,
21
+ occurrence_id
22
+ ),
23
+
24
+ UNIQUE (
25
+ run_id,
26
+ policy_version,
27
+ checkpoint_id
28
+ )
29
+ );
30
+
31
+ CREATE INDEX nudge_deliveries_run_code_sequence
32
+ ON nudge_deliveries (
33
+ run_id,
34
+ policy_version,
35
+ code,
36
+ through_sequence
37
+ );
38
+
39
+ CREATE INDEX nudge_deliveries_run_sequence
40
+ ON nudge_deliveries (
41
+ run_id,
42
+ through_sequence
43
+ );
44
+
45
+ CREATE INDEX nudge_deliveries_run_checkpoint
46
+ ON nudge_deliveries (
47
+ run_id,
48
+ policy_version,
49
+ checkpoint_id
50
+ );
@@ -0,0 +1,52 @@
1
+ -- Keep the nudge table compatible with the only policy implemented by this
2
+ -- release. Application and archive validation provide the detailed checks;
3
+ -- these triggers protect direct SQL writers and updates as well.
4
+ CREATE TRIGGER nudge_deliveries_integrity_insert
5
+ BEFORE INSERT ON nudge_deliveries
6
+ BEGIN
7
+ SELECT RAISE(ABORT, 'invalid nudge delivery')
8
+ WHERE NEW.policy_version <> 'nudges.v1'
9
+ OR NEW.code NOT IN ('SIDE_EFFECT_OUTCOME_UNKNOWN', 'UNRESOLVED_FAILURE', 'VERIFY_AFTER_MUTATION')
10
+ OR NOT (
11
+ (NEW.code = 'SIDE_EFFECT_OUTCOME_UNKNOWN' AND NEW.priority = 2)
12
+ OR (NEW.code = 'UNRESOLVED_FAILURE' AND NEW.priority = 3)
13
+ OR (NEW.code = 'VERIFY_AFTER_MUTATION' AND NEW.priority = 4)
14
+ )
15
+ OR CASE
16
+ WHEN json_valid(NEW.evidence_event_ids_json)
17
+ THEN json_type(NEW.evidence_event_ids_json) = 'array'
18
+ AND json_array_length(NEW.evidence_event_ids_json) <= 16
19
+ ELSE 0
20
+ END = 0
21
+ OR CASE
22
+ WHEN json_valid(NEW.reference_ids_json)
23
+ THEN json_type(NEW.reference_ids_json) = 'array'
24
+ AND json_array_length(NEW.reference_ids_json) <= 16
25
+ ELSE 0
26
+ END = 0;
27
+ END;
28
+
29
+ CREATE TRIGGER nudge_deliveries_integrity_update
30
+ BEFORE UPDATE OF policy_version, code, priority, evidence_event_ids_json, reference_ids_json ON nudge_deliveries
31
+ BEGIN
32
+ SELECT RAISE(ABORT, 'invalid nudge delivery')
33
+ WHERE NEW.policy_version <> 'nudges.v1'
34
+ OR NEW.code NOT IN ('SIDE_EFFECT_OUTCOME_UNKNOWN', 'UNRESOLVED_FAILURE', 'VERIFY_AFTER_MUTATION')
35
+ OR NOT (
36
+ (NEW.code = 'SIDE_EFFECT_OUTCOME_UNKNOWN' AND NEW.priority = 2)
37
+ OR (NEW.code = 'UNRESOLVED_FAILURE' AND NEW.priority = 3)
38
+ OR (NEW.code = 'VERIFY_AFTER_MUTATION' AND NEW.priority = 4)
39
+ )
40
+ OR CASE
41
+ WHEN json_valid(NEW.evidence_event_ids_json)
42
+ THEN json_type(NEW.evidence_event_ids_json) = 'array'
43
+ AND json_array_length(NEW.evidence_event_ids_json) <= 16
44
+ ELSE 0
45
+ END = 0
46
+ OR CASE
47
+ WHEN json_valid(NEW.reference_ids_json)
48
+ THEN json_type(NEW.reference_ids_json) = 'array'
49
+ AND json_array_length(NEW.reference_ids_json) <= 16
50
+ ELSE 0
51
+ END = 0;
52
+ END;
@@ -0,0 +1,3 @@
1
+ -- Reserve this version for validating released scoped deliveries.
2
+ -- The application migration operation preserves their identities, policy,
3
+ -- accounting, and all historical references.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdkc/kiokuko",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "description": "Model-agnostic external memory for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {