docket-ai 0.1.0__tar.gz
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.
- docket_ai-0.1.0/.gitignore +54 -0
- docket_ai-0.1.0/CHANGELOG.md +1168 -0
- docket_ai-0.1.0/LICENSE +216 -0
- docket_ai-0.1.0/PKG-INFO +408 -0
- docket_ai-0.1.0/README.md +366 -0
- docket_ai-0.1.0/deploy/README.md +103 -0
- docket_ai-0.1.0/docs/adr/0001-record-format-decisions-as-adrs.md +54 -0
- docket_ai-0.1.0/docs/adr/0002-no-floating-point-in-hashed-structures.md +70 -0
- docket_ai-0.1.0/docs/adr/0003-verification-uses-recomputed-hashes.md +68 -0
- docket_ai-0.1.0/docs/adr/0004-content-snapshots-and-confinement.md +107 -0
- docket_ai-0.1.0/docs/adr/0005-concurrency-and-one-writer-at-a-time.md +99 -0
- docket_ai-0.1.0/docs/adr/0006-the-shape-of-the-conformance-corpus.md +105 -0
- docket_ai-0.1.0/docs/adr/0007-the-members-a-receipt-states-about-itself.md +59 -0
- docket_ai-0.1.0/docs/adr/0008-a-third-implementation-written-from-the-spec.md +46 -0
- docket_ai-0.1.0/docs/architecture.md +141 -0
- docket_ai-0.1.0/docs/caching.md +292 -0
- docket_ai-0.1.0/docs/cli.md +412 -0
- docket_ai-0.1.0/docs/comparison.md +91 -0
- docket_ai-0.1.0/docs/concepts.md +109 -0
- docket_ai-0.1.0/docs/deployment.md +159 -0
- docket_ai-0.1.0/docs/evidence.md +82 -0
- docket_ai-0.1.0/docs/faq.md +95 -0
- docket_ai-0.1.0/docs/incident-corpus.md +81 -0
- docket_ai-0.1.0/docs/integrations.md +190 -0
- docket_ai-0.1.0/docs/measurements/2026-10-15-2core/README.md +174 -0
- docket_ai-0.1.0/docs/measurements/2026-10-15-2core/cache-report.json +877 -0
- docket_ai-0.1.0/docs/measurements/2026-10-15-2core/control-report.json +76 -0
- docket_ai-0.1.0/docs/measurements/2026-10-15-2core/load-report.json +76 -0
- docket_ai-0.1.0/docs/measurements/2026-10-15-2core/soak-report.json +76 -0
- docket_ai-0.1.0/docs/policy-reference.md +167 -0
- docket_ai-0.1.0/docs/production-coverage.md +200 -0
- docket_ai-0.1.0/docs/quickstart.md +147 -0
- docket_ai-0.1.0/docs/resilience.md +165 -0
- docket_ai-0.1.0/docs/sre-coverage.md +79 -0
- docket_ai-0.1.0/docs/standards.md +53 -0
- docket_ai-0.1.0/docs/testing.md +719 -0
- docket_ai-0.1.0/docs/threat-model.md +148 -0
- docket_ai-0.1.0/docs/verification.md +206 -0
- docket_ai-0.1.0/examples/README.md +21 -0
- docket_ai-0.1.0/examples/ci/README.md +87 -0
- docket_ai-0.1.0/examples/ci/docket.toml +42 -0
- docket_ai-0.1.0/examples/client-deliverable/README.md +50 -0
- docket_ai-0.1.0/examples/custom-agent/README.md +64 -0
- docket_ai-0.1.0/examples/custom-agent/agent_sdk.py +91 -0
- docket_ai-0.1.0/examples/quickstart/README.md +85 -0
- docket_ai-0.1.0/examples/quickstart/agent.py +71 -0
- docket_ai-0.1.0/examples/quickstart/run_example.py +86 -0
- docket_ai-0.1.0/examples/subscription/README.md +60 -0
- docket_ai-0.1.0/examples/subscription/docket.toml +34 -0
- docket_ai-0.1.0/pyproject.toml +142 -0
- docket_ai-0.1.0/spec/conformance.md +156 -0
- docket_ai-0.1.0/spec/docket-receipt-1.md +404 -0
- docket_ai-0.1.0/spec/registry.json +268 -0
- docket_ai-0.1.0/spec/vectors/cache-digest.json +12 -0
- docket_ai-0.1.0/spec/vectors/cache.json +464 -0
- docket_ai-0.1.0/spec/vectors/canonical.json +44 -0
- docket_ai-0.1.0/spec/vectors/generate.py +291 -0
- docket_ai-0.1.0/spec/vectors/invalid/01-format-unknown.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/01-format-unknown.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/02-totals-not-object.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/02-totals-not-object.json +475 -0
- docket_ai-0.1.0/spec/vectors/invalid/03-nan-in-totals.expected.json +15 -0
- docket_ai-0.1.0/spec/vectors/invalid/03-nan-in-totals.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/04-infinity-in-totals.expected.json +15 -0
- docket_ai-0.1.0/spec/vectors/invalid/04-infinity-in-totals.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/05-duplicate-member.expected.json +15 -0
- docket_ai-0.1.0/spec/vectors/invalid/05-duplicate-member.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/06-top-level-list.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/06-top-level-list.json +517 -0
- docket_ai-0.1.0/spec/vectors/invalid/07-chain-edited-event.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/07-chain-edited-event.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/08-head-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/08-head-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/09-event-count-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/09-event-count-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/10-merkle-root-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/10-merkle-root-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/11-ledger-trailing-byte.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/11-ledger-trailing-byte.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/12-event-with-float.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/12-event-with-float.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/13-usage-proof-tampered.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/13-usage-proof-tampered.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/14-usage-row-without-proof.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/14-usage-row-without-proof.json +497 -0
- docket_ai-0.1.0/spec/vectors/invalid/15-usage-row-rebound.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/15-usage-row-rebound.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/16-usage-seq-outside.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/16-usage-seq-outside.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/17-cost-row-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/17-cost-row-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/18-totals-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/18-totals-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/19-token-totals-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/19-token-totals-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/20-latency-summary-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/20-latency-summary-mismatch.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/21-usage-source-unknown.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/21-usage-source-unknown.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/22-limits-disclosure-missing.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/22-limits-disclosure-missing.json +481 -0
- docket_ai-0.1.0/spec/vectors/invalid/23-cache-saved-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/23-cache-saved-mismatch.json +464 -0
- docket_ai-0.1.0/spec/vectors/invalid/24-cache-origin-wrong.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/24-cache-origin-wrong.json +464 -0
- docket_ai-0.1.0/spec/vectors/invalid/25-cache-proof-tampered.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/25-cache-proof-tampered.json +464 -0
- docket_ai-0.1.0/spec/vectors/invalid/26-cache-hits-mismatch.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/26-cache-hits-mismatch.json +464 -0
- docket_ai-0.1.0/spec/vectors/invalid/27-assumed-price-undisclosed.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/27-assumed-price-undisclosed.json +512 -0
- docket_ai-0.1.0/spec/vectors/invalid/28-totals-call-count.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/28-totals-call-count.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/29-totals-input-tokens.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/29-totals-input-tokens.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/30-totals-token-split.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/30-totals-token-split.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/31-utf8-bom.expected.json +13 -0
- docket_ai-0.1.0/spec/vectors/invalid/31-utf8-bom.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/32-trailing-bytes.expected.json +13 -0
- docket_ai-0.1.0/spec/vectors/invalid/32-trailing-bytes.json +2 -0
- docket_ai-0.1.0/spec/vectors/invalid/33-invalid-utf8.expected.json +13 -0
- docket_ai-0.1.0/spec/vectors/invalid/33-invalid-utf8.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/34-integral-float-accepted.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/34-integral-float-accepted.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/35-negative-zero-accepted.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/35-negative-zero-accepted.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/36-non-nfc-accepted.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/36-non-nfc-accepted.json +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/37-ledger-duplicate-name.expected.json +15 -0
- docket_ai-0.1.0/spec/vectors/invalid/37-ledger-duplicate-name.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/38-ledger-truncated-line.expected.json +13 -0
- docket_ai-0.1.0/spec/vectors/invalid/38-ledger-truncated-line.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/39-by-model-invents-a-model.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/39-by-model-invents-a-model.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/40-usage-counts-say-reported.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/40-usage-counts-say-reported.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/41-cost-basis-is-a-contradiction.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/41-cost-basis-is-a-contradiction.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/42-quota-mode-basis-is-accepted.expected.json +10 -0
- docket_ai-0.1.0/spec/vectors/invalid/42-quota-mode-basis-is-accepted.json +515 -0
- docket_ai-0.1.0/spec/vectors/invalid/base.ledger.jsonl +12 -0
- docket_ai-0.1.0/spec/vectors/invalid/build.py +944 -0
- docket_ai-0.1.0/spec/vectors/invalid/ledgers/07-chain-edited-event.jsonl +12 -0
- docket_ai-0.1.0/spec/vectors/invalid/ledgers/11-ledger-trailing-byte.jsonl +13 -0
- docket_ai-0.1.0/spec/vectors/invalid/ledgers/12-event-with-float.jsonl +12 -0
- docket_ai-0.1.0/spec/vectors/invalid/ledgers/37-ledger-duplicate-name.jsonl +1 -0
- docket_ai-0.1.0/spec/vectors/invalid/ledgers/38-ledger-truncated-line.jsonl +13 -0
- docket_ai-0.1.0/spec/vectors/ledger.json +271 -0
- docket_ai-0.1.0/spec/vectors/merkle.json +134 -0
- docket_ai-0.1.0/spec/vectors/receipt-digest.json +5 -0
- docket_ai-0.1.0/spec/vectors/receipt.json +515 -0
- docket_ai-0.1.0/src/docket/__init__.py +43 -0
- docket_ai-0.1.0/src/docket/__main__.py +6 -0
- docket_ai-0.1.0/src/docket/cache.py +518 -0
- docket_ai-0.1.0/src/docket/canon.py +240 -0
- docket_ai-0.1.0/src/docket/chaos.py +1207 -0
- docket_ai-0.1.0/src/docket/cli.py +1469 -0
- docket_ai-0.1.0/src/docket/demo.py +348 -0
- docket_ai-0.1.0/src/docket/diagnostics.py +726 -0
- docket_ai-0.1.0/src/docket/events.py +133 -0
- docket_ai-0.1.0/src/docket/explain.py +353 -0
- docket_ai-0.1.0/src/docket/fakeupstream.py +402 -0
- docket_ai-0.1.0/src/docket/fsdiff.py +140 -0
- docket_ai-0.1.0/src/docket/latency.py +124 -0
- docket_ai-0.1.0/src/docket/ledger.py +781 -0
- docket_ai-0.1.0/src/docket/loaddriver.py +364 -0
- docket_ai-0.1.0/src/docket/policy.py +774 -0
- docket_ai-0.1.0/src/docket/prices.json +145 -0
- docket_ai-0.1.0/src/docket/pricing.py +469 -0
- docket_ai-0.1.0/src/docket/proxy.py +1842 -0
- docket_ai-0.1.0/src/docket/receipt.py +417 -0
- docket_ai-0.1.0/src/docket/report.py +425 -0
- docket_ai-0.1.0/src/docket/resilience.py +681 -0
- docket_ai-0.1.0/src/docket/scriptagent.py +233 -0
- docket_ai-0.1.0/src/docket/sdk.py +375 -0
- docket_ai-0.1.0/src/docket/signing.py +178 -0
- docket_ai-0.1.0/src/docket/snapshot.py +607 -0
- docket_ai-0.1.0/src/docket/supervisor.py +844 -0
- docket_ai-0.1.0/src/docket/util.py +375 -0
- docket_ai-0.1.0/src/docket/verify.py +1297 -0
- docket_ai-0.1.0/tests/conftest.py +120 -0
- docket_ai-0.1.0/tests/golden/diff-vector.txt +9 -0
- docket_ai-0.1.0/tests/golden/receipt-vector.txt +23 -0
- docket_ai-0.1.0/tests/golden/report-vector.md +31 -0
- docket_ai-0.1.0/tests/test_a11y_check.py +781 -0
- docket_ai-0.1.0/tests/test_cache.py +1712 -0
- docket_ai-0.1.0/tests/test_canon.py +234 -0
- docket_ai-0.1.0/tests/test_chaos.py +552 -0
- docket_ai-0.1.0/tests/test_cli_input.py +173 -0
- docket_ai-0.1.0/tests/test_cli_sdk_demo.py +352 -0
- docket_ai-0.1.0/tests/test_conformance.py +329 -0
- docket_ai-0.1.0/tests/test_deploy_check.py +558 -0
- docket_ai-0.1.0/tests/test_diagnostics.py +178 -0
- docket_ai-0.1.0/tests/test_doc_links.py +1270 -0
- docket_ai-0.1.0/tests/test_examples.py +247 -0
- docket_ai-0.1.0/tests/test_explain.py +208 -0
- docket_ai-0.1.0/tests/test_fsdiff.py +91 -0
- docket_ai-0.1.0/tests/test_fuzz_regressions.py +566 -0
- docket_ai-0.1.0/tests/test_helm_fidelity.py +433 -0
- docket_ai-0.1.0/tests/test_i18n.py +176 -0
- docket_ai-0.1.0/tests/test_invariants.py +751 -0
- docket_ai-0.1.0/tests/test_latency.py +496 -0
- docket_ai-0.1.0/tests/test_ledger.py +245 -0
- docket_ai-0.1.0/tests/test_ledger_concurrency.py +103 -0
- docket_ai-0.1.0/tests/test_ledger_contracts.py +799 -0
- docket_ai-0.1.0/tests/test_ledger_faults.py +562 -0
- docket_ai-0.1.0/tests/test_loadtest.py +710 -0
- docket_ai-0.1.0/tests/test_mutate.py +1217 -0
- docket_ai-0.1.0/tests/test_policy.py +208 -0
- docket_ai-0.1.0/tests/test_pricing.py +157 -0
- docket_ai-0.1.0/tests/test_proxy.py +311 -0
- docket_ai-0.1.0/tests/test_proxy_concurrency.py +324 -0
- docket_ai-0.1.0/tests/test_receipt_verify.py +984 -0
- docket_ai-0.1.0/tests/test_render_golden.py +80 -0
- docket_ai-0.1.0/tests/test_resilience.py +852 -0
- docket_ai-0.1.0/tests/test_security.py +713 -0
- docket_ai-0.1.0/tests/test_signing_and_attach.py +248 -0
- docket_ai-0.1.0/tests/test_snapshot_confinement.py +359 -0
- docket_ai-0.1.0/tests/test_snapshot_restore.py +688 -0
- docket_ai-0.1.0/tests/test_supervisor.py +256 -0
- docket_ai-0.1.0/tests/test_supply_chain.py +196 -0
- docket_ai-0.1.0/tests/test_url_guards.py +244 -0
- docket_ai-0.1.0/tests/test_vectors.py +181 -0
- docket_ai-0.1.0/tools/a11y_check.py +577 -0
- docket_ai-0.1.0/tools/build_docs_site.py +112 -0
- docket_ai-0.1.0/tools/conformance.py +423 -0
- docket_ai-0.1.0/tools/deploy_check.py +1054 -0
- docket_ai-0.1.0/tools/fuzz.py +644 -0
- docket_ai-0.1.0/tools/helm_fidelity.py +195 -0
- docket_ai-0.1.0/tools/loadtest.py +581 -0
- docket_ai-0.1.0/tools/mutate.py +753 -0
- docket_ai-0.1.0/tools/transcript_run.py +61 -0
- docket_ai-0.1.0/verify-go/README.md +72 -0
- docket_ai-0.1.0/verify-js/test.mjs +343 -0
- docket_ai-0.1.0/verify-js/verify.mjs +1222 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# byte-compiled / caches
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
.pytest_cache/
|
|
5
|
+
.ruff_cache/
|
|
6
|
+
.mypy_cache/
|
|
7
|
+
.coverage
|
|
8
|
+
htmlcov/
|
|
9
|
+
|
|
10
|
+
# builds
|
|
11
|
+
build/
|
|
12
|
+
dist/
|
|
13
|
+
site/
|
|
14
|
+
.mkdocs-site/
|
|
15
|
+
*.egg-info/
|
|
16
|
+
.venv/
|
|
17
|
+
venv/
|
|
18
|
+
|
|
19
|
+
# docket's own artifacts: ledgers and receipts are frequently sensitive
|
|
20
|
+
.docket/
|
|
21
|
+
*.receipt.json
|
|
22
|
+
*.jsonl
|
|
23
|
+
!spec/vectors/*.json
|
|
24
|
+
# The negative corpus ships its ledgers as fixtures, deliberately: each is the evidence one or
|
|
25
|
+
# more vectors are refused against, and `*.jsonl` above is a rule about ledgers a *user* produces.
|
|
26
|
+
# It hid these four from the first commit of the corpus, and the release record caught it exactly
|
|
27
|
+
# as designed — the suite passed in the authoring tree (where the files existed, untracked) and
|
|
28
|
+
# failed in a clone of the shipped bundle.
|
|
29
|
+
!spec/vectors/invalid/*.jsonl
|
|
30
|
+
!spec/vectors/invalid/ledgers/*.jsonl
|
|
31
|
+
|
|
32
|
+
# the mutation sweep's reports (regenerate with `make mutation`)
|
|
33
|
+
mutation-report.json
|
|
34
|
+
mutation-report.md
|
|
35
|
+
|
|
36
|
+
# measurements written to the repository root by `make load` / `make soak` / `make cache-load`.
|
|
37
|
+
# These are anchored on purpose: the curated reports that ship under docs/measurements/ are
|
|
38
|
+
# evidence, they are cited by name in docs/sre-coverage.md and README.md, and a basename pattern
|
|
39
|
+
# would leave them out of every clone while the authoring checkout still had them.
|
|
40
|
+
/load-report.json
|
|
41
|
+
/load-report.md
|
|
42
|
+
/soak-report.json
|
|
43
|
+
/soak-report.md
|
|
44
|
+
/cache-report.json
|
|
45
|
+
/cache-report.md
|
|
46
|
+
/.docket-soak/
|
|
47
|
+
|
|
48
|
+
# editors / OS
|
|
49
|
+
.vscode/
|
|
50
|
+
.idea/
|
|
51
|
+
.DS_Store
|
|
52
|
+
|
|
53
|
+
# the Go verifier's build product
|
|
54
|
+
verify-go/docket-verify
|