tryassay 0.11.1 → 0.12.1

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/README.md CHANGED
@@ -205,33 +205,104 @@ npm run build
205
205
  export ANTHROPIC_API_KEY="sk-ant-..."
206
206
  ```
207
207
 
208
- ### Run Your First Assay Cycle
208
+ ### Generate Verified Code (Fastest Way to Try Assay)
209
+
210
+ ```bash
211
+ npm install -g tryassay
212
+ export ANTHROPIC_API_KEY="sk-ant-..."
213
+
214
+ # Generate code with Layer 2 verification built in
215
+ tryassay generate --task "Write a function that validates email addresses" --lang typescript --verbose
216
+ ```
217
+
218
+ Verification runs automatically. You get the code + a proof showing every claim that was checked. No "skip verification" option exists.
219
+
220
+ ### Or Use the SDK Programmatically
221
+
222
+ ```typescript
223
+ import { AssaySDK } from 'tryassay';
224
+
225
+ const sdk = new AssaySDK();
226
+ const result = await sdk.generate({
227
+ task: 'Write a CSV parser that handles quoted fields',
228
+ language: 'typescript'
229
+ });
230
+
231
+ console.log(result.verified); // true if all critical claims pass
232
+ console.log(result.verification.passed); // claims that passed
233
+ console.log(result.verification.formalStats); // deterministic vs LLM verdicts
234
+ ```
235
+
236
+ ### Run the Full LUCID Cycle
209
237
 
210
238
  ```bash
211
239
  # 1. Initialize an Assay project
212
- npx assay init
240
+ tryassay init
213
241
 
214
242
  # 2. Generate a hallucinated Terms of Service
215
- npx assay hallucinate
243
+ tryassay hallucinate
216
244
 
217
245
  # 3. Extract testable claims from the hallucination
218
- npx assay extract
246
+ tryassay extract
219
247
 
220
248
  # 4. Verify claims against your codebase
221
- npx assay verify --repo /path/to/your/project
249
+ tryassay verify --repo /path/to/your/project
222
250
 
223
251
  # 5. Generate a gap report
224
- npx assay report
252
+ tryassay report
225
253
 
226
254
  # 6. Generate remediation tasks for gaps
227
- npx assay remediate --repo /path/to/your/project
255
+ tryassay remediate --repo /path/to/your/project
228
256
 
229
257
  # 7. After fixing gaps, regenerate for the next iteration
