Skip to content

E2E-1: recordRead → DB-only write → verifyRead roundtrip #88

@Cho-Geer

Description

@Cho-Geer

E2E-1: recordRead → DB-only write → verifyRead roundtrip

Parent Epic: #87
Source: read-audit-db-migration-plan.md V2, V3, N3

Scenarios

  1. Call recordRead() → verify DB row created (not JSONL)
  2. Call verifyRead(agent, path) → returns verified: true
  3. Call verifyRead(wrong_agent, path) → returns verified: false
  4. Verify JSONL is NOT written for new reads (Phase 2)
  5. Verify MAX_RECORDS cap works (oldest rows deleted)

Commands

cd /home/zhaoge/workspace/opencode/work-one
bun -e "
const {recordRead, verifyRead} = require('./.opencode/lib/read-audit.ts');
const {Database} = require('bun:sqlite');
const db = new Database('.opencode/state/framework-state.db');

// Test 1: recordRead
recordRead({timestamp: new Date().toISOString(), agent: 'e2e-test', filePath: '/tmp/e2e-test.md', sessionId: 'ses_e2e', taskId: 'E2E-1', callId: 'call-1'});
const rows = db.query(\"SELECT COUNT(*) as c FROM read_audit WHERE agent='e2e-test'\").get();
console.log('E2E-1 record written:', rows.c === 1 ? 'PASS' : 'FAIL (' + rows.c + ')');

// Test 2: verifyRead
const v = verifyRead('e2e-test', '/tmp/e2e-test.md');
console.log('E2E-1 verify pass:', v.verified ? 'PASS' : 'FAIL');

// Test 3: verifyRead wrong
const v2 = verifyRead('wrong-agent', '/tmp/e2e-test.md');
console.log('E2E-1 verify reject:', !v2.verified ? 'PASS' : 'FAIL');

// Cleanup
db.run('DELETE FROM read_audit WHERE agent=?', ['e2e-test']);
"

Metadata

Metadata

Assignees

Labels

area/framework框架代码(.opencode/)p1Priority 1 - High

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions