openmerit 0.1.3 → 0.1.5
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/CHANGELOG.md +26 -0
- package/README.md +83 -312
- package/dist/core/src/index.d.ts +90 -0
- package/dist/core/src/index.js +1137 -0
- package/dist/core/src/store.d.ts +35 -0
- package/dist/core/src/store.js +102 -0
- package/dist/pi/src/index.d.ts +15 -0
- package/dist/pi/src/index.js +423 -0
- package/dist/protocol/src/index.d.ts +402 -0
- package/dist/protocol/src/index.js +47 -0
- package/dist/protocol/src/schemas.d.ts +450 -0
- package/dist/protocol/src/schemas.js +224 -0
- package/docs/adapter-guide.md +172 -0
- package/docs/architecture.md +55 -0
- package/docs/automation.md +66 -0
- package/docs/getting-started.md +55 -0
- package/docs/lifecycle.md +30 -0
- package/docs/metrics-and-evidence.md +40 -0
- package/docs/operations.md +31 -0
- package/docs/pareto-spec.md +76 -0
- package/docs/pi-extension.md +44 -0
- package/docs/roadmap.md +26 -0
- package/docs/security.md +23 -0
- package/docs/testing.md +36 -0
- package/docs/ux-reference.md +32 -0
- package/package.json +45 -54
- package/benchmark/invoice_ocr/data/invoice_01_ground_truth.json +0 -38
- package/benchmark/invoice_ocr/data/invoice_01_row_2.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_02_ground_truth.json +0 -32
- package/benchmark/invoice_ocr/data/invoice_02_row_5.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_03_ground_truth.json +0 -26
- package/benchmark/invoice_ocr/data/invoice_03_row_6.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_04_ground_truth.json +0 -26
- package/benchmark/invoice_ocr/data/invoice_04_row_7.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_05_ground_truth.json +0 -38
- package/benchmark/invoice_ocr/data/invoice_05_row_947.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_06_ground_truth.json +0 -38
- package/benchmark/invoice_ocr/data/invoice_06_row_948.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_07_ground_truth.json +0 -20
- package/benchmark/invoice_ocr/data/invoice_07_row_949.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_08_ground_truth.json +0 -38
- package/benchmark/invoice_ocr/data/invoice_08_row_1888.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_09_ground_truth.json +0 -26
- package/benchmark/invoice_ocr/data/invoice_09_row_1890.jpg +0 -0
- package/benchmark/invoice_ocr/data/invoice_10_ground_truth.json +0 -20
- package/benchmark/invoice_ocr/data/invoice_10_row_1892.jpg +0 -0
- package/benchmark/invoice_ocr/data/manifest.json +0 -97
- package/dist/benchmarks.js +0 -98
- package/dist/catalog.js +0 -61
- package/dist/cli.js +0 -188
- package/dist/daemon.js +0 -388
- package/dist/diagnostics.js +0 -194
- package/dist/frontier.js +0 -56
- package/dist/harness.js +0 -1
- package/dist/integrations.js +0 -19
- package/dist/invoice-eval.js +0 -33
- package/dist/invoice-score.js +0 -124
- package/dist/judge.js +0 -43
- package/dist/llm.js +0 -203
- package/dist/pi-trials.js +0 -366
- package/dist/policy.js +0 -115
- package/dist/providers.js +0 -1
- package/dist/recommend.js +0 -76
- package/dist/routes.js +0 -59
- package/dist/standalone.js +0 -220
- package/dist/store.js +0 -89
- package/dist/strategist.js +0 -68
- package/dist/task-input.js +0 -54
- package/dist/traces.js +0 -127
- package/dist/trials.js +0 -140
- package/dist/types.js +0 -2
- package/examples/invoice-prompt.txt +0 -19
- package/examples/task.example.json +0 -7
- package/extension/openmerit.ts +0 -820
- package/instructions/OPENMERIT.md +0 -54
- package/instructions/openmerit.policy.json +0 -33
- package/rules.md +0 -39
package/docs/testing.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Testing
|
|
2
|
+
|
|
3
|
+
## Standard verification
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm install
|
|
7
|
+
npm test
|
|
8
|
+
npm run check
|
|
9
|
+
npm run verify
|
|
10
|
+
npm pack --dry-run
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Tests cover protocol contracts, lifecycle decisions, baseline sufficiency, candidate/frontier/swap sequencing, conservative Pareto verification, persistence, audit events, safe evidence identifiers, Pi commands, private intent delivery, evidence requirements, and mutation boundaries.
|
|
14
|
+
|
|
15
|
+
Automation tests additionally cover task and elapsed cadence, idempotent signal delivery, durable pending work, catalogue changes, metric regression thresholds, native wakeup requests, unsupported-scheduler fallbacks, delayed post-swap verification, and Pi conversion of settled work into a due assessment.
|
|
16
|
+
|
|
17
|
+
## Pi load smoke test
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
./node_modules/.bin/pi --no-session -e ./packages/pi/src/index.ts --list-models
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This proves the real Pi runtime loads the extension and enumerates its available catalogue. It does not prove a provider can complete an end-to-end product intent.
|
|
24
|
+
|
|
25
|
+
CI also packs `openmerit`, installs the tarball in a temporary directory,
|
|
26
|
+
imports its public core and protocol entry points, and loads the installed Pi
|
|
27
|
+
extension. This checks the published artifact rather than only the workspace.
|
|
28
|
+
|
|
29
|
+
## Evidence levels
|
|
30
|
+
|
|
31
|
+
- **Unit verified** — deterministic behavior has automated coverage.
|
|
32
|
+
- **Runtime smoke verified** — the actual Pi runtime loads the extension.
|
|
33
|
+
- **Product trial verified** — Pi creates evals and observability in a real product and completes an intent with evidence.
|
|
34
|
+
- **Production verified** — representative repeated runs support reliability and distribution claims.
|
|
35
|
+
|
|
36
|
+
The current repository is unit- and runtime-smoke-verified. Product and production claims require target-product evidence.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Pi UX behavioral reference
|
|
2
|
+
|
|
3
|
+
This document records user-visible behaviors from the earlier OpenMerit implementation. It is not an implementation specification; the current implementation carries forward only the behaviors listed below, rather than its source code, storage schema, or internal contracts.
|
|
4
|
+
|
|
5
|
+
## Behaviors worth preserving
|
|
6
|
+
|
|
7
|
+
- A single `/openmerit` command is the primary in-harness entry point.
|
|
8
|
+
- Running the command without arguments gives a concise operational summary.
|
|
9
|
+
- Long-running work produces short progress notifications instead of appearing silent.
|
|
10
|
+
- Users can pause and resume proactive work without uninstalling the extension.
|
|
11
|
+
- Users can request work explicitly even when proactive behavior is paused.
|
|
12
|
+
- Diagnostics are available from the same command surface.
|
|
13
|
+
- Skipped work explains why it was skipped and how the user can proceed.
|
|
14
|
+
- Failures are visible, actionable, and do not masquerade as successful evidence.
|
|
15
|
+
- The extension behaves sensibly in TUI, RPC, JSON, and print modes; prompts are not attempted when no interactive UI exists.
|
|
16
|
+
|
|
17
|
+
## Staged behavior
|
|
18
|
+
|
|
19
|
+
The command shell can carry a proposal through an authorized model change, but only after baseline evidence, budgeted challenger trials, a harness-calculated and OpenMerit-verified frontier, policy approval, and post-swap verification.
|
|
20
|
+
|
|
21
|
+
## Current direction
|
|
22
|
+
|
|
23
|
+
The command surface centers on evidence readiness. Its status view should answer:
|
|
24
|
+
|
|
25
|
+
1. What task profile is active?
|
|
26
|
+
2. Which required metrics are observable?
|
|
27
|
+
3. Which evaluations exist and have been verified?
|
|
28
|
+
4. What intelligent work is Pi currently performing for OpenMerit?
|
|
29
|
+
5. What evidence is still missing or insufficient?
|
|
30
|
+
6. When is the next assessment due?
|
|
31
|
+
|
|
32
|
+
The approved command surface is documented in [Pi extension](pi-extension.md).
|
package/package.json
CHANGED
|
@@ -1,35 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openmerit",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.5",
|
|
4
|
+
"description": "Evidence-driven model decisions for coding harnesses.",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
"bin": {
|
|
29
|
-
"openmerit": "dist/cli.js"
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": ["pi-package", "pi-extension", "model-routing", "evaluation", "pareto-frontier"],
|
|
8
|
+
"files": ["dist/", "docs/", "CHANGELOG.md", "LICENSE", "README.md"],
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/core/src/index.d.ts",
|
|
12
|
+
"default": "./dist/core/src/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./core": {
|
|
15
|
+
"types": "./dist/core/src/index.d.ts",
|
|
16
|
+
"default": "./dist/core/src/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./protocol": {
|
|
19
|
+
"types": "./dist/protocol/src/index.d.ts",
|
|
20
|
+
"default": "./dist/protocol/src/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./pi": {
|
|
23
|
+
"types": "./dist/pi/src/index.d.ts",
|
|
24
|
+
"default": "./dist/pi/src/index.js"
|
|
25
|
+
},
|
|
26
|
+
"./package.json": "./package.json"
|
|
30
27
|
},
|
|
31
|
-
"
|
|
32
|
-
"
|
|
28
|
+
"pi": {
|
|
29
|
+
"extensions": ["./dist/pi/src/index.js"]
|
|
33
30
|
},
|
|
34
31
|
"repository": {
|
|
35
32
|
"type": "git",
|
|
@@ -42,39 +39,33 @@
|
|
|
42
39
|
"publishConfig": {
|
|
43
40
|
"access": "public"
|
|
44
41
|
},
|
|
42
|
+
"workspaces": [
|
|
43
|
+
"packages/*"
|
|
44
|
+
],
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=22.19.0"
|
|
47
|
+
},
|
|
45
48
|
"scripts": {
|
|
49
|
+
"check": "npm run check --workspaces --if-present",
|
|
50
|
+
"test": "npm run test --workspaces --if-present",
|
|
51
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
52
|
+
"build": "node scripts/build.mjs",
|
|
46
53
|
"prepare": "npm run build",
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"benchmark:invoice:prepare": "node benchmark/invoice_ocr/prepare_data.ts",
|
|
54
|
-
"benchmark:invoice": "node benchmark/invoice_ocr/benchmark.ts",
|
|
55
|
-
"benchmark:invoice:audit": "node benchmark/invoice_ocr/audit_results.ts",
|
|
56
|
-
"benchmark:invoice:round2": "node benchmark/invoice_ocr/benchmark_round2.ts",
|
|
57
|
-
"benchmark:invoice:round2:audit": "node benchmark/invoice_ocr/audit_round2.ts",
|
|
58
|
-
"benchmark:text-to-sql": "node benchmark/text_to_sql/benchmark.ts",
|
|
59
|
-
"benchmark:text-to-sql:audit": "node benchmark/text_to_sql/audit_results.ts",
|
|
60
|
-
"benchmark:policy": "node benchmark/policy_adjudication/benchmark.ts",
|
|
61
|
-
"benchmark:policy:audit": "node benchmark/policy_adjudication/audit_results.ts",
|
|
62
|
-
"benchmark:policy:validate": "node benchmark/policy_adjudication/validate_eval.ts",
|
|
63
|
-
"benchmark:verify-recorded": "node benchmark/verify_recorded.ts"
|
|
54
|
+
"verify": "npm test && npm run check && npm run typecheck && npm run build && git diff --check",
|
|
55
|
+
"prepublishOnly": "npm run verify"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@earendil-works/pi-ai": "0.87.0",
|
|
59
|
+
"typebox": "1.3.27"
|
|
64
60
|
},
|
|
65
|
-
"license": "MIT",
|
|
66
61
|
"peerDependencies": {
|
|
67
|
-
"@earendil-works/pi-coding-agent": "
|
|
62
|
+
"@earendil-works/pi-coding-agent": ">=0.87.0 <0.88.0"
|
|
68
63
|
},
|
|
69
64
|
"peerDependenciesMeta": {
|
|
70
|
-
"@earendil-works/pi-coding-agent": {
|
|
71
|
-
"optional": true
|
|
72
|
-
}
|
|
65
|
+
"@earendil-works/pi-coding-agent": { "optional": true }
|
|
73
66
|
},
|
|
74
67
|
"devDependencies": {
|
|
75
|
-
"@
|
|
76
|
-
"
|
|
77
|
-
"typescript": "^5.7.0",
|
|
78
|
-
"vitest": "^2.1.0"
|
|
68
|
+
"@types/node": "^22.18.6",
|
|
69
|
+
"typescript": "^5.9.3"
|
|
79
70
|
}
|
|
80
71
|
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "PixelWave Solutions Inc.",
|
|
3
|
-
"customer_name": "Greenfield Marketing Ltd.",
|
|
4
|
-
"invoice_number": "INV-2023-0098",
|
|
5
|
-
"po_number": "PO-5678",
|
|
6
|
-
"document_date": "2023-07-15",
|
|
7
|
-
"due_date": "2023-08-14",
|
|
8
|
-
"document_currency": "CAD",
|
|
9
|
-
"document_total_net": 2220.0,
|
|
10
|
-
"document_total_tax": 111.0,
|
|
11
|
-
"document_total_amount": 2331.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Website design services",
|
|
15
|
-
"quantity": 1.0,
|
|
16
|
-
"unit_price": 1200.0,
|
|
17
|
-
"amount": 1200.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "Content writing package",
|
|
21
|
-
"quantity": 10.0,
|
|
22
|
-
"unit_price": 50.0,
|
|
23
|
-
"amount": 500.0
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"description": "SEO optimization",
|
|
27
|
-
"quantity": 5.0,
|
|
28
|
-
"unit_price": 80.0,
|
|
29
|
-
"amount": 400.0
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "Hosting subscription",
|
|
33
|
-
"quantity": 12.0,
|
|
34
|
-
"unit_price": 10.0,
|
|
35
|
-
"amount": 120.0
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
Binary file
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "TechSolutions Ltd",
|
|
3
|
-
"customer_name": null,
|
|
4
|
-
"invoice_number": "IE-INV-2024-000123",
|
|
5
|
-
"po_number": null,
|
|
6
|
-
"document_date": "2024-03-15",
|
|
7
|
-
"due_date": null,
|
|
8
|
-
"document_currency": "EUR",
|
|
9
|
-
"document_total_net": 6200.0,
|
|
10
|
-
"document_total_tax": 1143.0,
|
|
11
|
-
"document_total_amount": 7343.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Consulting services for project X",
|
|
15
|
-
"quantity": 3.0,
|
|
16
|
-
"unit_price": 1500.0,
|
|
17
|
-
"amount": 4500.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "High-performance laptop (Model Y)",
|
|
21
|
-
"quantity": 1.0,
|
|
22
|
-
"unit_price": 1200.0,
|
|
23
|
-
"amount": 1200.0
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"description": "International shipping to Germany",
|
|
27
|
-
"quantity": 1.0,
|
|
28
|
-
"unit_price": 500.0,
|
|
29
|
-
"amount": 500.0
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
}
|
|
Binary file
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "CloudCompute Solutions Inc.",
|
|
3
|
-
"customer_name": "Acme Corp.",
|
|
4
|
-
"invoice_number": "INV-20230815-001",
|
|
5
|
-
"po_number": "PO-987654",
|
|
6
|
-
"document_date": "2023-08-15",
|
|
7
|
-
"due_date": "2023-09-14",
|
|
8
|
-
"document_currency": "USD",
|
|
9
|
-
"document_total_net": 110.0,
|
|
10
|
-
"document_total_tax": 9.07,
|
|
11
|
-
"document_total_amount": 119.07,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Enterprise Cloud Storage Subscription",
|
|
15
|
-
"quantity": 1.0,
|
|
16
|
-
"unit_price": 50.0,
|
|
17
|
-
"amount": 50.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "Premium Support Add-On",
|
|
21
|
-
"quantity": 2.0,
|
|
22
|
-
"unit_price": 30.0,
|
|
23
|
-
"amount": 60.0
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
|
Binary file
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "Tech Solutions Ltd",
|
|
3
|
-
"customer_name": "Acme Construction Ltd",
|
|
4
|
-
"invoice_number": "INV-20230815-001",
|
|
5
|
-
"po_number": "PO-7654321",
|
|
6
|
-
"document_date": "2023-08-15",
|
|
7
|
-
"due_date": "2023-09-14",
|
|
8
|
-
"document_currency": "GBP",
|
|
9
|
-
"document_total_net": 1500.0,
|
|
10
|
-
"document_total_tax": 240.0,
|
|
11
|
-
"document_total_amount": 1740.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "High-performance laptop",
|
|
15
|
-
"quantity": 1.0,
|
|
16
|
-
"unit_price": 1200.0,
|
|
17
|
-
"amount": 1200.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "Office desk chair",
|
|
21
|
-
"quantity": 2.0,
|
|
22
|
-
"unit_price": 150.0,
|
|
23
|
-
"amount": 300.0
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
|
Binary file
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "Celtic Code Solutions",
|
|
3
|
-
"customer_name": "North Star Consulting Ltd.",
|
|
4
|
-
"invoice_number": "INV-2023-0075",
|
|
5
|
-
"po_number": null,
|
|
6
|
-
"document_date": "2023-07-15",
|
|
7
|
-
"due_date": "2023-08-14",
|
|
8
|
-
"document_currency": "EUR",
|
|
9
|
-
"document_total_net": 4600.0,
|
|
10
|
-
"document_total_tax": 1058.0,
|
|
11
|
-
"document_total_amount": 5658.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "UI Development Consulting",
|
|
15
|
-
"quantity": 20.0,
|
|
16
|
-
"unit_price": 80.0,
|
|
17
|
-
"amount": 1600.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "UX Research",
|
|
21
|
-
"quantity": 10.0,
|
|
22
|
-
"unit_price": 90.0,
|
|
23
|
-
"amount": 900.0
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"description": "Custom API Integration",
|
|
27
|
-
"quantity": 15.0,
|
|
28
|
-
"unit_price": 100.0,
|
|
29
|
-
"amount": 1500.0
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "Project Management Support",
|
|
33
|
-
"quantity": 5.0,
|
|
34
|
-
"unit_price": 120.0,
|
|
35
|
-
"amount": 600.0
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
Binary file
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "Oak Property Management Ltd",
|
|
3
|
-
"customer_name": "John Doe",
|
|
4
|
-
"invoice_number": "RENT-2023-001",
|
|
5
|
-
"po_number": null,
|
|
6
|
-
"document_date": "2023-05-01",
|
|
7
|
-
"due_date": "2023-05-15",
|
|
8
|
-
"document_currency": "EUR",
|
|
9
|
-
"document_total_net": 1650.0,
|
|
10
|
-
"document_total_tax": 103.5,
|
|
11
|
-
"document_total_amount": 1753.5,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Monthly Base Rent",
|
|
15
|
-
"quantity": 1.0,
|
|
16
|
-
"unit_price": 1200.0,
|
|
17
|
-
"amount": 1200.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "Utilities (Electricity/Gas)",
|
|
21
|
-
"quantity": 1.0,
|
|
22
|
-
"unit_price": 200.0,
|
|
23
|
-
"amount": 200.0
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"description": "Property Tax",
|
|
27
|
-
"quantity": 1.0,
|
|
28
|
-
"unit_price": 150.0,
|
|
29
|
-
"amount": 150.0
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "Cleaning Service",
|
|
33
|
-
"quantity": 1.0,
|
|
34
|
-
"unit_price": 100.0,
|
|
35
|
-
"amount": 100.0
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
Binary file
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "Acme Office Supplies Inc.",
|
|
3
|
-
"customer_name": "Global Tech Corp.",
|
|
4
|
-
"invoice_number": "INV-2023-0001",
|
|
5
|
-
"po_number": null,
|
|
6
|
-
"document_date": "2023-07-15",
|
|
7
|
-
"due_date": "2023-08-15",
|
|
8
|
-
"document_currency": "USD",
|
|
9
|
-
"document_total_net": 600.0,
|
|
10
|
-
"document_total_tax": 42.0,
|
|
11
|
-
"document_total_amount": 642.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Office chairs",
|
|
15
|
-
"quantity": 5.0,
|
|
16
|
-
"unit_price": 120.0,
|
|
17
|
-
"amount": 600.0
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
}
|
|
Binary file
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "Digital Solutions Pty Ltd",
|
|
3
|
-
"customer_name": "Global Tech Industries Ltd",
|
|
4
|
-
"invoice_number": "INV-2024-005",
|
|
5
|
-
"po_number": null,
|
|
6
|
-
"document_date": "2024-06-15",
|
|
7
|
-
"due_date": "2024-07-15",
|
|
8
|
-
"document_currency": "AUD",
|
|
9
|
-
"document_total_net": 3840.0,
|
|
10
|
-
"document_total_tax": 384.0,
|
|
11
|
-
"document_total_amount": 4224.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Cloud hosting services",
|
|
15
|
-
"quantity": 12.0,
|
|
16
|
-
"unit_price": 120.0,
|
|
17
|
-
"amount": 1440.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "Software license renewal",
|
|
21
|
-
"quantity": 1.0,
|
|
22
|
-
"unit_price": 1200.0,
|
|
23
|
-
"amount": 1200.0
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"description": "Subscription data analytics package",
|
|
27
|
-
"quantity": 1.0,
|
|
28
|
-
"unit_price": 800.0,
|
|
29
|
-
"amount": 800.0
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"description": "Technical support",
|
|
33
|
-
"quantity": 1.0,
|
|
34
|
-
"unit_price": 400.0,
|
|
35
|
-
"amount": 400.0
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
}
|
|
Binary file
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "Acme Consulting Group",
|
|
3
|
-
"customer_name": null,
|
|
4
|
-
"invoice_number": "INV-2023-0789",
|
|
5
|
-
"po_number": "PO-2023-4567",
|
|
6
|
-
"document_date": "2023-07-15",
|
|
7
|
-
"due_date": "2023-08-14",
|
|
8
|
-
"document_currency": "USD",
|
|
9
|
-
"document_total_net": 3250.0,
|
|
10
|
-
"document_total_tax": 268.12,
|
|
11
|
-
"document_total_amount": 3518.12,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Business Strategy Consultation",
|
|
15
|
-
"quantity": 10.0,
|
|
16
|
-
"unit_price": 200.0,
|
|
17
|
-
"amount": 2000.0
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"description": "Technology Roadmap Development",
|
|
21
|
-
"quantity": 5.0,
|
|
22
|
-
"unit_price": 250.0,
|
|
23
|
-
"amount": 1250.0
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
|
Binary file
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"supplier_name": "VirtualCo Solutions",
|
|
3
|
-
"customer_name": "John Doe",
|
|
4
|
-
"invoice_number": "INV-2023-000123",
|
|
5
|
-
"po_number": null,
|
|
6
|
-
"document_date": "2023-07-15",
|
|
7
|
-
"due_date": "2023-08-14",
|
|
8
|
-
"document_currency": "USD",
|
|
9
|
-
"document_total_net": 1200.0,
|
|
10
|
-
"document_total_tax": 96.0,
|
|
11
|
-
"document_total_amount": 1296.0,
|
|
12
|
-
"line_items": [
|
|
13
|
-
{
|
|
14
|
-
"description": "Enterprise SaaS Subscription for Q3 2023",
|
|
15
|
-
"quantity": 1.0,
|
|
16
|
-
"unit_price": 1200.0,
|
|
17
|
-
"amount": 1200.0
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
}
|
|
Binary file
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"dataset": "alamgirqazi/invoice-ocr-synthetic",
|
|
3
|
-
"dataset_revision": "44ddfd3c0c373b69f377910f83c4164a1e52d52c",
|
|
4
|
-
"license": "CC BY 4.0",
|
|
5
|
-
"rows": [
|
|
6
|
-
{
|
|
7
|
-
"invoice_id": "invoice_01",
|
|
8
|
-
"row_idx": 2,
|
|
9
|
-
"file_name": "synth_0002_8f01361b.png",
|
|
10
|
-
"quality": "clean",
|
|
11
|
-
"template": "freelancer_invoice",
|
|
12
|
-
"image": "invoice_01_row_2.jpg",
|
|
13
|
-
"ground_truth": "invoice_01_ground_truth.json"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"invoice_id": "invoice_02",
|
|
17
|
-
"row_idx": 5,
|
|
18
|
-
"file_name": "synth_0005_553deef3.png",
|
|
19
|
-
"quality": "clean",
|
|
20
|
-
"template": "formal_corporate",
|
|
21
|
-
"image": "invoice_02_row_5.jpg",
|
|
22
|
-
"ground_truth": "invoice_02_ground_truth.json"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"invoice_id": "invoice_03",
|
|
26
|
-
"row_idx": 6,
|
|
27
|
-
"file_name": "synth_0006_474081ca.png",
|
|
28
|
-
"quality": "clean",
|
|
29
|
-
"template": "modern_minimal",
|
|
30
|
-
"image": "invoice_03_row_6.jpg",
|
|
31
|
-
"ground_truth": "invoice_03_ground_truth.json"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"invoice_id": "invoice_04",
|
|
35
|
-
"row_idx": 7,
|
|
36
|
-
"file_name": "synth_0007_7292e354.png",
|
|
37
|
-
"quality": "clean",
|
|
38
|
-
"template": "utility_bill",
|
|
39
|
-
"image": "invoice_04_row_7.jpg",
|
|
40
|
-
"ground_truth": "invoice_04_ground_truth.json"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"invoice_id": "invoice_05",
|
|
44
|
-
"row_idx": 947,
|
|
45
|
-
"file_name": "synth_0009_8f6b430f.png",
|
|
46
|
-
"quality": "faded",
|
|
47
|
-
"template": "freelancer_invoice",
|
|
48
|
-
"image": "invoice_05_row_947.jpg",
|
|
49
|
-
"ground_truth": "invoice_05_ground_truth.json"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"invoice_id": "invoice_06",
|
|
53
|
-
"row_idx": 948,
|
|
54
|
-
"file_name": "synth_0010_73bd8d75.png",
|
|
55
|
-
"quality": "faded",
|
|
56
|
-
"template": "formal_corporate",
|
|
57
|
-
"image": "invoice_06_row_948.jpg",
|
|
58
|
-
"ground_truth": "invoice_06_ground_truth.json"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"invoice_id": "invoice_07",
|
|
62
|
-
"row_idx": 949,
|
|
63
|
-
"file_name": "synth_0011_8888d5c6.png",
|
|
64
|
-
"quality": "faded",
|
|
65
|
-
"template": "utility_bill",
|
|
66
|
-
"image": "invoice_07_row_949.jpg",
|
|
67
|
-
"ground_truth": "invoice_07_ground_truth.json"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"invoice_id": "invoice_08",
|
|
71
|
-
"row_idx": 1888,
|
|
72
|
-
"file_name": "synth_0012_72cf2460.png",
|
|
73
|
-
"quality": "bad_scan",
|
|
74
|
-
"template": "modern_minimal",
|
|
75
|
-
"image": "invoice_08_row_1888.jpg",
|
|
76
|
-
"ground_truth": "invoice_08_ground_truth.json"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"invoice_id": "invoice_09",
|
|
80
|
-
"row_idx": 1890,
|
|
81
|
-
"file_name": "synth_0014_d3972e7f.png",
|
|
82
|
-
"quality": "bad_scan",
|
|
83
|
-
"template": "freelancer_invoice",
|
|
84
|
-
"image": "invoice_09_row_1890.jpg",
|
|
85
|
-
"ground_truth": "invoice_09_ground_truth.json"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"invoice_id": "invoice_10",
|
|
89
|
-
"row_idx": 1892,
|
|
90
|
-
"file_name": "synth_0016_223f5434.png",
|
|
91
|
-
"quality": "bad_scan",
|
|
92
|
-
"template": "modern_minimal",
|
|
93
|
-
"image": "invoice_10_row_1892.jpg",
|
|
94
|
-
"ground_truth": "invoice_10_ground_truth.json"
|
|
95
|
-
}
|
|
96
|
-
]
|
|
97
|
-
}
|