@oussamadouhou/agent-enforcement 0.1.5 → 0.1.7
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/dist/hook.d.ts.map +1 -1
- package/dist/hook.js +1 -8
- package/dist/hook.js.map +1 -1
- package/docs/EVIDENCE_SYSTEM.md +43 -0
- package/package.json +1 -1
package/dist/hook.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAEL,KAAK,gBAAgB,EAKtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAA;AA4BlC,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,kBAAuB;
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAEL,KAAK,gBAAgB,EAKtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAA;AA4BlC,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,kBAAuB;uBAcL;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,GAAG,CAAA;SAAE,CAAA;KAAE,KAAG,OAAO,CAAC,IAAI,CAAC;mCA8B7E;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,UAClD;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KACxC,OAAO,CAAC,IAAI,CAAC;kCA6FP;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,UAClD;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAC3D,OAAO,CAAC,IAAI,CAAC;EA6BnB"}
|
package/dist/hook.js
CHANGED
|
@@ -8,7 +8,6 @@ export function createEvidenceEnforcementHook(ctx, options = {}) {
|
|
|
8
8
|
const pendingViolations = new Map();
|
|
9
9
|
const warnedSessions = new Set();
|
|
10
10
|
const trackedSessions = new Map();
|
|
11
|
-
const newListSessions = new Set();
|
|
12
11
|
const reminderInjectedSessions = new Set();
|
|
13
12
|
return {
|
|
14
13
|
event: async ({ event }) => {
|
|
@@ -17,7 +16,6 @@ export function createEvidenceEnforcementHook(ctx, options = {}) {
|
|
|
17
16
|
const { sessionID, todos } = event.properties;
|
|
18
17
|
const previousCount = trackedSessions.get(sessionID) || 0;
|
|
19
18
|
if (previousCount === 0 && todos.length > 0) {
|
|
20
|
-
newListSessions.add(sessionID);
|
|
21
19
|
logger.info(`[${HOOK_NAME}] New todo list detected for session ${sessionID} (${todos.length} items)`);
|
|
22
20
|
if (!reminderInjectedSessions.has(sessionID)) {
|
|
23
21
|
reminderInjectedSessions.add(sessionID);
|
|
@@ -29,7 +27,7 @@ export function createEvidenceEnforcementHook(ctx, options = {}) {
|
|
|
29
27
|
if (event.type === "session.compacted") {
|
|
30
28
|
const sessionID = event.properties.sessionID;
|
|
31
29
|
trackedSessions.delete(sessionID);
|
|
32
|
-
|
|
30
|
+
reminderInjectedSessions.delete(sessionID);
|
|
33
31
|
logger.info(`[${HOOK_NAME}] Session compacted; cleared todo tracking for ${sessionID}`);
|
|
34
32
|
}
|
|
35
33
|
}
|
|
@@ -105,11 +103,6 @@ export function createEvidenceEnforcementHook(ctx, options = {}) {
|
|
|
105
103
|
logger.info(`[${HOOK_NAME}] Evidence validation passed`);
|
|
106
104
|
},
|
|
107
105
|
"tool.execute.after": async (input, output) => {
|
|
108
|
-
if (input.tool === "todowrite" && newListSessions.has(input.sessionID)) {
|
|
109
|
-
newListSessions.delete(input.sessionID);
|
|
110
|
-
output.output += `\n\n<system-reminder>\n${TODO_EVIDENCE_REMINDER}\n</system-reminder>\n`;
|
|
111
|
-
logger.info(`[${HOOK_NAME}] Injected todo evidence rule reminder for session ${input.sessionID}`);
|
|
112
|
-
}
|
|
113
106
|
const errorMsg = pendingViolations.get(input.callID);
|
|
114
107
|
if (!errorMsg) {
|
|
115
108
|
return;
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAElB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,SAAS,GACV,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EACL,qBAAqB,GAEtB,MAAM,2BAA2B,CAAA;AAmClC,MAAM,UAAU,6BAA6B,CAC3C,GAAgB,EAChB,UAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE,CAAA;IACpD,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa;QACrB,IAAI,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAE/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IAExC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjD,MAAM,
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/docs/EVIDENCE_SYSTEM.md
CHANGED
|
@@ -191,6 +191,49 @@ When you try to mark a todo complete without evidence:
|
|
|
191
191
|
|
|
192
192
|
---
|
|
193
193
|
|
|
194
|
+
## Best Practices
|
|
195
|
+
|
|
196
|
+
### Sequential Completion (Recommended)
|
|
197
|
+
|
|
198
|
+
**Workflow:**
|
|
199
|
+
1. Execute the task (run tool/command)
|
|
200
|
+
2. Capture output in your response
|
|
201
|
+
3. Provide complete evidence block
|
|
202
|
+
4. Mark todo as `completed`
|
|
203
|
+
5. Move to next task
|
|
204
|
+
|
|
205
|
+
**Why sequential?**
|
|
206
|
+
- Clearer evidence trail per task
|
|
207
|
+
- Easier to verify each completion
|
|
208
|
+
- Reduces batch-completion confusion
|
|
209
|
+
- Helps with debugging if validation fails
|
|
210
|
+
|
|
211
|
+
**Example:**
|
|
212
|
+
```markdown
|
|
213
|
+
I'll check the working directory.
|
|
214
|
+
[tool: bash] pwd
|
|
215
|
+
Output: /home/user/project
|
|
216
|
+
|
|
217
|
+
**Evidence for todo-1**:
|
|
218
|
+
**Execution**: `pwd`
|
|
219
|
+
**Verification**: Path `/home/user/project` returned
|
|
220
|
+
**Checklist**:
|
|
221
|
+
- [x] Tool executed successfully
|
|
222
|
+
- [x] Output captured
|
|
223
|
+
- [x] Result matches expected
|
|
224
|
+
- [x] No workarounds used
|
|
225
|
+
- [x] Independently verifiable
|
|
226
|
+
**Trust**: 🟢 HIGH | ✅ Ground Truth
|
|
227
|
+
|
|
228
|
+
[tool: todowrite] mark todo-1 as completed
|
|
229
|
+
|
|
230
|
+
Now moving to todo-2...
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Note:** Sequential completion is optional but recommended. The plugin validates evidence regardless of whether you complete tasks one-by-one or in batches.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
194
237
|
## Technical Details
|
|
195
238
|
|
|
196
239
|
### Hook Points
|