230
- npx assay regenerate
258
+ tryassay regenerate
231
259
  ```
232
260
 
233
261
  Each iteration stores artifacts in `.assay/iterations/{N}/`, maintaining a complete audit trail.
234
262
 
263
+ ### Assess a Codebase (One Command)
264
+
265
+ ```bash
266
+ # Assess any local project or GitHub repo
267
+ tryassay assess /path/to/your/project
268
+ tryassay assess https://github.com/org/repo --publish
269
+ ```
270
+
271
+ ---
272
+
273
+ ## SDK (Programmatic API)
274
+
275
+ ```bash
276
+ npm install tryassay
277
+ ```
278
+
279
+ ```typescript
280
+ import { AssaySDK } from 'tryassay';
281
+
282
+ const sdk = new AssaySDK({ anthropicApiKey: 'sk-ant-...' });
283
+
284
+ // Generate verified code — verification runs automatically
285
+ const result = await sdk.generate({
286
+ task: 'Write a function that parses CSV with quoted fields',
287
+ language: 'typescript'
288
+ });
289
+
290
+ // result.verified: boolean — did all critical/high claims pass?
291
+ // result.code: string — the generated code
292
+ // result.verification: full claim-by-claim proof
293
+ // result.verification.formalStats: { formallyVerified, llmVerified, formalOverrides }
294
+
295
+ // Verify existing code
296
+ const check = await sdk.verify({
297
+ code: myCode,
298
+ language: 'typescript'
299
+ });
300
+ // check.claims: every implicit claim extracted
301
+ // check.verifications: each claim's verdict (PASS/PARTIAL/FAIL)
302
+ ```
303
+
304
+ The SDK enforces Layer 2 — `generate()` always returns a verification proof alongside the code. The formal verifier runs deterministic pattern checks (regex, not LLM) and can override LLM verdicts. On its first production call, it caught the LLM hallucinating PASS on code with SQL injection.
305
+
235
306
  ---
236
307
 
237
308
  ## MCP Server (Claude Code, Cursor, Windsurf)
@@ -279,26 +350,30 @@ Two modes: **Assay API** (recommended, uses your Assay key) or **BYOK** (bring y
279
350
 
280
351
  ## CLI Reference
281
352
 
282
- | Command | Phase | Description |
283
- |---------|-------|-------------|
284
- | `assay init` | Setup | Initialize project configuration (name, description, tech stack, audience) |
285
- | `assay hallucinate` | Phase 2 | Generate a hallucinated ToS/API docs/user manual from project config |
286
- | `assay describe` | Alt. input | Fetch an existing ToS from a URL (verify an existing product) |
287
- | `assay extract` | Phase 3 | Extract testable claims from a hallucinated or fetched document |
288
- | `assay verify` | Phase 5 | Verify extracted claims against a codebase |
289
- | `assay report` | Analysis | Generate a gap report from verification results |
290
- | `assay remediate` | Convergence | Generate code-level fix tasks from gaps |
291
- | `assay regenerate` | Phase 6 | Feed verified reality back, regenerate spec for next iteration |
353
+ | Command | Description |
354
+ |---------|-------------|
355
+ | `tryassay generate` | Generate verified code Layer 2 verification below the model call |
356
+ | `tryassay assess <target>` | Run autonomous LVR assessment against a codebase or GitHub URL |
357
+ | `tryassay init` | Initialize project configuration |
358
+ | `tryassay hallucinate` | Generate a hallucinated ToS/API docs/user manual |
359
+ | `tryassay describe` | Fetch an existing ToS from a URL |
360
+ | `tryassay extract` | Extract testable claims from a document |
361
+ | `tryassay verify` | Verify extracted claims against a codebase |
362
+ | `tryassay report` | Generate a gap report from verification results |
363
+ | `tryassay remediate` | Generate code-level fix tasks from gaps |
364
+ | `tryassay regenerate` | Feed verified reality back, regenerate spec for next iteration |
365
+ | `tryassay reverse` | Generate code with hallucination prevention |
366
+ | `tryassay runtime start` | Start the Verified Agent Runtime |
292
367
 
293
368
  ### Options
294
369
 
295
370
  ```bash
296
- assay hallucinate --type tos|api-docs|user-manual # Document type (default: tos)
297
- assay extract --iteration 3 # Specify iteration (default: latest)
298
- assay extract --source my-tos.md # Extract from a file in .assay/sources/
299
- assay verify --repo /path/to/code --iteration 3 # Verify specific iteration
300
- assay remediate --threshold 95 # Set compliance target (default: 95%)
301
- assay regenerate --iteration 3 # Regenerate from specific iteration
371
+ tryassay generate --task "..." --lang typescript --verbose # Verified code generation
372
+ tryassay assess /path/to/project --publish # Assess + publish dashboard
373
+ tryassay hallucinate --type tos|api-docs|user-manual # Document type (default: tos)
374
+ tryassay extract --iteration 3 # Specify iteration (default: latest)
375
+ tryassay verify --repo /path/to/code --iteration 3 # Verify specific iteration
376
+ tryassay remediate --threshold 95 # Set compliance target (default: 95%)
302
377
  ```
303
378
 
304
379
  ---
@@ -403,37 +478,38 @@ After iterative remediation and regeneration, compliance converges toward 90%+.
403
478
 
404
479
  ```
405
480
  hallucination-reversing-system/
406
- ├── src/ # CLI source (TypeScript)
407
- │ ├── cli.ts # Entry point (Commander.js)
408
- │ ├── commands/ # One file per CLI command
409
- ├── init.ts # Project initialization
410
- │ │ ├── hallucinate.ts # ToS generation
411
- │ │ ├── describe.ts # Fetch existing ToS from URL
412
- │ │ ├── extract.ts # Claim extraction
413
- │ │ ├── verify.ts # Codebase verification
414
- ├── report.ts # Gap report generation
415
- │ │ ├── remediate.ts # Fix task generation
416
- │ │ └── regenerate.ts # Iterative regeneration
481
+ ├── src/
482
+ │ ├── cli.ts # CLI entry point (Commander.js)
483
+ │ ├── index.ts # SDK entry point (package export)
484
+ │ ├── sdk/ # Programmatic SDK
485
+ │ │ ├── index.ts # AssaySDK class
486
+ │ │ ├── types.ts # SDK type definitions
487
+ │ │ ├── forward-verify.ts # Claim extraction + verification pipeline
488
+ │ │ └── verified-generate.ts # Generate-verify-regenerate loop
489
+ │ ├── commands/ # CLI commands
490
+ │ │ ├── generate.ts # Verified code generation
491
+ │ │ ├── assess.ts # Autonomous LVR assessment
492
+ │ │ ├── runtime.ts # Verified Agent Runtime commands
493
+ │ │ └── ... # init, hallucinate, extract, verify, etc.
417
494
  │ ├── lib/ # Core modules
418
495
  │ │ ├── anthropic.ts # Claude SDK wrapper
419
- │ │ ├── claim-extractor.ts # Claim parsing logic
420
- │ │ ├── code-verifier.ts # Codebase verification engine
421
- │ │ ├── codebase-indexer.ts # File tree indexing
422
- │ │ ├── config.ts # Project configuration
423
- │ │ ├── prompts.ts # LLM prompt templates
496
+ │ │ ├── formal-verifier.ts # Deterministic formal verifier (no LLM)
497
+ │ │ ├── spec-synthesizer.ts # Spec synthesis from task descriptions
498
+ │ │ ├── constraint-engine.ts # Domain constraint generation
499
+ │ │ ├── guided-generator.ts # Constraint-guided code generation
424
500
  │ │ └── ...
425
- │ └── types.ts # Type definitions
426
- ├── docs/ # Documentation
427
- ├── paper.md # Full research paper
428
- ├── methodology.md # Methodology guide
429
- └── prior-art.md # Prior art analysis
430
- ├── applications/ # Real-world Assay applications
431
- ├── arxiv-submission/ # Academic paper (LaTeX + PDF)
432
- ├── chi-submission/ # CHI 2026 workshop submission
433
- ├── index.html # Landing page (GitHub Pages)
434
- └── .assay/ # Assay's own self-audit
435
- └── iterations/
436
- └── self-audit/ # Assay audited against itself
501
+ │ └── runtime/ # Verified Agent Runtime
502
+ ├── agent-loop.ts # Core agent decision-execution cycle
503
+ ├── layer2-guardian.ts # 4-level immutability enforcement
504
+ ├── kill-switch.ts # Strict hierarchy kill switch
505
+ └── ... # 30+ runtime modules
506
+ ├── api/ # Vercel serverless API
507
+ ├── v1/forward.ts # Forward verification endpoint
508
+ │ └── lib/formal-verifier.ts # Production formal verifier
509
+ ├── mcp-server/ # MCP server for AI editors
510
+ ├── github-action/ # GitHub Action for CI/CD
511
+ ├── docs/ # Research papers, plans, specs
512
+ └── results/ # Benchmark data (HumanEval, SWE-bench)
437
513
  ```
438
514
 
439
515
  ---
package/dist/cli.js CHANGED
@@ -12,11 +12,12 @@ import { reverseCommand } from './commands/reverse.js';
12
12
  import { assessCommand } from './commands/assess.js';
13
13
  import { runtimeCommand, runtimeInitCommand, runtimeStatusCommand, runtimeStopCommand, runtimeExtractCommand, runtimeGapsCommand, runtimeTeamCommand, runtimeFullTeamCommand, runtimeToolsListCommand, runtimeToolsApproveCommand, runtimeToolsRollbackCommand, runtimeAgentsListCommand, runtimeAgentsSpawnCommand, runtimeAgentsRetireCommand, runtimeRulesProposeCommand, runtimeRulesShadowCommand, runtimeRulesPromoteCommand, runtimeSafetyStatusCommand, runtimeSafetySignCommand, runtimeSafetyRollbackCommand, runtimeSafetyKillswitchCommand } from './commands/runtime.js';
14
14
  import { apiStartCommand } from './commands/api.js';
15
+ import { generateCommand } from './commands/generate.js';
15
16
  const program = new Command();
16
17
  program
17
18
  .name('assay')
18
19
  .description('Assay — AI code verification using the LUCID methodology')
19
- .version('0.11.0');
20
+ .version('0.12.1');
20
21
  program
21
22
  .command('init')
22
23
  .description('Initialize an Assay project in the current directory')
@@ -69,6 +70,16 @@ program
69
70
  .option('-o, --output <path>', 'Output file path')
70
71
  .option('-v, --verbose', 'Show detailed progress')
71
72
  .action(reverseCommand);
73
+ program
74
+ .command('generate')
75
+ .description('Generate verified code — Layer 2 verification below the model call')
76
+ .option('-t, --task <task>', 'Coding task description')
77
+ .option('-f, --task-file <path>', 'Read task from file')
78
+ .option('-l, --lang <language>', 'Target language', 'typescript')
79
+ .option('-o, --output <path>', 'Output file path')
80
+ .option('-n, --max-iterations <n>', 'Max regeneration attempts', '3')
81
+ .option('-v, --verbose', 'Show detailed progress')
82
+ .action(generateCommand);
72
83
  program
73
84
  .command('assess')
74
85
  .description('Run autonomous LVR Loop 1 assessment against a codebase')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ interface GenerateCommandOptions {
2
+ task?: string;
3
+ taskFile?: string;
4
+ lang: string;
5
+ output?: string;
6
+ maxIterations?: string;
7
+ verbose?: boolean;
8
+ }
9
+ export declare function generateCommand(options: GenerateCommandOptions): Promise<void>;
10
+ export {};
@@ -0,0 +1,117 @@
1
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
2
+ import { dirname } from 'node:path';
3
+ import { AssaySDK } from '../sdk/index.js';
4
+ export async function generateCommand(options) {
5
+ // Resolve task description
6
+ let task;
7
+ if (options.task) {
8
+ task = options.task;
9
+ }
10
+ else if (options.taskFile) {
11
+ try {
12
+ task = (await readFile(options.taskFile, 'utf-8')).trim();
13
+ }
14
+ catch {
15
+ console.error(`Error: Cannot read task file: ${options.taskFile}`);
16
+ process.exit(1);
17
+ }
18
+ }
19
+ else {
20
+ console.error('Error: Provide --task or --task-file');
21
+ process.exit(1);
22
+ }
23
+ if (!task) {
24
+ console.error('Error: Task description is empty');
25
+ process.exit(1);
26
+ }
27
+ const language = options.lang;
28
+ const maxIterations = options.maxIterations ? parseInt(options.maxIterations, 10) : 3;
29
+ const verbose = options.verbose ?? false;
30
+ // Progress callback
31
+ const onProgress = verbose
32
+ ? (event) => {
33
+ const phaseIcons = {
34
+ spec: '📋',
35
+ constraints: '🔒',
36
+ generate: '⚡',
37
+ extract: '🔍',
38
+ verify: '✓',
39
+ formal: '🔬',
40
+ regenerate: '🔄',
41
+ };
42
+ const icon = phaseIcons[event.phase] ?? '▸';
43
+ console.error(` ${icon} [${event.iteration}/${event.totalIterations}] ${event.message}`);
44
+ }
45
+ : undefined;
46
+ console.error('\n┌─ ASSAY GENERATE (Layer 2) ──────────────────────┐');
47
+ console.error(`│ Task: ${task.slice(0, 45)}${task.length > 45 ? '...' : ''}`);
48
+ console.error(`│ Language: ${language}`);
49
+ console.error(`│ Max iterations: ${maxIterations}`);
50
+ console.error('└─────────────────────────────────────────────────┘\n');
51
+ // Initialize SDK and generate
52
+ const sdk = new AssaySDK({
53
+ maxIterations,
54
+ onProgress,
55
+ });
56
+ let result;
57
+ try {
58
+ result = await sdk.generate({ task, language });
59
+ }
60
+ catch (err) {
61
+ console.error(`\nError: ${err instanceof Error ? err.message : String(err)}`);
62
+ process.exit(1);
63
+ }
64
+ // Output code
65
+ if (options.output) {
66
+ await mkdir(dirname(options.output), { recursive: true });
67
+ await writeFile(options.output, result.code, 'utf-8');
68
+ console.error(`\n✓ Code written to: ${options.output}`);
69
+ }
70
+ else {
71
+ process.stdout.write(result.code);
72
+ }
73
+ // Summary
74
+ const v = result.verification;
75
+ console.error('\n┌─ VERIFICATION RESULT ───────────────────────────┐');
76
+ console.error(`│ Status: ${result.verified ? '✓ VERIFIED' : '✗ UNVERIFIED'}`);
77
+ console.error(`│ Iterations: ${result.iterations}/${maxIterations}`);
78
+ console.error(`│ Claims: ${v.total} extracted`);
79
+ console.error(`│ Passed: ${v.passed}/${v.total}`);
80
+ if (v.failed > 0)
81
+ console.error(`│ Failed: ${v.failed}`);
82
+ if (v.partial > 0)
83
+ console.error(`│ Partial: ${v.partial}`);
84
+ console.error(`│ Formal: ${v.formalStats.formallyVerified} deterministic, ${v.formalStats.llmVerified} LLM`);
85
+ if (v.formalStats.formalOverrides > 0) {
86
+ console.error(`│ Overrides: ${v.formalStats.formalOverrides} (formal corrected LLM)`);
87
+ }
88
+ console.error(`│ Specs: ${result.specs}`);
89
+ console.error(`│ Constraints: ${result.constraints}`);
90
+ console.error(`│ Tokens: ${result.usage.inputTokens.toLocaleString()} in / ${result.usage.outputTokens.toLocaleString()} out`);
91
+ console.error(`│ Duration: ${(result.usage.durationMs / 1000).toFixed(1)}s`);
92
+ console.error('└─────────────────────────────────────────────────┘');
93
+ // Write sidecar JSON
94
+ if (options.output) {
95
+ const sidecarPath = options.output.replace(/\.[^.]+$/, '.assay.json');
96
+ await writeFile(sidecarPath, JSON.stringify(result, null, 2), 'utf-8');
97
+ console.error(`✓ Verification proof written to: ${sidecarPath}`);
98
+ }
99
+ // Verbose: show individual claim results
100
+ if (verbose && v.verifications.length > 0) {
101
+ console.error('\n── Claim Details ──');
102
+ for (const cv of v.verifications) {
103
+ const icon = cv.verdict === 'PASS' ? '✓'
104
+ : cv.verdict === 'PARTIAL' ? '◐'
105
+ : cv.verdict === 'FAIL' ? '✗'
106
+ : '–';
107
+ const method = cv.method === 'formal' ? ' [formal]' : '';
108
+ const override = cv.formalOverride ? ` (overrode LLM ${cv.formalOverride.originalLlmVerdict})` : '';
109
+ console.error(` ${icon} ${cv.claimId}: ${cv.reasoning.slice(0, 80)}${method}${override}`);
110
+ }
111
+ }
112
+ // Exit with non-zero if unverified
113
+ if (!result.verified) {
114
+ process.exit(1);
115
+ }
116
+ }
117
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { AssaySDK } from './sdk/index.js';
2
+ export type { AssaySDKConfig, GenerateOptions, VerifyOptions, VerifiedCode, VerificationResult, CodeClaim, ClaimVerdict, ClaimVerification, FormalStats, ProgressEvent, } from './sdk/types.js';
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { AssaySDK } from './sdk/index.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Formal Verifier — Deterministic claim verification that can't hallucinate.
3
+ *
4
+ * This is a local copy of api/lib/formal-verifier.ts for use within the SDK.
5
+ * The canonical version lives at api/lib/formal-verifier.ts.
6
+ */
7
+ export interface ForwardClaim {
8
+ id: string;
9
+ category: 'correctness' | 'security' | 'performance' | 'error-handling' | 'edge-case' | 'type-safety';
10
+ severity: 'critical' | 'high' | 'medium' | 'low';
11
+ description: string;
12
+ assertion: string;
13
+ testable?: boolean;
14
+ }
15
+ export interface ForwardVerification {
16
+ claimId: string;
17
+ verdict: 'PASS' | 'PARTIAL' | 'FAIL' | 'N/A';
18
+ reasoning: string;
19
+ evidence?: string;
20
+ verification_method?: 'formal' | 'llm';
21
+ formal_override?: {
22
+ original_llm_verdict: 'PASS' | 'PARTIAL' | 'FAIL' | 'N/A';
23
+ formal_verdict: 'PASS' | 'FAIL';
24
+ reason: string;
25
+ };
26
+ }
27
+ export interface FormalVerificationStats {
28
+ formally_verified: number;
29
+ llm_verified: number;
30
+ disagreements: number;
31
+ formal_overrides: number;
32
+ }
33
+ export type FormalCheckType = 'function_exists' | 'parameter_check' | 'error_handling' | 'null_check' | 'type_annotation' | 'sql_parameterized' | 'input_validation';
34
+ export interface FormalCheckResult {
35
+ claimId: string;
36
+ checkType: FormalCheckType;
37
+ verdict: 'PASS' | 'FAIL';
38
+ evidence: string;
39
+ confidence: 1;
40
+ }
41
+ export declare function runFormalVerification(code: string, language: string, claims: ForwardClaim[], llmVerifications: ForwardVerification[]): {
42
+ verifications: ForwardVerification[];
43
+ stats: FormalVerificationStats;
44
+ };